Översikt över enhetsmappning för MedTech-tjänsten

Den här artikeln innehåller en översikt över enhetsmappningen för MedTech-tjänsten.

MedTech-tjänsten kräver två typer av JSON-mappningar som läggs till i Din MedTech-tjänst via Azure-portalen eller Azure Resource Manager-API:et (ARM). Enhetsmappningen är den första typen och styr mappningsvärden i enhetsdata som skickas till MedTech-tjänsten till ett internt, normaliserat dataobjekt. Enhetsmappningen innehåller uttryck som MedTech-tjänsten använder för att extrahera typer, enhetsidentifierare, mätningsdatumtid och måttvärden. FHIR-målmappningen® är den andra typen och styr mappningen för FHIR-observationer.

Kommentar

Enhets- och FHIR-målmappningarna utvärderas varje gång ett enhetsmeddelande bearbetas. Alla uppdateringar av mappningen börjar gälla omedelbart.

Grunderna för enhetsmappning

Enhetsmappningen innehåller samlingar av uttrycksmallar som används för att extrahera enhetsmeddelandedata till ett internt normaliserat format för ytterligare utvärdering. Varje mottaget enhetsmeddelande utvärderas mot alla uttrycksmallar i samlingen. Den här utvärderingen innebär att ett enda enhetsmeddelande kan delas upp i flera utgående meddelanden som kan mappas till flera FHIR-observationer i FHIR-tjänsten.

Dricks

Mer information om hur MedTech-tjänsten bearbetar enhetsmeddelandedata till FHIR-observationer för beständighet i FHIR-tjänsten finns i Översikt över databearbetningsstegen för MedTech-tjänstens enhet.

Det här diagrammet ger en bild av vad som händer under normaliseringsfasen i MedTech-tjänsten.

Diagram example of the MedTech service device message normalization stage.

Verifiering av enhetsmappning

Normaliseringsprocessen validerar enhetsmappningen innan den kan sparas för användning. Dessa element krävs i mallarna för enhetsmappning.

Enhetsmappning

Element Krävs i CalculatedContent Krävs i IotJsonPathContent
Typename Sant Sant
typeMatchExpression Sant Sant
deviceIdExpression Sant Falskt och ignoreras helt.
timestampExpression Sant Falskt och ignoreras helt.
patientIdExpression Sant när MedTech-tjänsternas lösningstypär inställd på Skapa. Falskt när MedTech-tjänstens lösningstypär inställd på Uppslag. Sant när MedTech-tjänstens lösningstypär inställd på Skapa. Falskt när MedTech-tjänstens lösningstypär inställd på Uppslag.
encounterIdExpression Falsk Falsk
correlationIdExpression Falsk Falsk
values[].valueName Sant Sant
values[].valueExpression Sant Sant
values[].required Sant Sant

Viktigt!

Lösningstypen anger hur MedTech-tjänsten associerar enhetsdata med enhetsresurser och patientresurser. MedTech-tjänsten läser enhets- och patientresurser från FHIR-tjänsten med hjälp av enhetsidentifierare och patientidentifierare. Om ett mötesidentifierare har angetts och extraherats från nyttolasten för enhetsdata länkas den till observationen om det finns ett möte i FHIR-tjänsten med den identifieraren. Om mötesidentifieraren har normaliserats, men det inte finns något FHIR-möte med den påträffade identifieraren, utlöses ett FhirResourceNotFound-undantag. Mer information om hur du konfigurerar Lösningstypen för MedTech-tjänsten finns i Konfigurera fliken Mål.

Kommentar

Elementen values[].valueName, values[].valueExpression, och values[].required krävs bara om du har en värdepost i matrisen. Det är giltigt om inga värden har mappats. Dessa element används när telemetrin som skickas är en händelse.

Vissa scenarier kan till exempel kräva att du skapar en FHIR-observation i FHIR-tjänsten som inte innehåller något värde.

CollectionContent

CollectionContent är den rotmallstyp som används av enhetsmappningen för MedTech-tjänsten. CollectionContent är en lista över alla mallar som används under normaliseringsfasen. Du kan definiera en eller flera mallar i CollectionContent, där varje enhetsmeddelande som tas emot av MedTech-tjänsten utvärderas mot alla mallar.

Du kan använda dessa malltyper i CollectionContent beroende på ditt användningsfall:

Eller

Diagram showing MedTech service device mapping templates architecture.

Exempel

Dricks

Du kan använda felsökningsprogrammet för MedTech-tjänstens mappning för att få hjälp med att skapa, uppdatera och felsöka MedTech-tjänstenheten och FHIR-målmappningarna. Med felsökningsprogrammet Mappning kan du enkelt visa och göra infogade justeringar i realtid, utan att behöva lämna Azure-portalen. Felsökningsprogrammet mappning kan också användas för att ladda upp testenhetsmeddelanden för att se hur de kommer att se ut efter att ha bearbetats till normaliserade meddelanden och omvandlats till FHIR-observationer.

I det här exemplet använder vi ett enhetsmeddelande som samlar in heartRate data:

{
  "heartRate": "78",
  "endDate": "2023-03-13T22:46:01.8750000",
  "deviceId": "device01"
}

Vi använder den här enhetsmappningen för normaliseringssteget:

{
  "templateType": "CollectionContent",
  "template": [
    {
      "templateType": "CalculatedContent",
      "template": {
        "typeName": "heartrate",
        "typeMatchExpression": "$..[?(@heartRate)]",
        "deviceIdExpression": "$.matchedToken.deviceId",
        "timestampExpression": "$.matchedToken.endDate",
        "values": [
          {
            "required": true,
            "valueExpression": "$.matchedToken.heartRate",
            "valueName": "hr"
          }
        ]
      }
    }
  ]
}

Det resulterande normaliserade meddelandet ser ut så här efter normaliseringssteget:

[
  {
    "type": "heartrate",
    "occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
    "deviceId": "device01",
    "properties": [
      {
        "name": "hr",
        "value": "78"
      }
    ]
  }
]

När MedTech-tjänsten bearbetar enhetsmeddelandet används mallarna i CollectionContent för att utvärdera meddelandet. typeMatchExpression Används för att avgöra om mallen ska användas för att skapa ett normaliserat meddelande från enhetsmeddelandet. typeMatchExpression Om utvärderas till sant deviceIdExpressionanvänds värdena , timestampExpressionoch valueExpression för att hitta och extrahera JSON-värdena från enhetsmeddelandet och skapa ett normaliserat meddelande. I det här exemplet skrivs alla uttryck i JSONPath, men det skulle vara giltigt att skriva alla uttryck i JMESPath. Det är upp till mallförfattaren att avgöra vilket uttrycksspråk som är lämpligast.

Dricks

Information om hur du åtgärdar vanliga distributionsfel för MedTech-tjänsten finns i Felsöka distributionsfel för MedTech-tjänsten.

Mer information om hur du åtgärdar MedTech-tjänstfel finns i Felsöka fel med hjälp av MedTech-tjänstloggarna.

Nästa steg

Så här använder du CalculatedContent-mallar med MedTech-tjänstens enhetsmappning

Så här använder du IotJsonPathContent-mallar med enhetsmappning för MedTech-tjänsten

Så här använder du anpassade funktioner med enhetsmappning för MedTech-tjänsten

Översikt över MedTech-tjänstens FHIR-målmappning

Översikt över scenariobaserade mappningsexempel för MedTech-tjänsten

Kommentar

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.