HL7 FHIR Profile: Occupational Data for Health (ODH), Release 1 (Standard for Trial Use)

This page is part of the Occupational Data for Health (ODH) FHIR IG (v0.1.0: STU 1 Ballot 1) based on FHIR R3. The current version which supercedes this version is 1.2.0. For a full list of available versions, see the Directory of published versions

OccupationalDataForHealthProfile

 

The official URL for this profile is:

http://hl7.org/fhir/us/odh/StructureDefinition/odh-OccupationalDataForHealth

Current and past activities for profit, wages, salary, or as a service to others.

This profile builds on Composition.

This profile was published on Fri Aug 17 00:00:00 AEST 2018 as a draft by HL7.

View the corresponding OccupationalDataForHealthModel logical model.

Summary

Mandatory: 0 element (1 nested mandatory element)

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Composition.section.entry is sliced based on the value of profile:reference.resolve()

ODH Mapping Source

This structure represents the following ODH mapping definition:

odh.OccupationalDataForHealth maps to Composition:
  OccupationalDataSection maps to section
  OccupationalDataSection.SocialHistoryObservation maps to section.entry  (slice on = reference.resolve(); slice on type = profile; slice strategy = includes)

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition ODH OccupationalDataForHealth Profile
... section 1..1
.... entry Reference(ODH SocialHistoryObservation Profile)Slice: Unordered, Open by profile:reference.resolve()
.... entry 0..*Reference(ODH PersonEmploymentStatus Profile)PersonEmploymentStatus
.... entry 0..*Reference(ODH RetirementDate Profile)RetirementDate
.... entry 0..*Reference(ODH CombatZonePeriod Profile)CombatZonePeriod
.... entry 0..1Reference(ODH UsualWork Profile)UsualWork
.... entry 0..*Reference(ODH PastOrPresentJob Profile)PastOrPresentJob

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition I0..*ODH OccupationalDataForHealth Profile
... 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
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..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..1IdentifierLogical identifier of composition (version-independent)
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required)
... type Σ1..1CodeableConceptKind of composition (LOINC if possible)
Binding: FHIR Document Type Codes (preferred)
... class Σ0..1CodeableConceptCategorization of Composition
Binding: FHIR Document Class Codes (example)
... subject Σ1..1Reference(Resource)Who and/or what the composition is about
... encounter Σ0..1Reference(Encounter)Context of the Composition
... date Σ1..1dateTimeComposition editing time
... author Σ1..*Reference(Practitioner | Device | Patient | RelatedPerson)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title
... confidentiality ?!Σ0..1codeAs defined by affinity domain
Binding: ConfidentialityClassification (required)
... attester ΣI0..*BackboneElementAttests to accuracy of composition
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... mode Σ1..*codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required)
.... time Σ0..1dateTimeWhen the composition was attested
.... party Σ0..1Reference(Patient | Practitioner | Organization)Who attested the composition
... custodian Σ0..1Reference(Organization)Organization which maintains the composition
... relatesTo ΣI0..*BackboneElementRelationships to other compositions/documents
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required)
.... target[x] Σ1..1Identifier, Reference(Composition)Target of the relationship
... event ΣI0..*BackboneElementThe clinical service(s) being documented
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ0..*CodeableConceptCode(s) that apply to the event being documented
Binding: ActCode (example)
.... period Σ0..1PeriodThe period covered by the documentation
.... detail Σ0..*Reference(Resource)The event(s) being documented
... section I1..1BackboneElementComposition is broken into sections
cmp-1: A section must at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... title 0..1stringLabel for section (e.g. for ToC)
.... code 0..1CodeableConceptClassification of section (recommended)
Binding: Document Section Codes (example)
.... text I0..1NarrativeText summary of the section, for human interpretation
.... mode ?!Σ0..1codeworking | snapshot | changes
Binding: ListMode (required)
.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: List Order Codes (preferred)
.... entry IReference(ODH SocialHistoryObservation Profile)A reference to data that supports this section
Slice: Unordered, Open by profile:reference.resolve()
.... entry I0..*Reference(ODH PersonEmploymentStatus Profile)PersonEmploymentStatus
.... entry I0..*Reference(ODH RetirementDate Profile)RetirementDate
.... entry I0..*Reference(ODH CombatZonePeriod Profile)CombatZonePeriod
.... entry I0..1Reference(ODH UsualWork Profile)UsualWork
.... entry I0..*Reference(ODH PastOrPresentJob Profile)PastOrPresentJob
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: List Empty Reasons (preferred)
.... section I0..*Unknown reference to #Composition.section
Nested Section

doco Documentation for this format

Summary

Mandatory: 0 element (1 nested mandatory element)

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Composition.section.entry is sliced based on the value of profile:reference.resolve()

ODH Mapping Source

This structure represents the following ODH mapping definition:

odh.OccupationalDataForHealth maps to Composition:
  OccupationalDataSection maps to section
  OccupationalDataSection.SocialHistoryObservation maps to section.entry  (slice on = reference.resolve(); slice on type = profile; slice strategy = includes)

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition ODH OccupationalDataForHealth Profile
... section 1..1
.... entry Reference(ODH SocialHistoryObservation Profile)Slice: Unordered, Open by profile:reference.resolve()
.... entry 0..*Reference(ODH PersonEmploymentStatus Profile)PersonEmploymentStatus
.... entry 0..*Reference(ODH RetirementDate Profile)RetirementDate
.... entry 0..*Reference(ODH CombatZonePeriod Profile)CombatZonePeriod
.... entry 0..1Reference(ODH UsualWork Profile)UsualWork
.... entry 0..*Reference(ODH PastOrPresentJob Profile)PastOrPresentJob

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition I0..*ODH OccupationalDataForHealth Profile
... 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
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..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..1IdentifierLogical identifier of composition (version-independent)
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required)
... type Σ1..1CodeableConceptKind of composition (LOINC if possible)
Binding: FHIR Document Type Codes (preferred)
... class Σ0..1CodeableConceptCategorization of Composition
Binding: FHIR Document Class Codes (example)
... subject Σ1..1Reference(Resource)Who and/or what the composition is about
... encounter Σ0..1Reference(Encounter)Context of the Composition
... date Σ1..1dateTimeComposition editing time
... author Σ1..*Reference(Practitioner | Device | Patient | RelatedPerson)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title
... confidentiality ?!Σ0..1codeAs defined by affinity domain
Binding: ConfidentialityClassification (required)
... attester ΣI0..*BackboneElementAttests to accuracy of composition
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... mode Σ1..*codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required)
.... time Σ0..1dateTimeWhen the composition was attested
.... party Σ0..1Reference(Patient | Practitioner | Organization)Who attested the composition
... custodian Σ0..1Reference(Organization)Organization which maintains the composition
... relatesTo ΣI0..*BackboneElementRelationships to other compositions/documents
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required)
.... target[x] Σ1..1Identifier, Reference(Composition)Target of the relationship
... event ΣI0..*BackboneElementThe clinical service(s) being documented
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ0..*CodeableConceptCode(s) that apply to the event being documented
Binding: ActCode (example)
.... period Σ0..1PeriodThe period covered by the documentation
.... detail Σ0..*Reference(Resource)The event(s) being documented
... section I1..1BackboneElementComposition is broken into sections
cmp-1: A section must at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... title 0..1stringLabel for section (e.g. for ToC)
.... code 0..1CodeableConceptClassification of section (recommended)
Binding: Document Section Codes (example)
.... text I0..1NarrativeText summary of the section, for human interpretation
.... mode ?!Σ0..1codeworking | snapshot | changes
Binding: ListMode (required)
.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: List Order Codes (preferred)
.... entry IReference(ODH SocialHistoryObservation Profile)A reference to data that supports this section
Slice: Unordered, Open by profile:reference.resolve()
.... entry I0..*Reference(ODH PersonEmploymentStatus Profile)PersonEmploymentStatus
.... entry I0..*Reference(ODH RetirementDate Profile)RetirementDate
.... entry I0..*Reference(ODH CombatZonePeriod Profile)CombatZonePeriod
.... entry I0..1Reference(ODH UsualWork Profile)UsualWork
.... entry I0..*Reference(ODH PastOrPresentJob Profile)PastOrPresentJob
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: List Empty Reasons (preferred)
.... section I0..*Unknown reference to #Composition.section
Nested Section

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, TTL), Schema: XML Schematron

 

Terminology Bindings

PathNameConformanceValueSet
Composition.languageCommon LanguagesextensibleCommon Languages
Composition.statusCompositionStatusrequiredCompositionStatus
Composition.typeFHIR Document Type CodespreferredFHIR Document Type Codes
Composition.classFHIR Document Class CodesexampleFHIR Document Class Codes
Composition.confidentialityConfidentialityClassificationrequiredConfidentialityClassification
Composition.attester.modeCompositionAttestationModerequiredCompositionAttestationMode
Composition.relatesTo.codeDocumentRelationshipTyperequiredDocumentRelationshipType
Composition.event.codev3 Code System ActCodeexamplev3 Code System ActCode
Composition.section.codeDocument Section CodesexampleDocument Section Codes
Composition.section.modeListModerequiredListMode
Composition.section.orderedByList Order CodespreferredList Order Codes
Composition.section.emptyReasonList Empty ReasonspreferredList Empty Reasons

 

Constraints

IdPathDetailsRequirements
dom-2CompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1CompositionIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4CompositionIf 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-3CompositionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1Composition.attesterAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Composition.relatesToAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Composition.eventAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Composition.sectionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
cmp-1Composition.sectionA section must at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2Composition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()