Phd Coincident Time Stamp Observation Profile
The Coincident Time Stamp Observation Profile is used to compare the timelines of the PHD with the timeline of the PHG. The primary elements are the Observation.effectiveDateTime which has the current time of the PHG and the Observation.valueDateTime or Observation.valueQuantity which has the current time of the PHD. The valueDateTime is used when the PHD uses either an Absolute or Base-Offset time clock and the valueQuantity is used when the PHD uses a relative time clock. The PHG reports its current time at the time it reads the current time of the PHD. For more details on the interpretation of the Coincident Time Stamp see the section Coincident Time Stamp.
A Phd Observtion will always reference a Coincident Time Stamp Observation if the measurement reported from the PHD contains a time stamp. It will not reference a Coincident Time Stamp Observation if the measurement contains no time stamp.
If a PHD has its time clock altered, a Date-Time-Adjustment attribute is sent to the PHG. The attribute can come in a live measurement, come by itself, or be part of the PM Segment information in perisitently stored data. When a Date-Time-Adjustment occurs by itself, a new Coincident Time Stamp Observation is generated and all data sent after the adjustment will reference the new Coincident Time Stamp Observation. If it comes as part of the data, the Date-Time-Adjustment tells how much one has to adjust the time stamp of the measurement to bring it to the current time line of the agent.
The Coincident Time Stamp Observation is created every connection so data duplication is not an issue. Therefore the identifier element of this resource is not used in this profile.
The Structure Definition for the Phd Coincident Time Stamp Observation Profile is as follows:
PhdCoincidentTimeStampObservation (Observation) | http://hl7.org/fhir/StructureDefinition/Observation | ||
meta | 1.. | ||
profile | 1.. | ||
phdProfile | 1..1 | Fixed Value | |
status | Fixed Value | ||
code | |||
coding | 1.. | ||
11073Type | 1..1 | ||
system | 1.. | Fixed Value | |
code | 1.. | ||
subject | 1.. | ||
reference | 1.. | ||
effectiveDateTime | dateTime | ||
value[x] | |||
dateTimeValue | dateTime | ||
relativeTimeValue | Quantity | ||
value | 1.. | ||
unit | |||
system | 1.. | Fixed Value | |
code | 1.. | Fixed Value | |
dataAbsentReason | |||
coding | 1..1 | ||
system | 1.. | Fixed Value | |
code | 1.. | Fixed Value | |
device | 1.. | ||
reference | 1.. |
Code
The code element is used to report the type of time clock used by the PHD. The PHG obtains the type of time clock and its current setting by reading the MDS attributes. There are four types of clocks as follows:
Attribute | Type of clock | Description | FHIR mapping |
---|---|---|---|
Date-and-Time | Absolute time | Wall-clock time with offset to UTC | Observation.code.coding.code = 67975 |
Base-Offset-Time | Base offset time | Wall-clock time with offset to some base time, often UTC | Observation.code.coding.code = 68226 |
Relative-Time | relative time | a sequence of ticks with 1/8th millisecond resolution | Observation.code.coding.code = 67983 |
HiRes-Relative-Time | relative time | a sequence of ticks with microsecond resolution | Observation.code.coding.code = 68072 |
Subject
The subject element points to the PhdPatient resource using the logical id of the Patient resource, for example 'Patient/123546'
Populating the PHG Current Time
The PHG is required to have the capability to report local time and offset to UTC. The PHG records its current time in the Observation.effectiveDateTime element regardless of the type of time clock used by the PHD unless the PHD has superior time synchronization than the PHG see the section Coincident Time Stamp on this topic. In that case, the Observation.effective[x] element is not populated.
Populating the PHD Current Time
If the PHD uses an Absolute or Base-Offset time clock, the current time of the PHD is reported in an Observation.valueDateTime element. FHIR requires the presence of an offset to UTC so if the PHD uses an absolute time, the PHG adds its offset to the value. Since all PHDs currently use local transports, the PHD and PHG are logically in the same time zone and thus have the same offset to UTC. However, if the PHD is using Base offset time, the offset reported by the PHD is used even if it is NOT the offset of the PHG.
If the PHD uses a relative time clock the current tick time is reported in an Observation.valueQuantity element scaled to microseconds.
If the PHD has a time fault, the Observation.value[x] element is absent and an Observation.dataAbsentReason.coding.code element is present with the code "unknown". A time fault is reported if the PHD itself indicates a time fault or the PHD uses a time stamp in its measurements but does not report its current time.
Attribute | FHIR mapping |
---|---|
Date-and-Time.value | Observation.valueDateTime |
Base-Offset-Time.value | Observation.valueDateTime |
Relative-Time.value | Observation.valueQuantity.value = Relative-Time.value * 125 |
HiRes-Relative-Time.value | Observation.valueQuantity.value = HiRes-Relative-Time.value |
Device
The Observation.device element is a reference to the Device resource representing the PHD that took the measurement.
Additional information
There is no additional information reported in component elements in this profile.
Phd Coincident Time Stamp Observation JSON Example
The following JSON example is the Coincident Time Stamp Observation associated with a Blood Pressure measurement.
{ "resourceType":"Observation", "meta":{ "profile": [ "http: //pchalliance.org/phdfhir/StructureDefinition/PhdCoincidentTimeStampObservation" ] }, "status":"final", "code":{ "coding": [ { "system":"urn:iso:std:iso:11073:10101", "code":"67975", "display":"MDC_ATTR_TIME_ABS" } ] }, "subject":{ "reference":"Patient/PatientId-sisansarahId" }, "effectiveDateTime":"2017-12-12T09:13:39-05:00", // If the effectiveDateTime is absent, it means that the PHD has superior // time synchronization than the PHG. All reported times stamps are then taken directly from // the PHD and reported in the metric Observations unmodified. To date there are no PHDs that // have external synchronization "valueDateTime":"2017-12-12T09:13:39-05:00", // If the value[x] element is absent, it means that the PHD has experienced // a time fault or is non-compliant by reporting a time stamp but no current time. All reported // times stamps are then taken directly from the PHD and reported in the metric Observations // unmodified. However, the time stamps are not reliable. // A consumer of this resource can restore the original time reported by the PHD // by taking (effectiveDateTime - valueDateTime) and subtracting it from the time stamp reported in // times stamps are then taken directly from the PHD and reported in the metric Observations // the metric Observation. If there is a valueQuantity element for the PHD time, the PHD uses // a relative time stamp. One can use a similar approach to find the relative time sent by the PHD // but the value is already reported in a component element of the metric Observation "device":{ "reference":"DeviceComponent/SysId-01040302f0000000" } }