-
Notifications
You must be signed in to change notification settings - Fork 59
Description
I am running a HAPI FHIR server locally, which is connected to a copy of the tx.fhir.org terminology server running locally. When I try to validate my submission, I get multiple errors saying "None of the codings provided are in the value set". However, the ValueSets are all defined in the custom FHIR IG that my HAPI FHIR server is using, and the terminology server database has these ValueSets.
For example, my submission is using the code 34391-3.
<type> <coding> <system value="http://loinc.org"/> <code value="34391-3"/> <display value="HUMAN PRESCRIPTION DRUG LABEL"/> </coding> </type>
The FHIR IG I am using has it defined here:

The same ValueSet code can be found in the terminology server. This applies to both the live tx.fhir.org and the cloned one I am running.

In my HAPI FHIR code, I am using RemoteTerminologyServiceValidationSupport in the StarterJpaConfig to connect to my terminology server using R4. However, I receive errors like this as a result.
<severity value="error"/> <code value="processing"/> <details> <coding> <system value="http://hl7.org/fhir/java-core-messageId"/> <code value="Terminology_TX_NoValid_1_CC"/> </coding> </details> <diagnostics value="None of the codings provided are in the value set 'SPL Document Codes' (http://hl7.org/fhir/us/spl/ValueSet/splDocumentCodes|0.1.0), and a coding from this value set is required) (codes = http://loinc.org#34391-3)"/> <location value="Bundle.entry[0].resource.type"/> <location value="Line[33] Col[15]"/>
Other codes have passed validation however. For example, my submission contains C64637.
<type> <coding> <system value="http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl"/> <code value="C64637"/> </coding> </type>
I do not get any errors from this code. When I change the code value slightly, for example "X64637", I receive a validation error for it.
<severity value="error"/> <code value="processing"/> <details> <coding> <system value="http://hl7.org/fhir/java-core-messageId"/> <code value="TYPE_CHECKS_PATTERN_CC"/> </coding> </details> <diagnostics value="The pattern [system http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl, code C64637, and display 'null'] defined in the profile http://hl7.org/fhir/us/spl/StructureDefinition/SubmittedMedicinalProduct|0.1.0 not found. Issues: [ValidationMessage[level=ERROR,type=VALUE,location=Bundle.entry[0].resource.entry[1].resource/*MedicinalProductDefinition/AllopurinolUSPDefinition*/.crossReference[0].type.coding.code,message=Value is 'X64637' but must be 'C64637']]"/> <location value="Bundle.entry[0].resource.entry[1].resource/*MedicinalProductDefinition/AllopurinolUSPDefinition*/.crossReference[0].type"/> <location value="Line[558] Col[17]"/>
I need help with figuring out why I am getting validation errors for ValueSets such as 34391-3. I'm not sure if the issue is related to something on my end, or an issue with connecting to the terminology server.