SDOH Clinical Care
3.0.0-ballot - STU 3 Ballot

SDOH Clinical Care - Downloaded Version 3.0.0-ballot See the Directory of published versions

## Resource Profile: SDOHCC Observation Race OMB

Official URL: http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-ObservationRaceOMB | Version: 3.0.0-ballot
Standards status: Trial-use Active as of 2025-12-13 | Maturity Level: 1 | Computable Name: SDOHCCObservationRaceOMB

Profile for race observations that use Office of Management and Budget (OMB) race category codes and CDC race codes. For further details on this profile see Specifications for Personal Characteristics.

Usages:

- Examples for this Profile: Observation/SDOHCC-ObservationRaceOMBExample, Observation/SDOHCC-ObservationRaceOMBMotherExample and Observation/SDOHCC-ObservationRaceOMBPractitionerExample
- CapabilityStatements using this Profile: SDOHCC Coordination Platform, SDOHCC Referral Recipient, SDOHCC Referral Recipient - Light and SDOHCC Referral Source

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | SDOHCCObservationPersonalCharacteristic | Race observation Constraints: obs-6, obs-7, SDOH-Obs-1, SDOH-Obs-2, SDOH-Obs-3, SDOH-Race-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:OtherSubject | S C | 0..1 | (Complex) | Allows the observation to reference a Practitioner as the subject when the observation is about a practitioner rather than a patient. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject"
value[x] |  | 1..1 | Reference(US Core Practitioner Profile(7.0.0)) | Value of extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | final | corrected | entered-in-error | unknown Binding: SDOHCC ValueSet Observation Status (required)
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:us-core | S | 0..* | CodeableConcept | Classification of type of observation Binding: USCoreSimpleObservationCategory (7.0.0) (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
category:PersonalCharacteristic | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/sdoh-clinicalcare/CodeSystem/SDOHCC-CodeSystemTemporaryCodes
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: personal-characteristic
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
code | S Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
subject | S Σ C | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Who and/or what the observation is about
focus | Σ C | 0..1 | Reference(RelatedPerson) | What the observation is about, when it is not about the subject of record
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
performer | S Σ C | 0..* | Reference(US Core Practitioner Profile(7.0.0) | US Core Organization Profile(7.0.0) | US Core Patient Profile(7.0.0) | PractitionerRole | US Core CareTeam Profile(7.0.0) | US Core RelatedPerson Profile(7.0.0)) | Who is responsible for the observation
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: SDOHCC ValueSet Observation DataAbsentReason (required)
method | S | 1..1 | CodeableConcept | How it was done Binding: SDOHCC ValueSet Observation Method (extensible): Methods for personal characteristic observations.
derivedFrom | S Σ C | 0..* | Reference(US Core DocumentReference Profile(7.0.0) | US Core QuestionnaireResponse Profile(7.0.0) | Observation) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profiles or other resource the observation is made from
Slices for component | Σ C | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code, type:value, value:value
component:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
component:RaceDescription | S Σ | 0..1 | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | string | Actual component result
component:Race | S Σ | 0..5 | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Race category codes Binding: RaceCategoryExcludingNulls (20240606) (required): Codes for the five OMB race categories
component:DetailedRace | Σ | 0..* | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Detailed race codes Binding: DetailedRace (7.0.0) (required): CDC race codes that further specify the 5 OMB race category codes
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.status | Base | required | SDOHCC ValueSet Observation Status | 📦3.0.0-ballot | This IG
Observation.category | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.category:us-core | Base | required | US Core Simple Observation Category | 📍7.0.0 | US Core v7.0
Observation.category:PersonalCharacteristic | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | preferred | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | required | SDOHCC ValueSet Observation DataAbsentReason | 📦3.0.0-ballot | This IG
Observation.method | Base | extensible | SDOHCC ValueSet Observation Method | 📦3.0.0-ballot | This IG
Observation.component.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:RaceDescription.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​value[x] | Base | required | Race Category Excluding Nulls | 📍20240606 | VSAC v0.24
Observation.component:DetailedRace.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:DetailedRace.​value[x] | Base | required | Detailed Race | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
SDOH-Obs-1 | error | Observation | Either subject or extension-Observation.subject must exist but not both | `subject.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject').exists()`
SDOH-Obs-2 | error | Observation | Focus is only allowed if subject is present | `focus.exists() implies subject.exists()`
SDOH-Obs-3 | error | Observation | Must have either performer or derivedFrom | `performer.exists() or derivedFrom.exists()`
SDOH-Race-1 | error | Observation | Must have either a dataAbsentReason or at least one of the defined race components but not both | `dataAbsentReason.exists() xor component.where(code.coding.exists(system='http://loinc.org' and code='72826-1')).exists()`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | SDOHCCObservationPersonalCharacteristic | Race observation Constraints: SDOH-Race-1
code |  | 1..1 | CodeableConcept | Type of observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] |  | 0..0 |  | Actual result
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: SDOHCC ValueSet Observation DataAbsentReason (required)
method | S | 1..1 | CodeableConcept | How it was done Binding: SDOHCC ValueSet Observation Method (extensible): Methods for personal characteristic observations.
Slices for component | C | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code, type:value, value:value
component:RaceDescription | S | 0..1 | BackboneElement | Component results
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] | S | 1..1 | string | Actual component result
dataAbsentReason |  | 0..0 |  | Why the component result is missing
interpretation |  | 0..0 |  | High, low, normal, etc.
referenceRange |  | 0..0 |  | Provides guide for interpretation of component result
component:Race | S | 0..5 | BackboneElement | Component results
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] | S | 1..1 | CodeableConcept | Race category codes Binding: RaceCategoryExcludingNulls (20240606) (required): Codes for the five OMB race categories
dataAbsentReason |  | 0..0 |  | Why the component result is missing
interpretation |  | 0..0 |  | High, low, normal, etc.
referenceRange |  | 0..0 |  | Provides guide for interpretation of component result
component:DetailedRace |  | 0..* | BackboneElement | Component results
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] | S | 1..1 | CodeableConcept | Detailed race codes Binding: DetailedRace (7.0.0) (required): CDC race codes that further specify the 5 OMB race category codes
dataAbsentReason |  | 0..0 |  | Why the component result is missing
interpretation |  | 0..0 |  | High, low, normal, etc.
referenceRange |  | 0..0 |  | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.dataAbsentReason | Base | required | SDOHCC ValueSet Observation DataAbsentReason | 📦3.0.0-ballot | This IG
Observation.method | Base | extensible | SDOHCC ValueSet Observation Method | 📦3.0.0-ballot | This IG
Observation.component:Race.​value[x] | Base | required | Race Category Excluding Nulls | 📍20240606 | VSAC v0.24
Observation.component:DetailedRace.​value[x] | Base | required | Detailed Race | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
SDOH-Race-1 | error | Observation | Must have either a dataAbsentReason or at least one of the defined race components but not both | `dataAbsentReason.exists() xor component.where(code.coding.exists(system='http://loinc.org' and code='72826-1')).exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | SDOHCCObservationPersonalCharacteristic | Race observation Constraints: obs-6, obs-7, SDOH-Obs-1, SDOH-Obs-2, SDOH-Obs-3, SDOH-Race-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | 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
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:OtherSubject | S C | 0..1 | (Complex) | Allows the observation to reference a Practitioner as the subject when the observation is about a practitioner rather than a patient. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject"
value[x] |  | 1..1 | Reference(US Core Practitioner Profile(7.0.0)) | Value of extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 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
status | ?!S Σ | 1..1 | code | final | corrected | entered-in-error | unknown Binding: SDOHCC ValueSet Observation Status (required)
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:us-core | S | 0..* | CodeableConcept | Classification of type of observation Binding: USCoreSimpleObservationCategory (7.0.0) (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
category:PersonalCharacteristic | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/sdoh-clinicalcare/CodeSystem/SDOHCC-CodeSystemTemporaryCodes
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: personal-characteristic
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
code | S Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
subject | S Σ C | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Who and/or what the observation is about
focus | Σ C | 0..1 | Reference(RelatedPerson) | 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
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | S Σ C | 0..* | Reference(US Core Practitioner Profile(7.0.0) | US Core Organization Profile(7.0.0) | US Core Patient Profile(7.0.0) | PractitionerRole | US Core CareTeam Profile(7.0.0) | US Core RelatedPerson Profile(7.0.0)) | Who is responsible for the observation
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: SDOHCC ValueSet Observation DataAbsentReason (required)
note |  | 0..* | Annotation | Comments about the observation
method | S | 1..1 | CodeableConcept | How it was done Binding: SDOHCC ValueSet Observation Method (extensible): Methods for personal characteristic observations.
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
derivedFrom | S Σ C | 0..* | Reference(US Core DocumentReference Profile(7.0.0) | US Core QuestionnaireResponse Profile(7.0.0) | Observation) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profiles or other resource the observation is made from
Slices for component | Σ C | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code, type:value, value:value
component:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
component:RaceDescription | S Σ | 0..1 | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | string | Actual component result
component:Race | S Σ | 0..5 | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Race category codes Binding: RaceCategoryExcludingNulls (20240606) (required): Codes for the five OMB race categories
component:DetailedRace | Σ | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Detailed race codes Binding: DetailedRace (7.0.0) (required): CDC race codes that further specify the 5 OMB race category codes
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Observation.status | Base | required | SDOHCC ValueSet Observation Status | 📦3.0.0-ballot | This IG
Observation.category | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.category:us-core | Base | required | US Core Simple Observation Category | 📍7.0.0 | US Core v7.0
Observation.category:PersonalCharacteristic | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | preferred | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | required | SDOHCC ValueSet Observation DataAbsentReason | 📦3.0.0-ballot | This IG
Observation.method | Base | extensible | SDOHCC ValueSet Observation Method | 📦3.0.0-ballot | This IG
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📦4.0.1 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📦4.0.1 | FHIR Std.
Observation.component.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📦4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📦4.0.1 | FHIR Std.
Observation.component:RaceDescription.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​value[x] | Base | required | Race Category Excluding Nulls | 📍20240606 | VSAC v0.24
Observation.component:DetailedRace.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:DetailedRace.​value[x] | Base | required | Detailed Race | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
SDOH-Obs-1 | error | Observation | Either subject or extension-Observation.subject must exist but not both | `subject.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject').exists()`
SDOH-Obs-2 | error | Observation | Focus is only allowed if subject is present | `focus.exists() implies subject.exists()`
SDOH-Obs-3 | error | Observation | Must have either performer or derivedFrom | `performer.exists() or derivedFrom.exists()`
SDOH-Race-1 | error | Observation | Must have either a dataAbsentReason or at least one of the defined race components but not both | `dataAbsentReason.exists() xor component.where(code.coding.exists(system='http://loinc.org' and code='72826-1')).exists()`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

Summary

Mandatory: 1 element(3 nested mandatory elements)
Must-Support: 10 elements
Prohibited: 10 elements

Slices

This structure defines the following Slices:

- The element 3 is sliced based on the values of Observation.component

Maturity: 1

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | SDOHCCObservationPersonalCharacteristic | Race observation Constraints: obs-6, obs-7, SDOH-Obs-1, SDOH-Obs-2, SDOH-Obs-3, SDOH-Race-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:OtherSubject | S C | 0..1 | (Complex) | Allows the observation to reference a Practitioner as the subject when the observation is about a practitioner rather than a patient. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject"
value[x] |  | 1..1 | Reference(US Core Practitioner Profile(7.0.0)) | Value of extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | final | corrected | entered-in-error | unknown Binding: SDOHCC ValueSet Observation Status (required)
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:us-core | S | 0..* | CodeableConcept | Classification of type of observation Binding: USCoreSimpleObservationCategory (7.0.0) (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
category:PersonalCharacteristic | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/sdoh-clinicalcare/CodeSystem/SDOHCC-CodeSystemTemporaryCodes
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: personal-characteristic
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
code | S Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
subject | S Σ C | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Who and/or what the observation is about
focus | Σ C | 0..1 | Reference(RelatedPerson) | What the observation is about, when it is not about the subject of record
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
performer | S Σ C | 0..* | Reference(US Core Practitioner Profile(7.0.0) | US Core Organization Profile(7.0.0) | US Core Patient Profile(7.0.0) | PractitionerRole | US Core CareTeam Profile(7.0.0) | US Core RelatedPerson Profile(7.0.0)) | Who is responsible for the observation
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: SDOHCC ValueSet Observation DataAbsentReason (required)
method | S | 1..1 | CodeableConcept | How it was done Binding: SDOHCC ValueSet Observation Method (extensible): Methods for personal characteristic observations.
derivedFrom | S Σ C | 0..* | Reference(US Core DocumentReference Profile(7.0.0) | US Core QuestionnaireResponse Profile(7.0.0) | Observation) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profiles or other resource the observation is made from
Slices for component | Σ C | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code, type:value, value:value
component:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
component:RaceDescription | S Σ | 0..1 | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | string | Actual component result
component:Race | S Σ | 0..5 | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Race category codes Binding: RaceCategoryExcludingNulls (20240606) (required): Codes for the five OMB race categories
component:DetailedRace | Σ | 0..* | BackboneElement | Component results
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Detailed race codes Binding: DetailedRace (7.0.0) (required): CDC race codes that further specify the 5 OMB race category codes
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.status | Base | required | SDOHCC ValueSet Observation Status | 📦3.0.0-ballot | This IG
Observation.category | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.category:us-core | Base | required | US Core Simple Observation Category | 📍7.0.0 | US Core v7.0
Observation.category:PersonalCharacteristic | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | preferred | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | required | SDOHCC ValueSet Observation DataAbsentReason | 📦3.0.0-ballot | This IG
Observation.method | Base | extensible | SDOHCC ValueSet Observation Method | 📦3.0.0-ballot | This IG
Observation.component.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:RaceDescription.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​value[x] | Base | required | Race Category Excluding Nulls | 📍20240606 | VSAC v0.24
Observation.component:DetailedRace.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:DetailedRace.​value[x] | Base | required | Detailed Race | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
SDOH-Obs-1 | error | Observation | Either subject or extension-Observation.subject must exist but not both | `subject.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject').exists()`
SDOH-Obs-2 | error | Observation | Focus is only allowed if subject is present | `focus.exists() implies subject.exists()`
SDOH-Obs-3 | error | Observation | Must have either performer or derivedFrom | `performer.exists() or derivedFrom.exists()`
SDOH-Race-1 | error | Observation | Must have either a dataAbsentReason or at least one of the defined race components but not both | `dataAbsentReason.exists() xor component.where(code.coding.exists(system='http://loinc.org' and code='72826-1')).exists()`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | SDOHCCObservationPersonalCharacteristic | Race observation Constraints: SDOH-Race-1
code |  | 1..1 | CodeableConcept | Type of observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] |  | 0..0 |  | Actual result
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: SDOHCC ValueSet Observation DataAbsentReason (required)
method | S | 1..1 | CodeableConcept | How it was done Binding: SDOHCC ValueSet Observation Method (extensible): Methods for personal characteristic observations.
Slices for component | C | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code, type:value, value:value
component:RaceDescription | S | 0..1 | BackboneElement | Component results
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] | S | 1..1 | string | Actual component result
dataAbsentReason |  | 0..0 |  | Why the component result is missing
interpretation |  | 0..0 |  | High, low, normal, etc.
referenceRange |  | 0..0 |  | Provides guide for interpretation of component result
component:Race | S | 0..5 | BackboneElement | Component results
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] | S | 1..1 | CodeableConcept | Race category codes Binding: RaceCategoryExcludingNulls (20240606) (required): Codes for the five OMB race categories
dataAbsentReason |  | 0..0 |  | Why the component result is missing
interpretation |  | 0..0 |  | High, low, normal, etc.
referenceRange |  | 0..0 |  | Provides guide for interpretation of component result
component:DetailedRace |  | 0..* | BackboneElement | Component results
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
value[x] | S | 1..1 | CodeableConcept | Detailed race codes Binding: DetailedRace (7.0.0) (required): CDC race codes that further specify the 5 OMB race category codes
dataAbsentReason |  | 0..0 |  | Why the component result is missing
interpretation |  | 0..0 |  | High, low, normal, etc.
referenceRange |  | 0..0 |  | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.dataAbsentReason | Base | required | SDOHCC ValueSet Observation DataAbsentReason | 📦3.0.0-ballot | This IG
Observation.method | Base | extensible | SDOHCC ValueSet Observation Method | 📦3.0.0-ballot | This IG
Observation.component:Race.​value[x] | Base | required | Race Category Excluding Nulls | 📍20240606 | VSAC v0.24
Observation.component:DetailedRace.​value[x] | Base | required | Detailed Race | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
SDOH-Race-1 | error | Observation | Must have either a dataAbsentReason or at least one of the defined race components but not both | `dataAbsentReason.exists() xor component.where(code.coding.exists(system='http://loinc.org' and code='72826-1')).exists()`

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | SDOHCCObservationPersonalCharacteristic | Race observation Constraints: obs-6, obs-7, SDOH-Obs-1, SDOH-Obs-2, SDOH-Obs-3, SDOH-Race-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | 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
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:OtherSubject | S C | 0..1 | (Complex) | Allows the observation to reference a Practitioner as the subject when the observation is about a practitioner rather than a patient. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject"
value[x] |  | 1..1 | Reference(US Core Practitioner Profile(7.0.0)) | Value of extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 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
status | ?!S Σ | 1..1 | code | final | corrected | entered-in-error | unknown Binding: SDOHCC ValueSet Observation Status (required)
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:us-core | S | 0..* | CodeableConcept | Classification of type of observation Binding: USCoreSimpleObservationCategory (7.0.0) (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
category:PersonalCharacteristic | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/sdoh-clinicalcare/CodeSystem/SDOHCC-CodeSystemTemporaryCodes
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: personal-characteristic
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
code | S Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
subject | S Σ C | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Who and/or what the observation is about
focus | Σ C | 0..1 | Reference(RelatedPerson) | 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
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | S Σ C | 0..* | Reference(US Core Practitioner Profile(7.0.0) | US Core Organization Profile(7.0.0) | US Core Patient Profile(7.0.0) | PractitionerRole | US Core CareTeam Profile(7.0.0) | US Core RelatedPerson Profile(7.0.0)) | Who is responsible for the observation
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: SDOHCC ValueSet Observation DataAbsentReason (required)
note |  | 0..* | Annotation | Comments about the observation
method | S | 1..1 | CodeableConcept | How it was done Binding: SDOHCC ValueSet Observation Method (extensible): Methods for personal characteristic observations.
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
derivedFrom | S Σ C | 0..* | Reference(US Core DocumentReference Profile(7.0.0) | US Core QuestionnaireResponse Profile(7.0.0) | Observation) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profiles or other resource the observation is made from
Slices for component | Σ C | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code, type:value, value:value
component:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
component:RaceDescription | S Σ | 0..1 | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | string | Actual component result
component:Race | S Σ | 0..5 | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Race category codes Binding: RaceCategoryExcludingNulls (20240606) (required): Codes for the five OMB race categories
component:DetailedRace | Σ | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 72826-1
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | S Σ | 1..1 | CodeableConcept | Detailed race codes Binding: DetailedRace (7.0.0) (required): CDC race codes that further specify the 5 OMB race category codes
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Observation.status | Base | required | SDOHCC ValueSet Observation Status | 📦3.0.0-ballot | This IG
Observation.category | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.category:us-core | Base | required | US Core Simple Observation Category | 📍7.0.0 | US Core v7.0
Observation.category:PersonalCharacteristic | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | preferred | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.dataAbsentReason | Base | required | SDOHCC ValueSet Observation DataAbsentReason | 📦3.0.0-ballot | This IG
Observation.method | Base | extensible | SDOHCC ValueSet Observation Method | 📦3.0.0-ballot | This IG
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📦4.0.1 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📦4.0.1 | FHIR Std.
Observation.component.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📦4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📦4.0.1 | FHIR Std.
Observation.component:RaceDescription.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:Race.​value[x] | Base | required | Race Category Excluding Nulls | 📍20240606 | VSAC v0.24
Observation.component:DetailedRace.​code | Base | example | LOINC Codes | 📦4.0.1 | FHIR Std.
Observation.component:DetailedRace.​value[x] | Base | required | Detailed Race | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
SDOH-Obs-1 | error | Observation | Either subject or extension-Observation.subject must exist but not both | `subject.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.subject').exists()`
SDOH-Obs-2 | error | Observation | Focus is only allowed if subject is present | `focus.exists() implies subject.exists()`
SDOH-Obs-3 | error | Observation | Must have either performer or derivedFrom | `performer.exists() or derivedFrom.exists()`
SDOH-Race-1 | error | Observation | Must have either a dataAbsentReason or at least one of the defined race components but not both | `dataAbsentReason.exists() xor component.where(code.coding.exists(system='http://loinc.org' and code='72826-1')).exists()`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

Summary

Mandatory: 1 element(3 nested mandatory elements)
Must-Support: 10 elements
Prohibited: 10 elements

Slices

This structure defines the following Slices:

- The element 3 is sliced based on the values of Observation.component

Maturity: 1

Other representations of profile: CSV, Excel, Schematron