Left: | IPA-Observation (http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation) |
Right: | Observation Profile (Laboratory Results) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results) |
Error | StructureDefinition.url | Values for url differ: 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation' vs 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results' |
Information | StructureDefinition.name | Values for name differ: 'IPAObservation' vs 'ObservationProfileLaboratory' |
Information | StructureDefinition.title | Values for title differ: 'IPA-Observation' vs 'Observation Profile (Laboratory Results)' |
Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft' |
Information | StructureDefinition.date | Values for date differ: '2022-08-02' vs '2024-11-24' |
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International / Patient Care' vs 'HL7 Canada - FHIR Implementation Work Group' |
Information | StructureDefinition.jurisdiction | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001' |
Information | StructureDefinition.jurisdiction | Added the item 'urn:iso:std:iso:3166#CA' |
Error | StructureDefinition.baseDefinition | Values for baseDefinition differ: 'http://hl7.org/fhir/StructureDefinition/Observation' vs 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation' |
Information | StructureDefinition.short | Values for short differ: 'Measurements and simple assertions' vs 'Observation Profile' |
Information | StructureDefinition.definition | Values for definition differ: 'Measurements and simple assertions made about a patient, device or other subject.' vs 'The Observation Profile is based upon the core FHIR Observation Resource' |
Warning | Observation.status | Elements differ in definition for mustSupport: 'true' vs 'false' |
Information | Observation.category | Element minimum cardinalities differ: '0' vs '1' |
Information | StructureDefinition.comment | Values for comment differ: '*All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.' vs 'The binding strength of this element is [Preferred](https://www.hl7.org/fhir/terminologies.html#strength), meaning that codes are encouraged to draw from the LOINC or PCLOCD code system for interoperability purposes but are not required to do so to be considered conformant. *All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.' |
Information | StructureDefinition.comment | Values for comment differ: 'For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](http://hl7.org/fhir/R4/resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again.' vs 'Implementors should consider adding a must support flag in the case that the relevant systems are not able to support effective, but are able to support issued.' |
Warning | Observation.performer | Elements differ in definition for mustSupport: 'false' vs 'true' |
Information | StructureDefinition.comment | Values for comment differ: 'Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be 'detected', 'not detected', 'inconclusive', or 'specimen unsatisfactory'. The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code 'error' could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.' vs 'This element is recommended for support and was initially flagged as must support but was later determined to be too strong for some types of lab result profiles that want to derive from the CA Baseline but do not need a dataAbsentReason concept' |
Warning | Observation.dataAbsentReason | Elements differ in definition for mustSupport: 'true' vs 'false' |
Information | StructureDefinition.comment | Values for comment differ: 'Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.' vs 'This element is recommended for support and was initially flagged as must support but was later determined to be too strong for some types of lab result profiles (e.g., antibody results, blood typing results, etc.) that want to derive from the CA Baseline but do not have an interpretation concept (e.g., norm/abnormal, high/low).' |
Information | StructureDefinition.comment | Values for comment differ: 'Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.' vs 'This element is recommended for support and was initially flagged as must support but was later determined to be too strong for some types of lab result profiles (e.g., labs with non-numeric results) that want to derive from the CA Baseline but do not have a need for a numeric reference range concept.' |
Information | StructureDefinition.comment | Values for comment differ: 'When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](http://hl7.org/fhir/R4/observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) into a final score and represent the score as an Observation.' vs 'This element was initially flagged as must support but was later determined to be too strong for some types of lab result profile that want to derive from the CA Baseline but do not have a use hasMember to link results. Examples of these include but are not limited to non-panel results and panel result implementations that use alternative methods like ServiceRequest or DiagnosticReport to link panel results together.' |
Information | StructureDefinition.comment | Values for comment differ: 'For a discussion on the ways Observations can be assembled in groups together see [Notes](http://hl7.org/fhir/R4/observation.html#notes) below.' vs 'Some elements underneath this backbone element are considered must support. This does not incur the expectation to support these elements for any implementers that do not need to support the parent concept of observation.component. This may need to be evaluated in the future as impelementations seek to derive directly from the CA Baseline profiles' |
Information | StructureDefinition.comment | Values for comment differ: '*All* code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.' vs 'The binding strength of this element is [Preferred](https://www.hl7.org/fhir/terminologies.html#strength), meaning that codes are encouraged to draw from the LOINC code system for interoperability purposes but are not required to do so to be considered conformant. *All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.' |
Warning | Observation.component.code | Elements differ in definition for mustSupport: 'false' vs 'true' |
Warning | Observation.component.value[x] | Elements differ in definition for mustSupport: 'false' vs 'true' |
Name | Value | Comments | |
---|---|---|---|
abstract | false | ||
baseDefinition | http://hl7.org/fhir/StructureDefinition/Observation | http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation |
|
copyright | Used by permission of HL7 International all rights reserved Creative Commons License |
| |
date | 2022-08-02 | 2024-11-24 |
|
description | Minimum expectations for an Observation resource when accessed via a International Patient Access API | Proposed constraints on the Observation Resource to represent results produced by laboratory tests or panels/studies |
|
experimental | false |
| |
fhirVersion | 4.0.1 | ||
jurisdiction | |||
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |
| |
jurisdiction[1] | urn:iso:std:iso:3166#CA |
| |
kind | resource | ||
name | IPAObservation | ObservationProfileLaboratory |
|
publisher | HL7 International / Patient Care | HL7 Canada - FHIR Implementation Work Group |
|
purpose | |||
status | active | draft |
|
title | IPA-Observation | Observation Profile (Laboratory Results) |
|
type | Observation | ||
url | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation | http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results |
|
version | 1.1.0 |
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 obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present ipa-obs-1: If there is no component or hasMember element then either a value[x] or a data absent reason must be present | C | 0..* | ObservationProfile | Observation Profile obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present ca-baseline-results-1: SHOULD use SNOMED CT for coded Results | |||||||||
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.
| 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
| |||||||||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||||||||
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 | |||||||||
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 | ?!SOΣ | 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 | SO | 0..* | CodeableConcept | Classification of type of observation Binding: ?? (preferred): Codes for high level observation categories.
| S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ?? (preferred): Codes for high level observation categories. |
| ||||||||
code | SOΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (example): Codes identifying names of simple observations.
| SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (preferred): LOINC codes identifying names of simple observations. | |||||||||
subject | SOΣ | 1..1 | Reference(IPA-Patient) | Who and/or what the observation is about
| SΣ | 1..1 | Reference(Patient Profile | Group | Device | Location) | Who and/or what the observation is about | |||||||||
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | Σ | 0..* | Reference(Resource) | 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Σ | 0..1 | dateTime, Period, Timing, instant | Clinically relevant time/time-period for observation
| SΣC | 0..1 | dateTime, Period | Clinically relevant time/time-period for observation ca-baseline-datetime: Datetime SHALL be at least to day | |||||||||
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 | SΣ | 0..* | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile) | Who is responsible for the observation |
| ||||||||
value[x] | SOΣC | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result
| SΣC | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result Slice: Unordered, Open by type:$this | |||||||||
dataAbsentReason | SOC | 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 this observation | |||||||||||
device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||||||||
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | |||||||||
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 | QuestionnaireResponse | MolecularSequence) | 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(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | |||||||||
component | Σ | 0..* | BackboneElement | Component results | Σ | 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 | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (example): Codes identifying names of simple observations. | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (preferred): LOINC codes identifying names of simple observations. |
| ||||||||
value[x] | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result | SΣ | 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 | |||||||||||
Documentation for this format |