Sunday, November 21, 2021

LOINC Panels and Tests, Biomedical Concepts and Define-XML

 

A CDISC "Biomedical Concept" (BC) has been defined as "a generic description of something that can be measured on a subject ... or other information such as events happened" or "A high-level building block of clinical research and/or healthcare information that encapsulates lower level implementation details like variables and terminologies" and also have been mentioned to be used as "building blocks in protocols".

Does this help us for use in software?

Unfortunately, CDISC has not yet published a specification for an exchange format for BCs, and only published pictures, usually for very simple BCs, such as for blood pressure, so it is pretty hard to demonstrate BCs, especially in software.

Fortunately, with the CDISC 360 project, CDISC started an initiative to retrieve BCs from Define-XML files from sponsors. So, one may ask "why from Define-XML files?". These are for describing metadata for SDTM, SEND and ADaM submissions isn't it?

The reason is simple: BCs are essentially nothing else than normal medical concepts, enriched with SDTM or ADaM information (no attempts have been done for SEND so far). As such, they are very similar to OpenEHR archetypes, HL7-FHIR profiles, and ... LOINC panels for tests. As LOINC codes for defining test and test panels are enormously used in healthcare, one wonders whether it would be possible to generate CDISC-BCs directly from LOINC panels and tests. After all, we do have a LOINC-SDTM mapping published by CDISC, considerably extended by us, i.e. "enriching" these existing medical concepts with SDTM information to make them "biomedical concepts". After all, we don't want to reinvent the wheel from bottom up, isn't it?

Some time ago, we already showed that this is possible and presented, and demonstrated software to do so. We published a pretty large number of such example BCs as graphs in Turtle format so that these can be exchanged. Turtle is however a format that, unfortunately, is not well understood nor used within the CDISC community. Furthermore, graph visualizations of Turtle files can be a bit challenging for CDISC aficionados, who are (also unfortunately) used to work with ... tables.

Here is a relative simple one, others can be much more complicated ...


This is where Define-XML comes into play. CDISC people do usually understand Define-XML very well (unless they generate define.xml files using "black box software", usually "post dataset-generation"), and there are very good stylesheets to visualize the contents of define.xml files, as ... tables.
Also, BCs can be represented by define.xml "value lists" as has been shown before. And as CDISC is now starting "Define-XMLmining" to generate BCs, why not generate Define-XMLs for our from LOINC panels generated BCs too? This would surely help CDISC community members to understand BCs, and also enormously increase the understanding why LOINC is such an important standard for research too.

So we extended the software to also generate Define-XML files in addition to Turtle files. We will soon publish this extension as open source. You can find all the files and their visualizations (using the CDISC stylesheet) on our "Automated Generation of CDISC Biomedical Concepts starting from LOINC Panels" website.

This website (and the LOINC website of course) also clearly shows that LOINC is not only limited to lab tests, but also includes vital signs, ECGs, questionnaires, and much much more.

Here are two examples:

LOINC panel 94503-0 "SARS-CoV-2 (COVID-19) Ab panel - Serum, Plasma or Blood by Rapid immunoassay" which maps to SDTM MB (Microbiology). Here is just one screenshot from part of the define.xml visualization, displaying the value lists for MBMETHOD (method) and MBSPEC (specimen):

 

LOINC panels can be nested. An example is LOINC panel 85353-1: "Vital signs, weight, height, head circumference, oxygen saturation and BMI panel", containing a total of 24 tests. A screenshot of the visualization for the codelists and valuelists for VSLOC, VSLAT and VSMETHOD:


and for VSORRESU:

 

All this has been generated nearly fully automatically. There is still a small amount of user interaction necessary when using the program. For example, if the software does not find a mapping for a LOINC code, it asks the user what it needs to be mapped to, or to make it a supplemental qualifier variable, or to skip it. An example is LOINC code 8361-8 "Body position with respect to gravity", which of course maps to VSPOS, but as this is not in the LOINC-CDISC mapping, the software doesn't know. This is something we surely want to do better, e.g. by having the software inspect a file with such "additional" mappings that are used in many panels.

But have a look for yourself! All files are at http://xml4pharma.com/CDISC_Biomedical_Concepts_From_LOINC/ and we plan to add much more examples in the coming weeks. So, stay tuned!

And ... as always, comments are very welcome!