Which archetype could be used to parse and store blood testing data?

I’m a newcomer to OpenEHR. After read the Architecture Overview, I found it is still difficult to find a way to store my data.

For example, I have the following data piece.

The data is about test result of blood, and is used to help doctors to do diagnosing related liver functions.

I searched in the CKM repositories, and the only archetype that seems can be used is openEHR-EHR-OBSERVATION.laboratory_test_result.v1.adl. My problems are:

  1. Is the aforementioned archetype proper for my data?
  2. How shall I map my data to the archetype-style data, and what the result shall be like?

Thanks for your concerning, any help would be appreciated


Hi Proust_Marcel, welcome to the community! :smile:

Your data would be represented by a template consisting of three archetypes, not a single archetype. Templates can be constructed using the Archetype Designer tool, located here: Archetype Designer

As an example, I’ve quickly created a generic lab result template for you and uploaded it to CKM, here: Clinical Knowledge Manager

Note that the reference ranges can be represented using a property of the Quantity data type, so it doesn’t need to be explicitly modelled in the archetype.

Of course, in a real example you would likely use some kind of coding system like LOINC, and there would be status elements, report ID elements, etc. These exist in the archetypes used, but have been constrained out in this simple example template.


Thank you Silje, the three archetypes you mentioned are:

  1. openEHR-EHR-COMPOSITION.report-result.v1
  2. openEHR-EHR-OBSERVATION.laboratory_test_result.v1
  3. openEHR-EHR-CLUSTER.laboratory_test_analyte.v1

It will take me a while to understand the template you created, but I’m sure it will help me a lot. Thanks again and may you good day!


There’s also a document somewhere that explains the complex of the different lab archetypes right? Maybe at this template to that document?

Please don’t hesitate to ask for more help. OpenEHR can be hard to understand. And the lab archetypes are not the easiest to get started. If you want more help please tell us more about your usecase and your current technical setup.

1 Like

That’s correct! :smile:

As @joostholslag said, don’t hesitate to ask more questions!

Hi Silje, after a study on the template you created, I still have several questions.

  1. In openEHR-EHR-CLUSTER.laboratory_test_analyte.v1, ELEMENT[at0004] is reference range guidance, and the data type is DV_TEXT. So what do you mean by saying “the reference ranges can be represented using a property of the Quantity data type, so it doesn’t need to be explicitly modelled in the archetype.”?
  2. In openEHR-EHR-CLUSTER.laboratory_test_analyte.v1, ELEMENT[at0001], it is “occurrences matches {0…*}”, does it mean that here the analyte result can be a series of values?
  3. Could you please give me a simple explanation of Composition and Cluster? I know an Observation is an EHR entry, but I cannot figure out what are Composition and Cluster.
  4. I have another data piece as following, it is also for HBV testing.

    May I use the same template that you created or is it more proper to find a new template?

Thank you.

Thank you @joostholslag. It is hard to grasp the essence of OpenEHR, I hope I can learn the right way to use it from you guys.
I do have more questions as I replied, could you please also give me some suggestions?

1 Like

A cluster is a group of elements or clusters (ITEM). They are reusable in different archetypes and are very context agnostic. E.g. a lab (analyte) value cluster can be represented in an observation to indicate it’s a value that has been measured by a test: “HbA1c was 80mmol/mol yesterday) . Or it can be embedded in a evaluation(.goal) to indicate it’s a value that’s e.g. a goal to be attained “e.g. target HbA1c is 64 mol/mol”Data Structures Information Model
A composition is the unit of entry into the EHR. Data should be entered into the EHR as part of a composition. EHR Information Model
Similar to a document or form or plan or managed list. Have a look at the compositions at the ckm. Clinical Knowledge Manager
A composition that is appropriate for blood results is the COMPOSITION.report-result

You can see this hierarchical structure in @siljelb s template.
It could help to read the openEHR architecture overview, specifically paragraph 6.3 fig 21 Architecture Overview
But if it’s too abstract it makes sense to work from what you need to know to reach your goal.
Are you setting up a lab system?

1 Like

Here’s the relevant part of the Reference Model. You can see that all DV_QUANTITYs may have references ranges attached, so no special additions are required in any archetype to achieve that. The runtime data for labs almost always has reference ranges included, and the DV_QUANTITY instances created at runtime always have a place to put them.


I am at the starting point to build an EHR system.
We have different type (E.g. medical examination report, health questionnaire) of healthy information of many users, the data were not well structured. Now we would like to take use of the methodology of OpenEHR to organize and store the data, and expect we can dig into these health information later.

1 Like

Hi Marcel, thanks for sharing. The type of data you want to store in a structured way is perfect for openEHR. If you’re building an openEHR system, at first it may feel overly complex, but you’ll be happy for it later, since complexity will come to your system as well for sure and it’s hard to build it after the fact.
Will you be using a off the shelve clinical data repository as an openEHR backend? There are multiple CDR’s available open-source and commercially. Building your own is a major engineering task that is usually not worth your effort.


@siljelb @joostholslag Hi, now I encounter a new question and would you please give me more guidance?
As with the laboratory test report result, doctors will give their diagnosis and instructions to the patient.
As far as I know, I shall use a EVALUATION archetype to map and store the diagnosis from the doctor, and use a INSTRUCTION archetype to map and store the instructions. But I find it is difficult to find the proper archetype. Could you please give me any suggestion? Or do I just misunderstand this part? I know in openEHR-EHR-OBSERVATION.laboratory_test_result.v1 [at0057] and [at0098] there are conclusion and test diagnosis, are they the same thing with the doctor’s diagnosis?

See the website here.

1 Like

Hi. The conclusion in the lab observation is only the result of the test. If it requires interpretation like a doctors diagnosis this is your archetype: Clinical Knowledge Manager
For the instruction to the patient maybe this could work: Clinical Knowledge Manager
It’s more about an order to a health professional to educate the patient.
Could you give an example of what you see as the instruction to the patient?

1 Like

Agree @joostholslag and @Proust_Marcel I’d add to that there is a subtle difference between a ‘laboratory diagnosis’ - which we call ‘Test diagnosis’ in the Lab test archetype, and a ‘proper clinical diagnosis’ that would generally use the problem diagnosis archetype.

As an example you might get an interpretation/lab diagnosis of something like ‘significant renal impairment’ and made by the lab specialist but that is a diagnosis of the ‘test’ not the diagnosis of the whole person such as ‘Renal failure’, which might take other factors into account, and would usually be made by the doctor who requested the test.

The Conclusion is designed for more narrative reports whereas the ‘Test diagnosis’ is more about short phrases or coded terms.

So yes you will generally need several archetypes to capture the kind of scenario you have outlined but it is difficult to give precise advice without knowing the full use-case.