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:

idΣ0..1id
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
phdProfileΣ1..1uriFixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
basedOnΣ I0..*Reference(http://hl7.org/fhir/StructureDefinition/CarePlan | http://hl7.org/fhir/StructureDefinition/DeviceRequest | http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation | http://hl7.org/fhir/StructureDefinition/MedicationRequest | http://hl7.org/fhir/StructureDefinition/NutritionOrder | http://hl7.org/fhir/StructureDefinition/ProcedureRequest | http://hl7.org/fhir/StructureDefinition/ReferralRequest)
statusΣ ?!1..1codeBindingFixed Value
category0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
contextI0..1Reference(http://hl7.org/fhir/StructureDefinition/Encounter | http://hl7.org/fhir/StructureDefinition/EpisodeOfCare)
effectiveDateTimeΣ0..1dateTime
issuedΣ0..1instant
performerΣ I0..*Reference(http://hl7.org/fhir/StructureDefinition/Practitioner | http://hl7.org/fhir/StructureDefinition/Organization | http://hl7.org/fhir/StructureDefinition/Patient | http://hl7.org/fhir/StructureDefinition/RelatedPerson)
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueAttachmentAttachment
valueTimetime
valuePeriodPeriod
dateTimeValueΣ I0..1dateTime
id0..1string
extensionI0..*Extension
valueΣ1..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemΣ I1..1uriFixed Value
codeΣ1..1codeFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
interpretation0..1CodeableConceptBinding
comment0..1string
bodySite0..1CodeableConcept
method0..1CodeableConcept
specimenI0..1Reference(http://hl7.org/fhir/StructureDefinition/Specimen)
id0..1string
extensionI0..*Extension
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
lowI0..1http://hl7.org/fhir/StructureDefinition/SimpleQuantity
highI0..1http://hl7.org/fhir/StructureDefinition/SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageI0..1Range
text0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type0..1codeBinding
targetI1..1Reference(http://hl7.org/fhir/StructureDefinition/Observation | http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse | http://hl7.org/fhir/StructureDefinition/Sequence)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ1..1CodeableConcept
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueAttachmentAttachment
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..1CodeableConceptBinding
referenceRange0..*see (referenceRange)

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"
    }
}