Personal Health Device Implementation Guide
3.0.0-draft - STU 3 - R6 Global (Whole world)

Personal Health Device Implementation Guide, published by HL7 International / Devices. This guide is not an authorized publication; it is the continuous build for version 3.0.0-draft built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/phd/ and changes regularly. See the Directory of published versions

Resource Profile: PhdCompoundNumericObservation

Official URL: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCompoundNumericObservation Version: 3.0.0-draft
Standards status: Trial-use Maturity Level: 1 Computable Name: PhdCompoundNumericObservation
Other Identifiers: OID:2.16.840.1.113883.4.642.40.73.42.7

Observations coming from a PHD where the measurement is a set of numbers such as the x, y, and z components of an acceleration.

The Compound Numeric Observation Profile can be used when the PHD observation value is a vector or a set of related numeric concepts. Examples would be the x, y, and z components of the acceleration, the systolic, diastolic, and mean components of a blood pressure measurement, or the set of package positions and associated questions in the Advanced Medication Monitor.

IEEE 11073-10206 ACOM supports more generic compounds where the components can be numeric, codeable concepts, sample arrays or strings. This profile is kept for backwards compatibility with older IEEE 11073-20601-based implementations.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* PhdBaseObservation Measurements and simple assertions
Constraints: obs-6, obs-7, obs-10, obs-11, obs-12
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:GatewayDevice 1..1 (Complex) Device Gateway
URL: http://hl7.org/fhir/StructureDefinition/device-gateway
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/device-gateway"
.... extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
..... value ΣC 1..1 string The value that is unique
Example General: 123456
... status ?!Σ 1..1 code registered | in-process | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
Binding: ObservationStatus (required): Codes providing the status of an observation.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:PHD-Observation 1..1 CodeableConcept PHD observation category
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
...... 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 ΣC 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible): IEEE 11073-10101 Nomenclature codes for PHD measurements
Constraints: mdc-1
... subject Σ 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
... focus ?!Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... Slices for effective[x] Σ 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime Σ 0..1 dateTime Clinically relevant time/time-period for observation
.... effective[x]:effectivePeriod Σ 0..1 Period Clinically relevant time/time-period for observation
... dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... device 1..1 Reference(PhdDevice) A reference to the device that generates the measurements or the device settings for the device
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
... Slices for component ΣC 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
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCObsOrBoth (example): Codes identifying names of simple observations.
..... Slices for value[x] ΣC 0..1 Actual component result
Slice: Unordered, Open by type:$this
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
...... valueAttachment Attachment
...... value[x]:valueQuantity ΣC 0..1 Quantity Actual component result
....... value Σ 0..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... code ΣC 0..1 code Coded form of the unit
.... component:supplementalTypesComponent ΣC 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Supplemental-Types code (68193)
Binding: LOINCObsOrBoth (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: urn:iso:std:iso:11073:10101
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
....... 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
.... component:compound ΣC 0..* BackboneElement Compound numeric measurement entry components
..... Slices for extension Content/Rules for all slices
...... extension:Accuracy 0..1 Quantity Numeric Accuracy
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Accuracy
...... extension:Confidence95 0..1 Range Confidence95
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Confidence95
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: MDC Non-Object codes (required)
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ system Σ 1..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
........ code ΣC 1..1 code Symbol in syntax defined by the system
...... text Σ 0..1 string Plain text representation of the concept
..... value[x] ΣC 0..1 Quantity Actual component result
Constraints: unit-system-code-coherent, phd-dim-code
...... value Σ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... system ΣC 1..1 uri System that defines coded unit form
Constraints: system-is-mdc-or-ucum
...... code ΣC 1..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Populated when the component reports a special FLOAT value
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
...... coding Σ 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍6.0.0-ballot5 FHIR Std.
Observation.status Base required Observation Status 📍6.0.0-ballot5 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦3.0.0-draft This IG
Observation.dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​code Base required MDC Non-Object codes 📦3.0.0-draft This IG
Observation.component:compound.​value[x].comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason.coding Base required Data Absent Reason 📦6.0.0-ballot5 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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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())
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').exists()
obs-6 error Observation Observation.dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
obs-10 error Observation Observation.component.dataAbsentReason SHALL only be present if Observation.component.value[x] is not present component.empty() or component.where(dataAbsentReason.exists()).all(value.empty())
obs-11 error Observation if organizer exists and organizer = true, then value[x], dataAbsentReason and component SHALL NOT be present (organizer.exists() and organizer.allTrue()) implies (value.empty() and dataAbsentReason.empty() and component.empty())
obs-12 warning Observation All observations SHOULD have a performer performer.exists()
phd-dim-code error Observation.component:compound.value[x] If system is MDC, code must be a partition-4 dimension code (262144-327679) system != 'urn:iso:std:iso:11073:10101' or (code.toInteger() >= 262144 and code.toInteger() <= 327679)
system-is-mdc-or-ucum error Observation.component:compound.value[x].system system SHALL be either the MDC or UCUM URI $this = 'urn:iso:std:iso:11073:10101' or $this = 'http://unitsofmeasure.org'
unit-system-code-coherent error Observation.component:compound.value[x] system and code SHALL be coherent: UCUM system uses UCUM code, MDC system uses MDC code (system = 'http://unitsofmeasure.org' implies code.memberOf('http://hl7.org/fhir/ValueSet/ucum-units')) and (system = 'urn:iso:std:iso:11073:10101' implies code.memberOf('http://hl7.org/fhir/uv/phd/ValueSet/MDCValueSet'))

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* PhdBaseObservation Measurements and simple assertions
... value[x] 0..0 Actual result
... component 0..* BackboneElement Component results
.... code
..... coding
...... system 0..1 uri Identity of the terminology system
...... code 0..1 code Symbol in syntax defined by the system
.... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment Actual component result
Slice: Unordered, Open by type:$this
..... value[x]:valueQuantity 0..1 Quantity Actual component result
...... value 0..1 decimal Numerical value (with implicit precision)
...... code 0..1 code Coded form of the unit
... Slices for component Content/Rules for all slices
.... component:compound 0..* BackboneElement Compound numeric measurement entry components
..... Slices for extension Content/Rules for all slices
...... extension:Accuracy 0..1 Quantity Numeric Accuracy
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Accuracy
...... extension:Confidence95 0..1 Range Confidence95
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Confidence95
..... code 1..1 CodeableConcept Type of component observation (code / type)
Binding: MDC Non-Object codes (required)
...... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MdcType 1..1 Coding The 11073-10101 MDC code for the measurement
........ system 1..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
........ code 1..1 code Symbol in syntax defined by the system
...... text 0..1 string Plain text representation of the concept
..... value[x] C 0..1 Quantity Actual component result
Constraints: unit-system-code-coherent, phd-dim-code
...... value 1..1 decimal Numerical value (with implicit precision)
...... system C 1..1 uri System that defines coded unit form
Constraints: system-is-mdc-or-ucum
...... code 1..1 code Coded form of the unit
..... dataAbsentReason 0..1 CodeableConcept Populated when the component reports a special FLOAT value
...... coding 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
..... interpretation
...... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MsmtStatusInterpretation 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
........ system 1..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
........ code 1..1 code Symbol in syntax defined by the system

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.component:compound.​code Base required MDC Non-Object codes 📦3.0.0-draft This IG
Observation.component:compound.​dataAbsentReason.coding Base required Data Absent Reason 📦6.0.0-ballot5 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
phd-dim-code error Observation.component:compound.value[x] If system is MDC, code must be a partition-4 dimension code (262144-327679) system != 'urn:iso:std:iso:11073:10101' or (code.toInteger() >= 262144 and code.toInteger() <= 327679)
system-is-mdc-or-ucum error Observation.component:compound.value[x].system system SHALL be either the MDC or UCUM URI $this = 'urn:iso:std:iso:11073:10101' or $this = 'http://unitsofmeasure.org'
unit-system-code-coherent error Observation.component:compound.value[x] system and code SHALL be coherent: UCUM system uses UCUM code, MDC system uses MDC code (system = 'http://unitsofmeasure.org' implies code.memberOf('http://hl7.org/fhir/ValueSet/ucum-units')) and (system = 'urn:iso:std:iso:11073:10101' implies code.memberOf('http://hl7.org/fhir/uv/phd/ValueSet/MDCValueSet'))
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* PhdBaseObservation Measurements and simple assertions
Constraints: obs-6, obs-7, obs-10, obs-11, obs-12
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... Slices for security Σ 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:$this
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... security:PhdHtest Σ 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.

Required Pattern: At least the following
...... 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/v3-ActReason
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:GatewayDevice 1..1 (Complex) Device Gateway
URL: http://hl7.org/fhir/StructureDefinition/device-gateway
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/device-gateway"
..... value[x] 0..1 CodeableReference(PhgDevice) Reference to the PHG Device
Binding: DeviceType (example)
.... extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
..... value ΣC 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... triggeredBy 0..* BackboneElement Triggering observation(s)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
.... observation Σ 1..1 Reference(Observation) Triggering observation
.... type Σ 1..1 code reflex | repeat | re-run
Binding: TriggeredBytype (required): The type of TriggeredBy Observation.
.... reason 0..1 string Reason that the observation was triggered
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | in-process | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
Binding: ObservationStatus (required): Codes providing the status of an observation.
... statusReason 0..1 CodeableConcept Reason for current status
Binding: ObservationStatusReason (example): Codes identifying the reason for the current state of an observation.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:PHD-Observation 1..1 CodeableConcept PHD observation category
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
...... 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 ΣC 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible): IEEE 11073-10101 Nomenclature codes for PHD measurements
Constraints: mdc-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 0..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code ΣC 0..1 code Symbol in syntax defined by the system
..... display ΣC 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 Σ 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
... focus ?!Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... organizer ΣC 0..1 boolean This observation organizes/groups a set of sub-observations
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension
... Slices for effective[x] Σ 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime Σ 0..1 dateTime Clinically relevant time/time-period for observation
.... effective[x]:effectivePeriod Σ 0..1 Period Clinically relevant time/time-period for observation
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC 0..1 dateTime Starting time with inclusive boundary
..... end ΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
... issued Σ 0..1 instant Date/Time this version was made available
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson | HealthcareService | Group) Who is responsible for the observation
... dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
.... text Σ 0..1 string Plain text representation of the concept
... interpretation 0..* CodeableConcept High, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MsmtStatusInterpretation Σ 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
...... version Σ 0..1 string Version of the system - if relevant
...... code ΣC 1..1 code Symbol in syntax defined by the system
...... display ΣC 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
... context 0..* CodeableReference(Resource) Context for understanding the observation
Binding: ObservationContextCodes (example): Codes identifying contextual factors that affect interpretation of observations.
... note 0..* Annotation Comments about the observation
... bodySite 0..1 CodeableConcept DEPRECATED: Observed body part
... bodyStructure 0..* CodeableReference(BodyStructure) Observed body structure
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body Structures
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen C 0..1 Reference(Specimen | Group) Specimen used for this observation
Constraints: obs-9
... device 1..1 Reference(PhdDevice) A reference to the device that generates the measurements or the device settings for the device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient") - must be a resource in resources
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier ΣC 0..1 Identifier Logical reference, when literal reference is not known
.... display ΣC 0..1 string Text alternative for the resource
... supportingDevice 0..* CodeableReference(Device) Device supporting generation of the measurement
Binding: DeviceType (example): Type of device supporting the generation of the measurement.
... 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
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
.... low C 0..1 Quantity Low Range, if relevant
Constraints: obs-13
.... high C 0..1 Quantity High Range, if relevant
Constraints: obs-14
.... normalValue 0..1 CodeableConcept Normal value, if relevant
Binding: ObservationReferenceRangeNormalValueCodes (example): Codes identifying the normal value of the observation.
.... 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 C 0..1 markdown Text based reference range in an observation
... hasMember Σ 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
... derivedFrom Σ 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
... Slices for component ΣC 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
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCObsOrBoth (example): Codes identifying names of simple observations.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 0..1 uri Identity of the terminology system
....... version Σ 0..1 string Version of the system - if relevant
....... code ΣC 0..1 code Symbol in syntax defined by the system
....... display ΣC 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
..... Slices for value[x] ΣC 0..1 Actual component result
Slice: Unordered, Open by type:$this
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
...... valueAttachment Attachment
...... value[x]:valueQuantity ΣC 0..1 Quantity Actual component result
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... value Σ 0..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 0..1 string Unit representation
....... system ΣC 0..1 uri System that defines coded unit form
....... code ΣC 0..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Why the component result value 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 value
.... component:supplementalTypesComponent ΣC 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Supplemental-Types code (68193)
Binding: LOINCObsOrBoth (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: urn:iso:std:iso:11073:10101
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
....... 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] ΣC 0..1 CodeableConcept Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 0..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
....... version Σ 0..1 string Version of the system - if relevant
....... code ΣC 0..1 code Symbol in syntax defined by the system
....... display ΣC 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
..... 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 value
.... component:compound ΣC 0..* BackboneElement Compound numeric measurement entry components
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for extension Content/Rules for all slices
...... extension:Accuracy 0..1 Quantity Numeric Accuracy
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Accuracy
...... extension:Confidence95 0..1 Range Confidence95
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Confidence95
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: MDC Non-Object codes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ system Σ 1..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
........ version Σ 0..1 string Version of the system - if relevant
........ code ΣC 1..1 code Symbol in syntax defined by the system
........ display ΣC 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] ΣC 0..1 Quantity Actual component result
Constraints: unit-system-code-coherent, phd-dim-code
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... unit Σ 0..1 string Unit representation
...... system ΣC 1..1 uri System that defines coded unit form
Constraints: system-is-mdc-or-ucum
...... code ΣC 1..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Populated when the component reports a special FLOAT value
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
...... text Σ 0..1 string Plain text representation of the concept
..... interpretation 0..* CodeableConcept High, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MsmtStatusInterpretation Σ 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
........ version Σ 0..1 string Version of the system - if relevant
........ code ΣC 1..1 code Symbol in syntax defined by the system
........ display ΣC 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
..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result value

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.meta.security Base extensible All Security Labels 📍6.0.0-ballot5 FHIR Std.
Observation.meta.security:PhdHtest Base extensible All Security Labels 📍6.0.0-ballot5 FHIR Std.
Observation.meta.tag Base example Common Tags 📍6.0.0-ballot5 FHIR Std.
Observation.language Base required All Languages 📍6.0.0-ballot5 FHIR Std.
Observation.extension:GatewayDevice.​value[x] Base example Device Type 📦6.0.0-ballot5 FHIR Std.
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍6.0.0-ballot5 FHIR Std.
Observation.triggeredBy.​type Base required triggered Bytype 📍6.0.0-ballot5 FHIR Std.
Observation.status Base required Observation Status 📍6.0.0-ballot5 FHIR Std.
Observation.statusReason Base example Observation Status Reason 📍6.0.0-ballot5 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦3.0.0-draft This IG
Observation.dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.dataAbsentReason.​coding Base required Data Absent Reason 📦6.0.0-ballot5 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 FHIR Std.
Observation.context Base example Observation Context Codes 📍6.0.0-ballot5 FHIR Std.
Observation.bodyStructure Base example SNOMED CT Body Structures 📍6.0.0-ballot5 FHIR Std.
Observation.method Base example Observation Methods 📍6.0.0-ballot5 FHIR Std.
Observation.device.type Base extensible Resource Types 📍6.0.0-ballot5 FHIR Std.
Observation.supportingDevice Base example Device Type 📍6.0.0-ballot5 FHIR Std.
Observation.referenceRange.​normalValue Base example Observation Reference Range Normal Value Codes 📍6.0.0-ballot5 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍6.0.0-ballot5 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍6.0.0-ballot5 FHIR Std.
Observation.component.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component.​dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component:supplementalTypesComponent.​interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​code Base required MDC Non-Object codes 📦3.0.0-draft This IG
Observation.component:compound.​value[x].comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason.coding Base required Data Absent Reason 📦6.0.0-ballot5 FHIR Std.
Observation.component:compound.​interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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())
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').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 Observation.dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
obs-9 error Observation.specimen If Observation.specimen is a reference to Group, the group can only have specimens (reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)
obs-10 error Observation Observation.component.dataAbsentReason SHALL only be present if Observation.component.value[x] is not present component.empty() or component.where(dataAbsentReason.exists()).all(value.empty())
obs-11 error Observation if organizer exists and organizer = true, then value[x], dataAbsentReason and component SHALL NOT be present (organizer.exists() and organizer.allTrue()) implies (value.empty() and dataAbsentReason.empty() and component.empty())
obs-12 warning Observation All observations SHOULD have a performer performer.exists()
obs-13 error Observation.referenceRange.low If low.comparator exists, it must be '>=' or '>'. comparator.exists() implies (comparator = '>=' or comparator = '>')
obs-14 error Observation.referenceRange.high If high.comparator exists, it must be '<=' or '<'. comparator.exists() implies (comparator = '<=' or comparator = '<')
phd-dim-code error Observation.component:compound.value[x] If system is MDC, code must be a partition-4 dimension code (262144-327679) system != 'urn:iso:std:iso:11073:10101' or (code.toInteger() >= 262144 and code.toInteger() <= 327679)
system-is-mdc-or-ucum error Observation.component:compound.value[x].system system SHALL be either the MDC or UCUM URI $this = 'urn:iso:std:iso:11073:10101' or $this = 'http://unitsofmeasure.org'
unit-system-code-coherent error Observation.component:compound.value[x] system and code SHALL be coherent: UCUM system uses UCUM code, MDC system uses MDC code (system = 'http://unitsofmeasure.org' implies code.memberOf('http://hl7.org/fhir/ValueSet/ucum-units')) and (system = 'urn:iso:std:iso:11073:10101' implies code.memberOf('http://hl7.org/fhir/uv/phd/ValueSet/MDCValueSet'))

Summary

Mandatory: 0 element(11 nested mandatory elements)
Prohibited: 1 element

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.component.value[x]
  • The element 1 is sliced based on the value of Observation.component.code.coding
  • The element 1 is sliced based on the value of Observation.component.interpretation.coding

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* PhdBaseObservation Measurements and simple assertions
Constraints: obs-6, obs-7, obs-10, obs-11, obs-12
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:GatewayDevice 1..1 (Complex) Device Gateway
URL: http://hl7.org/fhir/StructureDefinition/device-gateway
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/device-gateway"
.... extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
..... value ΣC 1..1 string The value that is unique
Example General: 123456
... status ?!Σ 1..1 code registered | in-process | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
Binding: ObservationStatus (required): Codes providing the status of an observation.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:PHD-Observation 1..1 CodeableConcept PHD observation category
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
...... 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 ΣC 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible): IEEE 11073-10101 Nomenclature codes for PHD measurements
Constraints: mdc-1
... subject Σ 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
... focus ?!Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... Slices for effective[x] Σ 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime Σ 0..1 dateTime Clinically relevant time/time-period for observation
.... effective[x]:effectivePeriod Σ 0..1 Period Clinically relevant time/time-period for observation
... dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... device 1..1 Reference(PhdDevice) A reference to the device that generates the measurements or the device settings for the device
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
... Slices for component ΣC 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
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCObsOrBoth (example): Codes identifying names of simple observations.
..... Slices for value[x] ΣC 0..1 Actual component result
Slice: Unordered, Open by type:$this
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
...... valueAttachment Attachment
...... value[x]:valueQuantity ΣC 0..1 Quantity Actual component result
....... value Σ 0..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... code ΣC 0..1 code Coded form of the unit
.... component:supplementalTypesComponent ΣC 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Supplemental-Types code (68193)
Binding: LOINCObsOrBoth (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: urn:iso:std:iso:11073:10101
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
....... 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
.... component:compound ΣC 0..* BackboneElement Compound numeric measurement entry components
..... Slices for extension Content/Rules for all slices
...... extension:Accuracy 0..1 Quantity Numeric Accuracy
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Accuracy
...... extension:Confidence95 0..1 Range Confidence95
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Confidence95
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: MDC Non-Object codes (required)
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ system Σ 1..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
........ code ΣC 1..1 code Symbol in syntax defined by the system
...... text Σ 0..1 string Plain text representation of the concept
..... value[x] ΣC 0..1 Quantity Actual component result
Constraints: unit-system-code-coherent, phd-dim-code
...... value Σ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... system ΣC 1..1 uri System that defines coded unit form
Constraints: system-is-mdc-or-ucum
...... code ΣC 1..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Populated when the component reports a special FLOAT value
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
...... coding Σ 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍6.0.0-ballot5 FHIR Std.
Observation.status Base required Observation Status 📍6.0.0-ballot5 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦3.0.0-draft This IG
Observation.dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​code Base required MDC Non-Object codes 📦3.0.0-draft This IG
Observation.component:compound.​value[x].comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason.coding Base required Data Absent Reason 📦6.0.0-ballot5 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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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())
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').exists()
obs-6 error Observation Observation.dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
obs-10 error Observation Observation.component.dataAbsentReason SHALL only be present if Observation.component.value[x] is not present component.empty() or component.where(dataAbsentReason.exists()).all(value.empty())
obs-11 error Observation if organizer exists and organizer = true, then value[x], dataAbsentReason and component SHALL NOT be present (organizer.exists() and organizer.allTrue()) implies (value.empty() and dataAbsentReason.empty() and component.empty())
obs-12 warning Observation All observations SHOULD have a performer performer.exists()
phd-dim-code error Observation.component:compound.value[x] If system is MDC, code must be a partition-4 dimension code (262144-327679) system != 'urn:iso:std:iso:11073:10101' or (code.toInteger() >= 262144 and code.toInteger() <= 327679)
system-is-mdc-or-ucum error Observation.component:compound.value[x].system system SHALL be either the MDC or UCUM URI $this = 'urn:iso:std:iso:11073:10101' or $this = 'http://unitsofmeasure.org'
unit-system-code-coherent error Observation.component:compound.value[x] system and code SHALL be coherent: UCUM system uses UCUM code, MDC system uses MDC code (system = 'http://unitsofmeasure.org' implies code.memberOf('http://hl7.org/fhir/ValueSet/ucum-units')) and (system = 'urn:iso:std:iso:11073:10101' implies code.memberOf('http://hl7.org/fhir/uv/phd/ValueSet/MDCValueSet'))

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* PhdBaseObservation Measurements and simple assertions
... value[x] 0..0 Actual result
... component 0..* BackboneElement Component results
.... code
..... coding
...... system 0..1 uri Identity of the terminology system
...... code 0..1 code Symbol in syntax defined by the system
.... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment Actual component result
Slice: Unordered, Open by type:$this
..... value[x]:valueQuantity 0..1 Quantity Actual component result
...... value 0..1 decimal Numerical value (with implicit precision)
...... code 0..1 code Coded form of the unit
... Slices for component Content/Rules for all slices
.... component:compound 0..* BackboneElement Compound numeric measurement entry components
..... Slices for extension Content/Rules for all slices
...... extension:Accuracy 0..1 Quantity Numeric Accuracy
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Accuracy
...... extension:Confidence95 0..1 Range Confidence95
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Confidence95
..... code 1..1 CodeableConcept Type of component observation (code / type)
Binding: MDC Non-Object codes (required)
...... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MdcType 1..1 Coding The 11073-10101 MDC code for the measurement
........ system 1..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
........ code 1..1 code Symbol in syntax defined by the system
...... text 0..1 string Plain text representation of the concept
..... value[x] C 0..1 Quantity Actual component result
Constraints: unit-system-code-coherent, phd-dim-code
...... value 1..1 decimal Numerical value (with implicit precision)
...... system C 1..1 uri System that defines coded unit form
Constraints: system-is-mdc-or-ucum
...... code 1..1 code Coded form of the unit
..... dataAbsentReason 0..1 CodeableConcept Populated when the component reports a special FLOAT value
...... coding 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
..... interpretation
...... Slices for coding 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MsmtStatusInterpretation 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
........ system 1..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
........ code 1..1 code Symbol in syntax defined by the system

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.component:compound.​code Base required MDC Non-Object codes 📦3.0.0-draft This IG
Observation.component:compound.​dataAbsentReason.coding Base required Data Absent Reason 📦6.0.0-ballot5 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
phd-dim-code error Observation.component:compound.value[x] If system is MDC, code must be a partition-4 dimension code (262144-327679) system != 'urn:iso:std:iso:11073:10101' or (code.toInteger() >= 262144 and code.toInteger() <= 327679)
system-is-mdc-or-ucum error Observation.component:compound.value[x].system system SHALL be either the MDC or UCUM URI $this = 'urn:iso:std:iso:11073:10101' or $this = 'http://unitsofmeasure.org'
unit-system-code-coherent error Observation.component:compound.value[x] system and code SHALL be coherent: UCUM system uses UCUM code, MDC system uses MDC code (system = 'http://unitsofmeasure.org' implies code.memberOf('http://hl7.org/fhir/ValueSet/ucum-units')) and (system = 'urn:iso:std:iso:11073:10101' implies code.memberOf('http://hl7.org/fhir/uv/phd/ValueSet/MDCValueSet'))

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* PhdBaseObservation Measurements and simple assertions
Constraints: obs-6, obs-7, obs-10, obs-11, obs-12
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... Slices for security Σ 0..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:$this
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... security:PhdHtest Σ 0..1 Coding Security value set to HTEST when measurement status indicates demo or test data
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.

Required Pattern: At least the following
...... 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/v3-ActReason
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: HTEST
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:GatewayDevice 1..1 (Complex) Device Gateway
URL: http://hl7.org/fhir/StructureDefinition/device-gateway
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/device-gateway"
..... value[x] 0..1 CodeableReference(PhgDevice) Reference to the PHG Device
Binding: DeviceType (example)
.... extension:CoincidentTimeStamp 0..1 Reference(PhdCoincidentTimeStampObservation) Coincident Timestamp Reference
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/CoincidentTimeStampReference
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:conditionalCreate Σ 0..1 Identifier Unique identifier of this measurement for a given patient and device
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation
..... value ΣC 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... triggeredBy 0..* BackboneElement Triggering observation(s)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
.... observation Σ 1..1 Reference(Observation) Triggering observation
.... type Σ 1..1 code reflex | repeat | re-run
Binding: TriggeredBytype (required): The type of TriggeredBy Observation.
.... reason 0..1 string Reason that the observation was triggered
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!Σ 1..1 code registered | in-process | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
Binding: ObservationStatus (required): Codes providing the status of an observation.
... statusReason 0..1 CodeableConcept Reason for current status
Binding: ObservationStatusReason (example): Codes identifying the reason for the current state of an observation.
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
.... category:PHD-Observation 1..1 CodeableConcept PHD observation category
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: phd
...... 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 ΣC 1..1 CodeableConcept Type of observation (code / type)
Binding: MDC Non-Object codes (extensible): IEEE 11073-10101 Nomenclature codes for PHD measurements
Constraints: mdc-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 0..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code ΣC 0..1 code Symbol in syntax defined by the system
..... display ΣC 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 Σ 1..1 Reference(Patient | PhdDevice) Reference to the patient or the PhdDevice that is the subject of the observation
... focus ?!Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... organizer ΣC 0..1 boolean This observation organizes/groups a set of sub-observations
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension
... Slices for effective[x] Σ 1..1 Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime Σ 0..1 dateTime Clinically relevant time/time-period for observation
.... effective[x]:effectivePeriod Σ 0..1 Period Clinically relevant time/time-period for observation
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC 0..1 dateTime Starting time with inclusive boundary
..... end ΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
... issued Σ 0..1 instant Date/Time this version was made available
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson | HealthcareService | Group) Who is responsible for the observation
... dataAbsentReason C 0..1 CodeableConcept This element is populated when the Measurement Status indicates invalid, not available or measurement-ongoing.
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
.... text Σ 0..1 string Plain text representation of the concept
... interpretation 0..* CodeableConcept High, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:MsmtStatusInterpretation Σ 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
...... version Σ 0..1 string Version of the system - if relevant
...... code ΣC 1..1 code Symbol in syntax defined by the system
...... display ΣC 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
... context 0..* CodeableReference(Resource) Context for understanding the observation
Binding: ObservationContextCodes (example): Codes identifying contextual factors that affect interpretation of observations.
... note 0..* Annotation Comments about the observation
... bodySite 0..1 CodeableConcept DEPRECATED: Observed body part
... bodyStructure 0..* CodeableReference(BodyStructure) Observed body structure
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body Structures
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen C 0..1 Reference(Specimen | Group) Specimen used for this observation
Constraints: obs-9
... device 1..1 Reference(PhdDevice) A reference to the device that generates the measurements or the device settings for the device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Reference to the device responsible for the measurement
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient") - must be a resource in resources
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier ΣC 0..1 Identifier Logical reference, when literal reference is not known
.... display ΣC 0..1 string Text alternative for the resource
... supportingDevice 0..* CodeableReference(Device) Device supporting generation of the measurement
Binding: DeviceType (example): Type of device supporting the generation of the measurement.
... 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
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
.... low C 0..1 Quantity Low Range, if relevant
Constraints: obs-13
.... high C 0..1 Quantity High Range, if relevant
Constraints: obs-14
.... normalValue 0..1 CodeableConcept Normal value, if relevant
Binding: ObservationReferenceRangeNormalValueCodes (example): Codes identifying the normal value of the observation.
.... 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 C 0..1 markdown Text based reference range in an observation
... hasMember Σ 0..* Reference(PhdBaseObservation) Other PHD Observations that are part of this group observation.
... derivedFrom Σ 0..* Reference(PhdBaseObservation) A source the measurement data is derived from.
... Slices for component ΣC 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
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCObsOrBoth (example): Codes identifying names of simple observations.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 0..1 uri Identity of the terminology system
....... version Σ 0..1 string Version of the system - if relevant
....... code ΣC 0..1 code Symbol in syntax defined by the system
....... display ΣC 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
..... Slices for value[x] ΣC 0..1 Actual component result
Slice: Unordered, Open by type:$this
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
...... valueAttachment Attachment
...... value[x]:valueQuantity ΣC 0..1 Quantity Actual component result
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... value Σ 0..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 0..1 string Unit representation
....... system ΣC 0..1 uri System that defines coded unit form
....... code ΣC 0..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Why the component result value 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 value
.... component:supplementalTypesComponent ΣC 0..* BackboneElement Supplemental Type: A further description of the measurement type.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Supplemental-Types code (68193)
Binding: LOINCObsOrBoth (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: urn:iso:std:iso:11073:10101
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 68193
....... 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] ΣC 0..1 CodeableConcept Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 0..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
....... version Σ 0..1 string Version of the system - if relevant
....... code ΣC 0..1 code Symbol in syntax defined by the system
....... display ΣC 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
..... 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 value
.... component:compound ΣC 0..* BackboneElement Compound numeric measurement entry components
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for extension Content/Rules for all slices
...... extension:Accuracy 0..1 Quantity Numeric Accuracy
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Accuracy
...... extension:Confidence95 0..1 Range Confidence95
URL: http://hl7.org/fhir/uv/phd/StructureDefinition/Confidence95
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Slice: Unordered, Open by value:url
..... code ΣC 1..1 CodeableConcept Type of component observation (code / type)
Binding: MDC Non-Object codes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MdcType Σ 1..1 Coding The 11073-10101 MDC code for the measurement
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ system Σ 1..1 uri Identity of the terminology system
Required Pattern: urn:iso:std:iso:11073:10101
........ version Σ 0..1 string Version of the system - if relevant
........ code ΣC 1..1 code Symbol in syntax defined by the system
........ display ΣC 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] ΣC 0..1 Quantity Actual component result
Constraints: unit-system-code-coherent, phd-dim-code
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > | ~ | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... unit Σ 0..1 string Unit representation
...... system ΣC 1..1 uri System that defines coded unit form
Constraints: system-is-mdc-or-ucum
...... code ΣC 1..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Populated when the component reports a special FLOAT value
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system
Binding: DataAbsentReason (required)
...... text Σ 0..1 string Plain text representation of the concept
..... interpretation 0..* CodeableConcept High, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
...... Slices for coding Content/Rules for all slices
....... coding:MsmtStatusInterpretation Σ 1..1 Coding Measurement status interpretation when questionable, calibration-ongoing, validated, early-indication, threshold exceeded, alarm inhibited
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status
........ version Σ 0..1 string Version of the system - if relevant
........ code ΣC 1..1 code Symbol in syntax defined by the system
........ display ΣC 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
..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result value

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.meta.security Base extensible All Security Labels 📍6.0.0-ballot5 FHIR Std.
Observation.meta.security:PhdHtest Base extensible All Security Labels 📍6.0.0-ballot5 FHIR Std.
Observation.meta.tag Base example Common Tags 📍6.0.0-ballot5 FHIR Std.
Observation.language Base required All Languages 📍6.0.0-ballot5 FHIR Std.
Observation.extension:GatewayDevice.​value[x] Base example Device Type 📦6.0.0-ballot5 FHIR Std.
Observation.identifier:conditionalCreate.​use Base required IdentifierUse 📍6.0.0-ballot5 FHIR Std.
Observation.triggeredBy.​type Base required triggered Bytype 📍6.0.0-ballot5 FHIR Std.
Observation.status Base required Observation Status 📍6.0.0-ballot5 FHIR Std.
Observation.statusReason Base example Observation Status Reason 📍6.0.0-ballot5 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.category:PHD-Observation Base preferred Observation Category Codes 📍6.0.0-ballot5 FHIR Std.
Observation.code Base extensible MDC Non-Object codes 📦3.0.0-draft This IG
Observation.dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.dataAbsentReason.​coding Base required Data Absent Reason 📦6.0.0-ballot5 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 FHIR Std.
Observation.context Base example Observation Context Codes 📍6.0.0-ballot5 FHIR Std.
Observation.bodyStructure Base example SNOMED CT Body Structures 📍6.0.0-ballot5 FHIR Std.
Observation.method Base example Observation Methods 📍6.0.0-ballot5 FHIR Std.
Observation.device.type Base extensible Resource Types 📍6.0.0-ballot5 FHIR Std.
Observation.supportingDevice Base example Device Type 📍6.0.0-ballot5 FHIR Std.
Observation.referenceRange.​normalValue Base example Observation Reference Range Normal Value Codes 📍6.0.0-ballot5 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍6.0.0-ballot5 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍6.0.0-ballot5 FHIR Std.
Observation.component.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component.​value[x]:valueQuantity.​comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component.​dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 FHIR Std.
Observation.component:supplementalTypesComponent.​code Base example LOINC codes with Observation or Both 📍6.0.0-ballot5 FHIR Std.
Observation.component:supplementalTypesComponent.​interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​code Base required MDC Non-Object codes 📦3.0.0-draft This IG
Observation.component:compound.​value[x].comparator Base required QuantityComparator 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason Base extensible Data Absent Reason 📍6.0.0-ballot5 FHIR Std.
Observation.component:compound.​dataAbsentReason.coding Base required Data Absent Reason 📦6.0.0-ballot5 FHIR Std.
Observation.component:compound.​interpretation Base extensible Observation Interpretation Codes 📍6.0.0-ballot5 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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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())
mdc-1 warning Observation.code A published MDC Code is preferred but private MDC codes are allowed as well. coding.exists() and coding.where(system = 'urn:iso:std:iso:11073:10101').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 Observation.dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value). value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
obs-9 error Observation.specimen If Observation.specimen is a reference to Group, the group can only have specimens (reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)
obs-10 error Observation Observation.component.dataAbsentReason SHALL only be present if Observation.component.value[x] is not present component.empty() or component.where(dataAbsentReason.exists()).all(value.empty())
obs-11 error Observation if organizer exists and organizer = true, then value[x], dataAbsentReason and component SHALL NOT be present (organizer.exists() and organizer.allTrue()) implies (value.empty() and dataAbsentReason.empty() and component.empty())
obs-12 warning Observation All observations SHOULD have a performer performer.exists()
obs-13 error Observation.referenceRange.low If low.comparator exists, it must be '>=' or '>'. comparator.exists() implies (comparator = '>=' or comparator = '>')
obs-14 error Observation.referenceRange.high If high.comparator exists, it must be '<=' or '<'. comparator.exists() implies (comparator = '<=' or comparator = '<')
phd-dim-code error Observation.component:compound.value[x] If system is MDC, code must be a partition-4 dimension code (262144-327679) system != 'urn:iso:std:iso:11073:10101' or (code.toInteger() >= 262144 and code.toInteger() <= 327679)
system-is-mdc-or-ucum error Observation.component:compound.value[x].system system SHALL be either the MDC or UCUM URI $this = 'urn:iso:std:iso:11073:10101' or $this = 'http://unitsofmeasure.org'
unit-system-code-coherent error Observation.component:compound.value[x] system and code SHALL be coherent: UCUM system uses UCUM code, MDC system uses MDC code (system = 'http://unitsofmeasure.org' implies code.memberOf('http://hl7.org/fhir/ValueSet/ucum-units')) and (system = 'urn:iso:std:iso:11073:10101' implies code.memberOf('http://hl7.org/fhir/uv/phd/ValueSet/MDCValueSet'))

Summary

Mandatory: 0 element(11 nested mandatory elements)
Prohibited: 1 element

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.component.value[x]
  • The element 1 is sliced based on the value of Observation.component.code.coding
  • The element 1 is sliced based on the value of Observation.component.interpretation.coding

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron

Notes:

A compound numeric observation reports a measurement value that is described by a set of multiple numbers such as the x, y, and z components of an acceleration. It is NOT used to report an array of measurements but only where the quantity being measured requires more than one number to describe it. Each individual entry of the compound value is reported in an Observation.component element. The encoding of each entry should indicate both precision and the number of significant figures. The Observation.component.valueQuantity.value element is required to honor the reported precision as indicated by the encoding. See the section FLOATs and SFLOATs for instructions on handling IEEE 11073 FLOATs and their encoding to the valueQuantity.

In IEEE 11073-20601 the Observation.component.code –element is obtained from the Metric-Id-List attribute unless the measurement reported is a Compound-Nu-Observed-Value attribute. In that case the attribute itself has the metric type for each entry and that is used instead of the Metric-Id-List entries. The order of the entries in the Metric-Id-List are one-to-one with the order of the compound attribute entries. For example, if the Metric-Id-List in the Blood Pressure measurement has MDC codes for 'systolic", "diastolic" and "mean" in that order, the quantities in the compound attribute are the systolic, diastolic, and mean values, respectively.

The Observation.code element comes from the Type attribute and gives the general type of measurement. For example, the Type attribute might indicate "acceleration" or "non-invasive blood pressure". There is no Observation.value[x] entry. There may still be an Observation.dataAbsentReason element if, say, the Measurement-Status attribute indicates an invalid or otherwise overall failure value. If there is such an overall failure of the measurement, then there is no need to report the components.

The structure definition is given here

Additional Numerical Measurement Information

IEEE 11073-20601 numeric measurement values may have some additional optional attributes that are used only for numerics. An example of such a numeric-only additional attribute is one that describes the accuracy of the measurement value.

In FHIR these attributes are reported in extensions. The same extensions that are used as for non-compound numeric measurements can be used for the numeric components.