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.

Diagram example of the MedTech service device message normalization stage.

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[].valueExpressionElementy 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:

i/lub

Diagram showing MedTech service device mapping templates architecture.

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, timestampExpressioni 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.