Omówienie mapowania urządzeń usługi MedTech
Ten artykuł zawiera omówienie mapowania urządzeń usługi MedTech.
Usługa MedTech wymaga dwóch typów mapowań JSON , które są dodawane do usługi MedTech za pośrednictwem witryny Azure Portal lub interfejsu API usługi Azure Resource Manager (ARM). Mapowanie urządzenia jest pierwszym typem i kontroluje wartości mapowania w danych urządzenia wysyłanych do usługi MedTech do wewnętrznego, znormalizowanego obiektu danych. Mapowanie urządzenia zawiera wyrażenia używane przez usługę MedTech do wyodrębniania typów, identyfikatorów urządzeń, daty pomiaru i wartości pomiarów. Mapowanie miejsca docelowego FHIR® jest drugim typem i kontroluje mapowanie obserwacji FHIR.
Uwaga
Mapowania docelowe urządzenia i FHIR są ponownie oceniane przy każdym przetworzeniu komunikatu urządzenia. Wszystkie aktualizacje dowolnego mapowania zostaną zastosowane natychmiast.
Podstawy mapowania urządzeń
Mapowanie urządzenia zawiera kolekcje szablonów wyrażeń używanych do wyodrębniania danych komunikatów urządzenia do wewnętrznego, znormalizowanego formatu na potrzeby dalszej oceny. Każdy odebrany komunikat urządzenia jest oceniany względem wszystkich szablonów wyrażeń w kolekcji. Ta ocena oznacza, że pojedynczy komunikat urządzenia może być rozdzielony na wiele komunikatów wychodzących, które mogą być mapowane na wiele obserwacji FHIR w usłudze FHIR.
Napiwek
Aby uzyskać więcej informacji na temat sposobu przetwarzania danych komunikatów urządzenia przez usługę MedTech do obserwacji FHIR w celu trwałości w usłudze FHIR, zobacz Omówienie etapów przetwarzania danych urządzeń usługi MedTech.
Ten diagram zawiera ilustrację tego, co dzieje się podczas etapu normalizacji w usłudze MedTech.
Walidacje mapowania urządzeń
Proces normalizacji weryfikuje mapowanie urządzenia przed zezwoleniem na zapisanie go do użycia. Te elementy są wymagane w szablonach mapowania urządzeń.
Mapowanie urządzenia
Element | Wymagane w funkcji CalculatedContent | Wymagane w kodzie IotJsonPathContent |
---|---|---|
Typename | Prawda | Prawda |
typeMatchExpression | Prawda | Prawda |
deviceIdExpression | Prawda | Fałsz i ignorowane całkowicie. |
timestampExpression | Prawda | Fałsz i ignorowane całkowicie. |
patientIdExpression | Wartość true, jeśli typ rozwiązania usług MedTech jest ustawiony na Wartość Utwórz; Fałsz, gdy typ rozwiązania usługi MedTech jest ustawiony na Lookup. | Wartość true, gdy typ rozwiązania usługi MedTech jest ustawiony na Wartość Utwórz; Fałsz, gdy typ rozwiązania usługi MedTech jest ustawiony na Lookup. |
encounterIdExpression | Fałsz | Fałsz |
correlationIdExpression | Fałsz | Fałsz |
values[].valueName | Prawda | Prawda |
values[].valueExpression | Prawda | Prawda |
values[].required | Prawda | Prawda |
Ważne
Typ rozwiązania określa sposób, w jaki usługa MedTech kojarzy dane urządzenia z zasobami urządzenia i zasobami pacjenta. Usługa MedTech odczytuje zasoby urządzenia i pacjenta z usługi FHIR przy użyciu identyfikatorów urządzeń i identyfikatorów pacjentów. Jeśli identyfikator napotkania jest określony i wyodrębniony z ładunku danych urządzenia, jest on połączony z obserwacją, jeśli w usłudze FHIR istnieje spotkanie z tym identyfikatorem. Jeśli identyfikator napotkania został pomyślnie znormalizowany, ale nie istnieje błąd FHIR Encounter z tym identyfikatorem napotkania, zgłaszany jest wyjątek FhirResourceNotFound. Aby uzyskać więcej informacji na temat konfigurowania typu rozpoznawania usługi MedTech, zobacz Konfigurowanie karty Miejsce docelowe.
Uwaga
values[].valueName, values[].valueExpression
Elementy i są values[].required
wymagane tylko wtedy, gdy masz wpis wartości w tablicy. Jest to prawidłowe, aby nie było mapowanych wartości. Te elementy są używane, gdy wysyłane dane telemetryczne są zdarzeniem.
Na przykład niektóre scenariusze mogą wymagać utworzenia obserwacji FHIR w usłudze FHIR, która nie zawiera wartości.
KolekcjaContent
CollectionContent to typ szablonu głównego używany przez mapowanie urządzeń usługi MedTech. CollectionContent to lista wszystkich szablonów używanych podczas etapu normalizacji. Można zdefiniować jeden lub więcej szablonów w kolekcjiContent, przy czym każdy komunikat urządzenia otrzymany przez usługę MedTech ocenianą względem wszystkich szablonów.
Można użyć tych typów szablonów w kolekcjiContent w zależności od przypadku użycia:
- CalculatedContent dla komunikatów urządzeń wysyłanych bezpośrednio do centrum zdarzeń usługi MedTech. Funkcja CalculatedContent obsługuje funkcje niestandardowe JSONPath, JMESPath, JMESPath i MedTech.
i/lub
- IotJsonPathContent dla komunikatów urządzeń kierowanych przez usługę Azure IoT Hub do centrum zdarzeń usługi MedTech. Protokół IotJsonPathContent obsługuje JSONPath.
Przykład
Napiwek
Debuger mapowania usługi MedTech umożliwia tworzenie, aktualizowanie i rozwiązywanie problemów z mapowaniami docelowymi urządzeń usługi MedTech i FHIR. Debuger mapowania umożliwia łatwe wyświetlanie i wprowadzanie wbudowanych korekt w czasie rzeczywistym bez konieczności opuszczania witryny Azure Portal. Debuger mapowania może również służyć do przekazywania komunikatów urządzenia testowego, aby zobaczyć, jak będą one wyglądać po przetworzeniu w znormalizowane komunikaty i przekształcone w obserwacje FHIR.
W tym przykładzie używamy komunikatu urządzenia, który przechwytuje heartRate
dane:
{
"heartRate": "78",
"endDate": "2023-03-13T22:46:01.8750000",
"deviceId": "device01"
}
Używamy tego mapowania urządzenia na potrzeby etapu normalizacji:
{
"templateType": "CollectionContent",
"template": [
{
"templateType": "CalculatedContent",
"template": {
"typeName": "heartrate",
"typeMatchExpression": "$..[?(@heartRate)]",
"deviceIdExpression": "$.matchedToken.deviceId",
"timestampExpression": "$.matchedToken.endDate",
"values": [
{
"required": true,
"valueExpression": "$.matchedToken.heartRate",
"valueName": "hr"
}
]
}
}
]
}
Wynikowy znormalizowany komunikat będzie wyglądać następująco po etapie normalizacji:
[
{
"type": "heartrate",
"occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
"deviceId": "device01",
"properties": [
{
"name": "hr",
"value": "78"
}
]
}
]
Gdy usługa MedTech przetwarza komunikat urządzenia, szablony w kolekcjiContent są używane do oceny komunikatu. Element typeMatchExpression
służy do określania, czy szablon powinien służyć do tworzenia znormalizowanego komunikatu z komunikatu urządzenia. typeMatchExpression
Jeśli wynik ma wartość true, wartości deviceIdExpression
, timestampExpression
i valueExpression
są używane do lokalizowania i wyodrębniania wartości JSON z komunikatu urządzenia i tworzenia znormalizowanego komunikatu. W tym przykładzie wszystkie wyrażenia są zapisywane w JSONPath, jednak prawidłowe byłoby zapisanie wszystkich wyrażeń w JMESPath. Autor szablonu musi określić, który język wyrażeń jest najbardziej odpowiedni.
Napiwek
Aby uzyskać pomoc dotyczącą naprawiania typowych błędów wdrażania usługi MedTech, zobacz Rozwiązywanie problemów z błędami wdrażania usługi MedTech.
Aby uzyskać pomoc dotyczącą naprawiania błędów usługi MedTech, zobacz Rozwiązywanie problemów z błędami przy użyciu dzienników usługi MedTech.
Następne kroki
Jak używać szablonów CalculatedContent z mapowaniem urządzeń usługi MedTech
Jak używać szablonów IotJsonPathContent z mapowaniem urządzeń usługi MedTech
Jak używać funkcji niestandardowych z mapowaniem urządzeń usługi MedTech
Omówienie mapowania docelowego usługi MedTech FHIR
Omówienie przykładów mapowań opartych na scenariuszach usługi MedTech
Uwaga
FHIR® jest zastrzeżonym znakiem towarowym HL7 i jest używany z uprawnieniem HL7.