Caregraf

Link Health-Data Now

Conor's Blog

RXNORM and co. should come in RDF

I’m not going to dwell on the horribles of RRF, the custom UMLS/RXNORM release format, but let me call out one …

104419|ENG||||||2701592|2701592|104419||RXNORM|SBD|104419|24 HR Felodipine 5 MG Extended ...
104419|ENG||||||2701593|2701593|104419||RXNORM|SY|104419|24 HR Plendil 5 MG Extended ...

It doesn’t jump out but find TTY, the lynchpin of the RRF format – each element of the normalized form can be identified by the value of the TTY [Term Type] field. It’s the column with values SBD which means Semantic branded drug and SY which means Synonym. In the first row, TTY holds the type of a concept (Semantic Branded Drug) but in the next, it holds the type of the label of that concept (Synonym). One field, two different uses. Processors beware!

The above looks like this in RDF …

rxnorm:104419 skos:broader rxnorm:SBD ;
              skos:prefLabel "24 HR Felodipine 5 MG Extended Release Tablet [Plendil]" ;
              skos:altLabel "24 HR Plendil 5 MG Extended Release Tablet" ;
              rxnorm:quantified_form_of rxnorm:844417 ;
              rxnorm:has_ingredient rxnorm: 203016;
              rxnorm:has_dose_form rxnorm:316945 ;
              rxnorm:tradename_of rxnorm:402696 ;
              ...

Much better I think you’ll agree and, for the technical, quiet readable. And notice there are properties other than name and type, tradename and its ilk. While names and types of concepts come from the RRF concepts file, these started in the RRF relationships file. With RDF, everything about a concept ends up in one place. What’s more, this same format works for other vocabularies from ICD 9 to SNOMED. In scheme definition, custom specification formats can be banished. One size does fit all.

The RXNORM Overview comes with a list of example queries – it has you traversing the RRF data (or its SQL equivalent) but we’ll SPARQL our RDF instead …

Find the concept named ‘Amoxicillin’
SELECT ?concept
WHERE {?concept skos:prefLabel 'Amoxicillin'}
rxnorm:723
Find the forms of ‘Amoxicillin’
SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:form_of rxnorm:723}
Amoxicillin trihydrate …
Tradenames it is sold under
SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:tradename_of rxnorm:723}
Almodan and more
What strengths are available?
SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:has_ingredient rxnorm:723 ;
       skos:broader rxnorm:SCDC}
Amoxicillin 125 MG …
What dose forms are available?
SELECT ?concept ?conceptLabel
WHERE {?concept skos:prefLabel ?conceptLabel ;
       rxnorm:has_ingredient rxnorm:723 ;
       skos:broader rxnorm:SCDF}
‘Amoxicillin Oral Suspension’ and more

Oh, how easy it is when RXNORM (and SNOMED and …) become RDF! Shouldn’t they just come in RDF in the first place?

One Response to “RXNORM and co. should come in RDF”

  1. Janos Hajagos said
    November 23, 2011 4:12 pm

    At Stony Brook University Department of Medical Informatics we have made a SPARQL endpoint available for the UMLS and RxNorm. The endpoint is at http://link.informatics.stonybrook.edu/sparql/. Examples from the UMLS are http://link.informatics.stonybrook.edu/umls/AUI/A17685003 and RxNorm http://link.informatics.stonybrook.edu/rxnorm/RXAUI/2994963. For public endpoint we have only made Source Release Level 0 available. For research purposes we have converted the entire UMLS English language sources into a n-triples file (including LUIs, SUIs, CUIs, and semantic types). More details can be found at http://www.slideshare.net/jhajagos/vivo-minigrant-integrating-the-umls-ontology-into-vivo-for-linking-biomedical-scientists-9029290 and how it fits into work that we are doing for VIVO (http://vivoweb.org/). Yes it would be nice if the NLM released the UMLS and RxNorm directly in RDF.

Your Thoughts?

Conor At Caregraf

About this Blog

It's a ramble around patient-data representation and analysis, following the mantra to work through examples, don't just talk principles.. Here are the topics ...

About Conor

Conor Dowling is the CTO of Caregraf.

What strikes me is the match: on one side is Linked-Data, the most powerful way to exchange diverse data, and, waiting on the other, too-long unattended, is the volume and diversity of health-data. All they need is a push.