Profile Comparison between http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation vs http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results

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)

Messages

ErrorStructureDefinition.urlValues for url differ: 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation' vs 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results'
InformationStructureDefinition.nameValues for name differ: 'IPAObservation' vs 'ObservationProfileLaboratory'
InformationStructureDefinition.titleValues for title differ: 'IPA-Observation' vs 'Observation Profile (Laboratory Results)'
InformationStructureDefinition.statusValues for status differ: 'active' vs 'draft'
InformationStructureDefinition.dateValues for date differ: '2022-08-02' vs '2024-11-24'
InformationStructureDefinition.publisherValues for publisher differ: 'HL7 International / Patient Care' vs 'HL7 Canada - FHIR Implementation Work Group'
InformationStructureDefinition.jurisdictionRemoved the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
InformationStructureDefinition.jurisdictionAdded the item 'urn:iso:std:iso:3166#CA'
ErrorStructureDefinition.baseDefinitionValues for baseDefinition differ: 'http://hl7.org/fhir/StructureDefinition/Observation' vs 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation'
InformationStructureDefinition.shortValues for short differ: 'Measurements and simple assertions' vs 'Observation Profile'
InformationStructureDefinition.definitionValues 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'
WarningObservation.statusElements differ in definition for mustSupport: 'true' vs 'false'
InformationObservation.categoryElement minimum cardinalities differ: '0' vs '1'
InformationStructureDefinition.commentValues 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.'
InformationStructureDefinition.commentValues 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.'
WarningObservation.performerElements differ in definition for mustSupport: 'false' vs 'true'
InformationStructureDefinition.commentValues 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'
WarningObservation.dataAbsentReasonElements differ in definition for mustSupport: 'true' vs 'false'
InformationStructureDefinition.commentValues 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).'
InformationStructureDefinition.commentValues 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.'
InformationStructureDefinition.commentValues 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.'
InformationStructureDefinition.commentValues 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'
InformationStructureDefinition.commentValues 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.'
WarningObservation.component.codeElements differ in definition for mustSupport: 'false' vs 'true'
WarningObservation.component.value[x]Elements differ in definition for mustSupport: 'false' vs 'true'

Metadata

NameValueComments
.abstractfalse
    .baseDefinitionhttp://hl7.org/fhir/StructureDefinition/Observationhttp://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation
    • Values Differ
    .copyrightUsed by permission of HL7 International all rights reserved Creative Commons License
    • Removed the item 'Used by permission of HL7 International all rights reserved Creative Commons License'
    .date2022-08-022024-11-24
    • Values Differ
    .descriptionMinimum expectations for an Observation resource when accessed via a International Patient Access APIProposed constraints on the Observation Resource to represent results produced by laboratory tests or panels/studies
    • Values Differ
    .experimentalfalse
    • Removed the item 'false'
    .fhirVersion4.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]urn:iso:std:iso:3166#CA
        • Added the item 'urn:iso:std:iso:3166#CA'
        .kindresource
          .nameIPAObservationObservationProfileLaboratory
          • Values Differ
          .publisherHL7 International / Patient CareHL7 Canada - FHIR Implementation Work Group
          • Values Differ
          .purpose
            .statusactivedraft
            • Values Differ
            .titleIPA-ObservationObservation Profile (Laboratory Results)
            • Values Differ
            .typeObservation
              .urlhttp://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observationhttp://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results
              • Values Differ
              .version1.1.0

                Structure

                NameL FlagsL Card.L TypeL Description & ConstraintsR FlagsR Card.R TypeR Description & ConstraintsCommentsdoco
                .. Observation C0..*ObservationMeasurements 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
                C0..*ObservationProfileObservation 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..1idLogical id of this artifactΣ0..1idLogical id of this artifact
                    ... meta Σ0..1MetaMetadata about the resourceΣ0..1MetaMetadata about the resource
                      ... implicitRules ?!Σ0..1uriA set of rules under which this content was created?!Σ0..1uriA set of rules under which this content was created
                        ... language 0..1codeLanguage of the resource content
                        Binding: ?? (preferred): A human language.

                        Additional BindingsPurpose
                        ??Max Binding
                        0..1codeLanguage of the resource content
                        Binding: ?? (preferred): A human language.

                        Additional BindingsPurpose
                        ??Max Binding
                          ... text 0..1NarrativeText summary of the resource, for human interpretation0..1NarrativeText summary of the resource, for human interpretation
                            ... contained 0..*ResourceContained, inline Resources
                            0..*ResourceContained, inline Resources
                              ... extension 0..*ExtensionAdditional content defined by implementations
                              0..*ExtensionAdditional content defined by implementations
                                ... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
                                ?!0..*ExtensionExtensions that cannot be ignored
                                  ... identifier Σ0..*IdentifierBusiness Identifier for observation
                                  Σ0..*IdentifierBusiness 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..1coderegistered | preliminary | final | amended +
                                        Binding: ?? (required): Codes providing the status of an observation.

                                        ObligationsActor
                                        SHALL:populate-if-knownhttp://hl7.org/fhir/uv/ipa/ActorDefinition/server
                                        SHALL:handlehttp://hl7.org/fhir/uv/ipa/ActorDefinition/client
                                        ?!Σ1..1coderegistered | preliminary | final | amended +
                                        Binding: ?? (required): Codes providing the status of an observation.

                                        • Elements differ in definition for mustSupport: 'true' vs 'false'
                                        ... category SO0..*CodeableConceptClassification of type of observation
                                        Binding: ?? (preferred): Codes for high level observation categories.


                                        ObligationsActor
                                        SHALL:populate-if-knownhttp://hl7.org/fhir/uv/ipa/ActorDefinition/server
                                        SHOULD:handlehttp://hl7.org/fhir/uv/ipa/ActorDefinition/client
                                        S1..*CodeableConceptClassification of type of observation
                                        Slice: Unordered, Open by pattern:$this
                                        Binding: ?? (preferred): Codes for high level observation categories.


                                        • Element minimum cardinalities differ: '0' vs '1'
                                        ... code SOΣ1..1CodeableConceptType of observation (code / type)
                                        Binding: ?? (example): Codes identifying names of simple observations.

                                        ObligationsActor
                                        SHALL:populate-if-knownhttp://hl7.org/fhir/uv/ipa/ActorDefinition/server
                                        SHALL:handlehttp://hl7.org/fhir/uv/ipa/ActorDefinition/client
                                        SΣ1..1CodeableConceptType of observation (code / type)
                                        Binding: ?? (preferred): LOINC codes identifying names of simple observations.

                                          ... subject SOΣ1..1Reference(IPA-Patient)Who and/or what the observation is about
                                          ObligationsActor
                                          SHALL:populate-if-knownhttp://hl7.org/fhir/uv/ipa/ActorDefinition/server
                                          SHALL:handlehttp://hl7.org/fhir/uv/ipa/ActorDefinition/client
                                          SΣ1..1Reference(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..1Reference(Encounter)Healthcare event during which this observation is madeΣ0..1Reference(Encounter)Healthcare event during which this observation is made
                                                ... effective[x] SOΣ0..1dateTime, Period, Timing, instantClinically relevant time/time-period for observation
                                                ObligationsActor
                                                SHALL:populate-if-knownhttp://hl7.org/fhir/uv/ipa/ActorDefinition/server
                                                SHALL:handlehttp://hl7.org/fhir/uv/ipa/ActorDefinition/client
                                                SΣC0..1dateTime, PeriodClinically relevant time/time-period for observation
                                                ca-baseline-datetime: Datetime SHALL be at least to day
                                                  ... issued Σ0..1instantDate/Time this version was made availableΣ0..1instantDate/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
                                                    • Elements differ in definition for mustSupport: 'false' vs 'true'
                                                    ... value[x] SOΣC0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual result
                                                    ObligationsActor
                                                    SHALL:populate-if-knownhttp://hl7.org/fhir/uv/ipa/ActorDefinition/server
                                                    SHALL:handlehttp://hl7.org/fhir/uv/ipa/ActorDefinition/client
                                                    SΣC0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual result
                                                    Slice: Unordered, Open by type:$this
                                                      ... dataAbsentReason SOC0..1CodeableConceptWhy the result is missing
                                                      Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing.

                                                      ObligationsActor
                                                      SHALL:populate-if-knownhttp://hl7.org/fhir/uv/ipa/ActorDefinition/server
                                                      SHALL:handlehttp://hl7.org/fhir/uv/ipa/ActorDefinition/client
                                                      C0..1CodeableConceptWhy the result is missing
                                                      Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing.

                                                      • Elements differ in definition for mustSupport: 'true' vs 'false'
                                                      ... interpretation 0..*CodeableConceptHigh, low, normal, etc.
                                                      Binding: ?? (extensible): Codes identifying interpretations of observations.


                                                      0..*CodeableConceptHigh, low, normal, etc.
                                                      Binding: ?? (extensible): Codes identifying interpretations of observations.


                                                        ... note 0..*AnnotationComments about the observation
                                                        0..*AnnotationComments about the observation
                                                          ... bodySite 0..1CodeableConceptObserved body part
                                                          Binding: ?? (example): Codes describing anatomical locations. May include laterality.

                                                          0..1CodeableConceptObserved body part
                                                          Binding: ?? (example): Codes describing anatomical locations. May include laterality.

                                                            ... method 0..1CodeableConceptHow it was done
                                                            Binding: ?? (example): Methods for simple observations.

                                                            0..1CodeableConceptHow it was done
                                                            Binding: ?? (example): Methods for simple observations.

                                                              ... specimen 0..1Reference(Specimen)Specimen used for this observation0..1Reference(Specimen)Specimen used for this observation
                                                                ... device 0..1Reference(Device | DeviceMetric)(Measurement) Device0..1Reference(Device | DeviceMetric)(Measurement) Device
                                                                  ... referenceRange C0..*BackboneElementProvides guide for interpretation
                                                                  obs-3: Must have at least a low or a high or text
                                                                  C0..*BackboneElementProvides guide for interpretation
                                                                  obs-3: Must have at least a low or a high or text
                                                                    .... id 0..1stringUnique id for inter-element referencing0..1stringUnique id for inter-element referencing
                                                                      .... extension 0..*ExtensionAdditional content defined by implementations
                                                                      0..*ExtensionAdditional content defined by implementations
                                                                        .... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
                                                                        ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
                                                                          .... low C0..1??Low Range, if relevantC0..1??Low Range, if relevant
                                                                            .... high C0..1??High Range, if relevantC0..1??High Range, if relevant
                                                                              .... type 0..1CodeableConceptReference range qualifier
                                                                              Binding: ?? (preferred): Code for the meaning of a reference range.

                                                                              0..1CodeableConceptReference range qualifier
                                                                              Binding: ?? (preferred): Code for the meaning of a reference range.

                                                                                .... appliesTo 0..*CodeableConceptReference range population
                                                                                Binding: ?? (example): Codes identifying the population the reference range applies to.


                                                                                0..*CodeableConceptReference range population
                                                                                Binding: ?? (example): Codes identifying the population the reference range applies to.


                                                                                  .... age 0..1RangeApplicable age range, if relevant0..1RangeApplicable age range, if relevant
                                                                                    .... text 0..1stringText based reference range in an observation0..1stringText 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..*BackboneElementComponent results
                                                                                          Σ0..*BackboneElementComponent results
                                                                                            .... id 0..1stringUnique id for inter-element referencing0..1stringUnique id for inter-element referencing
                                                                                              .... extension 0..*ExtensionAdditional content defined by implementations
                                                                                              0..*ExtensionAdditional content defined by implementations
                                                                                                .... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
                                                                                                ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
                                                                                                  .... code Σ1..1CodeableConceptType of component observation (code / type)
                                                                                                  Binding: ?? (example): Codes identifying names of simple observations.

                                                                                                  SΣ1..1CodeableConceptType of component observation (code / type)
                                                                                                  Binding: ?? (preferred): LOINC codes identifying names of simple observations.

                                                                                                  • Elements differ in definition for mustSupport: 'false' vs 'true'
                                                                                                  .... value[x] Σ0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual component resultSΣ0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual component result
                                                                                                  Slice: Unordered, Open by type:$this
                                                                                                  • Elements differ in definition for mustSupport: 'false' vs 'true'
                                                                                                  .... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
                                                                                                  Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing.

                                                                                                  C0..1CodeableConceptWhy the component result is missing
                                                                                                  Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing.

                                                                                                    .... interpretation 0..*CodeableConceptHigh, low, normal, etc.
                                                                                                    Binding: ?? (extensible): Codes identifying interpretations of observations.


                                                                                                    0..*CodeableConceptHigh, 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

                                                                                                        doco Documentation for this format