Personal Health Device Implementation Guide
1.0.0 - STU 1

Publication Build: This will be filled in by the publication tooling

## Resource Profile: PhdCoincidentTimeStampObservation

Defining URL: | http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation
Version: | 1.0.0
Name: | PhdCoincidentTimeStampObservation
Status: | Draft as of 2017-06-02 02:29:52-0400
Definition: | StructureDefinition for Observation Resources representing the coincident time stamp. This report is a measurement of the current time of the sensor at the current time of the PHG. The purpose of this observation is to record the difference in the time lines between the PHG and PHD and to be able to recover the original measurement time stamps reported by the PHD should the PHG correct them because the sensor clock is in error.
Publisher: | HL7 International - Health Care Devices Work Group
Committee: | Orders and Observations
Source Resource: | XML / JSON / Turtle

The official URL for this profile is:

    http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation

### Formal Views of Profile Content

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

- Text Summary
- Differential Table
- Snapshot Table
- Snapshot Table (Must Support)
- All

This structure is derived from Observation

Summary

Mandatory: 13 elements (4 nested mandatory elements)
Fixed Value: 6 elements

Slices

This structure defines the following Slices:

- The element Observation.meta.profile is sliced based on the value of value:value
- The element Observation.code.coding is sliced based on the value of value:system
- The element Observation.dataAbsentReason.coding is sliced based on the value of value:system

This structure is derived from Observation

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | Measurements and simple assertions
meta |  | 1..1 | Meta | Metadata about the resource
Slices for profile |  | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:value
profile:phdProfile |  | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation
extension |  | 1..1 | Extension | Extension for the PHG
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
valueReference |  | 1..1 | Reference() | Reference to the Personal Health Gateway (PHG) Device
status |  | 1..1 | code | registered | preliminary | final | amended + Fixed Value: final
code |  |  |  |
Slices for coding |  | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:MDCType |  | 1..1 | Coding | The required MDC code for the type of time clock used by the PHD
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: urn:iso:std:iso:11073:10101
code |  | 1..1 | code | Symbol in syntax defined by the system
subject |  | 1..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about
reference |  | 1..1 | string | Literal reference, Relative, internal or absolute URL
effectiveDateTime |  | 0..1 | dateTime | The current time of the PHG at the current time of the PHD. Absent if PHD is better synchronized
value[x] |  | 0..1 |  | The current time of the PHD as a wallclock time (dateTime), relative time (Quantity), or if a time fault a dataAbsentReason
valueDateTime |  |  | dateTime |
valueQuantity |  |  | Quantity |
dataAbsentReason |  | 0..1 | CodeableConcept | Populated when the PHD has a time fault
Slices for coding |  | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:FhirDefault |  | 1..1 | Coding | Code defined by a terminology system
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: unknown
device |  | 1..1 | Reference(Device | DeviceMetric) | (Measurement) Device
reference |  | 1..1 | string | Reference to the device responsible for the measurement
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation | I | 0..* | Observation | Measurements and simple assertions
id | Σ | 0..1 | string | Logical id of this artifact
meta | Σ | 1..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
Slices for profile | Σ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:value
profile:phdProfile | Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
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: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 1..1 | Extension | Extension for the PHG
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
Slices for value[x] |  | 1..1 | Reference() | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueReference |  | 1..1 | Reference() | Reference to the Personal Health Gateway (PHG) Device
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Fixed Value: final
category |  | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
code | Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (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
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:MDCType | Σ | 1..1 | Coding | The required MDC code for the type of time clock used by the PHD
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 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
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
subject | Σ | 1..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about
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 | Σ I | 1..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made
Slices for effective[x] | Σ | 0..1 | dateTime | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | The current time of the PHG at the current time of the PHD. Absent if PHD is better synchronized
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation
value[x] | Σ I | 0..1 |  | The current time of the PHD as a wallclock time (dateTime), relative time (Quantity), or if a time fault a dataAbsentReason
valueDateTime |  |  | dateTime |
valueQuantity |  |  | Quantity |
dataAbsentReason | I | 0..1 | CodeableConcept | Populated when the PHD has a time fault 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
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:FhirDefault | Σ | 1..1 | 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 | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: unknown
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
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen |  | 0..1 | Reference(Specimen) | Specimen used for this observation
device |  | 1..1 | Reference(Device | DeviceMetric) | (Measurement) 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 | Σ I | 1..1 | string | Reference to the device responsible for the measurement
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | I | 0..1 | SimpleQuantity | Low Range, if relevant
high | I | 0..1 | SimpleQuantity | High Range, if relevant
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text |  | 0..1 | string | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from
component | Σ | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | I | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation | I | 0..* | Observation | Measurements and simple assertions
Documentation for this format

This structure is derived from Observation

Summary

Mandatory: 13 elements (4 nested mandatory elements)
Fixed Value: 6 elements

Slices

This structure defines the following Slices:

- The element Observation.meta.profile is sliced based on the value of value:value
- The element Observation.code.coding is sliced based on the value of value:system
- The element Observation.dataAbsentReason.coding is sliced based on the value of value:system

Differential View

This structure is derived from Observation

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | Measurements and simple assertions
meta |  | 1..1 | Meta | Metadata about the resource
Slices for profile |  | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:value
profile:phdProfile |  | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation
extension |  | 1..1 | Extension | Extension for the PHG
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
valueReference |  | 1..1 | Reference() | Reference to the Personal Health Gateway (PHG) Device
status |  | 1..1 | code | registered | preliminary | final | amended + Fixed Value: final
code |  |  |  |
Slices for coding |  | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:MDCType |  | 1..1 | Coding | The required MDC code for the type of time clock used by the PHD
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: urn:iso:std:iso:11073:10101
code |  | 1..1 | code | Symbol in syntax defined by the system
subject |  | 1..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about
reference |  | 1..1 | string | Literal reference, Relative, internal or absolute URL
effectiveDateTime |  | 0..1 | dateTime | The current time of the PHG at the current time of the PHD. Absent if PHD is better synchronized
value[x] |  | 0..1 |  | The current time of the PHD as a wallclock time (dateTime), relative time (Quantity), or if a time fault a dataAbsentReason
valueDateTime |  |  | dateTime |
valueQuantity |  |  | Quantity |
dataAbsentReason |  | 0..1 | CodeableConcept | Populated when the PHD has a time fault
Slices for coding |  | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:FhirDefault |  | 1..1 | Coding | Code defined by a terminology system
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: unknown
device |  | 1..1 | Reference(Device | DeviceMetric) | (Measurement) Device
reference |  | 1..1 | string | Reference to the device responsible for the measurement
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation | I | 0..* | Observation | Measurements and simple assertions
id | Σ | 0..1 | string | Logical id of this artifact
meta | Σ | 1..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
Slices for profile | Σ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:value
profile:phdProfile | Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
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: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 1..1 | Extension | Extension for the PHG
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice"
Slices for value[x] |  | 1..1 | Reference() | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueReference |  | 1..1 | Reference() | Reference to the Personal Health Gateway (PHG) Device
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Fixed Value: final
category |  | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
code | Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (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
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:MDCType | Σ | 1..1 | Coding | The required MDC code for the type of time clock used by the PHD
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 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
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
subject | Σ | 1..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about
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 | Σ I | 1..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made
Slices for effective[x] | Σ | 0..1 | dateTime | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | The current time of the PHG at the current time of the PHD. Absent if PHD is better synchronized
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation
value[x] | Σ I | 0..1 |  | The current time of the PHD as a wallclock time (dateTime), relative time (Quantity), or if a time fault a dataAbsentReason
valueDateTime |  |  | dateTime |
valueQuantity |  |  | Quantity |
dataAbsentReason | I | 0..1 | CodeableConcept | Populated when the PHD has a time fault 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
Slices for coding | Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:FhirDefault | Σ | 1..1 | 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 | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: unknown
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
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen |  | 0..1 | Reference(Specimen) | Specimen used for this observation
device |  | 1..1 | Reference(Device | DeviceMetric) | (Measurement) 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 | Σ I | 1..1 | string | Reference to the device responsible for the measurement
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | I | 0..1 | SimpleQuantity | Low Range, if relevant
high | I | 0..1 | SimpleQuantity | High Range, if relevant
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text |  | 0..1 | string | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from
component | Σ | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | I | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

Other representations of profile: CSV, Excel, Schematron

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.meta.security | extensible | All Security Labels
Observation.meta.tag | example | CommonTags
Observation.language | preferred | CommonLanguages Max Binding: AllLanguages
Observation.status | required | Fixed Value: final
Observation.category | preferred | ObservationCategoryCodes
Observation.code | example | LOINCCodes
Observation.subject.type | extensible | ResourceType
Observation.dataAbsentReason | extensible | DataAbsentReason
Observation.interpretation | extensible | ObservationInterpretationCodes
Observation.bodySite | example | SNOMEDCTBodyStructures
Observation.method | example | ObservationMethods
Observation.device.type | extensible | ResourceType
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes
Observation.component.code | example | LOINCCodes
Observation.component.dataAbsentReason | extensible | DataAbsentReason
Observation.component.interpretation | extensible | ObservationInterpretationCodes

#### Constraints

Id | Grade | Path | Details | Requirements
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | Best Practice | Observation | A resource should have narrative for robust management : text.`div`.exists() |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
ele-1 | error | Observation.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.meta.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.meta.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.meta.versionId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.meta.lastUpdated | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.meta.source | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.meta.profile | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.meta.profile:phdProfile | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.meta.security | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.meta.tag | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.extension.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.extension.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.extension.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.extension.value[x]:valueReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.code.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.code.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.coding:MDCType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.coding:MDCType.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.code.coding:MDCType.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.code.coding:MDCType.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.coding:MDCType.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.coding:MDCType.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.coding:MDCType.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.coding:MDCType.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.code.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.subject.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.subject.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.subject.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.subject.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.subject.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.subject.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.focus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.effective[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.effective[x]:effectiveDateTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.issued | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.performer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.dataAbsentReason.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.dataAbsentReason.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.coding:FhirDefault | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.coding:FhirDefault.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.dataAbsentReason.coding:FhirDefault.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.dataAbsentReason.coding:FhirDefault.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.coding:FhirDefault.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.coding:FhirDefault.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.coding:FhirDefault.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.coding:FhirDefault.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.dataAbsentReason.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.bodySite | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.specimen | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.device | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.device.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.device.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.device.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.device.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.device.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.device.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() |
ele-1 | error | Observation.referenceRange.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.referenceRange.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.referenceRange.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.referenceRange.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.referenceRange.low | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.referenceRange.high | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.referenceRange.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.referenceRange.appliesTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.referenceRange.age | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.referenceRange.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.hasMember | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.derivedFrom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.component | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.component.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.component.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.component.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | Observation.component.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | error | Observation.component.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.component.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.component.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.component.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | error | Observation.component.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |