Terminologies in the template

Hey everybody,

I have one question. I am currently working on a template in Marand and would like to add SNOMED codes for the antibiotic in addition to the LOINC coding. Do you know how to do that? Do you think it works? I want to add a LOINC coding and a SNOMED coding for the same antibiotic.

Sarah Ballout

1 Like

Hi Sarah,

The very quick answer is that currently this is not possible with either the .oet template format or the current ADL2 specification (which Archetype Designer mirrors closely).

Can you clarify why you want to have both the SNOMED and LOINC codes?

I would assume that this is a situation where for each LOINC code you want to specify a SNOMED equivalent, and are saying that either are acceptable in the patient data.


LOINC: 12345 => SNOMED-CT:: 345657
LOINC: 445634 => SNOMED-CT:: 5678990

and that in the data it is acceptable to have either LOINC or the SNOMED equivalent?

The openEHR codedText datatype allows you to carry one ā€˜defining_codeā€™ and any number of ā€˜mappingsā€™ in the patient data, which probably does what you need but we no not have any ability t odefine those mappings in templates, so you would have to define the valid codes and mappings somewhere else. One possibility is to use FHIR Valuesets and Concept Maps for this purpose.

Can you tell us more about why you need both the terminologies and what are you are hoping to end up in the patient record as there are several possibilitiesā€¦

  1. If a contributing system sends a SNOMED code, rather than a LOINC code, havethat converted into a LOINC code then store the LOINC code as the defining_code. This ensures that all the defining_codes are LOINC-based.

  2. Same as (1) but also carry the original SNOMED code in the patient record as as codedText.mapping. This allows querying on both the the LOIN code and SNOMED code but the LOINC code is always the defining_code.

  3. If the contributing system sends a SNOMED code, store that as the defining_code but also store the equivalent LOINC code as a codedText.mapping. As for (2) this allows both the LOINC and SNOMED codes to be queried but critically in this case the defining_code is a SNOMED code, and if there are other contributers who use LOINC codes then things get a bit mixed up and this may make querying more complex.

This is worth a good discussion though, as it is a very common challenge (handling mixed coding systems).

The main message for me is that we need to be able to define mappings explicitly, either in templates or related artefacts like Valuesets and Concept Maps.