-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Validation returns "None of the codings provided are in the value set", despite ValueSets defined in IG and terminology server #235
Comments
Does it work using the command line validator? |
I downloaded the fhir command line validator from this link: I ran different versions of the command line using my FHIR bundle test and my custom FHIR IG. For example: I also tried changing the -tx parameter to my local terminology server and tx.fhir.org/r4. However, I still get the same errors regarding ValueSets: |
The ValueSets are defined in the custom IG package, but it doesn't specify the list of codes. It specifies the rules to determine the codes. Something has to take those rules and come up with an expansion of the value set that lists the codes. Is the HAPI FHIR JPA server the one that takes these rules from the IG package and comes up with an expansion of the value sets that lists the codes? If so, is there a way to check if my server is doing that? If the terminology server is the one that uses these rules, how do I give it the value set rules? Additionally, do I need to load the IG package onto the terminology server so that it knows about the value sets? If so, how do I do that? |
the validator does the expansion internally. Sounds like the problem is with the validator to me - can you post your HapiFhir-Bundle-AllopurinolTabletLabelBundle.xml ? |
Here is the zip file containing the XML. Let me know if you have any questions about the file. |
I am sending the link to the custom FHIR IG package just in case you need to use it for testing. Jean Duteau authored this IG package. https://github.com/HL7/fhir-spl/blob/main/package/hl7.fhir.us.spl.tgz If you encounter an issue with loading the package, you need to unzip the .tgz file and remove three files called .index.json, .index.db, and usage.ini. After deleting the files, tar the package folder back into a .tgz file. The commands I used to do this are the following: |
I don't understand why you're doing any of that. Just use |
Looks like the reason is because your display names are wrong, so the code is considered wrong. You might want to read the documentation here: https://confluence.hl7.org/display/FHIR/Using+the+FHIR+Validator#UsingtheFHIRValidator-Displaywarnings |
I don't know. you'll have to ask HAPI support somewhere. |
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.
The text was updated successfully, but these errors were encountered: