fix bug processing value sets containing URLs

This commit is contained in:
Grahame Grieve 2023-10-16 23:14:02 +11:00
parent ac10ddc9ac
commit 4100315ee7
2 changed files with 4 additions and 2 deletions

View File

@ -9,7 +9,7 @@ public class URICodeSystem extends SpecialCodeSystem {
@Override @Override
public ConceptDefinitionComponent findConcept(Coding code) { public ConceptDefinitionComponent findConcept(Coding code) {
if (Utilities.isAbsoluteUrl(code.getCode())) { if (Utilities.isAbsoluteUrl(code.getCode())) {
return new ConceptDefinitionComponent(code.getCode()); return new ConceptDefinitionComponent(code.getCode()).setDisplay(code.hasDisplay() ? code.getDisplay() : code.getCode());
} else { } else {
return null; return null;
} }

View File

@ -1265,7 +1265,9 @@ public class ValueSetValidator extends ValueSetProcessBase {
public boolean validateCodeInConceptList(String code, CodeSystem def, List<ConceptDefinitionComponent> list, AlternateCodesProcessingRules altCodeRules) { public boolean validateCodeInConceptList(String code, CodeSystem def, List<ConceptDefinitionComponent> list, AlternateCodesProcessingRules altCodeRules) {
opContext.deadCheck(); opContext.deadCheck();
if (def.getCaseSensitive()) { if (def.hasUserData("tx.cs.special")) {
return ((SpecialCodeSystem) def.getUserData("tx.cs.special")).findConcept(new Coding().setCode(code)) != null;
} else if (def.getCaseSensitive()) {
for (ConceptDefinitionComponent cc : list) { for (ConceptDefinitionComponent cc : list) {
if (cc.getCode().equals(code)) { if (cc.getCode().equals(code)) {
return true; return true;