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: PhdStringObservation

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

Observations from a PHD where the measurement is a human readable string.

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 Reports observations that are human-readable strings
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
... value[x] ΣC 0..1 string Human readable text string
... 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.
.... 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

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:supplementalTypesComponent.​code Base example LOINC codes with Observation or Both 📍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()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* PhdBaseObservation Reports observations that are human-readable strings
... value[x] 0..1 string Human readable text string

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* PhdBaseObservation Reports observations that are human-readable strings
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
... value[x] ΣC 0..1 string Human readable text string
... 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.
..... value[x] ΣC 0..1 Actual component result
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
...... valueAttachment Attachment
..... 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

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.​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.

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 = '<')

Summary

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* PhdBaseObservation Reports observations that are human-readable strings
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
... value[x] ΣC 0..1 string Human readable text string
... 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.
.... 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

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:supplementalTypesComponent.​code Base example LOINC codes with Observation or Both 📍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()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* PhdBaseObservation Reports observations that are human-readable strings
... value[x] 0..1 string Human readable text string

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* PhdBaseObservation Reports observations that are human-readable strings
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
... value[x] ΣC 0..1 string Human readable text string
... 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.
..... value[x] ΣC 0..1 Actual component result
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
...... valueAttachment Attachment
..... 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

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.​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.

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 = '<')

Summary

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron