## Profile Comparison between http://hl7.org/fhir/uv/ips/StructureDefinition/Observation-alcoholuse-uv-ips vs http://hl7.eu/fhir/base/StructureDefinition/medicalTestResult-eu-core

Left: | Observation Social History - Alcohol Use (IPS) (http://hl7.org/fhir/uv/ips/StructureDefinition/Observation-alcoholuse-uv-ips)
Right: | Observation: Medical Test Result (EU core) (http://hl7.eu/fhir/base/StructureDefinition/medicalTestResult-eu-core)

### Messages

Error | StructureDefinition.url | Values for url differ: 'http://hl7.org/fhir/uv/ips/StructureDefinition/Observation-alcoholuse-uv-ips' vs 'http://hl7.eu/fhir/base/StructureDefinition/medicalTestResult-eu-core'
Error | StructureDefinition.version | Values for version differ: '2.0.0' vs '2.0.0-gamma'
Information | StructureDefinition.name | Values for name differ: 'ObservationAlcoholUseUvIps' vs 'MedicalTestResultEuCore'
Information | StructureDefinition.title | Values for title differ: 'Observation Social History - Alcohol Use (IPS)' vs 'Observation: Medical Test Result (EU core)'
Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft'
Information | StructureDefinition.date | Values for date differ: '2024-06-19T10:50:07-05:00' vs '2026-02-25T10:00:47+01:00'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International / Patient Care' vs 'HL7 Europe'
Information | StructureDefinition.jurisdiction | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
Information | StructureDefinition.jurisdiction | Added the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#150'
Information | StructureDefinition.short | Values for short differ: 'Language of the resource content' vs 'Language of the observation'
Information | StructureDefinition.short | Values for short differ: 'Additional content defined by implementations' vs 'Extension'
Information | StructureDefinition.definition | Values for definition differ: 'May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.' vs 'An Extension'
Information | StructureDefinition.requirements | Values for requirements differ: 'Allows observations to be distinguished and referenced.' vs 'EHDSObservation.header.identifier'
Information | StructureDefinition.requirements | Values for requirements differ: 'Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.' vs 'EHDSObservation.order'
Information | StructureDefinition.requirements | Values for requirements differ: 'Need to track the status of individual results. Some results are finalized before the whole report is finalized.' vs 'EHDSObservation.header.status'
Information | Observation.category | Element minimum cardinalities differ: '0' vs '1'
Information | StructureDefinition.requirements | Values for requirements differ: 'Knowing what kind of observation is being made is essential to understanding the observation.' vs 'EHDSObservation.code'
Warning | Observation.code | Elements differ in definition for mustSupport: 'true' vs 'false'
Information | Observation.code | Example/preferred bindings differ at Observation.code using binding from MedicalTestResultEuCore
Information | StructureDefinition.requirements | Values for requirements differ: 'Observations have no value if you don't know who or what they're about.' vs 'EHDSObservation.header.subject'
Warning | Observation.subject | Elements differ in definition for mustSupport: 'true' vs 'false'
Information | StructureDefinition.requirements | Values for requirements differ: 'Knowing when an observation was deemed true is important to its relevance as well as determining trends.' vs 'EHDSObservation.observationDate[x]'
Warning | Observation.effective[x] | Elements differ in definition for mustSupport: 'true' vs 'false'
Information | StructureDefinition.requirements | Values for requirements differ: 'May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.' vs 'EHDSObservation.header.performer'
Information | StructureDefinition.requirements | Values for requirements differ: 'An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.' vs 'EHDSObservation.result.value[x]'
Information | StructureDefinition.requirements | Values for requirements differ: 'For many results it is necessary to handle exceptional values in measurements.' vs 'EHDSObservation.dataAbsentReason'
Information | StructureDefinition.requirements | Values for requirements differ: 'For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.' vs 'EHDSObservation.interpretation'
Information | StructureDefinition.requirements | Values for requirements differ: 'Need to be able to provide free text additional information.' vs 'EHDSObservation.resultDescription'
Information | StructureDefinition.requirements | Values for requirements differ: 'In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.' vs 'EHDSObservation.method'
Information | StructureDefinition.short | Values for short differ: 'Specimen used for this observation' vs 'Specimen used for the observation'
Information | StructureDefinition.requirements | Values for requirements differ: 'Knowing what values are considered 'normal' can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.' vs 'EHDSObservation.referenceRange'
Error | Observation.derivedFrom | Type Mismatch: Reference([CanonicalType[http://hl7.org/fhir/StructureDefinition/DocumentReference|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/Media|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/Observation|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/MolecularSequence|4.0.1]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base/StructureDefinition/medicalTestResult-eu-core], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy]])
Information | StructureDefinition.requirements | Values for requirements differ: 'Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.' vs 'EHDSObservation.component'
Information | Observation.component | Element maximum cardinalities differ: '0' vs '2147483647'
Information | StructureDefinition.requirements | Values for requirements differ: 'Knowing what kind of observation is being made is essential to understanding the observation.' vs 'EHDSObservation.component.code'
Information | Observation.component.code | Example/preferred bindings differ at Observation.component.code using binding from MedicalTestResultEuCore
Information | StructureDefinition.requirements | Values for requirements differ: 'An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.' vs 'EHDSObservation.component.result.value[x]'
Information | StructureDefinition.requirements | Values for requirements differ: 'For many results it is necessary to handle exceptional values in measurements.' vs 'EHDSObservation.component.dataAbsentReason'
Information | StructureDefinition.requirements | Values for requirements differ: 'For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.' vs 'EHDSObservation.component.interpretation'
Information | StructureDefinition.requirements | Values for requirements differ: 'Knowing what values are considered 'normal' can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.' vs 'EHDSObservation.component.referenceRange'

### 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). | Added the item 'Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0).'
date | 2024-06-19T10:50:07-05:00 | 2026-02-25T10:00:47+01:00 | Values Differ
description | This profile constrains the Observation resource to represent alcohol use assessment in a patient summary. | 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 | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |  | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
jurisdiction[1] |  | http://unstats.un.org/unsd/methods/m49/m49.htm#150 | Added the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#150'
kind | resource |
name | ObservationAlcoholUseUvIps | MedicalTestResultEuCore | Values Differ
publisher | HL7 International / Patient Care | HL7 Europe | Values Differ
purpose |  |
status | active | draft | Values Differ
title | Observation Social History - Alcohol Use (IPS) | Observation: Medical Test Result (EU core) | Values Differ
type | Observation |
url | http://hl7.org/fhir/uv/ips/StructureDefinition/Observation-alcoholuse-uv-ips | http://hl7.eu/fhir/base/StructureDefinition/medicalTestResult-eu-core | Values Differ
version | 2.0.0 | 2.0.0-gamma | 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: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the observation Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
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 | Extension Slice: Unordered, Open by value:url |
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 |
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 |
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | 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. |
category |  | 0..* | CodeableConcept | Classification of type of observation Binding: ?? (preferred): Codes for high level observation categories. |  | 1..* | CodeableConcept | Classification of type of observation Binding: ?? (preferred): Codes for high level observation categories. | Element minimum cardinalities differ: '0' vs '1'
code | SO Σ | 1..1 | ?? | Type of observation (code / type) Binding: ?? (example): Codes identifying names of simple observations. Required Pattern: {"coding":[{"system":"http://loinc.org","code":"74013-4"}]}
Obligations | Actor
SHALL:populate-if-known | Creator (IPS)
SHALL:handle | Consumer (IPS)
SHOULD:display | Consumer (IPS)
| Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (preferred) | Elements differ in definition for mustSupport: 'true' vs 'false' Example/preferred bindings differ at Observation.code using binding from MedicalTestResultEuCore
subject | SO Σ | 1..1 | Reference(Patient (IPS)) | Who and/or what the observation is about
Obligations | Actor
SHALL:populate-if-known | Creator (IPS)
SHALL:handle | Consumer (IPS)
SHOULD:display | Consumer (IPS)
| Σ | 1..1 | Reference(Patient (EU core)) | Who and/or what the observation is about | Elements differ in definition for mustSupport: 'true' vs 'false'
id |  | 0..1 | string | Unique id for inter-element referencing |  |  |  |  | Removed this element
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  |  |  |  | Removed this element
reference | SO Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate-if-known | Creator (IPS)
SHALL:handle | Consumer (IPS)
|  |  |  |  | Removed this element
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). |  |  |  |  | Removed this element
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |  |  |  |  | Removed this element
display | Σ | 0..1 | string | Text alternative for the resource |  |  |  |  | Removed this element
focus | Σ | 0..* | Reference(Resource) | 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] | SO Σ | 1..1 | dateTime | Clinically relevant time/time-period for observation
Obligations | Actor
SHALL:populate-if-known | Creator (IPS)
SHALL:handle | Consumer (IPS)
SHOULD:display | Consumer (IPS)
| Σ | 1..1 | dateTime, Period | Clinically relevant time/time-period for observation | Elements differ in definition for mustSupport: 'true' vs 'false'
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 | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | Σ | 0..* | Reference(Practitioner (EU core) | PractitionerRole (EU core) | Organization (EU core)) | Who is responsible for the observation |
Slices for value[x] | Σ C | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result Slice: Unordered, Open by type:$this | Σ C | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | 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 |  | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): Codes describing anatomical locations. May include laterality. |  | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): Codes describing anatomical locations. May include laterality. |
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 |  | 0..1 | Reference(Specimen) | Specimen used for this observation |  | 0..1 | Reference(Specimen) | Specimen used for the observation |
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) 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 |
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 |  | 0..1 | string | Text based reference range in an observation |  | 0..1 | string | Text based reference range in an observation |
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | Σ | 0..* | Reference(Observation: Medical Test Result (EU core)) | Related resource that belongs to the Observation group |
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | Σ | 0..* | Reference(Observation: Medical Test Result (EU core) | ImagingStudy) | Related measurements the observation is made from | Type Mismatch: Reference([CanonicalType[http://hl7.org/fhir/StructureDefinition/DocumentReference|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/Media|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/Observation|4.0.1], CanonicalType[http://hl7.org/fhir/StructureDefinition/MolecularSequence|4.0.1]]) vs Reference([CanonicalType[http://hl7.eu/fhir/base/StructureDefinition/medicalTestResult-eu-core], CanonicalType[http://hl7.org/fhir/StructureDefinition/ImagingStudy]])
component | Σ | 0..0 |  | Component results | Σ | 0..* | BackboneElement | Component results | Element maximum cardinalities differ: '0' vs '2147483647'
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 | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (example): Codes identifying names of simple observations. | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (preferred) | Example/preferred bindings differ at Observation.component.code using binding from MedicalTestResultEuCore
value[x] | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result Slice: Unordered, Open by type:$this |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. | C | 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 |
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 |
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 |  | 0..1 | string | Text based reference range in an observation |  | 0..1 | string | Text based reference range in an observation |
Documentation for this format