Events message structures
In this article, learn about the events message structures, required and nonrequired elements, and see samples of events message payloads.
Important
Events currently supports these operations:
FhirResourceCreated - The event emitted after a FHIR resource gets created successfully.
FhirResourceUpdated - The event emitted after a FHIR resource gets updated successfully.
FhirResourceDeleted - The event emitted after a FHIR resource gets soft deleted successfully.
DicomImageCreated - The event emitted after a DICOM image gets created successfully.
DicomImageDeleted - The event emitted after a DICOM image gets deleted successfully.
DicomImageUpdated - The event emitted after a DICOM image gets updated successfully.
For more information about the FHIR service delete types, see REST API capabilities in the FHIR service in Azure Health Data Services
FHIR events message structure
Name | Type | Required | Description |
---|---|---|---|
topic |
string | Yes | The topic is the Azure Resource ID of your Azure Health Data Services workspace. |
subject |
string | Yes | The Uniform Resource Identifier (URI) of the FHIR resource that was changed. Customer can access the resource with the subject with https:// scheme. Customer should use the dataVersion or data.resourceVersionId to visit specific data version regarding this event. |
eventType |
string(enum) | Yes | The type of change on the FHIR resource. |
eventTime |
string(datetime) | Yes | The UTC time when the FHIR resource change committed. |
id |
string | Yes | Unique identifier for the event. |
data |
object | Yes | FHIR resource change event details. |
data.resourceType |
string(enum) | Yes | The FHIR Resource Type. |
data.resourceFhirAccount |
string | Yes | The service name of FHIR account in the Azure Health Data Services workspace. |
data.resourceFhirId |
string | Yes | The resource ID of the FHIR account. The FHIR service randomly generates the ID when a customer creates the resource. The customer can also use customized ID in FHIR resource creation; however the ID should not include or infer any PHI/PII information. It should be a system metadata, not specific to any personal data content. |
data.resourceVersionId |
string(number) | Yes | The data version of the FHIR resource. |
dataVersion |
string | No | Same as data.resourceVersionId . |
metadataVersion |
string | No | The schema version of the event metadata. This is defined by Azure Event Grid and should be constant most of the time. |
FHIR events message samples
FhirResourceCreated event
{
"id": "e4c7f556-d72c-e7f7-1069-1e82ac76ab41",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
"subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902",
"data": {
"resourceType": "Patient",
"resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com",
"resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902",
"resourceVersionId": 1
},
"eventType": "Microsoft.HealthcareApis.FhirResourceCreated",
"dataVersion": "1",
"metadataVersion": "1",
"eventTime": "2021-09-08T01:14:04.5613214Z"
}
FhirResourceUpdated event
{
"id": "634bd421-8467-f23c-b8cb-f6a31e41c32a",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
"subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902",
"data": {
"resourceType": "Patient",
"resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com",
"resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902",
"resourceVersionId": 2
},
"eventType": "Microsoft.HealthcareApis.FhirResourceUpdated",
"dataVersion": "2",
"metadataVersion": "1",
"eventTime": "2021-09-08T01:29:12.0618739Z"
}
FhirResourceDeleted event
{
"id": "ef289b93-3159-b833-3a44-dc6b86ed1a8a",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
"subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902",
"data": {
"resourceType": "Patient",
"resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com",
"resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902",
"resourceVersionId": 3
},
"eventType": "Microsoft.HealthcareApis.FhirResourceDeleted",
"dataVersion": "3",
"metadataVersion": "1",
"eventTime": "2021-09-08T01:31:58.5175837Z"
}
DICOM events message structure
Name | Type | Required | Description |
---|---|---|---|
topic |
string | Yes | The topic is the Azure Resource ID of your Azure Health Data Services workspace. |
subject |
string | Yes | The Uniform Resource Identifier (URI) of the DICOM image that was changed. Customer can access the image with the subject with https:// scheme. Customer should use the dataVersion or data.resourceVersionId to visit specific data version regarding this event. |
eventType |
string(enum) | Yes | The type of change on the DICOM image. |
eventTime |
string(datetime) | Yes | The UTC time when the DICOM image change was committed. |
id |
string | Yes | Unique identifier for the event. |
data |
object | Yes | DICOM image change event details. |
data.partitionName |
string | No | Data partition name. |
data.imageStudyInstanceUid |
string | Yes | The image's Study Instance UID. |
data.imageSeriesInstanceUid |
string | Yes | The image's Series Instance UID. |
data.imageSopInstanceUid |
string | Yes | The image's SOP Instance UID. |
data.serviceHostName |
string | Yes | The hostname of the DICOM service where the change occurred. |
data.sequenceNumber |
int | Yes | The sequence number of the change in the DICOM service. Every image creation and deletion have a unique sequence within the service. This number correlates to the sequence number of the DICOM service's Change Feed. Querying the DICOM Service Change Feed with this sequence number gives you the change that created this event. |
dataVersion |
string | No | The data version of the DICOM image. |
metadataVersion |
string | No | The schema version of the event metadata. This is defined by Azure Event Grid and should be constant most of the time. |
DICOM events message samples
DicomImageCreated
{
"id": "d621839d-958b-4142-a638-bb966b4f7dfd",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
"subject": "{dicom-account}.dicom.azurehealthcareapis.com/v1/partitions/Microsoft.Default/studies/1.2.3.4.3/series/1.2.3.4.3.9423673/instances/1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
"data": {
"partitionName": "Microsoft.Default",
"imageStudyInstanceUid": "1.2.3.4.3",
"imageSeriesInstanceUid": "1.2.3.4.3.9423673",
"imageSopInstanceUid": "1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
"serviceHostName": "{dicom-account}.dicom.azurehealthcareapis.com",
"sequenceNumber": 1
},
"eventType": "Microsoft.HealthcareApis.DicomImageCreated",
"dataVersion": "1",
"metadataVersion": "1",
"eventTime": "2022-09-15T01:14:04.5613214Z"
}
DicomImageDeleted
{
"id": "eac1c1a0-ffa8-4b28-97cc-1d8b9a0a6021",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
"subject": "{dicom-account}.dicom.azurehealthcareapis.com/v1/partitions/Microsoft.Default/studies/1.2.3.4.3/series/1.2.3.4.3.9423673/instances/1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
"data": {
"partitionName": "Microsoft.Default",
"imageStudyInstanceUid": "1.2.3.4.3",
"imageSeriesInstanceUid": "1.2.3.4.3.9423673",
"imageSopInstanceUid": "1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
"serviceHostName": "{dicom-account}.dicom.azurehealthcareapis.com",
"sequenceNumber": 2
},
"eventType": "Microsoft.HealthcareApis.DicomImageDeleted",
"dataVersion": "1",
"metadataVersion": "1",
"eventTime": "2022-09-15T01:16:07.5692209Z"
}
DicomImageUpdated
{
"id": "83cb0f51-af41-e58c-3c6c-46344b349bc5",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}",
"subject": "{dicom-account}.dicom.azurehealthcareapis.com/v1/partitions/Microsoft.Default/studies/1.2.3.4.3/series/1.2.3.4.3.9423673/instances/1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
"data": {
"partitionName": "Microsoft.Default",
"imageStudyInstanceUid": "1.2.3.4.3",
"imageSeriesInstanceUid": "1.2.3.4.3.9423673",
"imageSopInstanceUid": "1.3.6.1.4.1.45096.2.296485376.2210.1633373143.864442",
"serviceHostName": "{dicom-account}.dicom.azurehealthcareapis.com",
"sequenceNumber": 2
},
"eventType": "Microsoft.HealthcareApis.DicomImageUpdated",
"dataVersion": "1",
"metadataVersion": "1",
"eventTime": "2023-06-09T16:55:44.7197137Z"
}
Next steps
In this article, you learned about the events message structures.
To learn how to deploy events using the Azure portal, see
FHIR® is a registered trademark of Health Level Seven International, registered in the U.S. Trademark Office and is used with their permission.