# Two LOINC codes for one lab-item **Category:** [Clinical (archive)](https://discourse.openehr.org/c/clinical-archive/153) **Created:** 2017-02-15 10:37 UTC **Views:** 2 **Replies:** 28 **URL:** https://discourse.openehr.org/t/two-loinc-codes-for-one-lab-item/15474 --- ## Post #1 by @system Hi all, When you work with quantities it is possbile to add more units, sometimes, the use of different units have other LOINC-coding, this is for example with LOINC: LOINC LongName Component Scale exUCUMunits 2160-0 Creatinine [Mass/volume] in Serum or Plasma Creatinine Qn mg/dL 14682-9 Creatinine [Moles/volume] in Serum or Plasma Creatinine Qn umol/L Would it be good if it was possible to add code per unit-kind in dv_quantity? Or are there other suggestions Thanks Bert Verhees --- ## Post #2 by @system Hi Bert, I don't think this is helpful. The source of truth in dv_quantity should always be the unit. I would not trust the LOINC code. It should be the responsibility of the original sender/documenter to make sure the correct LOINC code was used to match the SI unit. I would think this advice would apply whether one was using hl7v2, FHIR, CDA or openEHR. Ian --- ## Post #3 by @system Thanks Ian for the quick response. From practical point of view you are right. I think we need follow this advice. But now let's look at it from the Reference Model or LOINC point of view, maybe there some change would be welcome. The problem is that different used units in measurements which are exact the same for the rest (method, substance, purpose), sometimes translate to a different LOINC-code. In openEHR-archetypes (mostly used to build software) we want to constrain the sender in the units he can choose. We don' t want our software to translate every possible unit to the unit we want to process. So that is why we offer some units for the sender to choose from. This constraining is done in DV-QUANTITY, following the openEHR-specs it is in UCUM syntax (it does not say UCUM-unit [http://www.openehr.org/releases/RM/Release-1.0.3/docs/data_types/data_types.html#_dv_quantity_class](http://www.openehr.org/releases/RM/Release-1.0.3/docs/data_types/data_types.html#_dv_quantity_class) ). To be sure that the sender is using the constrained units and measuring the constrained item we need some coding. I was worried because of some discussion on an OpenEHR list in 2014, which discussed a similar problem. ( [http://lists.openehr.org/pipermail/openehr-clinical_lists.openehr.org/2014-November/003393.html](http://lists.openehr.org/pipermail/openehr-clinical_lists.openehr.org/2014-November/003393.html) ) So, imho, the possibility to add LOINC-coding (or coding in general) to different unit-kinds in the dv_quantity-class to tell us what we are looking at, would be a good feature to support interoperability. Bert Verhees --- ## Post #4 by @system Hi Bert, I don't understand the use-case here. 1. if the lab result is being imported from a lab message, you import whtaever units are being recorded in the message. 2. If this is a situation where the lab test is being recorded via a data entry screen, and there is a potential for there to be more than one unit required. I would either just handle the association between loinc code and unit in the application, or clone the lab-test panel result-value to support two different values each constrained to the correct loinc code / unit combination. Ian --- ## Post #5 by @system Ian, The problem is that we want to constrain the user in units which . And the purpose of the coding would be to make the data which are stored, queryable/interpretable/interchangeable over the coding (if every unit-use in dv_quantity would have a coding) Bert --- ## Post #6 by @system Hi Bert, Then I am not understanding your use-case. You can use the template to constrain the lab units and/or code to be whatever you want. If there is actually a choice of possible units/codes, then I suggest that you create 2 contraints in the template one for each combination of code + unit. As far as I can see that will do what you need. Ian --- ## Post #7 by @system That is indeed a way to do it. But I believe the feeling here is to not do it that way, and add no LOINC-term-binding to dv_quantity if this is the situation Thanks for your attention and solution Bert --- ## Post #8 by @system I agree with Ian, at least for your case those those LOINC codes could be used to bind the container Element, but not the unit itself. Units are coded using UCUM standard, so they are already semantically queryable/interpretable. --- ## Post #9 by @system Thanks David for your reply, Just for the discussion, adding the LOINC-code to the element would suggest the underlying DV-QUANTITY uses the UCUM unit which is represented by the LOINC-code. That could cause a semantic error-situation. The problem is that LOINC uses (sometimes) different codes for different units, especially when the units are not easy interchangable, like mol and g (gram) --- ## Post #10 by @system Hi Bert, "suggest the underlying DV-QUANTITY uses the UCUM unit which is represented by the LOINC-code" That is not actually quite correct, any given LOINC code can be associated with a range of different units, and are only examples i.e do not restrict others. LOINC sometimes uses different codes for different classes of unit, not for specific units. It does also have terms for the base substance e.g. [http://r.details.loinc.org/Part/LP14355-9.html](http://r.details.loinc.org/Part/LP14355-9.html) but when querying you would then to query on all of the variations of 'creatinine'. Even more messy! But if you want to clearly associate a specific LOINC code with valid unit(s) then it is possible to do that as I suggested before. Ian --- ## Post #11 by @system Ian, 2160-0 Creatinine [Mass/volume] in Serum or Plasma Creatinine Qn mg/dL 14682-9 Creatinine [Moles/volume] in Serum or Plasma Creatinine Qn umol/L In my example, there are different codes for different unit-types. I agree that moles and mass are not easy interchangeable, but there are lab-tests in the use-cases where I work where it is allowed to use both, because we work with different countries having another way of notating lab-results. --- ## Post #12 by @system Bert, I think you have a misconception there. In your example there are not codes for different units. There are codes for different complex concepts: "Creatinine [Mass/volume] in Serum or Plasma" and "Creatinine [Moles/volume] in Serum or Plasma". You cannot use those codes to code just the units of measurement. The unit codes are pure UCUM: mg/dL and umol/L. In the openEHR archetype you don't need to add a particular binding at the unit level of the dv_quantity. The unit value is already a standard and interoperable code. And as I said before, the LOINC codes are bindings for the container Element that will contain that specific measurement. You only have to model the archetype to match the two possible configurations: choice { ELEMENT { --> Bind to: 2160-0 Creatinine [Mass/volume] in Serum or Plasma DVQuantity { unit { "mg/dL} } } ELEMENT { --> Bind to: 14682-9 Creatinine [Moles/volume] in Serum or Plasma DVQuantity { unit { "umol/L} } } } --- ## Post #13 by @system Thanks David, I will suggest this to my employer. Best regards Bert Verhees --- ## Post #14 by @system This is in my view also the correct solution and explanation\. The only thing to add is that these bindings only make sense within archetypes specific to particular lab results, e\.g\. urinalysis or protein, or even just creatinine, depending on how the lab results / panels are modelled\. \- thomas --- ## Post #15 by @system Thanks for the confirmation, Thomas. Bert --- ## Post #16 by @system This does raise some interesting issues about querying loinc codes. It looks to me right now that you can't easily search for 'serum creatinine' without including multiple codes or by using some sort of loinc aware terminology service which understands the internal relationships. Does anyone have experience with querying loinc? Ian --- ## Post #17 by @system This was helpful but still implies that some sort of terminology service is required [https://confluence.ihtsdotools.org/download/attachments/12781103/Expo_LOINC_SNOMED_EHR_October_2015_Final.pdf?version=1&modificationDate=1446571187000&api=v2](https://confluence.ihtsdotools.org/download/attachments/12781103/Expo_LOINC_SNOMED_EHR_October_2015_Final.pdf?version=1&modificationDate=1446571187000&api=v2) --- ## Post #18 by @system Very well thought out guidelines in the second part. Will be helpful in the discussion Thanks Bert --- ## Post #19 by @system Helpful but do rely on having some fairly sophisticated terminology services and available mappings. We should keep this dialogue going as we will be working in a mixed loinc snomed environment in a uk project. Ian --- ## Post #20 by @wouterzanen The use case discussed was our use case. All that has been explained makes perfect sense from a lab perspective (Mol and Mass are different test), however in our use case we do need to aggregate them. In our case it is allowed to report have for example createnine in both mg/dl and mmol/l, in the software application it will be one field with a choice for the unit, we receive info from multiple labs in europe). We are also looking for the possibility for electronic exchange of HL7v2 messages in the future. We use the lab test observation (inlcuding specimem details) and lab test panel to record the test result. We try to bind with both SNOMED and LOINC (being flexible), on a template level I see only two solutions: I now see two options: - Either we don't bind to LOINC and MAP Loinc codes in the mapping software we inevitable are going to need to process the HL7V2 message. Result is one archetype with both mol and mass units. - Or we invent a testfinding container archetype (Called Creatinine that binds to Snomed) and under that we have two test panel archetypes for Mol and Mass. This makes building the app more difficult but at least we know the composition is related to Createnine. Currently we prefer solution 1. Best regards, Wouter Zanen De inhoud van dit bericht is uitsluitend bestemd voor de geadresseerde en kan vertrouwelijke en/of persoonlijke informatie bevatten. Als dit bericht niet voor u bestemd is, wordt u vriendelijk verzocht dit aan de afzender te melden en het bericht (inclusief bijlagen) uit uw systeem te verwijderen. Eurotransplant staat door de elektronische verzending van dit bericht niet in voor de juiste en volledige overbrenging van de inhoud, noch voor tijdige ontvangst daarvan. Voor informatie over Eurotransplant raadpleegt u: www.eurotransplant.org. This message is intended for the addressee's eyes only and it may contain confidential and/or personal information. If you are not the intended recipient, you are hereby kindly requested to notify the sender and delete this message (including attachments) from your system immediately. In view of the electronic nature of this communication, Eurotransplant is neither liable for the proper and complete transmission of the information contained therein nor for any delay in its receipt. For information on Eurotransplant please visit: www.eurotransplant.org >>> Ian McNicoll 16/02/2017 11:04 >>> Helpful but do rely on having some fairly sophisticated terminology services and available mappings. We should keep this dialogue going as we will be working in a mixed loinc snomed environment in a uk project. Ian --- ## Post #21 by @Robert_Hausam In recent months I've had some discussions with Dan Vreeman at Regenstrief about the need to be able to group or aggregate "clinically equivalent" LOINC codes (however "clinically equivalent" is defined - mol and mass is one obvious case). The original impetus for our discussion isn't being pursued on my end at the moment, but Dan did say that Regenstrief is embarking on an effort of their own to develop the capability for doing something like this. I am sure that they would be interested in hearing about use cases that are being identified that need this capability (and also about anyone with an interest in helping them with getting the work done). Rob --- ## Post #22 by @Colin_Sutton Hi Bert, Not only different countries. Within Australia different labs use different measuring equipment or different standards for measurements, for which there are different HL7 codes. Colin [details="(attachments)"] ![image001.jpg|96x30](upload://6suqcSypNJP0XlmZibUNPaKMxul.jpeg) [/details] --- ## Post #23 by @system Hi Robert, Thanks for the input. This is going to be a universal issue, however and wherever we are trying to aggregate bits of 'clinically identical' lab data as-per your example. I am interested in how this is done now, as LOINC is not extensively used in the UK outside individual institutions, and my understanding is that the LOINC terminology carries enough relationship metadata to allow 2160-0 Creatinine [Mass/volume] in Serum or Plasma Creatinine Qn mg/dL 14682-9 Creatinine [Moles/volume] in Serum or Plasma Creatinine Qn umol/L to be queried/inferenced as 'Creatinine Serum or Plasma' but this would require a LOINC-aware terminology server. or do folk just manually document the sets of terms to be queried? Ian --- ## Post #24 by @grahamegrieve bit of both - there are some institutions running on a terminology server that can manage those kind of things, and others have to do manual conversion. But terminology servers are gradually becoming more commonly deployed (all the good ones I know of are free). Grahame --- ## Post #25 by @system Thanks Grahame, Very helpful. Ian --- ## Post #26 by @Daniel_Karlsson Dear All, this is what the LOINC-SNOMED CT mapping intends to achieve. Below are the two SNOMED CT representations of the two LOINC codes: 2160-0 Creatinine [Mass/volume] in Serum or Plasma 'Observable entity (observable entity)' and (Component some 'Creatinine (substance)') and (Scale some 'Quantitative (qualifier value)') and ('Time aspect' some 'Single point in time (qualifier value)') and ('Property Type' some 'Mass concentration (property) (qualifier value)') and ('Inheres In' some 'Plasma (substance)') and ('Direct Site' some 'Acellular blood (serum or plasma) specimen (specimen)') 14682-9 Creatinine [Moles/volume] in Serum or Plasma 'Observable entity (observable entity)' and (Component some 'Creatinine (substance)') and (Scale some 'Quantitative (qualifier value)') and ('Time aspect' some 'Single point in time (qualifier value)') and ('Property Type' some 'Substance concentration (property) (qualifier value)') and ('Inheres In' some 'Plasma (substance)') and ('Direct Site' some 'Acellular blood (serum or plasma) specimen (specimen)') This expressions (which could be queried for or added as a grouper SNOMED CT concept): 'Observable entity (observable entity)' and (Component some 'Creatinine (substance)') and (Scale some 'Quantitative (qualifier value)') and ('Time aspect' some 'Single point in time (qualifier value)') and ('Property Type' some 'Quantity concentration (property) (qualifier value)') and ('Inheres In' some 'Plasma (substance)') and ('Direct Site' some 'Acellular blood (serum or plasma) specimen (specimen)') would subsume both. Regards, Daniel --- ## Post #27 by @Eric_Browne Ian, I think it is fanciful to suggest that this could be done reliably by a system based purely on LOINC codes/definitions without recourse to manual construction of a list of codes or without knowing what constraints have been imposed on the sources of lab data\. By the way, there is already a LOINC code to cover tests that encompass either mass or molar concentrations of creatinine in serum or plasma:\- 35203\-9 Creatinine \[Mass or Moles/​volume\] in Serum or Plasma \( see http://r.details.loinc.org/LOINC/35203-9.html?sections=Comprehensive \)\. But despite the fact that its use for lab reporting is discouraged, its very existence almost guarantees that it will be used\. The fact that this code is included in HEDIS panels and Value Sets suggest it might have been introduced into LOINC for downstream quality reporting\. A quick look through my LOINC tables shows the following potential codes that might need to be considered:\- "Creatinine \[Mass or Moles/volume\] in Serum or Plasma" "Creatinine \[Mass/volume\] \(Maximum value during study\) in Serum or Plasma" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-1 day post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-1 hour post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-1 hour pre XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-1\.5 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-1\.5 hours pre XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-10 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-12 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-16 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-18 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-2 days post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-2 hour specimen" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-2 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-2\.25 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-2\.5 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-3 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-3\.5 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-3\.75 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-30 minutes post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-30 minutes pre XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-4 days post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-4 hour specimen" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-4 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-4\.5 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-45 minutes post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-45 minutes pre XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-5 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-5\.25 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-5\.5 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-6 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-6\.5 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-7 days post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-8 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-9 hours post XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-baseline" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-post dialysis" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-pre XXX challenge" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-pre contrast" "Creatinine \[Mass/volume\] in Serum or Plasma \-\-pre dialysis" "Creatinine \[Mass/volume\] in Serum or Plasma" "Creatinine \[Moles/volume\] in Serum, Plasma or Blood" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-1 day post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-1 hour post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-1 hour pre XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-1\.5 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-1\.5 hours pre XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-10 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-12 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-16 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-18 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-2 days post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-2 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-2\.5 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-3 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-3\.5 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-30 minutes post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-30 minutes pre XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-4 days post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-4 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-45 minutes post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-45 minutes pre XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-5 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-6 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-7 days post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-8 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-9 hours post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-baseline" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-post XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-post dialysis" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-pre XXX challenge" "Creatinine \[Moles/volume\] in Serum or Plasma \-\-pre dialysis" "Creatinine \[Moles/volume\] in Serum or Plasma" "Creatinine and Glomerular filtration rate\.predicted panel \- Serum or Plasma" There are probably others\. regards, eric Eric Browne eric\.browne@montagesystems\.com\.au ph 0414 925 845 skype: eric\_browne --- ## Post #28 by @system Thanks, Eric, I didn't find that one\. I must have given up too quickly Bert Verhees --- ## Post #29 by @system Again a good reason to allow post\-coordinated expressions in term\-binding in archetypes\. Thanks Bert Verhees --- **Canonical:** https://discourse.openehr.org/t/two-loinc-codes-for-one-lab-item/15474 **Original content:** https://discourse.openehr.org/t/two-loinc-codes-for-one-lab-item/15474