IHE FHIR Profile: Occupational Data for Health (ODH) - International
1.0.0-current - ci-build International flag

IHE FHIR Profile: Occupational Data for Health (ODH) - International, published by IHE International. This guide is not an authorized publication; it is the continuous build for version 1.0.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/PCC.ODH/ and changes regularly. See the Directory of published versions

Resource Profile: Usual Work

Official URL: https://profiles.ihe.net/PCC/ODH/StructureDefinition/odh-UsualWork Version: 1.0.0-current
Active as of 2020-01-04 Computable Name: UsualWork

A Usual Occupation Observation is a clinical statement about the type of work (paid or unpaid) done by a person for the longest amount of time during his or her life, not including voluntary work. It includes a set of self-reported, related components about the work a person performed for the longest amount of time during his or her life, regardless of the person’s current job and regardless of whether or not the person performed this work for a continuous time. It also can be used in a minor’s record for the Usual Work of people who share a home with the person (see optional related subject). Usual Work supports recognition of new and known chronic conditions which evolve over many years and may become evident after the person is no longer performing that type of work, e.g., some respiratory conditions and cancers. These data also are used by public health entities and medical researchers to investigate the relationship between conditions and exposures at work and illnesses, causes of death, or cancer.

Observations are a key aspect of healthcare. This resource is used to capture those that do not require more sophisticated mechanisms.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*ObservationUsual Work
... basedOn 0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this observation
... partOf 0..*Reference(Procedure)The larger procedure that this particular observation is a component or step
... category 0..1CodeableConceptClassification of type of observation
.... Slices for coding 1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_social-history Σ1..1CodingSocial History
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1codeSymbol in syntax defined by the system
Fixed Value: social-history
.... Slices for coding 1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_21843-8 Σ1..1CodingHistory of Usual Occupation
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 21843-8
... subject 1..1Reference(Patient)The subject of an observation
... focus 0..*Reference(RelatedPerson)What the observation is about, when it is not about the subject of record
... effectivePeriod 0..1PeriodThe period.start asserts when the usual occupation began. NOTE: If the period.start element is missing, the start of the usual occupation is not known. The period.end asserts when the usual occupation ended. If usual occupation is current, period.end should be omitted.
... performer 0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... valueCodeableConcept 0..1CodeableConceptExpress the usual occupation using a coded value. If no coded value is available, use text. If the usual occupation is not available, explain using dataAbsentReason.
Binding: Occupation types (preferred): Occupation International Labour Organization

.... text 0..1stringUse the narrative description if there is no coded value available for the usual occupation.
... dataAbsentReason 0..1CodeableConceptThe reason that there is no value available for the Occupation.
... interpretation 0..0
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom 0..*Reference(DocumentReference | Media | QuestionnaireResponse | Observation)Related measurements the observation is made from
... Slices for component 1..*BackboneElementComponent results
Slice: Unordered, Open by value:code
.... component:odh-UsualIndustry 1..1BackboneElementUsualIndustry: The industry (type of business) in which the subject has worked for the longest duration while in the usual occupation. Express the usual industry using a coded value. If no coded value is available, use text. If the usual industry is not available, explain using dataAbsentReason.
..... code 1..1CodeableConceptHistory of Usual industry
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 21844-6
..... valueCodeableConcept 0..1CodeableConceptExpress the Industry using a coded value. If no coded value is available, use text. If the Industry is not available, explain using dataAbsentReason.
Binding: industries types (preferred): Occupation International Labour Organization

...... text 0..1stringUse the narrative description if there is no coded value available for the usual industry.
..... dataAbsentReason 0..1CodeableConceptThe reason that there is no value available for the Industry.
..... interpretation 0..0
..... referenceRange 0..0
.... component:odh-UsualOccupationDuration 0..1BackboneElementUsualOccupationDuration: The total of all periods of time (in years) the subject has spent in their Usual Occupation, not including intermittent period(s) when they were not working in that occupation (type of work).
..... code 1..1CodeableConceptUsual occupation duration
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 74163-7
..... valueQuantity 0..1QuantityActual component result
...... system 0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code 0..1codeCoded form of the unit
Fixed Value: a
..... interpretation 0..0
..... referenceRange 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.valueCodeableConceptpreferredODF_occupationVS (a valid code from https://metadata.ilo.org/thesaurus.html)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-occupationVS
from this IG
Observation.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualIndustry.valueCodeableConceptpreferredODF_industriesVS (a valid code from https://www.ilo.org/global/industries-and-sectors/health-services/lang--en/index.htm)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-industriesVS
from this IG
Observation.component:odh-UsualIndustry.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationUsual Work
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... basedOn Σ0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this observation
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_social-history Σ1..1CodingSocial History
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: social-history
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_21843-8 Σ1..1CodingHistory of Usual Occupation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 21843-8
... subject Σ1..1Reference(Patient)The subject of an observation
... focus Σ0..*Reference(RelatedPerson)What the observation is about, when it is not about the subject of record
... Slices for effective[x] Σ0..1PeriodClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectivePeriod Σ0..1PeriodThe period.start asserts when the usual occupation began. NOTE: If the period.start element is missing, the start of the usual occupation is not known. The period.end asserts when the usual occupation ended. If usual occupation is current, period.end should be omitted.
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... Slices for value[x] ΣC0..1CodeableConceptActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueCodeableConcept ΣC0..1CodeableConceptExpress the usual occupation using a coded value. If no coded value is available, use text. If the usual occupation is not available, explain using dataAbsentReason.
Binding: Occupation types (preferred): Occupation International Labour Organization

... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Occupation.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... derivedFrom Σ0..*Reference(DocumentReference | Media | QuestionnaireResponse | Observation)Related measurements the observation is made from
... Slices for component Σ1..*BackboneElementComponent results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:odh-UsualIndustry Σ1..1BackboneElementUsualIndustry: The industry (type of business) in which the subject has worked for the longest duration while in the usual occupation. Express the usual industry using a coded value. If no coded value is available, use text. If the usual industry is not available, explain using dataAbsentReason.
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptHistory of Usual industry
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 21844-6
..... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Industry.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... component:odh-UsualOccupationDuration Σ0..1BackboneElementUsualOccupationDuration: The total of all periods of time (in years) the subject has spent in their Usual Occupation, not including intermittent period(s) when they were not working in that occupation (type of work).
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptUsual occupation duration
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 74163-7

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueCodeableConceptpreferredODF_occupationVS (a valid code from https://metadata.ilo.org/thesaurus.html)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-occupationVS
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualIndustry.codeexamplePattern: LOINC code 21844-6
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualIndustry.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.codeexamplePattern: LOINC code 74163-7
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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 & Constraintsdoco
.. Observation C0..*ObservationUsual Work
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this observation
... partOf Σ0..*Reference(Procedure)The larger procedure that this particular observation is a component or step
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_social-history Σ1..1CodingSocial History
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: social-history
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_21843-8 Σ1..1CodingHistory of Usual Occupation
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 21843-8
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject Σ1..1Reference(Patient)The subject of an observation
... focus Σ0..*Reference(RelatedPerson)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... Slices for effective[x] Σ0..1PeriodClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectivePeriod Σ0..1PeriodThe period.start asserts when the usual occupation began. NOTE: If the period.start element is missing, the start of the usual occupation is not known. The period.end asserts when the usual occupation ended. If usual occupation is current, period.end should be omitted.
... issued Σ0..1instantDate/Time this version was made available
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... Slices for value[x] ΣC0..1CodeableConceptActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueCodeableConcept ΣC0..1CodeableConceptExpress the usual occupation using a coded value. If no coded value is available, use text. If the usual occupation is not available, explain using dataAbsentReason.
Binding: Occupation types (preferred): Occupation International Labour Organization

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
..... text Σ0..1stringUse the narrative description if there is no coded value available for the usual occupation.
... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Occupation.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... note 0..*AnnotationComments about the observation
... derivedFrom Σ0..*Reference(DocumentReference | Media | QuestionnaireResponse | Observation)Related measurements the observation is made from
... Slices for component Σ1..*BackboneElementComponent results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ0..1Actual component result
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueSampledDataSampledData
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

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


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:odh-UsualIndustry Σ1..1BackboneElementUsualIndustry: The industry (type of business) in which the subject has worked for the longest duration while in the usual occupation. Express the usual industry using a coded value. If no coded value is available, use text. If the usual industry is not available, explain using dataAbsentReason.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptHistory of Usual industry
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 21844-6
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1CodeableConceptExpress the Industry using a coded value. If no coded value is available, use text. If the Industry is not available, explain using dataAbsentReason.
Binding: industries types (preferred): Occupation International Labour Organization

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
...... text Σ0..1stringUse the narrative description if there is no coded value available for the usual industry.
..... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Industry.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... component:odh-UsualOccupationDuration Σ0..1BackboneElementUsualOccupationDuration: The total of all periods of time (in years) the subject has spent in their Usual Occupation, not including intermittent period(s) when they were not working in that occupation (type of work).
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptUsual occupation duration
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 74163-7
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1QuantityActual component result
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ0..1stringUnit representation
...... system ΣC0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code Σ0..1codeCoded form of the unit
Fixed Value: a
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueCodeableConceptpreferredODF_occupationVS (a valid code from https://metadata.ilo.org/thesaurus.html)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-occupationVS
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:odh-UsualIndustry.codeexamplePattern: LOINC code 21844-6
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualIndustry.value[x]preferredODF_industriesVS (a valid code from https://www.ilo.org/global/industries-and-sectors/health-services/lang--en/index.htm)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-industriesVS
from this IG
Observation.component:odh-UsualIndustry.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.codeexamplePattern: LOINC code 74163-7
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.value[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()

This structure is derived from Observation

Summary

Mandatory: 7 elements (4 nested mandatory elements)
Fixed Value: 6 elements
Prohibited: 11 elements

Slices

This structure defines the following Slices:

  • The element Observation.category.coding is sliced based on the value of value:code
  • The element Observation.code.coding is sliced based on the value of value:code
  • The element Observation.component is sliced based on the value of value:code

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*ObservationUsual Work
... basedOn 0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this observation
... partOf 0..*Reference(Procedure)The larger procedure that this particular observation is a component or step
... category 0..1CodeableConceptClassification of type of observation
.... Slices for coding 1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_social-history Σ1..1CodingSocial History
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1codeSymbol in syntax defined by the system
Fixed Value: social-history
.... Slices for coding 1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_21843-8 Σ1..1CodingHistory of Usual Occupation
...... system 1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 21843-8
... subject 1..1Reference(Patient)The subject of an observation
... focus 0..*Reference(RelatedPerson)What the observation is about, when it is not about the subject of record
... effectivePeriod 0..1PeriodThe period.start asserts when the usual occupation began. NOTE: If the period.start element is missing, the start of the usual occupation is not known. The period.end asserts when the usual occupation ended. If usual occupation is current, period.end should be omitted.
... performer 0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... valueCodeableConcept 0..1CodeableConceptExpress the usual occupation using a coded value. If no coded value is available, use text. If the usual occupation is not available, explain using dataAbsentReason.
Binding: Occupation types (preferred): Occupation International Labour Organization

.... text 0..1stringUse the narrative description if there is no coded value available for the usual occupation.
... dataAbsentReason 0..1CodeableConceptThe reason that there is no value available for the Occupation.
... interpretation 0..0
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom 0..*Reference(DocumentReference | Media | QuestionnaireResponse | Observation)Related measurements the observation is made from
... Slices for component 1..*BackboneElementComponent results
Slice: Unordered, Open by value:code
.... component:odh-UsualIndustry 1..1BackboneElementUsualIndustry: The industry (type of business) in which the subject has worked for the longest duration while in the usual occupation. Express the usual industry using a coded value. If no coded value is available, use text. If the usual industry is not available, explain using dataAbsentReason.
..... code 1..1CodeableConceptHistory of Usual industry
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 21844-6
..... valueCodeableConcept 0..1CodeableConceptExpress the Industry using a coded value. If no coded value is available, use text. If the Industry is not available, explain using dataAbsentReason.
Binding: industries types (preferred): Occupation International Labour Organization

...... text 0..1stringUse the narrative description if there is no coded value available for the usual industry.
..... dataAbsentReason 0..1CodeableConceptThe reason that there is no value available for the Industry.
..... interpretation 0..0
..... referenceRange 0..0
.... component:odh-UsualOccupationDuration 0..1BackboneElementUsualOccupationDuration: The total of all periods of time (in years) the subject has spent in their Usual Occupation, not including intermittent period(s) when they were not working in that occupation (type of work).
..... code 1..1CodeableConceptUsual occupation duration
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 74163-7
..... valueQuantity 0..1QuantityActual component result
...... system 0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code 0..1codeCoded form of the unit
Fixed Value: a
..... interpretation 0..0
..... referenceRange 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.valueCodeableConceptpreferredODF_occupationVS (a valid code from https://metadata.ilo.org/thesaurus.html)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-occupationVS
from this IG
Observation.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualIndustry.valueCodeableConceptpreferredODF_industriesVS (a valid code from https://www.ilo.org/global/industries-and-sectors/health-services/lang--en/index.htm)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-industriesVS
from this IG
Observation.component:odh-UsualIndustry.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationUsual Work
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... basedOn Σ0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this observation
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_social-history Σ1..1CodingSocial History
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: social-history
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_21843-8 Σ1..1CodingHistory of Usual Occupation
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 21843-8
... subject Σ1..1Reference(Patient)The subject of an observation
... focus Σ0..*Reference(RelatedPerson)What the observation is about, when it is not about the subject of record
... Slices for effective[x] Σ0..1PeriodClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectivePeriod Σ0..1PeriodThe period.start asserts when the usual occupation began. NOTE: If the period.start element is missing, the start of the usual occupation is not known. The period.end asserts when the usual occupation ended. If usual occupation is current, period.end should be omitted.
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... Slices for value[x] ΣC0..1CodeableConceptActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueCodeableConcept ΣC0..1CodeableConceptExpress the usual occupation using a coded value. If no coded value is available, use text. If the usual occupation is not available, explain using dataAbsentReason.
Binding: Occupation types (preferred): Occupation International Labour Organization

... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Occupation.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... derivedFrom Σ0..*Reference(DocumentReference | Media | QuestionnaireResponse | Observation)Related measurements the observation is made from
... Slices for component Σ1..*BackboneElementComponent results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:odh-UsualIndustry Σ1..1BackboneElementUsualIndustry: The industry (type of business) in which the subject has worked for the longest duration while in the usual occupation. Express the usual industry using a coded value. If no coded value is available, use text. If the usual industry is not available, explain using dataAbsentReason.
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptHistory of Usual industry
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 21844-6
..... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Industry.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... component:odh-UsualOccupationDuration Σ0..1BackboneElementUsualOccupationDuration: The total of all periods of time (in years) the subject has spent in their Usual Occupation, not including intermittent period(s) when they were not working in that occupation (type of work).
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptUsual occupation duration
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 74163-7

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueCodeableConceptpreferredODF_occupationVS (a valid code from https://metadata.ilo.org/thesaurus.html)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-occupationVS
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualIndustry.codeexamplePattern: LOINC code 21844-6
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualIndustry.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.codeexamplePattern: LOINC code 74163-7
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationUsual Work
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this observation
... partOf Σ0..*Reference(Procedure)The larger procedure that this particular observation is a component or step
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_social-history Σ1..1CodingSocial History
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: social-history
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:Fixed_21843-8 Σ1..1CodingHistory of Usual Occupation
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 21843-8
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject Σ1..1Reference(Patient)The subject of an observation
... focus Σ0..*Reference(RelatedPerson)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... Slices for effective[x] Σ0..1PeriodClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectivePeriod Σ0..1PeriodThe period.start asserts when the usual occupation began. NOTE: If the period.start element is missing, the start of the usual occupation is not known. The period.end asserts when the usual occupation ended. If usual occupation is current, period.end should be omitted.
... issued Σ0..1instantDate/Time this version was made available
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... Slices for value[x] ΣC0..1CodeableConceptActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueCodeableConcept ΣC0..1CodeableConceptExpress the usual occupation using a coded value. If no coded value is available, use text. If the usual occupation is not available, explain using dataAbsentReason.
Binding: Occupation types (preferred): Occupation International Labour Organization

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
..... text Σ0..1stringUse the narrative description if there is no coded value available for the usual occupation.
... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Occupation.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... note 0..*AnnotationComments about the observation
... derivedFrom Σ0..*Reference(DocumentReference | Media | QuestionnaireResponse | Observation)Related measurements the observation is made from
... Slices for component Σ1..*BackboneElementComponent results
Slice: Unordered, Open by value:code
.... component:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ0..1Actual component result
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueSampledDataSampledData
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

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


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:odh-UsualIndustry Σ1..1BackboneElementUsualIndustry: The industry (type of business) in which the subject has worked for the longest duration while in the usual occupation. Express the usual industry using a coded value. If no coded value is available, use text. If the usual industry is not available, explain using dataAbsentReason.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptHistory of Usual industry
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 21844-6
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1CodeableConceptExpress the Industry using a coded value. If no coded value is available, use text. If the Industry is not available, explain using dataAbsentReason.
Binding: industries types (preferred): Occupation International Labour Organization

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
...... text Σ0..1stringUse the narrative description if there is no coded value available for the usual industry.
..... dataAbsentReason C0..1CodeableConceptThe reason that there is no value available for the Industry.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... component:odh-UsualOccupationDuration Σ0..1BackboneElementUsualOccupationDuration: The total of all periods of time (in years) the subject has spent in their Usual Occupation, not including intermittent period(s) when they were not working in that occupation (type of work).
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptUsual occupation duration
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 74163-7
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1QuantityActual component result
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ0..1stringUnit representation
...... system ΣC0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code Σ0..1codeCoded form of the unit
Fixed Value: a
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueCodeableConceptpreferredODF_occupationVS (a valid code from https://metadata.ilo.org/thesaurus.html)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-occupationVS
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.component:odh-UsualIndustry.codeexamplePattern: LOINC code 21844-6
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualIndustry.value[x]preferredODF_industriesVS (a valid code from https://www.ilo.org/global/industries-and-sectors/health-services/lang--en/index.htm)
https://profiles.ihe.net/PCC/ODH/ValueSet/odf-industriesVS
from this IG
Observation.component:odh-UsualIndustry.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualIndustry.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.codeexamplePattern: LOINC code 74163-7
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.value[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.component:odh-UsualOccupationDuration.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()

This structure is derived from Observation

Summary

Mandatory: 7 elements (4 nested mandatory elements)
Fixed Value: 6 elements
Prohibited: 11 elements

Slices

This structure defines the following Slices:

  • The element Observation.category.coding is sliced based on the value of value:code
  • The element Observation.code.coding is sliced based on the value of value:code
  • The element Observation.component is sliced based on the value of value:code

 

Other representations of profile: CSV, Excel, Schematron