Ö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.
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:
- CalculatedContent för enhetsmeddelanden som skickas direkt till din MedTech-tjänsthändelsehubb. CalculatedContent stöder JSONPath, JMESPath, JMESPath-funktioner och anpassade funktioner för MedTech-tjänsten.
Eller
- IotJsonPathContent för enhetsmeddelanden som dirigeras via en Azure IoT Hub till din MedTech-tjänsthändelsehubb. IotJsonPathContent stöder JSONPath.
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 deviceIdExpression
används värdena , timestampExpression
och 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.