Automated Generation of CDISC Biomedical Concepts starting from LOINC Panels
Biomedical Concepts (BCs) are not an invention of CDISC. Very similar concepts are already for a long time in use by e.g HL7-FHIR ("FHIR profiles"),
by OpenEHR ("Archetypes").
Also a LOINC code for a test already represents a "mini-BC", and a LOINC panel surely is very close to a CDISC BC.
We have to realize that medical doctors think in "panels" when they order a set of lab or microbiology tests, which (in the computer system)
are represented by a LOINC code. They do not think in CDISC controlled terminology ...
So, the question arose whether it is possible to take a LOINC panel, and transform that into a CDISC BC in an automated or semi-automated way.
The challenge with this is that LOINC is pre-coordinated (everything defined in advance) whereas CDISC-SDTM is post-coordinated (categorizing afterwards).
Fortunately we now have LOINC-SDTM mappings, as published by CDISC for Laboratory, and extended by us,
and for vital signs and SARS-Corona virus, developed and published by us, and all available as a RESTful web service.
We can also use the RESTful web services for UMLS (Unified Medical Language System), made available by the National Library of Medicine NLM.
When developing a software program for transforming LOINC panels into CDISC BCs, we soon found out that a full automation is not possible:
in some cases the user needs to provide small amounts of additional information.
A demo of the software will be be given at the CDISC European Interchange 2021 in April.
On this site, we present a few of our very first results, where the results are in the format of an RDF-Turtle file. Recently, we also exported the results of
our software as CDISC Define-XML files.
For each of the LOINC panels below, we provide the output BC as a graph in RDF-Turtle format, and as a PDF with its visualization.
The latter is not always very nice, and you are encouraged to download the Turtle files and use them in your own (visualization) tools or
query them e.g. using SPARQL.
A few of important remarks!:
- This is EARLY work! So, also "work in progress"!
- Please do not shoot on us for the choices for namespaces, prefixes and names of the objects and relations.
These will be aligned later with what CDISC does and recommends.
- But please send us usefull comments about these - we still are "graph beginners"
- The BCs are "extended". They do not only contain mappings with CDISC SDTM variables and CDISC controlled terminology,
but also mappings to SNOMED-CT.
This e.g. enables to automatically generate SDTM datasets starting from Electronic Health Records (EHRs) that use LOINC for identifying tests and observations,
as was demonstrated at the 2020 CDISC US Interchange
- Our program however also allows to generate BCs without SNOMED-CT information
- The application is currently limited to SDTM-LB, SARS-Corona Virus MB and VS (vital signs) domains.
Mappings between LOINC and CDISC ECG controlled terminology is on the way.
- If you are overwhelmed by the results for the panels, have a look at generated BCs for LOINC codes for single tests first.
Meanings of code prefixes:
- LN: LOINC code
- LA: LOINC Answer code
- cdisc: CDISC Controlled Terminology NCI code
- SN: SNOMED-CT code
Here are the first results (last update 2021-11-09):
- LOINC panel 85354-9: Blood pressure panel with all children optional
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 94503-0: SARS-Cov-2 Ab panel - Serum, Plasma or Blood by Rapid immunoassay
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 35095-9: Body temperature panel
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 55418-8: Weight and Height tracking panel
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 24325-3: Hepatic function 2000 panel: Serum or Plasma
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 24357-6: Urinalysis macro (dipstick) panel - Urine
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
Remark: the define.xml still had to be edited manually, as the software does not automatically create "WHERE A and B" WhereClauses yet.
- LOINC panel 24358-4: Hemogram without Platelets panel - Blood
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 24332-9: Alkaline phosphatase isoenzymatic panel - Serum or Plasma
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
This is an interesting panel, as a mapping to CDISC-CT for only half of the tests could be found.
This shows that even with over 9500 mappings for over 6000 distinct LOINC codes, the mappings are far from complete.
The good news is that most of the missing ones are for optional or conditional LOINC test codes.
- LOINC panel 72105-0: Vital Signs and Oximetry
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 24321-2: Basic metabolic 2000 panel - Serum or Plasma
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 24338-6: Gas Panel Blood
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
This is an interesting panel laboratory as it also contains the member 8310-5 (Body Temperature),
which CDISC categorizes to ... VS (Vital Signs). Assignment to two different domains can currently not be handled by our software yet, so we mapped it to a SUPPLB.BODYTEMP.
It also shows once again that assignments of findings to "domains" is "artificial" (and arbitrary), probably to keep submission file sizes low. In the modern distributed world,
working with "networks of resources" should not be necessary anymore. For example, HL7-FHIR does not do such categorization: an "observation" is simple ... an observation,
further identified by ... the LOINC code.
- LOINC panel 58408-6: Erythrocyte morphology panel
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
A very large (almost 40 members) panel for which about 2 in 3 test codes can be mapped to CDISC-SDTM. The remaining have been mapped to SUPPLB.
- LOINC panel 85353-1: Vital signs, weight, height, head circumference, oxygen saturation and BMI panel.
A "super-panel" as it contains a subpanel 85354-9 "Blood pressure panel with all children optional".
So one can say that this is an example with "nested" panels. The total number of tests in this panel is 22.
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
- LOINC panel 55429-5: Short blood count panel - Blood.
RDF-Turtle file - PDF with visualization
- Define-XML - Define-XML visualization (stylesheet)
Another "super-panel" with 24 individual tests. The visualization of the graph is therefore very difficult to read. Best is to import the Turtle file
into ones own preferred software, and work with that. For CDISC aficionades however, the generated define.xml is very easy to read and understand.
It is also possible to generate a Biomedical Concept starting from a single-test LOINC code (i.e. a LOINC code that does not represent a panel).
I call this a "mini-BC", as it does not always covers the complete information in the scope of the SDTM standard.
For example, for a vital sign, it often does not contain the body part location, as this is represented by a separate LOINC code.
For some lab or microbiology tests, it does sometimes not contain the specimen type, as there is then a separate LOINC code for it that is in the same panel.
Below are a few BCs generated from "single-test" LOINC codes:
Want to see a BC generated for your favority LOINC panel (laboratory or vital signs data)? Just let us know!
The full scientific article (7 pages) for the European CDISC Interchange 2021 can be found here.
A movie showing the program running for the LOINC panel 35095-9 (Body temperature panel):
A "backup" movie of the full presentation given at the CDISC European Interchange can be downloaded here.
XML4Pharma, Griesegg 39, A-6464 Tarrenz, Austria