eHealth Infrastructure, published by Den telemedicinske infrastruktur (eHealth Infrastructure). This guide is not an authorized publication; it is the continuous build for version 8.0.2-SNAPSHOT built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/fut-infrastructure/implementation-guide/ and changes regularly. See the Directory of published versions
This document describes the types of event messages that are published to destinations (topic/queue) on the message broker for the eHealth Infrastructure. Each message consists of a JSON body and additionally some message properties.
The JSON body contains the event details, while the message properties enable the use of message selectors when consuming messages from a destination.
For each message type is documented:
Messages of EHealthContextEvent message type are issued when a resource is created, updated or deleted AND the context criteria is met. Eg. if the criteria is that a specific element of the resource has changed, the context would be the name of the element.
topic: Topic is named: [FHIR profile of the resource].[context]
{
"type" : "object",
"id" : "urn:jsonschema:com:systematic:ehealth:event:event:EHealthContextEvent",
"properties" : {
"messageType" : {
"type" : "string",
"description" : "EHealthContextEvent"
},
"messageVersion" : {
"type" : "string",
"description" : "1.0"
},
"eventType" : {
"type" : "string",
"description" : "{ enum : [ created, updated, deleted ] }"
},
"resourceReference" : {
"type" : "string",
"description" : "The reference (absolute URL) of the resource for which the event message is issued"
},
"resourceVersion" : {
"type" : "string",
"description" : "The version of the resource after change"
},
"context" : {
"type" : "string",
"description" : "The name of the context"
},
"status" : {
"type" : "string",
"description" : "The status of the event"
}
}
}
context: The context of the resource event. Context can be an element, or a special event typeeventType: The type of eventmessageType: The name of the message typemessageVersion: The version of the message type, eg. "1.0"resourceReference: The reference (absolute URL) of the resource for which the event message is issuedmessageClass: The Java class path of the event message. For internal use (serializing/deserializing from/to Java objects))patientReference: The reference (absolute URL) to the patient resource, if the resource, for which the event message is issued, is related to a patientresourceProfile: The FHIR profile of the resource for which the event message is issuedMessages of EHealthReferenceEvent message type are issued when a resource element containing references is updated. Separate messages are issued for references added, and references removed
topic: Topic is named: [FHIR profile of the resource].[name of resource element]
{
"type" : "object",
"id" : "urn:jsonschema:com:systematic:ehealth:event:event:EHealthReferenceEvent",
"properties" : {
"messageType" : {
"type" : "string",
"description" : "EHealthReferenceEvent"
},
"messageVersion" : {
"type" : "string",
"description" : "1.0"
},
"eventType" : {
"type" : "string",
"description" : "{ enum : [ reference_added, reference_removed ] }"
},
"resourceReference" : {
"type" : "string",
"description" : "The reference (absolute URL) of the resource for which the event message is issued"
},
"resourceVersion" : {
"type" : "string",
"description" : "The version of the resource after change"
},
"resourceElement" : {
"type" : "string",
"description" : "The reference resource element that has changed"
},
"references" : {
"type" : "array",
"description" : "The resource element references (absolute URLs) that were added or removed",
"items" : {
"type" : "string"
}
}
}
}
eventType: The type of eventmessageType: The name of the message typemessageVersion: The version of the message type, eg. "1.0"resourceElement: The reference resource element that has changedresourceReference: The reference (absolute URL) of the resource for which the event message is issuedmessageClass: The Java class path of the event message. For internal use (serializing/deserializing from/to Java objects))patientReference: The reference (absolute URL) to the patient resource, if the resource, for which the event message is issued, is related to a patientresourceProfile: The FHIR profile of the resource for which the event message is issuedMessages of EHealthApplicationEvent message type are issued when a citizen has opted in to receive push notifications (via a CommunicationRequest with medium=application-event and doNotPerform=false) and a relevant event occurs, such as receiving a new eHealth message, a measurement reminder, a missing measurement notification, or an appointment reminder. These events enable client applications to deliver push notifications independently of the NemSMS notification flow.
topic: ehealth-application-event
{
"type" : "object",
"id" : "urn:jsonschema:dk:sundhed:ehealth:event:models:EHealthApplicationEvent",
"properties" : {
"messageType" : {
"type" : "string",
"description" : "EHealthApplicationEvent"
},
"messageVersion" : {
"type" : "string",
"description" : "1.0"
},
"ehealth.system" : {
"type" : "string",
"description" : "The coexistence system tag"
},
"eventType" : {
"type" : "string",
"enum" : [ "AppointmentReminder", "VideoAppointmentReminder", "ReminderSubmitMeasurement", "NewEHealthMessage", "MissingMeasurement" ]
},
"payload" : {
"type" : "string",
"description" : "Notification text content from the CommunicationRequest"
},
"userReference" : {
"type" : "string",
"description" : "The reference (absolute URL) of the Patient resource"
},
"resourceReference" : {
"type" : "array",
"description" : "References to related resources",
"items" : {
"type" : "object",
"properties" : {
"label" : {
"type" : "string",
"description" : "The type/label of the referenced resource"
},
"reference" : {
"type" : "string",
"description" : "The reference (absolute URL) of the resource"
}
}
}
}
}
}
ehealth.system: The coexistence system tag (also present in the JSON body)eventType: The type of application event (see Event Types table below)messageType: The name of the message typemessageVersion: The version of the message type, eg. "1.0"payload: Notification text content from the CommunicationRequestuserReference: The reference (absolute URL) of the Patient resource representing the citizenresourceReference: Array of references to related resources, each with a label (resource type) and reference (absolute URL)| eventType | Description | resourceReference label | Source |
|---|---|---|---|
| AppointmentReminder | Appointment reminder | Appointment | fut-appointment-notification-job |
| VideoAppointmentReminder | Video appointment reminder | Appointment | fut-appointment-notification-job |
| ReminderSubmitMeasurement | Reminder to submit measurement | ServiceRequest | fut-patient |
| NewEHealthMessage | New eHealth message | EhealthMessage | fut-patient |
| MissingMeasurement | Missing measurement notification | ServiceRequest | fut-patient |
Messages of EHealthSimpleEvent message type are issued when a resource is created, updated or deleted.
topic: Topic is named: [FHIR profile of the resource]
{
"type" : "object",
"id" : "urn:jsonschema:com:systematic:ehealth:event:event:EHealthSimpleEvent",
"properties" : {
"messageType" : {
"type" : "string",
"description" : "EHealthSimpleEvent"
},
"messageVersion" : {
"type" : "string",
"description" : "1.0"
},
"eventType" : {
"type" : "string",
"description" : "{ enum : [ created, updated, deleted ] }"
},
"resourceReference" : {
"type" : "string",
"description" : "The reference (absolute URL) of the resource for which the event message is issued"
},
"resourceVersion" : {
"type" : "string",
"description" : "The version of the resource (version after: created, updated, version before: deleted)"
}
}
}
eventType: The type of eventmessageType: The name of the message typemessageVersion: The version of the message type, eg. "1.0"resourceReference: The reference (absolute URL) of the resource for which the event message is issuedmessageClass: The Java class path of the event message. For internal use (serializing/deserializing from/to Java objects))patientReference: The reference (absolute URL) to the patient resource, if the resource, for which the event message is issued, is related to a patientresourceProfile: The FHIR profile of the resource for which the event message is issued