Profile Comparison between http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-sexual-orientation vs http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-ObservationScreeningResponse

Left:US Core Observation Sexual Orientation Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-sexual-orientation)
Right:SDOHCC Observation Screening Response (http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-ObservationScreeningResponse)

Messages

ErrorStructureDefinition.urlValues for url differ: 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-sexual-orientation' vs 'http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-ObservationScreeningResponse'
ErrorStructureDefinition.versionValues for version differ: '7.0.0-ballot' vs '2.1.0'
InformationStructureDefinition.nameValues for name differ: 'USCoreObservationSexualOrientationProfile' vs 'SDOHCCObservationScreeningResponse'
InformationStructureDefinition.titleValues for title differ: 'US Core Observation Sexual Orientation Profile' vs 'SDOHCC Observation Screening Response'
InformationStructureDefinition.statusValues for status differ: 'active' vs 'draft'
InformationStructureDefinition.dateValues for date differ: '2023-10-17' vs '2024-03-21T14:07:32+00:00'
InformationStructureDefinition.publisherValues for publisher differ: 'HL7 International / Cross-Group Projects' vs 'HL7 International / Patient Care'
InformationStructureDefinition.shortValues for short differ: 'Measurements and simple assertions' vs 'SDOH screening questionnaire observations'
InformationStructureDefinition.definitionValues for definition differ: '\-' vs 'For Observations derived from SDOH screening surveys/questionnaires.'
InformationStructureDefinition.commentValues for comment differ: '\-' vs 'Used for simple observations such as education status, food insecurity observations, etc. This profile allows the representation of SDOH observations based on SDOH screening questionnaire responses (which can also be represented using SDC QuestionnaireResponse). Many of the SDOHCC profiles reference one another. One flow supported by this IG is that QuestionnaireResponses result in Observations that can be used as evidence for Conditions that can lead to Goals, ServiceRequests and Procedures. However, alternatives paths are also possible.'
InformationStructureDefinition.shortValues for short differ: 'registered | preliminary | final | amended +' vs 'final | corrected | entered-in-error | unknown'
InformationStructureDefinition.definitionValues for definition differ: 'The status of the result value.' vs 'The status of the observation value.'
InformationStructureDefinition.requirementsValues for requirements differ: 'Need to track the status of individual results. Some results are finalized before the whole report is finalized.' vs 'Further constrained to values that are relevant for SDOH.'
InformationStructureDefinition.requirementsValues for requirements differ: 'Used for filtering what observations are retrieved and displayed.' vs 'To identify that an SDOH observation screening response is derived from an SDOH questionnaire, the “social-history” and “survey” codes are required.'
InformationObservation.categoryElement minimum cardinalities differ: '0' vs '2'
InformationStructureDefinition.shortValues for short differ: 'Sexual Orientation' vs 'Type of observation (code / type)'
InformationStructureDefinition.requirementsValues for requirements differ: 'Knowing what kind of observation is being made is essential to understanding the observation.' vs 'Knowing what kind of observation is being made is essential to understanding the observation. The Gravity implemenation guide restricts questionnaire/survey observations to LOINC to move the industry to the use of LOINC panels/surveys (structures that are not available in other terminology systems) to standardize the coding of SDOH related risk assessment instruments. In addition, USCDI and US Core have standardized on the use of LOINC to represent Observations in general.'
InformationStructureDefinition.commentValues for comment differ: 'One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.' vs 'Cardinality is 1..1.'
InformationStructureDefinition.definitionValues for definition differ: 'This records the time during which the patient had identified their emotional, romantic, sexual, or affectional attraction to another person.' vs 'The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the 'physiologically relevant time'.'
InformationStructureDefinition.commentValues for comment differ: 'At least a date should be present unless this observation is a historical report. For recording imprecise or 'fuzzy' times (For example, a blood glucose measurement taken 'after breakfast') use the [Timing](http://hl7.org/fhir/R4/datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.' vs 'At least a date should be present unless this observation is a historical report.'
InformationObservation.effective[x]Element minimum cardinalities differ: '0' vs '1'
InformationStructureDefinition.requirementsValues for requirements differ: 'May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.' vs 'Some questions on an SDOH screening questionnaire are not answered directly (e.g., asserted) by the individual completing the questionnaire. Rather, the answer to some questions (e.g., the Hunger Vital Sign 88124-3 “Food insecurity risk”) may be derived from answers to one or more other questions. For an Observation Screening Response that is derived, as opposed to answered directly, Observation.performer should not be specified.'
WarningObservation.performerElements differ in definition for mustSupport: 'false' vs 'true'
ErrorObservation.performerType Mismatch: Reference([CanonicalType[http://hl7.org/fhir/StructureDefinition/Practitioner], CanonicalType[http://hl7.org/fhir/StructureDefinition/PractitionerRole], CanonicalType[http://hl7.org/fhir/StructureDefinition/Organization], CanonicalType[http://hl7.org/fhir/StructureDefinition/CareTeam], CanonicalType[http://hl7.org/fhir/StructureDefinition/Patient], CanonicalType[http://hl7.org/fhir/StructureDefinition/RelatedPerson]]) vs Reference([CanonicalType[http://hl7.org/fhir/StructureDefinition/RelatedPerson], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-careteam]])
InformationStructureDefinition.commentValues for comment differ: 'An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](http://hl7.org/fhir/R4/observation.html#notes) below.' vs 'An observation exists to have a value, though it might not if it is in error, if it represents a group of observations, or if a reason for its omission is captured by Observation.dataAbsentReason.'
InformationStructureDefinition.requirementsValues 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 'An observation exists to have a value, though it might not if it is in error, if it represents a group of observations, or if it a reason for its omission is captured by Observation.dataAbsentReason.'
WarningObservation.value[x]Elements 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 ''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. The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For a given LOINC question, if the LOINC answer list includes concepts such as 'unknown' or 'not available', they should be used for Observation.value. Where these concepts are not part of the value set for Observation.value, the Observation.dataAbsentReason can be used if necessary and appropriate.'
WarningObservation.dataAbsentReasonElements differ in definition for mustSupport: 'false' vs 'true'
InformationObservation.bodySiteElement maximum cardinalities differ: '1' vs '0'
InformationObservation.specimenElement maximum cardinalities differ: '1' vs '0'
InformationStructureDefinition.shortValues for short differ: 'Related resource that belongs to the Observation group' vs 'References the child observations of a grouping observation'
InformationStructureDefinition.definitionValues for definition differ: 'This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.' vs 'References the child observations of a grouping observation.'
InformationStructureDefinition.definitionValues for definition differ: 'The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.' vs 'The target resource represents a QuestionnaireResponse or other Observation from which the value of this Observation was inferred or calculated.'
InformationStructureDefinition.commentValues for comment differ: 'All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](http://hl7.org/fhir/R4/observation.html#obsgrouping) below.' vs 'All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value.'
WarningObservation.derivedFromElements differ in definition for mustSupport: 'false' vs 'true'

Metadata

NameValueComments
.abstractfalse
    .baseDefinitionhttp://hl7.org/fhir/StructureDefinition/Observation
      .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'
      .date2023-10-172024-03-21T14:07:32+00:00
      • Values Differ
      .descriptionThe US Core Observation Sexual Orientation Profile meets the U.S. Core Data for Interoperability (USCDI) v2 'Sexual Orientation' requirements. this profile sets minimum expectations for the Observation resource to record, search, and fetch sexual orientation observations associated with a patient to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets **SHALL** be present in the resource and constrains the way the elements are used when using this profile. It provides the floor for standards development for specific use cases.Profile for observations that represent question and answer pairs from Social Determinants of Health (SDOH) screening instruments.
      • Values Differ
      .experimentalfalse
      • Removed the item 'false'
      .fhirVersion4.0.1
        .jurisdiction
          ..jurisdiction[0]urn:iso:std:iso:3166#US
            .kindresource
              .nameUSCoreObservationSexualOrientationProfileSDOHCCObservationScreeningResponse
              • Values Differ
              .publisherHL7 International / Cross-Group ProjectsHL7 International / Patient Care
              • Values Differ
              .purpose
                .statusactivedraft
                • Values Differ
                .titleUS Core Observation Sexual Orientation ProfileSDOHCC Observation Screening Response
                • Values Differ
                .typeObservation
                  .urlhttp://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-sexual-orientationhttp://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-ObservationScreeningResponse
                  • Values Differ
                  .version7.0.0-ballot2.1.0
                  • Values Differ

                  Structure

                  NameL FlagsL Card.L TypeL Description & ConstraintsR FlagsR Card.L TypeL 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
                  us-core-2: If there is no component or hasMember element then either a value[x] or a data absent reason must be present
                  C0..*ObservationSDOH screening questionnaire observations
                  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
                    ... 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 ?!SΣ1..1coderegistered | preliminary | final | amended +
                                          Binding: ?? (required)
                                          ?!SΣ1..1codefinal | corrected | entered-in-error | unknown
                                          Binding: ?? (required)
                                            ... category 0..*CodeableConceptClassification of type of observation
                                            Binding: ?? (preferred): Codes for high level observation categories.


                                            2..*CodeableConceptClassification of type of observation
                                            Slice: Unordered, Open by value:$this
                                            Binding: ?? (preferred): Codes for high level observation categories.


                                            • Element minimum cardinalities differ: '0' vs '2'
                                            ... code SΣ1..1CodeableConceptSexual Orientation
                                            Binding: ?? (example): Codes identifying names of simple observations.


                                            Required Pattern: {"coding":[{"system":"http://loinc.org","code":"76690-7"}]}
                                            SΣ1..1CodeableConceptType of observation (code / type)
                                            Binding: ?? (required): Codes identifying names of simple observations.

                                              ... subject SΣ1..1Reference(US Core Patient Profile)Who and/or what the observation is aboutSΣ1..1Reference(US Core Patient Profile)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] SΣ0..1dateTime S, Period, Timing, instantClinically relevant time/time-period for observationSΣ1..1dateTime, PeriodClinically relevant time/time-period for observation
                                                    • Element minimum cardinalities differ: '0' vs '1'
                                                    ... 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(RelatedPerson | US Core Patient Profile | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core CareTeam Profile)Who is responsible for the observation
                                                      • Elements differ in definition for mustSupport: 'false' vs 'true'
                                                      • Type Mismatch: Reference([CanonicalType[http://hl7.org/fhir/StructureDefinition/Practitioner], CanonicalType[http://hl7.org/fhir/StructureDefinition/PractitionerRole], CanonicalType[http://hl7.org/fhir/StructureDefinition/Organization], CanonicalType[http://hl7.org/fhir/StructureDefinition/CareTeam], CanonicalType[http://hl7.org/fhir/StructureDefinition/Patient], CanonicalType[http://hl7.org/fhir/StructureDefinition/RelatedPerson]]) vs Reference([CanonicalType[http://hl7.org/fhir/StructureDefinition/RelatedPerson], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization], CanonicalType[http://hl7.org/fhir/us/core/StructureDefinition/us-core-careteam]])
                                                      ... Slices for value[x] ΣC0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual result
                                                      Slice: Unordered, Open by type:$this
                                                      SΣC0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual result
                                                      Slice: Unordered, Open by type:$this
                                                      • Elements differ in definition for mustSupport: 'false' vs 'true'
                                                      ... dataAbsentReason C0..1CodeableConceptWhy the result is missing
                                                      Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing.

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

                                                      • Elements differ in definition for mustSupport: 'false' vs 'true'
                                                      ... 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..0
                                                          • Element maximum cardinalities differ: '1' vs '0'
                                                          ... 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..0
                                                            • Element maximum cardinalities differ: '1' vs '0'
                                                            ... 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)References the child observations of a grouping observation
                                                                                  Slice: Unordered, Open by profile:$this.resolve()
                                                                                    ... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence)Related measurements the observation is made from
                                                                                    SΣ0..*Reference(DocumentReference | QuestionnaireResponse | Observation)Related measurements the observation is made from
                                                                                    Slice: Unordered, Open by profile:$this.resolve()
                                                                                    • Elements differ in definition for mustSupport: 'false' vs 'true'
                                                                                    ... 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.

                                                                                            Σ1..1CodeableConceptType of component observation (code / type)
                                                                                            Binding: ?? (example): Codes identifying names of simple observations.

                                                                                              .... value[x] Σ0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual component resultΣ0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, PeriodActual component result
                                                                                                .... 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