Service Status (Heartbeat)

The current status of Services is represented as Observation resources, which are linked to their HealthcareServices.

Heartbeat - FHIR Model

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
buildHashExtensionS C0..1Extension(Complex)
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
basedOnΣ C0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)
partOfΣ C0..*Reference(ImagingStudy | Immunization | MedicationAdministration | MedicationDispense | MedicationStatement | Procedure)
statusΣ ?!1..1codeBinding
category0..*CodeableConceptBinding
codeΣ1..1CodeableConceptPattern
subjectΣ C0..1Reference(Device | Group | Location | Patient)
focusΣ C0..*Reference(Resource)
encounterΣ C0..1Reference(Encounter)
effectiveDateTimedateTime
effectiveInstantinstant
effectivePeriodPeriod
effectiveTimingTiming
issuedΣ0..1instant
performerΣ C0..*Reference(CareTeam | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
note0..*Annotation
bodySite0..1CodeableConcept
method0..1CodeableConcept
specimenC0..1Reference(Specimen)
deviceC0..1Reference(Device | DeviceMetric)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
lowC0..1SimpleQuantity
highC0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageC0..1Range
text0..1string
hasMemberΣ C0..*Reference(MolecularSequence | Observation | QuestionnaireResponse)
derivedFromΣ C0..*Reference(DocumentReference | ImagingStudy | Media | MolecularSequence | Observation | QuestionnaireResponse)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConcept
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConceptPattern
valueBooleanboolean
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
valueCodeableConceptΣ1..1CodeableConceptBinding
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConceptPattern
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
valueIntegerΣ1..1integer
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConceptPattern
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
id0..1string
extensionC0..*Extension
valueΣ0..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemΣ C0..1uriPattern
codeΣ0..1codeBinding
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConceptPattern
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
id0..1string
extensionC0..*Extension
valueΣ0..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ0..1string
systemΣ C0..1uriPattern
codeΣ0..1codePattern
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)

The following shows an example for a observation which complies to the profile specified. Heartbeat Observations have possess the coding code status and the resource itself has the status amended because they are constantly updated via the services registered within the OMI Gateway. They contain 4 components: Service Status, Queue Length, Estimated Waiting Time and Inference Price The following shows an example:

Example

Observation

About creating new services

Heartbeat Observation resources possess a code from this ValueSet on whether they were already updated by a HealthcareService with status amended. Initially they should possess the code registered.

Update rate of Service Status (Heartbeat) observations

There is no strict definition of intervalls for updates of service status. Depending on the service it could make sense to send a heartbeat every 1-15 minutes to the registry.