diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java index 2d5139873..2b70bd3c8 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java @@ -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_CSVER_MULTI_FOUND = "VALUESET_INCLUDE_CSVER_MULTI_FOUND"; public static final String UNABLE_TO_INFER_CODESYSTEM = "UNABLE_TO_INFER_CODESYSTEM"; + public static final String CODE_CASE_DIFFERENCE = "CODE_CASE_DIFFERENCE"; } diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages.properties b/org.hl7.fhir.utilities/src/main/resources/Messages.properties index 7546be4ae..6dd50a982 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages.properties @@ -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_Unknown = Unknown extension {0} 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_Invalid = Extension url ''{0}'' is not valid (invalid Version ''{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_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}'' +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) diff --git a/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/terminology/tests/TerminologyServiceTests.java b/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/terminology/tests/TerminologyServiceTests.java index 94767e111..a278efd85 100644 --- a/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/terminology/tests/TerminologyServiceTests.java +++ b/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/terminology/tests/TerminologyServiceTests.java @@ -340,7 +340,12 @@ public class TerminologyServiceTests { res.addParameter("system", new UriType(system)); } 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) { res.addParameter("code", new CodeType(code)); } diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/vs-externals.json b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/vs-externals.json index d01076756..524134a31 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/vs-externals.json +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/vs-externals.json @@ -2,5 +2,7 @@ "http://somewhere/something-else" : null, "http://loinc.org/vs/LL715-4" : 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 } diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache index cd1d38dbd..60bdae78a 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache @@ -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'", "class" : "UNKNOWN", "server" : "http://tx-dev.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome", "issue" : [{ @@ -482,7 +481,6 @@ v: { "system" : "http://unitsofmeasure.org", "version" : "2.0.1", "server" : "http://tx-dev.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -503,7 +501,6 @@ v: { "code" : "fr-CA", "system" : "urn:ietf:bcp:47", "server" : "http://tx-dev.fhir.org/r4", - "unknown-systems" : "", "issues" : { "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'", "class" : "UNKNOWN", "server" : "http://tx-dev.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome", "issue" : [{ @@ -567,6 +563,54 @@ v: { "system" : "http://unitsofmeasure.org", "version" : "2.0.1", "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" : "", "issues" : { "resourceType" : "OperationOutcome"