## Profile Comparison between http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core vs http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core

Left: | MedicalTestResult (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core)
Right: | Observation: Medical Test Result (EU core) (http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core)

### Messages

Error | StructureDefinition.version | Values for version differ: '2.0.0-ballot' vs '2.0.0'
Information | StructureDefinition.title | Values for title differ: 'MedicalTestResult (EU core)' vs 'Observation: Medical Test Result (EU core)'
Information | StructureDefinition.date | Values for date differ: '2025-12-19T19:52:30+01:00' vs '2026-04-27T22:41:19+03:00'
Information | StructureDefinition.short | Values for short differ: 'Language of the resource content' vs 'Language of the observation'
Error | Observation.triggeredBy.observation | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]])
Information | StructureDefinition.requirements | Values for requirements differ: 'EHDSObservation has no requirement' vs 'Used for filtering what observations are retrieved and displayed.'
Information | Observation.code | Example/preferred bindings differ at Observation.code using binding from MedicalTestResultEuCore
Information | StructureDefinition.short | Values for short differ: 'Specimen used for this observation' vs 'Specimen used for the observation'
Error | Observation.hasMember | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]])
Error | Observation.derivedFrom | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy]])
Information | Observation.component.code | Example/preferred bindings differ at Observation.component.code using binding from MedicalTestResultEuCore

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Observation |
copyright | Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0). |
date | 2025-12-19T19:52:30+01:00 | 2026-04-27T22:41:19+03:00 | Values Differ
description | This profile sets minimum expectations for the Observation resource for Medical Test Results common to most of the use cases. | This profile introduces essential constraints and extensions for the Observation resource for Medical Test Results that apply across multiple use cases. | Values Differ
experimental |  |
fhirVersion | 5.0.0 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#150 |
kind | resource |
name | MedicalTestResultEuCore |
publisher | HL7 Europe |
purpose |  |
status | active |
title | MedicalTestResult (EU core) | Observation: Medical Test Result (EU core) | Values Differ
type | Observation |
url | http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core |
version | 2.0.0-ballot | 2.0.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions | C | 0..* | Observation | Measurements and simple assertions |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (required): IETF language tag for a human language
Additional Bindings | Purpose
?? | Starter
|  | 0..1 | code | Language of the observation Binding: ?? (required): IETF language tag for a human language
Additional Bindings | Purpose
?? | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Business Identifier for observation | Σ | 0..* | Identifier | Business Identifier for observation |
instantiates[x] | Σ | 0..1 | canonical(ObservationDefinition), Reference(ObservationDefinition) | Instantiates FHIR ObservationDefinition | Σ | 0..1 | canonical(ObservationDefinition), Reference(ObservationDefinition) | Instantiates FHIR ObservationDefinition |
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
triggeredBy |  | 0..* | BackboneElement | Triggering observation(s) |  | 0..* | BackboneElement | Triggering observation(s) |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
observation | Σ | 1..1 | Reference(MedicalTestResult (EU core)) | Triggering observation | Σ | 1..1 | Reference(Observation: Medical Test Result (EU core)) | Triggering observation | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]])
type | Σ | 1..1 | code | reflex | repeat | re-run Binding: ?? (required): The type of TriggeredBy Observation. | Σ | 1..1 | code | reflex | repeat | re-run Binding: ?? (required): The type of TriggeredBy Observation. |
reason |  | 0..1 | string | Reason that the observation was triggered |  | 0..1 | string | Reason that the observation was triggered |
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy) | Part of referenced event | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy) | Part of referenced event |
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ?? (required): Codes providing the status of an observation. | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ?? (required): Codes providing the status of an observation. |
Slices for category |  | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:$this Binding: ?? (preferred): Codes for high level observation categories. |  | 1..* | CodeableConcept | Classification of type of observation Binding: ?? (preferred): Codes for high level observation categories. |
code | Σ C | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (preferred) | Σ C | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (example) | Example/preferred bindings differ at Observation.code using binding from MedicalTestResultEuCore
subject | Σ | 1..1 | Reference(Patient (EU core)) | Who and/or what the observation is about | Σ | 1..1 | Reference(Patient (EU core) | Device | Group | Location) | Who and/or what the observation is about |
focus | Σ | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | What the observation is about, when it is not about the subject of record | Σ | 0..* | Reference(Patient (EU core) | RelatedPerson | Group | Device | Location (EU core)) | What the observation is about, when it is not about the subject of record |
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | Σ | 1..1 | dateTime, Period | Clinically relevant time/time-period for observation | Σ | 1..1 | dateTime, Period | Clinically relevant time/time-period for observation |
issued | Σ | 0..1 | instant | Date/Time this version was made available | Σ | 0..1 | instant | Date/Time this version was made available |
performer | Σ | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core)) | Who is responsible for the observation | Σ | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core) | Patient (EU core) | RelatedPerson) | Who is responsible for the observation |
id |  |  |  |  |  | 0..1 | id | Unique id for inter-element referencing | Added this element
Slices for extension |  |  |  |  |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | Added this element
reference |  |  |  |  | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL | Added this element
type |  |  |  |  | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Added this element
identifier |  |  |  |  | Σ C | 0..1 | Identifier | Logical reference, when literal reference is not known | Added this element
display |  |  |  |  | Σ C | 0..1 | string | Text alternative for the resource | Added this element
Slices for value[x] | Σ C | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual result Slice: Unordered, Open by type:$this | Σ C | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual result Slice: Unordered, Open by type:$this |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. | C | 0..1 | CodeableConcept | Why the result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ?? (extensible): Codes identifying interpretations of observations. |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ?? (extensible): Codes identifying interpretations of observations. |
note |  | 0..* | Annotation | Comments about the observation |  | 0..* | Annotation | Comments about the observation |
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): SNOMED CT Body site concepts | C | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): SNOMED CT Body site concepts |
bodyStructure | C | 0..1 | Reference(BodyStructure) | Observed body structure | C | 0..1 | Reference(BodyStructure) | Observed body structure |
method |  | 0..1 | CodeableConcept | How it was done Binding: ?? (example): Methods for simple observations. |  | 0..1 | CodeableConcept | How it was done Binding: ?? (example): Methods for simple observations. |
specimen | C | 0..1 | Reference(Specimen | Group) | Specimen used for this observation | C | 0..1 | Reference(Specimen | Group) | Specimen used for the observation |
device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device |  | 0..1 | Reference(Device | DeviceMetric) | A reference to the device that generates the measurements or the device settings for the device |
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation | C | 0..* | BackboneElement | Provides guide for interpretation |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | C | 0..1 | ?? | Low Range, if relevant | C | 0..1 | ?? | Low Range, if relevant |
high | C | 0..1 | ?? | High Range, if relevant | C | 0..1 | ?? | High Range, if relevant |
normalValue |  | 0..1 | CodeableConcept | Normal value, if relevant Binding: ?? (extensible): Codes identifying the normal value of the observation. |  | 0..1 | CodeableConcept | Normal value, if relevant Binding: ?? (extensible): Codes identifying the normal value of the observation. |
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ?? (preferred): Code for the meaning of a reference range. |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ?? (preferred): Code for the meaning of a reference range. |
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ?? (example): Codes identifying the population the reference range applies to. |  | 0..* | CodeableConcept | Reference range population Binding: ?? (example): Codes identifying the population the reference range applies to. |
age |  | 0..1 | Range | Applicable age range, if relevant |  | 0..1 | Range | Applicable age range, if relevant |
text | C | 0..1 | markdown | Text based reference range in an observation | C | 0..1 | markdown | Text based reference range in an observation |
hasMember | Σ | 0..* | Reference(MedicalTestResult (EU core)) | Related resource that belongs to the Observation group | Σ | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core]])
derivedFrom | Σ | 0..* | Reference(MedicalTestResult (EU core) | ImagingStudy) | Related resource from which the observation is made | Σ | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related resource from which the observation is made | Type Mismatch: Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base-r5/StructureDefinition/medicalTestResult-eu-core], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy]])
component | Σ C | 0..* | BackboneElement | Component results | Σ C | 0..* | BackboneElement | Component results |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ C | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (preferred) | Σ C | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (example) | Example/preferred bindings differ at Observation.component.code using binding from MedicalTestResultEuCore
Slices for value[x] | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual component result Slice: Unordered, Open by type:$this | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence) | Actual component result Slice: Unordered, Open by type:$this |
dataAbsentReason |  | 0..1 | CodeableConcept | Why the component result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. |  | 0..1 | CodeableConcept | Why the component result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ?? (extensible): Codes identifying interpretations of observations. |  | 0..* | CodeableConcept | High, low, normal, etc Binding: ?? (extensible): Codes identifying interpretations of observations. |
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result |
Documentation for this format