Support for case sensitive Code system tests

This commit is contained in:
Grahame Grieve 2024-02-25 19:22:25 +11:00
parent c05ad6cb2c
commit 1d4898eee6
5 changed files with 61 additions and 7 deletions

View File

@ -1058,6 +1058,7 @@ public class I18nConstants {
public static final String VALUESET_INCLUDE_CS_MULTI_FOUND = "VALUESET_INCLUDE_CS_MULTI_FOUND"; public static final String VALUESET_INCLUDE_CS_MULTI_FOUND = "VALUESET_INCLUDE_CS_MULTI_FOUND";
public static final String VALUESET_INCLUDE_CSVER_MULTI_FOUND = "VALUESET_INCLUDE_CSVER_MULTI_FOUND"; public static final String VALUESET_INCLUDE_CSVER_MULTI_FOUND = "VALUESET_INCLUDE_CSVER_MULTI_FOUND";
public static final String UNABLE_TO_INFER_CODESYSTEM = "UNABLE_TO_INFER_CODESYSTEM"; public static final String UNABLE_TO_INFER_CODESYSTEM = "UNABLE_TO_INFER_CODESYSTEM";
public static final String CODE_CASE_DIFFERENCE = "CODE_CASE_DIFFERENCE";
} }

View File

@ -54,7 +54,7 @@ Extension_EXT_Type = The Extension ''{0}'' definition allows for the types {1} b
Extension_EXT_URL_Absolute = Extension.url must be an absolute URL Extension_EXT_URL_Absolute = Extension.url must be an absolute URL
Extension_EXT_Unknown = Unknown extension {0} Extension_EXT_Unknown = Unknown extension {0}
Extension_EXT_Unknown_NotHere = The extension {0} could not be found so is not allowed here Extension_EXT_Unknown_NotHere = The extension {0} could not be found so is not allowed here
Extension_EXT_Url_NotFound = Extension.url is required Extension_EXT_Url_NotFound = Extension.url is required in order to identify, use and validate the extension
Extension_EXT_Version_Internal = Extension url ''{0}'' evaluation state invalid Extension_EXT_Version_Internal = Extension url ''{0}'' evaluation state invalid
Extension_EXT_Version_Invalid = Extension url ''{0}'' is not valid (invalid Version ''{1}'') Extension_EXT_Version_Invalid = Extension url ''{0}'' is not valid (invalid Version ''{1}'')
Extension_EXT_Version_InvalidId = Extension url ''{0}'' is not valid (invalid Element id ''{1}'') Extension_EXT_Version_InvalidId = Extension url ''{0}'' is not valid (invalid Element id ''{1}'')
@ -1115,3 +1115,5 @@ VALUESET_INCLUDE_CS_NOT_FOUND = No matching contained code system found for syst
VALUESET_INCLUDE_CSVER_NOT_FOUND = No matching contained code system found for system ''{0}'' version ''{1}'' VALUESET_INCLUDE_CSVER_NOT_FOUND = No matching contained code system found for system ''{0}'' version ''{1}''
VALUESET_INCLUDE_CS_MULTI_FOUND = Multiple matching contained code systems found for system ''{0}'' VALUESET_INCLUDE_CS_MULTI_FOUND = Multiple matching contained code systems found for system ''{0}''
VALUESET_INCLUDE_CSVER_MULTI_FOUND = Multiple matching contained code systems found for system ''{0}'' version ''{1}'' VALUESET_INCLUDE_CSVER_MULTI_FOUND = Multiple matching contained code systems found for system ''{0}'' version ''{1}''
CODE_CASE_DIFFERENCE = The code ''{0}'' differs from the correct code ''{1}'' by case. Although the code system ''{2}'' is case insensitive, implementers are strongly encouraged to use the correct case anyway
SCT_NO_MRCM = Not validated against the Machine Readable Concept Model (MRCM)

View File

@ -340,7 +340,12 @@ public class TerminologyServiceTests {
res.addParameter("system", new UriType(system)); res.addParameter("system", new UriType(system));
} }
if (vm.getCode() != null) { if (vm.getCode() != null) {
res.addParameter("code", new CodeType(vm.getCode())); if (code != null && !code.equals(vm.getCode())) {
res.addParameter("code", new CodeType(code));
res.addParameter("normalized-code", new CodeType(vm.getCode()));
} else {
res.addParameter("code", new CodeType(vm.getCode()));
}
} else if (code != null) { } else if (code != null) {
res.addParameter("code", new CodeType(code)); res.addParameter("code", new CodeType(code));
} }

View File

@ -2,5 +2,7 @@
"http://somewhere/something-else" : null, "http://somewhere/something-else" : null,
"http://loinc.org/vs/LL715-4" : null, "http://loinc.org/vs/LL715-4" : null,
"http://hl7.org/fhir/us/vrdr/ValueSet/vrdr-PlaceOfDeath" : null, "http://hl7.org/fhir/us/vrdr/ValueSet/vrdr-PlaceOfDeath" : null,
"http://somewhere/something" : null "http://somewhere/something" : null,
"https://fhir.infoway-inforoute.ca/ValueSet/issuetype|20190415" : null,
"https://fhir.infoway-inforoute.ca/ValueSet/issueseverity|20190415" : null
} }

View File

@ -443,7 +443,6 @@ v: {
"error" : "The provided code 'http://snomed.info/sct#27113001 ('Body weight')' was not found in the value set 'http://hl7.org/fhir/ValueSet/observation-vitalsignresult|5.0.0'", "error" : "The provided code 'http://snomed.info/sct#27113001 ('Body weight')' was not found in the value set 'http://hl7.org/fhir/ValueSet/observation-vitalsignresult|5.0.0'",
"class" : "UNKNOWN", "class" : "UNKNOWN",
"server" : "http://tx-dev.fhir.org/r4", "server" : "http://tx-dev.fhir.org/r4",
"unknown-systems" : "",
"issues" : { "issues" : {
"resourceType" : "OperationOutcome", "resourceType" : "OperationOutcome",
"issue" : [{ "issue" : [{
@ -482,7 +481,6 @@ v: {
"system" : "http://unitsofmeasure.org", "system" : "http://unitsofmeasure.org",
"version" : "2.0.1", "version" : "2.0.1",
"server" : "http://tx-dev.fhir.org/r4", "server" : "http://tx-dev.fhir.org/r4",
"unknown-systems" : "",
"issues" : { "issues" : {
"resourceType" : "OperationOutcome" "resourceType" : "OperationOutcome"
} }
@ -503,7 +501,6 @@ v: {
"code" : "fr-CA", "code" : "fr-CA",
"system" : "urn:ietf:bcp:47", "system" : "urn:ietf:bcp:47",
"server" : "http://tx-dev.fhir.org/r4", "server" : "http://tx-dev.fhir.org/r4",
"unknown-systems" : "",
"issues" : { "issues" : {
"resourceType" : "OperationOutcome" "resourceType" : "OperationOutcome"
} }
@ -528,7 +525,6 @@ v: {
"error" : "The provided code 'http://snomed.info/sct#439401001 ('Diagnosis')' was not found in the value set 'http://hl7.org/fhir/ValueSet/condition-category|5.0.0'", "error" : "The provided code 'http://snomed.info/sct#439401001 ('Diagnosis')' was not found in the value set 'http://hl7.org/fhir/ValueSet/condition-category|5.0.0'",
"class" : "UNKNOWN", "class" : "UNKNOWN",
"server" : "http://tx-dev.fhir.org/r4", "server" : "http://tx-dev.fhir.org/r4",
"unknown-systems" : "",
"issues" : { "issues" : {
"resourceType" : "OperationOutcome", "resourceType" : "OperationOutcome",
"issue" : [{ "issue" : [{
@ -567,6 +563,54 @@ v: {
"system" : "http://unitsofmeasure.org", "system" : "http://unitsofmeasure.org",
"version" : "2.0.1", "version" : "2.0.1",
"server" : "http://tx-dev.fhir.org/r4", "server" : "http://tx-dev.fhir.org/r4",
"issues" : {
"resourceType" : "OperationOutcome"
}
}
-------------------------------------------------------------------------------------
{"code" : {
"code" : "en-US"
}, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"include" : [{
"system" : "urn:ietf:bcp:47"
}]
}
}, "langs":"", "useServer":"true", "useClient":"false", "guessSystem":"true", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
"resourceType" : "Parameters",
"parameter" : [{
"name" : "profile-url",
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
}]
}}####
v: {
"display" : "English (Region=United States)",
"code" : "en-US",
"system" : "urn:ietf:bcp:47",
"server" : "http://tx-dev.fhir.org/r4",
"unknown-systems" : "",
"issues" : {
"resourceType" : "OperationOutcome"
}
}
-------------------------------------------------------------------------------------
{"code" : {
"code" : "en-US"
}, "url": "http://hl7.org/fhir/ValueSet/all-languages", "version": "5.0.0", "langs":"", "useServer":"true", "useClient":"true", "guessSystem":"true", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
"resourceType" : "Parameters",
"parameter" : [{
"name" : "profile-url",
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
}]
}}####
v: {
"display" : "English (Region=United States)",
"code" : "en-US",
"system" : "urn:ietf:bcp:47",
"server" : "http://tx-dev.fhir.org/r4",
"unknown-systems" : "", "unknown-systems" : "",
"issues" : { "issues" : {
"resourceType" : "OperationOutcome" "resourceType" : "OperationOutcome"