Do not supercede R4 terminology when loading R5 IGs

This commit is contained in:
Grahame Grieve 2023-08-04 18:42:40 +10:00
parent e0b9a6dcc7
commit f1571ea2b4

View File

@ -192,13 +192,17 @@ public class R5ExtensionsLoader {
for (CanonicalType t : inc.getValueSet()) { for (CanonicalType t : inc.getValueSet()) {
loadValueSet(t.asStringValue(), context, valueSets, codeSystems); loadValueSet(t.asStringValue(), context, valueSets, codeSystems);
} }
if (inc.hasSystem() && !inc.hasVersion()) { if (inc.hasSystem()) {
if (codeSystems.containsKey(inc.getSystem())) { if (!inc.hasVersion()) {
CodeSystem cs = codeSystems.get(inc.getSystem()).getResource(); if (codeSystems.containsKey(inc.getSystem())) {
inc.setVersion(cs.getVersion()); CodeSystem cs = codeSystems.get(inc.getSystem()).getResource();
context.cacheResourceFromPackage(cs, cs.getSourcePackage()); CodeSystem csAlready = context.fetchCodeSystem(inc.getSystem());
} else if (!context.hasResource(CodeSystem.class, inc.getSystem()) && codeSystems.containsKey(inc.getSystem())) { if (csAlready == null) {
CodeSystem cs1 = codeSystems.get(inc.getSystem()).getResource(); context.cacheResourceFromPackage(cs, cs.getSourcePackage());
}
}
} else if (context.fetchResource(CodeSystem.class, inc.getSystem(), inc.getVersion()) == null && codeSystems.containsKey(inc.getSystem()+"|"+inc.getVersion())) {
CodeSystem cs1 = codeSystems.get(inc.getSystem()+"|"+inc.getVersion()).getResource();
context.cacheResourceFromPackage(cs1, cs1.getSourcePackage()); context.cacheResourceFromPackage(cs1, cs1.getSourcePackage());
} }
} }