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
1 changed files with 11 additions and 7 deletions

View File

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