|
1 | 1 | ---
|
2 |
| -title: Frequently asked questions about events - Azure Health Data Services |
3 |
| -description: Learn about the frequently asked questions about events. |
| 2 | +title: Events FAQ for Azure Health Data Services |
| 3 | +description: Get answers to common questions about the events capability in the FHIR and DICOM services in Azure Health Data Services. Find out how events work, what types of events are supported, and how to subscribe to events by using Azure Event Grid. |
4 | 4 | services: healthcare-apis
|
5 | 5 | author: msjasteppe
|
6 | 6 | ms.service: healthcare-apis
|
7 |
| -ms.subservice: fhir |
| 7 | +ms.subservice: events |
8 | 8 | ms.topic: reference
|
9 |
| -ms.date: 07/11/2023 |
| 9 | +ms.date: 01/31/2024 |
10 | 10 | ms.author: jasteppe
|
11 | 11 | ---
|
12 | 12 |
|
13 |
| -# Frequently asked questions about events |
| 13 | +# Events FAQ |
14 | 14 |
|
15 |
| -> [!NOTE] |
16 |
| -> [Fast Healthcare Interoperability Resources (FHIR®)](https://www.hl7.org/fhir/) is an open healthcare specification. |
| 15 | +**Applies to:** [!INCLUDE [Yes icon](../includes/applies-to.md)][!INCLUDE [FHIR service](../includes/fhir-service.md)], [!INCLUDE [DICOM service](../includes/DICOM-service.md)] |
17 | 16 |
|
18 |
| -## Events: The basics |
| 17 | +Events let you subscribe to data changes in the FHIR® or DICOM® service and get notified through Azure Event Grid. You can use events to trigger workflows, automate tasks, send alerts, and more. In this FAQ, you’ll find answers to some common questions about events. |
19 | 18 |
|
20 |
| -## Can I use events with a different FHIR/DICOM service other than the Azure Health Data Services FHIR/DICOM service? |
| 19 | +**Can I use events with a non-Microsoft FHIR or DICOM service?** |
21 | 20 |
|
22 |
| -No. The Azure Health Data Services events feature only currently supports the Azure Health Data Services FHIR and DICOM services. |
| 21 | +No. The Events capability only supports the Azure Health Data Services FHIR and DICOM services. |
23 | 22 |
|
24 |
| -## What FHIR resource changes does events support? |
| 23 | +**What FHIR resource changes are supported by events?** |
25 | 24 |
|
26 |
| -Events are generated from the following FHIR service types: |
| 25 | +Events are generated from these FHIR service types: |
27 | 26 |
|
28 |
| -* **FhirResourceCreated** - The event emitted after a FHIR resource gets created successfully. |
| 27 | +- **FhirResourceCreated**. The event emitted after a FHIR resource is created. |
29 | 28 |
|
30 |
| -* **FhirResourceUpdated** - The event emitted after a FHIR resource gets updated successfully. |
| 29 | +- **FhirResourceUpdated**. The event emitted after a FHIR resource is updated. |
31 | 30 |
|
32 |
| -* **FhirResourceDeleted** - The event emitted after a FHIR resource gets soft deleted successfully. |
| 31 | +- **FhirResourceDeleted**. The event emitted after a FHIR resource is soft deleted. |
33 | 32 |
|
34 |
| -For more information about the FHIR service delete types, see [FHIR REST API capabilities for Azure Health Data Services FHIR service](../../healthcare-apis/fhir/fhir-rest-api-capabilities.md). |
| 33 | +For more information about delete types in the FHIR service, see [FHIR REST API capabilities for Azure Health Data Services](../../healthcare-apis/fhir/fhir-rest-api-capabilities.md). |
35 | 34 |
|
36 |
| -## Does events support FHIR bundles? |
| 35 | +**Does events support FHIR bundles?** |
37 | 36 |
|
38 |
| -Yes. The events feature is designed to emit notifications of data changes at the FHIR resource level. |
| 37 | +Yes. The events capability emits notifications of data changes at the FHIR resource level. |
39 | 38 |
|
40 |
| -Events support these [FHIR bundle types](http://hl7.org/fhir/R4/valueset-bundle-type.html) in the following ways: |
| 39 | +Events support these [FHIR bundle types](http://hl7.org/fhir/R4/valueset-bundle-type.html): |
41 | 40 |
|
42 |
| -* **Batch**: An event is emitted for each successful data change operation in a bundle. If one of the operations generates an error, no event is emitted for that operation. For example: the batch bundle contains five operations, however, there's an error with one of the operations. Events are emitted for the four successful operations with no event emitted for the operation that generated an error. |
| 41 | +- **Batch**. An event is emitted for each successful data change operation in a bundle. If one of the operations generates an error, no event is emitted for that operation. For example: the batch bundle contains five operations, however, there's an error with one of the operations. Events are emitted for the four successful operations with no event emitted for the operation that generated an error. |
43 | 42 |
|
44 |
| -* **Transaction**: An event is emitted for each successful bundle operation as long as there are no errors. If there are any errors within a transaction bundle, then no events are emitted. For example: the transaction bundle contains five operations, however, there's an error with one of the operations. No events are emitted for that bundle. |
| 43 | +- **Transaction**. An event is emitted for each successful bundle operation as long as there are no errors. If there are any errors within a transaction bundle, then no events are emitted. For example: the transaction bundle contains five operations, however, there's an error with one of the operations. No events are emitted for that bundle. |
45 | 44 |
|
46 | 45 | > [!NOTE]
|
47 |
| -> Events are not sent in the sequence of the data operations in the FHIR bundle. |
| 46 | +> Events aren't sent in the sequence of the data operations in the FHIR bundle. |
48 | 47 |
|
49 |
| -## What DICOM image changes does events support? |
| 48 | +**What DICOM image changes does events support?** |
50 | 49 |
|
51 | 50 | Events are generated from the following DICOM service types:
|
52 | 51 |
|
53 |
| -* **DicomImageCreated** - The event emitted after a DICOM image gets created successfully. |
| 52 | +- **DicomImageCreated**. The event emitted after a DICOM image is created. |
54 | 53 |
|
55 |
| -* **DicomImageDeleted** - The event emitted after a DICOM image gets deleted successfully. |
| 54 | +- **DicomImageDeleted**. The event emitted after a DICOM image is deleted. |
56 | 55 |
|
57 |
| -* **DicomImageUpdated** - The event emitted after a DICOM image gets updated successfully. |
| 56 | +- **DicomImageUpdated**. The event emitted after a DICOM image is updated. For more information, see [Update DICOM files](../dicom/update-files.md). |
58 | 57 |
|
59 |
| -## What is the payload of an events message? |
| 58 | +**What is the payload of an events message?** |
60 | 59 |
|
61 |
| -For a detailed description of the events message structure and both required and nonrequired elements, see [Events message structures](events-message-structure.md). |
| 60 | +For a description of the events message structure and required and nonrequired elements, see [Events message structures](events-message-structure.md). |
62 | 61 |
|
63 |
| -## What is the throughput for the events messages? |
| 62 | +**What is the throughput for events messages?** |
64 | 63 |
|
65 |
| -The throughput of the FHIR or DICOM service and the Event Grid govern the throughput of FHIR and DICOM events. When a request made to the FHIR service is successful, it returns a 2xx HTTP status code. It also generates a FHIR resource or DICOM image changing event. The current limitation is 5,000 events/second per workspace for all FHIR or DICOM service instances in the workspace. |
| 64 | +The throughput of the FHIR or DICOM service and the Event Grid governs the throughput of FHIR and DICOM events. When a request made to the FHIR service is successful, it returns a 2xx HTTP status code. It also generates a FHIR resource or DICOM image changing event. The current limitation is 5,000 events/second per workspace for all FHIR or DICOM service instances in the workspace. |
66 | 65 |
|
67 |
| -## How am I charged for using events? |
| 66 | +**How am I charged for using events?** |
68 | 67 |
|
69 | 68 | There are no extra charges for using [Azure Health Data Services events](https://azure.microsoft.com/pricing/details/health-data-services/). However, applicable charges for the [Event Grid](https://azure.microsoft.com/pricing/details/event-grid/) are assessed against your Azure subscription.
|
70 | 69 |
|
71 |
| -## How do I subscribe to multiple FHIR and/or DICOM services in the same workspace separately? |
| 70 | +**How do I subscribe separately to multiple FHIR or DICOM services in the same workspace?** |
72 | 71 |
|
73 |
| -You can use the Event Grid filtering feature. There are unique identifiers in the event message payload to differentiate different accounts and workspaces. You can find a global unique identifier for workspace in the `source` field, which is the Azure Resource ID. You can locate the unique FHIR account name in that workspace in the `data.resourceFhirAccount` field. You can locate the unique DICOM account name in that workspace in the `data.serviceHostName` field. When you create a subscription, you can use the filtering operators to select the events you want to get in that subscription. |
| 72 | +Use the Event Grid filtering feature. There are unique identifiers in the event message payload to differentiate accounts and workspaces. You can find a global unique identifier for workspace in the `source` field, which is the Azure Resource ID. You can locate the unique FHIR account name in that workspace in the `data.resourceFhirAccount` field. You can locate the unique DICOM account name in the workspace in the `data.serviceHostName` field. When you create a subscription, use the filtering operators to select the events you want to include in the subscription. |
74 | 73 |
|
75 | 74 | :::image type="content" source="media\event-grid\event-grid-filters.png" alt-text="Screenshot of the Event Grid filters tab." lightbox="media\event-grid\event-grid-filters.png":::
|
76 | 75 |
|
77 |
| -## Can I use the same subscriber for multiple workspaces, FHIR accounts, or DICOM accounts? |
| 76 | +**Can I use the same subscriber for multiple workspaces, FHIR accounts, or DICOM accounts?** |
78 | 77 |
|
79 |
| -Yes. We recommend that you use different subscribers for each individual FHIR or DICOM service to process in isolated scopes. |
| 78 | +Yes. We recommend that you use different subscribers for each FHIR or DICOM service to enable processing in isolated scopes. |
80 | 79 |
|
81 |
| -## Is Event Grid compatible with HIPAA and HITRUST compliance obligations? |
| 80 | +**Is the Event Grid compatible with HIPAA and HITRUST compliance requirements?** |
82 | 81 |
|
83 |
| -Yes. Event Grid supports customer's Health Insurance Portability and Accountability Act (HIPAA) and Health Information Trust Alliance (HITRUST) obligations. For more information, see [Microsoft Azure Compliance Offerings](https://azure.microsoft.com/resources/microsoft-azure-compliance-offerings/). |
| 82 | +Yes. Event Grid supports Health Insurance Portability and Accountability Act (HIPAA) and Health Information Trust Alliance (HITRUST) obligations. For more information, see [Microsoft Azure Compliance Offerings](https://azure.microsoft.com/resources/microsoft-azure-compliance-offerings/). |
84 | 83 |
|
85 |
| -## What is the expected time to receive an events message? |
| 84 | +**How long does it take to receive an events message?** |
86 | 85 |
|
87 |
| -On average, you should receive your event message within one second after a successful HTTP request. 99.99% of the event messages should be delivered within five seconds unless the limitation of either the FHIR service, DICOM service, or [Event Grid](../../event-grid/quotas-limits.md) has been met. |
| 86 | +On average, you should receive your event message within one second after a successful HTTP request. 99.99% of the event messages should be delivered within five seconds unless the limitation of either the FHIR service, DICOM service, or [Event Grid](../../event-grid/quotas-limits.md) is reached. |
88 | 87 |
|
89 |
| -## Is it possible to receive duplicate events messages? |
| 88 | +**Is it possible to receive duplicate events messages?** |
90 | 89 |
|
91 |
| -Yes. The Event Grid guarantees at least one events message delivery with its push mode. There may be chances that the event delivery request returns with a transient failure status code for random reasons. In this situation, the Event Grid considers that as a delivery failure and resends the events message. For more information, see [Azure Event Grid delivery and retry](../../event-grid/delivery-and-retry.md). |
| 90 | +Yes. The Event Grid guarantees at least one events message delivery with its push mode. There may be cases when the event delivery request returns with a transient failure status code for random reasons. In this situation, the Event Grid considers it a delivery failure and resends the events message. For more information, see [Azure Event Grid delivery and retry](../../event-grid/delivery-and-retry.md). |
92 | 91 |
|
93 |
| -Generally, we recommend that developers ensure idempotency for the event subscriber. The event ID or the combination of all fields in the `data` property of the message content are unique per each event. The developer can rely on them to deduplicate. |
| 92 | +Generally, we recommend that developers ensure idempotency for the event subscriber. The event ID or the combination of all fields in the `data` property of the message content are unique for each event. You can rely on them to deduplicate. |
94 | 93 |
|
95 |
| -## More frequently asked questions |
96 |
| - |
97 |
| -[FAQs about the Azure Health Data Services](../healthcare-apis-faqs.md) |
98 |
| - |
99 |
| -[FAQs about Azure Health Data Services DICOM service](../dicom/dicom-services-faqs.yml) |
100 |
| - |
101 |
| -[FAQs about Azure Health Data Services FHIR service](../fhir/fhir-faq.md) |
102 |
| - |
103 |
| -[FAQs about Azure Health Data Services MedTech service](../iot/iot-connector-faqs.md) |
104 |
| - |
105 |
| -FHIR® is a registered trademark of Health Level Seven International, registered in the U.S. Trademark Office and is used with their permission. |
| 94 | +[!INCLUDE [FHIR and DICOM trademark statement](../includes/healthcare-apis-fhir-dicom-trademark.md)] |
0 commit comments