US Core Implementation Guide
9.0.0-ballot - United States of America flag

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 9.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions

Resource Profile: US Core Observation Occupation Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-occupation Version: 9.0.0-ballot
Standards status: Trial-use Active as of 2023-10-17 Maturity Level: 3 Computable Name: USCoreObservationOccupationProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.46

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The US Core Observation Occupation Profile inherits from the FHIR Observation resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) Occupation and Occupation Industry Data Elements. It sets minimum expectations for the Observation resource to record, search, and fetch a patient's past or present job as occupation and industry, in other words, the type of work and type of business that compensates for work or assigns work to an unpaid worker or volunteer. In the context of this profile, a job is defined as a work situation or a training or volunteer position held for a specified period. This profile specifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.

Example Usage Scenarios:

The following are example usage scenarios for this profile:

  • Query for a patient's work history
  • Record or update past or present jobs belonging to a patient

Mandatory and Must Support Data Elements

The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each Observation Must Have:

  1. a status
  2. a code for job history
  3. a patient
  4. the job code or text

Each Observation Must Support:

  1. a category code of "social-history"
  2. when the job occurred
  3. a code for the job history industry
  4. the industry code or text

Additional USCDI Requirements:

These Additional USCDI Requirements elements are not Mandatory or Must Support but are required for ASTP Health IT certification testing and are included in the formal definition of the profile and the Observation examples.

  1. a performer*

*see guidance below

Profile Specific Implementation Guidance

This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.

  • Additional codes that translate or map to the Observation code or category codes are allowed. For example:
    • providing both a local code and a LOINC code
    • providing a more specific code, a SNOMED CT concept, or a system-specific code
  • For the current job, omit observation.effectivePeriod.end to indicate it is ongoing.
  • When the industry is known, but the occupation is not, use the value "unknown" from the DataAbsentReason Code System. However, when the occupation is known but the industry is not, omit the industry Observation.component. The guide provides examples for both scenarios.
  • In the Quick Start section below, you can find instructions on searching for Occupations (Jobs) by patient, date, and other core search parameters. Refer to the FHIR search specification for more advanced queries using Observation.
  • Refer to the Occupational Data for Health (ODH) FHIR IG to convey additional details; data elements, such as Employer; or different topics, such as Usual (Longest-Held) Work.

Usages:

You can also check for usages in the FHIR IG Statistics

Changes since version 8.0.0:

  • No changes
  • Formal Views of Profile Content

    Description Differentials, Snapshots, and other representations.

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Observation C 0..* Observation Past Or Present Occupation
    Constraints: obs-6, obs-7
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... status ?!SΣ 1..1 code registered | preliminary | final | amended +
    Binding: ObservationStatus (required): Codes providing the status of an observation.
    ... Slices for category S 0..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
    .... category:socialhistory S 0..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://terminology.hl7.org/CodeSystem/observation-category
    ...... version 0..1 string Version of the system - if relevant
    ...... code 1..1 code Symbol in syntax defined by the system
    Fixed Value: social-history
    ...... 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 Occupation history
    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: 11341-5
    ..... 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Σ 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    ... Slices for effective[x] Σ 0..1 Clinically relevant time/time-period for observation
    Slice: Unordered, Open by type:$this
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    .... effectiveTiming Timing
    .... effectiveInstant instant
    .... effective[x]:effectivePeriod SΣ 0..1 Period Clinically relevant time/time-period for observation
    ... performer Σ 0..* Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Who is responsible for the observation
    ... Slices for value[x] ΣC 1..1 CodeableConcept Actual result
    Slice: Unordered, Closed by type:$this
    .... value[x]:valueCodeableConcept SΣC 1..1 CodeableConcept Coded occupation or text
    Binding: Occupation ONETSOC Detail (ODH) (extensible): Occupational Data for Health
    ... Slices for component SΣ 0..* BackboneElement Component results
    Slice: Unordered, Open by value:code
    .... 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:industry SΣ 0..1 BackboneElement Occupation industry
    ..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
    ..... code SΣ 1..1 CodeableConcept Occupation industry history
    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: 86188-0
    ....... 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 Occupation industry or text
    Binding: Industry NAICS Detail (ODH) (extensible): Occupational Data for Health

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:socialhistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.value[x]:valueCodeableConcept Base extensible Occupation ONETSOC Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component:industry.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component:industry.​value[x] Base extensible Industry NAICS Detail (ODH) 📦1 us.cdc.phinvads v0.12

    Constraints

    Id Grade Path(s) Description Expression
    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()

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Observation 0..* Observation Past Or Present Occupation
    ... status S 1..1 code registered | preliminary | final | amended +
    ... Slices for category S 0..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    .... category:socialhistory S 0..1 CodeableConcept Classification of type of observation
    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://terminology.hl7.org/CodeSystem/observation-category
    ...... code 1..1 code Symbol in syntax defined by the system
    Fixed Value: social-history
    ... code S 1..1 CodeableConcept Occupation history
    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: 11341-5
    ... subject S 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    ... effectivePeriod S 0..1 Period Clinically relevant time/time-period for observation
    ... performer 0..* Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Who is responsible for the observation
    ... valueCodeableConcept S 1..1 CodeableConcept Coded occupation or text
    Binding: Occupation ONETSOC Detail (ODH) (extensible): Occupational Data for Health
    ... Slices for component S 0..* BackboneElement Component results
    Slice: Unordered, Open by value:code
    .... component:industry S 0..1 BackboneElement Occupation industry
    ..... code S 1..1 CodeableConcept Occupation industry history
    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: 86188-0
    ..... valueCodeableConcept S 1..1 CodeableConcept Occupation industry or text
    Binding: Industry NAICS Detail (ODH) (extensible): Occupational Data for Health

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Observation.valueCodeableConcept Base extensible Occupation ONETSOC Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.component:industry.​valueCodeableConcept Base extensible Industry NAICS Detail (ODH) 📦1 us.cdc.phinvads v0.12
    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Observation C 0..* Observation Past Or Present Occupation
    Constraints: obs-6, obs-7
    ... 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 BindingsPurpose
    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
    ... extension 0..* Extension Additional content defined by implementations
    ... 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 registered | preliminary | final | amended +
    Binding: ObservationStatus (required): Codes providing the status of an observation.
    ... Slices for category S 0..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
    .... category:socialhistory S 0..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://terminology.hl7.org/CodeSystem/observation-category
    ...... version 0..1 string Version of the system - if relevant
    ...... code 1..1 code Symbol in syntax defined by the system
    Fixed Value: social-history
    ...... 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 Occupation history
    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: 11341-5
    ..... 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Σ 1..1 Reference(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
    ... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
    ... Slices for effective[x] Σ 0..1 Clinically relevant time/time-period for observation
    Slice: Unordered, Open by type:$this
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    .... effectiveTiming Timing
    .... effectiveInstant instant
    .... effective[x]:effectivePeriod SΣ 0..1 Period Clinically relevant time/time-period for observation
    ... issued Σ 0..1 instant Date/Time this version was made available
    ... performer Σ 0..* Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Who is responsible for the observation
    ... Slices for value[x] ΣC 1..1 CodeableConcept Actual result
    Slice: Unordered, Closed by type:$this
    .... value[x]:valueCodeableConcept SΣC 1..1 CodeableConcept Coded occupation or text
    Binding: Occupation ONETSOC Detail (ODH) (extensible): Occupational Data for Health
    ... dataAbsentReason C 0..1 CodeableConcept Why the 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.
    ... note 0..* Annotation Comments about the observation
    ... bodySite 0..1 CodeableConcept Observed body part
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
    ... method 0..1 CodeableConcept How it was done
    Binding: ObservationMethods (example): Methods for simple observations.
    ... specimen 0..1 Reference(Specimen) Specimen used for this observation
    ... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
    ... referenceRange C 0..* BackboneElement Provides guide for interpretation
    Constraints: obs-3
    .... 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
    .... low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
    .... high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
    .... type 0..1 CodeableConcept Reference range qualifier
    Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
    .... appliesTo 0..* CodeableConcept Reference range population
    Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
    .... age 0..1 Range Applicable age range, if relevant
    .... text 0..1 string Text based reference range in an observation
    ... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
    ... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
    ... Slices for component SΣ 0..* BackboneElement Component results
    Slice: Unordered, Open by value:code
    .... 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:industry SΣ 0..1 BackboneElement Occupation industry
    ..... 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 Occupation industry history
    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: 86188-0
    ....... 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 Occupation industry or text
    Binding: Industry NAICS Detail (ODH) (extensible): Occupational Data for Health
    ..... 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

    doco 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 ObservationStatus 📍4.0.1 FHIR Std.
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:socialhistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.value[x]:valueCodeableConcept Base extensible Occupation ONETSOC Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
    Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
    Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
    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:industry.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component:industry.​value[x] Base extensible Industry NAICS Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.component:industry.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.component:industry.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    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-3 error Observation.referenceRange Must have at least a low or a high or text low.exists() or high.exists() or text.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: 2 elements(1 nested mandatory element)
    Must-Support: 11 elements

    Structures

    This structure refers to these other structures:

    Slices

    This structure defines the following Slices:

    • The element 1 is sliced based on the value of Observation.category
    • The element 1 is sliced based on the value of Observation.component

    Maturity: 3

    Key Elements View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Observation C 0..* Observation Past Or Present Occupation
    Constraints: obs-6, obs-7
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... status ?!SΣ 1..1 code registered | preliminary | final | amended +
    Binding: ObservationStatus (required): Codes providing the status of an observation.
    ... Slices for category S 0..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
    .... category:socialhistory S 0..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://terminology.hl7.org/CodeSystem/observation-category
    ...... version 0..1 string Version of the system - if relevant
    ...... code 1..1 code Symbol in syntax defined by the system
    Fixed Value: social-history
    ...... 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 Occupation history
    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: 11341-5
    ..... 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Σ 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    ... Slices for effective[x] Σ 0..1 Clinically relevant time/time-period for observation
    Slice: Unordered, Open by type:$this
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    .... effectiveTiming Timing
    .... effectiveInstant instant
    .... effective[x]:effectivePeriod SΣ 0..1 Period Clinically relevant time/time-period for observation
    ... performer Σ 0..* Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Who is responsible for the observation
    ... Slices for value[x] ΣC 1..1 CodeableConcept Actual result
    Slice: Unordered, Closed by type:$this
    .... value[x]:valueCodeableConcept SΣC 1..1 CodeableConcept Coded occupation or text
    Binding: Occupation ONETSOC Detail (ODH) (extensible): Occupational Data for Health
    ... Slices for component SΣ 0..* BackboneElement Component results
    Slice: Unordered, Open by value:code
    .... 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:industry SΣ 0..1 BackboneElement Occupation industry
    ..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
    ..... code SΣ 1..1 CodeableConcept Occupation industry history
    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: 86188-0
    ....... 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 Occupation industry or text
    Binding: Industry NAICS Detail (ODH) (extensible): Occupational Data for Health

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:socialhistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.value[x]:valueCodeableConcept Base extensible Occupation ONETSOC Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component:industry.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component:industry.​value[x] Base extensible Industry NAICS Detail (ODH) 📦1 us.cdc.phinvads v0.12

    Constraints

    Id Grade Path(s) Description Expression
    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

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Observation 0..* Observation Past Or Present Occupation
    ... status S 1..1 code registered | preliminary | final | amended +
    ... Slices for category S 0..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    .... category:socialhistory S 0..1 CodeableConcept Classification of type of observation
    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://terminology.hl7.org/CodeSystem/observation-category
    ...... code 1..1 code Symbol in syntax defined by the system
    Fixed Value: social-history
    ... code S 1..1 CodeableConcept Occupation history
    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: 11341-5
    ... subject S 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    ... effectivePeriod S 0..1 Period Clinically relevant time/time-period for observation
    ... performer 0..* Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Who is responsible for the observation
    ... valueCodeableConcept S 1..1 CodeableConcept Coded occupation or text
    Binding: Occupation ONETSOC Detail (ODH) (extensible): Occupational Data for Health
    ... Slices for component S 0..* BackboneElement Component results
    Slice: Unordered, Open by value:code
    .... component:industry S 0..1 BackboneElement Occupation industry
    ..... code S 1..1 CodeableConcept Occupation industry history
    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: 86188-0
    ..... valueCodeableConcept S 1..1 CodeableConcept Occupation industry or text
    Binding: Industry NAICS Detail (ODH) (extensible): Occupational Data for Health

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Observation.valueCodeableConcept Base extensible Occupation ONETSOC Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.component:industry.​valueCodeableConcept Base extensible Industry NAICS Detail (ODH) 📦1 us.cdc.phinvads v0.12

    Snapshot ViewView

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Observation C 0..* Observation Past Or Present Occupation
    Constraints: obs-6, obs-7
    ... 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 BindingsPurpose
    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
    ... extension 0..* Extension Additional content defined by implementations
    ... 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 registered | preliminary | final | amended +
    Binding: ObservationStatus (required): Codes providing the status of an observation.
    ... Slices for category S 0..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
    .... category:socialhistory S 0..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://terminology.hl7.org/CodeSystem/observation-category
    ...... version 0..1 string Version of the system - if relevant
    ...... code 1..1 code Symbol in syntax defined by the system
    Fixed Value: social-history
    ...... 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 Occupation history
    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: 11341-5
    ..... 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Σ 1..1 Reference(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
    ... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
    ... Slices for effective[x] Σ 0..1 Clinically relevant time/time-period for observation
    Slice: Unordered, Open by type:$this
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    .... effectiveTiming Timing
    .... effectiveInstant instant
    .... effective[x]:effectivePeriod SΣ 0..1 Period Clinically relevant time/time-period for observation
    ... issued Σ 0..1 instant Date/Time this version was made available
    ... performer Σ 0..* Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Who is responsible for the observation
    ... Slices for value[x] ΣC 1..1 CodeableConcept Actual result
    Slice: Unordered, Closed by type:$this
    .... value[x]:valueCodeableConcept SΣC 1..1 CodeableConcept Coded occupation or text
    Binding: Occupation ONETSOC Detail (ODH) (extensible): Occupational Data for Health
    ... dataAbsentReason C 0..1 CodeableConcept Why the 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.
    ... note 0..* Annotation Comments about the observation
    ... bodySite 0..1 CodeableConcept Observed body part
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
    ... method 0..1 CodeableConcept How it was done
    Binding: ObservationMethods (example): Methods for simple observations.
    ... specimen 0..1 Reference(Specimen) Specimen used for this observation
    ... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
    ... referenceRange C 0..* BackboneElement Provides guide for interpretation
    Constraints: obs-3
    .... 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
    .... low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
    .... high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
    .... type 0..1 CodeableConcept Reference range qualifier
    Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
    .... appliesTo 0..* CodeableConcept Reference range population
    Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
    .... age 0..1 Range Applicable age range, if relevant
    .... text 0..1 string Text based reference range in an observation
    ... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
    ... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
    ... Slices for component SΣ 0..* BackboneElement Component results
    Slice: Unordered, Open by value:code
    .... 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:industry SΣ 0..1 BackboneElement Occupation industry
    ..... 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 Occupation industry history
    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: 86188-0
    ....... 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 Occupation industry or text
    Binding: Industry NAICS Detail (ODH) (extensible): Occupational Data for Health
    ..... 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

    doco 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 ObservationStatus 📍4.0.1 FHIR Std.
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:socialhistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.value[x]:valueCodeableConcept Base extensible Occupation ONETSOC Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
    Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
    Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
    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:industry.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component:industry.​value[x] Base extensible Industry NAICS Detail (ODH) 📦1 us.cdc.phinvads v0.12
    Observation.component:industry.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.component:industry.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    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-3 error Observation.referenceRange Must have at least a low or a high or text low.exists() or high.exists() or text.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: 2 elements(1 nested mandatory element)
    Must-Support: 11 elements

    Structures

    This structure refers to these other structures:

    Slices

    This structure defines the following Slices:

    • The element 1 is sliced based on the value of Observation.category
    • The element 1 is sliced based on the value of Observation.component

    Maturity: 3

     

    Other representations of profile: CSV, Excel, Schematron

    Notes:


    Quick Start


    Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

    • See the Search Syntax section for a description of the US Core search syntax.
    • See the General Requirements section for additional rules and expectations when a Server requires status parameters.
    • See the General Guidance section for additional guidance on searching for multiple patients.

    Mandatory Search Parameters:

    The following search parameters and search parameter combinations SHALL be supported:

    1. SHALL support searching using the combination of the patient and category search parameters:

      GET [base]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory

      Example:

      1. GET [base]/Observation?patient=1134281&category=social-history

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and a category code = laboratory (how to search by reference and how to search by token)

    2. SHALL support searching using the combination of the patient and code search parameters:
      • including optional support for OR search on code (e.g.code={system|}[code],{system|}[code],...)

      GET [base]/Observation?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}

      Example:

      1. GET [base]/Observation?patient=1134281&code=http://loinc.org|11341-5

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and observation code(s). SHOULD support search by multiple report codes. The Observation code parameter searches `Observation.code only. (how to search by reference and how to search by token)

    3. SHALL support searching using the combination of the patient and category and date search parameters:
      • including support for these date comparators: gt,lt,ge,le
      • including optional support for AND search on date (e.g.date=[date]&date=[date]]&...)

      GET [base]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

      Example:

      1. GET [base]Observation?patient=555580&category=social-history&date=ge2018-03-14T00:00:00Z

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and date and a category code = laboratory (how to search by reference and how to search by token and how to search by date)

    Optional Search Parameters:

    The following search parameter combinations SHOULD be supported:

    1. SHOULD support searching using the combination of the patient and category and status search parameters:
      • including support for OR search on status (e.g.status={system|}[code],{system|}[code],...)

      GET [base]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&status={system|}[code]{,{system|}[code],...}

      Example:

      1. GET [base]/Observation?patient=1134281&category=social-history&status=final

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and category = laboratory and status (how to search by reference and how to search by token)

    2. SHOULD support searching using the combination of the patient and category and _lastUpdated search parameters:
      • including support for these _lastUpdated comparators: gt,lt,ge,le
      • including optional support for AND search on _lastUpdated (e.g._lastUpdated=[date]&_lastUpdated=[date]]&...)

      GET [base]/Observation?patient={Type/}[id]&category={system|}[code]&_lastUpdated={gt|lt|ge|le}[date]{&_lastUpdated={gt|lt|ge|le}[date]&...}

      Example:

      1. GET [base]Observation?patient=555580&social-history&_lastUpdated=ge2024-01-01T00:00:00Z

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and category and _lastUpdated. See the US Core General Guidance page for Searching Using lastUpdated. (how to search by reference and how to search by token and how to search by date)

    3. SHOULD support searching using the combination of the patient and code and date search parameters:
      • including optional support for OR search on code (e.g.code={system|}[code],{system|}[code],...)
      • including support for these date comparators: gt,lt,ge,le
      • including optional support for AND search on date (e.g.date=[date]&date=[date]]&...)

      GET [base]/Observation?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

      Example:

      1. GET [base]Observation?patient=555580&code=http://loinc.org|11341-5&date=ge2019-01-01T00:00:00Z

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and date and report code(s). SHOULD support search by multiple report codes. (how to search by reference and how to search by token and how to search by date)