Skip to content

Commit cd89c73

Browse files
authored
Merge pull request #228134 from msjasteppe/troubleshooting
Major updates to troubleshooting guides
2 parents 8123aa7 + 07047cd commit cd89c73

File tree

7 files changed

+1204
-829
lines changed

7 files changed

+1204
-829
lines changed

.openpublishing.redirection.healthcare-apis.json

Lines changed: 673 additions & 668 deletions
Large diffs are not rendered by default.

articles/healthcare-apis/iot/frequently-asked-questions.md

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@ author: msjasteppe
66
ms.custom: references_regions
77
ms.service: healthcare-apis
88
ms.topic: reference
9-
ms.date: 1/26/2023
9+
ms.date: 02/28/2023
1010
ms.author: jasteppe
1111
---
1212

1313
# Frequently asked questions about the MedTech service
1414

15+
> [!NOTE]
16+
> [Fast Healthcare Interoperability Resources (FHIR®)](https://www.hl7.org/fhir/) is an open healthcare specification.
17+
1518
This article provides answers to frequently asked questions (FAQs) about the MedTech service.
1619

1720
## Where is the MedTech service available?
@@ -20,35 +23,54 @@ The MedTech service is available in these Azure regions: [Products available by
2023

2124
## Can I use the MedTech service with a different FHIR service other than the Azure Health Data Services FHIR service?
2225

23-
No. The MedTech service currently only supports the Azure Health Data Services Fast Healthcare Interoperability Resources (FHIR®) service for the persistence of transformed device message data. The open-source version of the MedTech service supports the use of different FHIR services.
26+
No. The MedTech service currently only supports the Azure Health Data Services FHIR service for the persistence of transformed device message data. The open-source version of the MedTech service supports the use of different FHIR services.
2427

2528
To learn more about the MedTech service open-source projects, see [Open-source projects](git-projects.md).
2629

2730
## What versions of FHIR does the MedTech service support?
2831

29-
The MedTech service currently only supports the persistence of [HL7 FHIR® R4](https://www.hl7.org/implement/standards/product_brief.cfm?product_id=491).
32+
The MedTech service supports the [HL7 FHIR® R4](https://www.hl7.org/implement/standards/product_brief.cfm?product_id=491) standard.
3033

31-
## How long does it take for device message data to show up on the FHIR service?
34+
## Why do I have to provide device and FHIR destination mappings to the MedTech service?
3235

33-
The MedTech service buffers the FHIR Observations resources created during the transformation stage and provides near real-time processing. However, it can potentially take up to five minutes for FHIR Observation resources to be persisted in the FHIR service. To learn how the MedTech service transforms device message data into FHIR Observations resources, see [Understand the MedTech service device message data transformation](understand-service.md).
36+
The MedTech service requires device and FHIR destination mappings to perform normalization and transformation processes on device message data. To learn how the MedTech service transforms device message data into Observation resources, see [Understand the MedTech service device message data transformation](understand-service.md).
3437

35-
## Why do I have to provide device and FHIR destination mappings to the MedTech service?
38+
## How long does it take for device message data to show up in the FHIR service?
39+
40+
The MedTech service buffers Observation resources created during the transformation stage and provides near real-time processing. However, this buffer can potentially delay the persistence of Observation resources to the FHIR service up to five minutes. To learn how the MedTech service transforms device message data into Observations resources, see [Understand the MedTech service device message data transformation](understand-service.md).
41+
42+
## Why are the device messages added to the event hub not showing up as Observation resources in the FHIR service?
3643

37-
The MedTech service requires the device and FHIR destination mappings to perform normalization and transformation processes on the device message data. To learn how the MedTech service transforms device message data into FHIR Observations resources, see [Understand the MedTech service device message data transformation](understand-service.md).
44+
> [!TIP]
45+
> Having access to MedTech service logs is essential for troubleshooting and assessing the overall health and performance of your MedTech service.
46+
>
47+
> To learn how to troubleshoot MedTech service errors found in the logs, see [Troubleshoot errors using the MedTech service logs](troubleshoot-errors-logs.md).
48+
49+
|Potential issue|Fix|
50+
|---------------|---|
51+
|Data is still being processed.|Data is egressed to the FHIR service in batches (every ~five minutes). It’s possible the data is still being processed and extra time is needed for the data to be persisted in the FHIR service.|
52+
|Device mapping hasn't been configured.|Configure and save a conforming and valid [device mapping](how-to-configure-device-mappings.md).|
53+
|FHIR destination mapping hasn't been configured.|Configure and save a conforming and valid [FHIR destination mapping](how-to-configure-fhir-mappings.md).|
54+
|The device message doesn't contain an expected expression defined in the device mapping.|Verify the [JsonPath](https://goessner.net/articles/JsonPath/) or [JMESPath](https://jmespath.org/specification.html) expressions defined in the [device mapping](how-to-configure-device-mappings.md) match tokens defined in the device message.|
55+
|A Device resource hasn't been created in the FHIR service (**Resolution type**: **Lookup** only)*.|Create a valid [Device resource](https://www.hl7.org/fhir/device.html) in the FHIR service. Ensure the Device resource contains an identifier that matches the device identifier provided in the incoming message.|
56+
|A Patient resource hasn't been created in the FHIR service (**Resolution type**: **Lookup** only)*.|Create a valid [Patient resource](https://www.hl7.org/fhir/patient.html) in the FHIR service.|
57+
|The Device.patient reference isn't set, or the reference is invalid (**Resolution type**: **Lookup** only)*.|Make sure the Device resource contains a valid [reference](https://www.hl7.org/fhir/device-definitions.html#Device.patient) to a Patient resource.|
58+
59+
\* Reference [Configure the MedTech service for manual deployment using the Azure portal](deploy-new-config.md#destination-properties) for a functional description of the MedTech service resolution types (**Create** or **Lookup**).
3860

3961
## Does the MedTech service perform backups of device messages?
4062

41-
No. The MedTech service doesn't back up the device messages that come into the customer's event hub. The customer controls the device message retention period within their event hub, which can be from 1-7 days. If the device message data is successfully processed by the MedTech service, it's persisted in the FHIR service, and the FHIR service backup policy applies.
63+
No. The MedTech service doesn't back up the device messages that is sent to the event hub. The event hub owner controls the device message retention period within their event hub, which can be from one to 90 days. Event hubs can be deployed in [three different service tiers](/azure/event-hubs/event-hubs-quotas?source=recommendations#basic-vs-standard-vs-premium-vs-dedicated-tiers). Message retention limits are tier-dependent: Basic one day, Standard 1-7 days, Premium 90 days. If the device message data is successfully processed by the MedTech service, it's persisted in the FHIR service, and the FHIR service backup policy applies.
4264

4365
To learn more about event hub message retention, see [What is the maximum retention period for events?](/azure/event-hubs/event-hubs-faq#what-is-the-maximum-retention-period-for-events-)
4466

4567
## What are the subscription quota limits for the MedTech service?
4668

47-
* 25 MedTech services per Subscription (not adjustable)
48-
* 10 MedTech services per workspace (not adjustable)
49-
* One FHIR destination* per MedTech service (not adjustable)
69+
* 25 MedTech services per Azure subscription (not adjustable).
70+
* 10 MedTech services per Azure Health Data Services workspace (not adjustable).
71+
* One FHIR destination* per MedTech service (not adjustable).
5072

51-
(* - FHIR Destination is a child resource of the MedTech service)
73+
\* FHIR destination is a child resource of the MedTech service.
5274

5375
## Can I use the MedTech service with device messages from Apple®, Google®, or Fitbit® devices?
5476

@@ -60,11 +82,16 @@ To learn more about the MedTech service open-source projects, see [Open-source p
6082

6183
In this article, you learned about the MedTech service frequently asked questions (FAQs)
6284

63-
To learn about the MedTech service, see
85+
For an overview of the MedTech service, see
6486

6587
> [!div class="nextstepaction"]
6688
> [What is the MedTech service?](overview.md)
6789
90+
To learn about the MedTech service device message data transformation, see
91+
92+
> [!div class="nextstepaction"]
93+
> [Understand the MedTech service device message data transformation](overview.md)
94+
6895
To learn about methods for deploying the MedTech service, see
6996

7097
> [!div class="nextstepaction"]

articles/healthcare-apis/iot/index.yml

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ metadata:
1313
ms.collection: collection
1414
author: msjasteppe
1515
ms.author: jasteppe
16-
ms.date: 01/31/2023
16+
ms.date: 02/17/2023
1717

1818
# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new
1919

@@ -49,22 +49,15 @@ landingContent:
4949
- text: Azure portal
5050
url: deploy-new-manual.md
5151

52-
- title: The MedTech service with Azure IoT Hub
53-
linkLists:
54-
- linkListType: tutorial
55-
links:
56-
- text: Receive device messages through Azure IoT Hub
57-
url: device-messages-through-iot-hub.md
58-
5952
- title: Configure the MedTech service mappings
6053
linkLists:
6154
- linkListType: how-to-guide
6255
links:
6356
- text: Device mappings
6457
url: how-to-configure-device-mappings.md
6558
- text: FHIR destination mappings
66-
url: how-to-configure-fhir-mappings.md
67-
59+
url: how-to-configure-fhir-mappings.md
60+
6861
- title: Monitor the MedTech service
6962
linkLists:
7063
- linkListType: how-to-guide
@@ -76,14 +69,19 @@ landingContent:
7669
- text: Enable diagnostic settings
7770
url: how-to-enable-diagnostic-settings.md
7871

79-
- title: Integrate with the MedTech service
72+
- title: Troubleshoot the MedTech service
8073
linkLists:
81-
- linkListType: concept
74+
- linkListType: how-to-guide
8275
links:
83-
- text: The MedTech service and Azure Machine Learning Service
84-
url: concepts-machine-learning.md
85-
- text: The MedTech service and Microsoft Power BI
86-
url: concepts-power-bi.md
87-
- text: The MedTech service and Microsoft Teams notifications
88-
url: concepts-teams.md
76+
- text: Deployment errors
77+
url: troubleshoot-errors-deployment.md
78+
- text: Error logs
79+
url: troubleshoot-errors-logs.md
80+
81+
- title: The MedTech service with Azure IoT Hub
82+
linkLists:
83+
- linkListType: tutorial
84+
links:
85+
- text: Receive device messages through Azure IoT Hub
86+
url: device-messages-through-iot-hub.md
8987

articles/healthcare-apis/iot/toc.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,10 @@ items:
7171
- name: Troubleshoot
7272
expanded: false
7373
items:
74-
- name: Errors
75-
href: troubleshoot-errors.md
74+
- name: Deployment errors
75+
href: troubleshoot-errors-deployment.md
76+
- name: Error logs
77+
href: troubleshoot-errors-logs.md
7678
- name: Concepts
7779
expanded: false
7880
items:
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
title: Troubleshoot MedTech service deployment errors - Azure Health Data Services
3+
description: This article assists troubleshooting and fixing MedTech service deployment errors.
4+
services: healthcare-apis
5+
author: msjasteppe
6+
ms.service: healthcare-apis
7+
ms.subservice: iomt
8+
ms.topic: troubleshooting
9+
ms.date: 02/28/2023
10+
ms.author: jasteppe
11+
---
12+
13+
# Troubleshoot MedTech service deployment errors
14+
15+
> [!NOTE]
16+
> [Fast Healthcare Interoperability Resources (FHIR®)](https://www.hl7.org/fhir/) is an open healthcare specification.
17+
18+
This article provides troubleshooting steps and fixes for MedTech service deployment errors.
19+
20+
> [!TIP]
21+
> Having access to MedTech service metrics and logs is essential for troubleshooting and assessing the overall health and performance of your MedTech service. Check out these MedTech service articles to learn how to enable, configure, and use these MedTech service monitoring features:
22+
>
23+
> [How to use the MedTech service monitoring tab](how-to-use-monitoring-tab.md)
24+
>
25+
> [How to configure the MedTech service metrics](how-to-configure-metrics.md)
26+
>
27+
> [How to enable diagnostic settings for the MedTech service](how-to-enable-diagnostic-settings.md)
28+
29+
## MedTech service resource errors and fixes
30+
31+
Here's a list of errors that can be found in the Azure Resource Manager (ARM) API or Azure portal and fixes for these errors:
32+
33+
|Error|
34+
|------|
35+
|[The maximum number of resource type iotconnectors has been reached.](#the-maximum-number-of-resource-type-iotconnectors-has-been-reached)|
36+
|[Invalid deviceMapping mapping. Validation errors: {LIST_OF_ERRORS}.](#invalid-devicemapping-mapping-validation-errors-list_of_errors)|
37+
|[fullyQualifiedEventHubNamespace is null, empty, or formatted incorrectly.](#fullyqualifiedeventhubnamespace-is-null-empty-or-formatted-incorrectly)|
38+
|[Ancestor resources must be fully provisioned before a child resource can be provisioned.](#ancestor-resources-must-be-fully-provisioned-before-a-child-resource-can-be-provisioned)|
39+
|[The location property of child resources must match the location property of parent resources.](#the-location-property-of-child-resources-must-match-the-location-property-of-parent-resources)|
40+
41+
### The maximum number of resource type iotconnectors has been reached
42+
43+
**Displayed**: ARM API and Azure portal
44+
45+
**Description**: MedTech service subscription quota is reached (default is 10 MedTech services per workspace and 10 workspaces per subscription).
46+
47+
**Fix**: Perform one of these options:
48+
49+
* Delete one of the existing instances of the MedTech service.
50+
51+
* Use a different subscription that hasn't reached the subscription quota.
52+
53+
* Request a subscription quota increase - [Azure Technical Support](https://azure.microsoft.com/support/create-ticket/).
54+
55+
### Invalid deviceMapping mapping. Validation errors: {LIST_OF_ERRORS}
56+
57+
**Displayed**: ARM API and Azure portal
58+
59+
**Description**: The device mapping provided in the MedTech service provisioning request is invalid.
60+
61+
**Fix**:
62+
- If you're deploying a MedTech service using an ARM template, correct the errors in the mapping JSON provided in the `properties.deviceMapping` property.
63+
- If you're deploying a MedTech service using the Azure portal, correct the errors in the mapping JSON provided in the [**Device mapping** tab](deploy-new-config.md#configure-the-device-mapping-tab).
64+
65+
### fullyQualifiedEventHubNamespace is null, empty, or formatted incorrectly
66+
67+
**Displayed**: ARM API
68+
69+
**Description**: The MedTech service's Event Hubs Namespace provided in the provisioning request isn't valid.
70+
71+
**Fix**: Update the MedTech service's `properties.ingestionEndpointConfiguration.fullyQualifiedEventHubNamespace` property to the correct format in your ARM template. The format should be `{EVENTHUB_NAMESPACE}.servicebus.windows.net`.
72+
73+
### Ancestor resources must be fully provisioned before a child resource can be provisioned
74+
75+
**Displayed**: ARM API
76+
77+
**Description**: The parent workspace is still provisioning.
78+
79+
**Fix**: Wait until the parent workspace provisioning has completed and submit the provisioning request again.
80+
81+
### The location property of child resources must match the location property of parent resources
82+
83+
**Displayed**: ARM API
84+
85+
**Description**: The MedTech service's location provided in the provisioning request is different from the parent workspace's location.
86+
87+
**Fix**: Set the `location` property of the MedTech service in your ARM template to the same value as the parent workspace's `location` property.
88+
89+
## FHIR destination resource errors and fixes
90+
91+
Here's a list of errors that can be found in the Azure Resource Manager (ARM) API or Azure portal and fixes for these errors:
92+
93+
|Error|
94+
|------|
95+
|[The maximum number of resource type iotconnectors/fhirdestinations has been reached.](#the-maximum-number-of-resource-type-iotconnectorsdestinations-has-been-reached)|
96+
|[The fhirServiceResourceId provided is invalid.](#the-fhirserviceresourceid-provided-is-invalid)|
97+
|[Ancestor resources must be fully provisioned before a child resource can be provisioned.](#ancestor-resources-must-be-fully-provisioned-before-a-child-resource-can-be-provisioned-1)
98+
|[The location property of child resources must match the location property of parent resources.](#the-location-property-of-child-resources-must-match-the-location-property-of-parent-resources-1)
99+
100+
### The maximum number of resource type iotconnectors/destinations has been reached
101+
102+
**Displayed**: ARM API and Azure portal
103+
104+
**Description**: MedTech service's FHIR destination resource quota is reached (default is one per MedTech service).
105+
106+
**Fix**: Delete the existing instance of the MedTech service's FHIR destination resource. Only one FHIR destination resource is permitted per MedTech service.
107+
108+
### The fhirServiceResourceId provided is invalid
109+
110+
**Displayed**: ARM API
111+
112+
**Description**: The FHIR destination's resource ID provided in the provisioning request isn't a valid resource ID for an instance of the FHIR service.
113+
114+
**Fix**: Ensure the resource ID in the `properties.fhirServiceResourceId` property of your ARM template is formatted correctly, and make sure the resource ID is for the FHIR service instance. The format should be: `/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Microsoft.HealthcareApis/workspaces/{WORKSPACE_NAME}/fhirservices/{FHIR_SERVICE_NAME}`
115+
116+
### Ancestor resources must be fully provisioned before a child resource can be provisioned
117+
118+
**Displayed**: ARM API
119+
120+
**Description**: The parent workspace or the parent MedTech service is still provisioning.
121+
122+
**Fix**: Wait until the parent workspace or the parent MedTech service provisioning completes, then submit the provisioning request again.
123+
124+
### The location property of child resources must match the location property of parent resources
125+
126+
**Displayed**: ARM API
127+
128+
**Description**: The FHIR destination resource's location provided in the provisioning request is different from the parent MedTech service's location.
129+
130+
**Fix**: Set the `location` property of the FHIR destination in your ARM template to the same value as the parent MedTech service's `location` property.
131+
132+
> [!NOTE]
133+
> If you're not able to fix your MedTech service issue using this troubleshooting guide, you can open an [Azure Technical Support](https://azure.microsoft.com/support/create-ticket/) ticket attaching copies of your device message, [device mapping, and FHIR destination mapping](how-to-create-mappings-copies.md) to your request to better help with issue determination.
134+
135+
## Next steps
136+
137+
In this article, you learned how to troubleshoot and fix MedTech service deployment errors.
138+
139+
To learn about the MedTech service frequently asked questions (FAQs), see
140+
141+
> [!div class="nextstepaction"]
142+
> [Frequently asked questions about the MedTech service](frequently-asked-questions.md)
143+
144+
FHIR® is a registered trademark of Health Level Seven International, registered in the U.S. Trademark Office and is used with their permission.

0 commit comments

Comments
 (0)