...
This page describes the types of event messages 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.
Content
| Table of Contents | ||
|---|---|---|
|
Structure of event messages
The JSON body contains the event details, while the message properties enable the use of message selectors when consuming messages from a destination.
...
naming of destination (topic/queue)
JSON schema for the message body
Table of message selector properties
EHealthReferenceEvent
Messages of the EHealthReferenceEvent message type are issued when a resource element containing references is updated. Separate messages are issued for references added and references removed
Destination
topic: Topic is named: [FHIR profile of the resource].[name of resource element]
Message content
Properties
eventType: The type of event
messageType: The name of the message type
messageVersion: The version of the message type, eg, “1.0”
resourceElement: The reference resource element that has changed
resourceReference: The reference (absolute URL) of the resource for which the event message is issued
messageClass: The Java class path of the event message. For internal use (serialising/deserialising 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 patient
resourceProfile: The FHIR profile of the resource for which the event message is issued
| Code Block | ||
|---|---|---|
| ||
{
"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"
}
}
}
}
|
EHealthSimpleEvent
Messages of the EHealthSimpleEvent message type are issued when a resource is created, updated or deleted.
Destination
topic: Topic is named: [FHIR profile of the resource]
Message content
Properties
eventType: The type of event
messageType: The name of the message type
messageVersion: The version of the message type, eg, “1.0”
resourceReference: The reference (absolute URL) of the resource for which the event message is issued
messageClass: The Java class path of the event message. For internal use (serialising/deserialising 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 patient
resourceProfile: The FHIR profile of the resource for which the event message is issued
| Code Block | ||
|---|---|---|
| ||
{
"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)"
}
}
} |
Example
Simple Events are published at a CRUD resource level. This means that they can be generated as a side effect of a business event. In the example below, a ServiceRequest has been created as a side effect of applying a CarePlan to a Patient’s EpisodeOfCare.
...