FHIR Chat · Validator failing on RxNorm code · implementers

Stream: implementers

Topic: Validator failing on RxNorm code


view this post on Zulip Reece Adamson (Apr 06 2020 at 17:29):

I'm looking at the validation of a FHIR Resource and seeing an invalid code error for a code that seems to be valid. That code specifically is 2123111 in RxNorm (can be seen here on RxNav).

This small example resource can be used to reproduce the error: medication_example.json

Below is what I see when validating the resource:

java -jar org.hl7.fhir.validator.jar medication_example.json -version 4.0.1
FHIR Validation tool Version 4.2.14-SNAPSHOT (Git# 3edfeda13a8b). Built 2020-04-06T10:21:10.485+10:00 (16 hours old)
Detected Java version: 1.8.0_222 from /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre on x86_64 (64bit). 3641MB available
Arguments: medication_example.json -version 4.0.1
Directories: Current = /Users/radamson/Desktop, Package Cache = /Users/radamson/.fhir/packages
  .. FHIR Version 4.0, definitions from hl7.fhir.r4.core#4.0.1
  .. connect to tx server @ http://tx.fhir.org
    (v4.0.1)
  .. validate [medication_example.json]
Terminology server: Check for supported code systems for http://www.nlm.nih.gov/research/umls/rxnorm
*FAILURE* validating medication_example.json:  error:1 warn:0 info:0
  Error @ Medication.code.coding[0] (line 5, col8) : The code "2123111" is not valid in the system http://www.nlm.nih.gov/research/umls/rxnorm; The code provided (http://www.nlm.nih.gov/research/umls/rxnorm#2123111) is not  valid in the value set All codes known to the system for "http://www.nlm.nih.gov/research/umls/rxnorm#2123111"

I suspect that this is occurring because the code seems relatively new and might not be represented in tx.fhir.org.
@Grahame Grieve any insight onto why this code is failing or as to what I'm doing wrong here? Also based on a cursory search through your fhirserver implementation it looks like UMLS is used for sourcing RxNorm codes. I'm not very familiar with Pascal or the structure of the repo though so I could be totally wrong. Are you using UMLS here and is there any documentation on the version being used and for what codesystems? We are using UMLS with inferno and I'd be interested in learning from your approach.

view this post on Zulip Grahame Grieve (Apr 06 2020 at 18:55):

the RxNorm distribution is the same format as UMLS but we only install the latest RxNorm. I'm not actually sure what version is running...

view this post on Zulip Rob Hausam (Apr 06 2020 at 18:57):

I don't believe that RxNorm has been updated on tx.fhir.org for a while (not sure exactly which version we're on at the moment, either).

view this post on Zulip Rob Hausam (Apr 06 2020 at 18:58):

I was just looking at it. It's time to get it updated.

view this post on Zulip Grahame Grieve (Apr 06 2020 at 18:58):

yes please

view this post on Zulip Rob Hausam (Apr 06 2020 at 18:58):

will do

view this post on Zulip Reece Adamson (Apr 06 2020 at 19:14):

Thanks that is helpful.

It sounds like you download the RxNorm RRF files directly from NLM (are you getting them from here?). I see there is a SQL file here too where it looks like these concepts are loaded into a database.

I didn't see any similar files for some of the other code systems included in UMLS (SNOMED, ICD10, CPT, CVX, etc. Can you provide me some insight onto where those codesystems are sourced and how they are managed in the fhirserver? Happy to move this discussion elsewhere if its more appropriate or take a look at any available documentation. Thanks again for the responses!

view this post on Zulip Grahame Grieve (Apr 06 2020 at 19:17):

each different code system is managed differently depending on it's internal semantics and how it is distributed. Snomed and LOINC are processed to an internal fully cross-linked memory structure, and then loaded into memory at start up. ICD-10 is loaded out of a custom text file format. CVX is read out of a CSV. A few (UCUM, Lang) are supported from specific code. Also, the CodeSystem resource is supported directly.

view this post on Zulip Rob Hausam (Apr 06 2020 at 21:33):

If needed, further specific details can be discussed in the pascal stream.


Last updated: Apr 12 2022 at 19:14 UTC