loinc / comp-loinc

Computational LOINC in OWL.
MIT License
13 stars 4 forks source link

Ontologize search component relationships #65

Open joeflack4 opened 3 months ago

joeflack4 commented 3 months ago

Overview

There are components, e.g. "Sodium Urate crystals", that can be broken down into multiple other, related components. However, relationships between these are not formalized in LOINC. The http://loinc.org/property/search property is used to denote the relationship of each of these sub-components, e.g. "Sodium", to the LOINC term Sodium Urate crystals [Energy Difference] in 24 hour Urine 101734-2. But, for example, there is no defined relationship between Sodium LP15099-2 (LOINC:search) and Sodium urate crystals LP18869-5 (LOINC:analyte).

We need to figure out how to define relationships between them.

Example case

LoincNumber LongCommonName PartNumber PartName PartCodeSystem PartTypeName LinkTypeName Property
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP18869-5 Sodium urate crystals http://loinc.org COMPONENT DetailedModel http://loinc.org/property/analyte
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP208616-5 EngDiff http://loinc.org PROPERTY DetailedModel http://loinc.org/property/PROPERTY
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP6924-7 24H http://loinc.org TIME DetailedModel http://loinc.org/property/time-core
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP7681-2 Urine http://loinc.org SYSTEM DetailedModel http://loinc.org/property/system-core
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP7753-9 Qn http://loinc.org SCALE DetailedModel http://loinc.org/property/SCALE_TYP
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP18869-5 Sodium urate crystals http://loinc.org COMPONENT SyntaxEnhancement http://loinc.org/property/analyte-core
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP15099-2 Sodium http://loinc.org COMPONENT Search http://loinc.org/property/search
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP15935-7 Urate http://loinc.org COMPONENT Search http://loinc.org/property/search
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP16849-9 Crystals http://loinc.org COMPONENT Search http://loinc.org/property/search
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP32885-3 Urate crystals http://loinc.org COMPONENT Search http://loinc.org/property/search
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP35723-3 Sodium urate http://loinc.org COMPONENT Search http://loinc.org/property/search
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP29693-6 Laboratory http://loinc.org CLASS Metadata http://loinc.org/property/category
101734-2 Sodium Urate crystals [Energy Difference] in 24 hour Urine LP7786-9 CHEM http://loinc.org CLASS Metadata http://loinc.org/property/CLASS

Additional challenge

Some of these search components have relationships to each other that aren't as simple as "part of" (e.g. we could say that "Sodium" is part-of "Sodium Urate crystals". Take, for example, Sodium urate LP35723-3 and Urate crystals LP32885-3, which seem related in that they have an intersecting qualifier Urate LP15935-7.

matentzn commented 3 months ago

I think you can think of "search" relationships as very general "related to" relations in an ontology, but nothing more.

swagers commented 3 months ago

The definition of the LinkTypes can be found here - https://loinc.org/kb/enriched-linkages-between-loinc-terms-and-loinc-parts/ The search relationships are fragments and synonyms that can be used to help find terms. We use these relationships in Search LOINC to build out the index.

joeflack4 commented 1 month ago

Shahim and I met recently and looked into search a bit.

Properties.

We looked into what properties search is used on. They are:

Search & grouping classes

It would be good to look at the LOINC parts that are used often in search. These are the biggest candidates for grouping. We want to do an analysis; create a CSV of: loinc_part, property (optional), count