How to design an archetype to report a combination of different lab test results

I want to design an archetype which provides an evaluation to the user based on several lab test results. I want to reuse exisiting archetypes for this purpose. I have two approches and I need to know which one is more suitable and correct:

Approach A :
Use Laboratory test result archetype and its ‘Test result’ attribute will contain the openEHR-EHR-CLUSTER.laboratory_test_analyte.v1. Since in my scenario it contains multiple lab test results, openEHR-EHR-CLUSTER.laboratory_test_analyte.v1 will be repeated inside Laboratory test result*.

Approach B:
Use Laboratory test result archetype and its ‘Test result’ attribute will contain the openEHR-EHR-CLUSTER.laboratory_test_analyte.v1. But it will use only one instance of openEHR-EHR-CLUSTER.laboratory_test_analyte.v1. That instance will contain all the lab test results.

Guide me to select the best approach.

Almost certainly option 1 and carry your summary in the laboratory test. Can you tell us what the analytes are?


Thank you for your reply. These are the analytes :

  • urine potassium
  • serum potassium
  • urine osmolality
  • serum osmolality

I generally agree with @ian.mcnicoll’s response. Although I’d consider making a separate instance of the OBSERVATION.laboratory_test_result per specimen type.


Thank you for your answers.
This is the reason behind option 2.

The Analyt result attribute accepts data belongs to any data type . Further I can repeate the results. So I thought to add 4 Quantity type attributes to represent the above test results.

Can you please elaborate why do you think that option 1 is more suitable than option 2. So that I can get to know about my mistake.

1 Like

I agree with @siljelb but it really depends on how data is being captured and reported. Typically i would expect the urine tests and bood results to be ordered and reported separately. There are some tests which combine urine and blood specimens but i dont sense this is your example.

Thiis all assumes that you are capturing the data via lab messages. If you are assuming direct manual data entry then option 2 might be more reasonable but Id probably still use option 1 to future proof a little.


I would use the analyte for individual results, the analyte name would be a coded text to identify the type of result and the analyte result would be the value (quantity, count, coded, boolean, etc).

Then we can use a CLUSTER to group analyte results into batteries/panels (see LOINC 24357-6 Urinalysis macro (dipstick) panel - Urine). Another option would be to use an OBSERVATION as a battery/panel. That might depend on how information is recorded or reported.


In the vast majority of lab use-cases, the Lab test observation works fine as a container but we do have a specific archetype for Urinalysis (which is usually a bedside test, not lab reported).


I didn’t know about this. Thanks for sharing @ian.mcnicoll

1 Like