Panoramica del mapping dei dispositivi del servizio MedTech
Questo articolo offre una panoramica del mapping dei dispositivi del servizio MedTech.
Il servizio MedTech richiede due tipi di mapping JSON aggiunti al servizio MedTech tramite l'API portale di Azure o Azure Resource Manager (ARM). Il mapping del dispositivo è il primo tipo e controlla i valori di mapping nei dati del dispositivo inviati al servizio MedTech a un oggetto dati interno normalizzato. Il mapping del dispositivo contiene espressioni usate dal servizio MedTech per estrarre tipi, identificatori del dispositivo, data di misurazione e valori di misura. Il mapping di destinazione FHIR® è il secondo tipo e controlla il mapping per le osservazioni FHIR.
Nota
I mapping di destinazione del dispositivo e FHIR vengono rivalutati ogni volta che viene elaborato un messaggio del dispositivo. Tutti gli aggiornamenti di entrambi i mapping avranno effetto immediatamente.
Nozioni di base sul mapping dei dispositivi
Il mapping dei dispositivi contiene raccolte di modelli di espressione usati per estrarre i dati dei messaggi del dispositivo in un formato interno normalizzato per un'ulteriore valutazione. Ogni messaggio del dispositivo ricevuto viene valutato rispetto a tutti i modelli di espressione nella raccolta. Questa valutazione significa che un singolo messaggio del dispositivo può essere separato in più messaggi in uscita di cui è possibile eseguire il mapping a più osservazioni FHIR nel servizio FHIR.
Suggerimento
Per altre informazioni sul modo in cui il servizio MedTech elabora i dati dei messaggi del dispositivo in osservazioni FHIR per la persistenza nel servizio FHIR, vedere Panoramica delle fasi di elaborazione dei dati dei dispositivi del servizio MedTech.
Questo diagramma fornisce un'illustrazione di ciò che accade durante la fase di normalizzazione all'interno del servizio MedTech.
Convalide del mapping dei dispositivi
Il processo di normalizzazione convalida il mapping del dispositivo prima di consentire il salvataggio per l'uso. Questi elementi sono necessari nei modelli di mapping dei dispositivi.
Mapping dei dispositivi
Elemento | Obbligatorio in CalculatedContent | Obbligatorio in IotJsonPathContent |
---|---|---|
typeName | Vero | Vero |
typeMatchExpression | Vero | Vero |
deviceIdExpression | Vero | False e ignorato completamente. |
timestampExpression | Vero | False e ignorato completamente. |
patientIdExpression | True quando il tipo di risoluzione dei servizi MedTech è impostato su Crea; False quando il tipo di risoluzione del servizio MedTech è impostato su Ricerca. | True quando il tipo di risoluzione del servizio MedTech è impostato su Crea; False quando il tipo di risoluzione del servizio MedTech è impostato su Ricerca. |
encounterIdExpression | False | False |
correlationIdExpression | False | False |
values[].valueName | Vero | Vero |
values[].valueExpression | Vero | Vero |
values[].required | Vero | Vero |
Importante
Il tipo di risoluzione specifica il modo in cui il servizio MedTech associa i dati del dispositivo alle risorse dispositivo e alle risorse paziente. Il servizio MedTech legge le risorse dispositivo e paziente dal servizio FHIR usando identificatori di dispositivo e identificatori dei pazienti. Se un identificatore di rilevamento viene specificato ed estratto dal payload dei dati del dispositivo, viene collegato all'osservazione se esiste un incontro nel servizio FHIR con tale identificatore. Se l'identificatore di rilevamento viene normalizzato correttamente, ma non esiste alcun incontro FHIR con tale identificatore, viene generata un'eccezione FhirResourceNotFound. Per altre informazioni sulla configurazione del tipo di risoluzione del servizio MedTech, vedere Configurare la scheda Destinazione.
Nota
Gli values[].valueName, values[].valueExpression
elementi , e values[].required
sono necessari solo se si dispone di una voce di valore nella matrice. Non è possibile eseguire il mapping dei valori. Questi elementi vengono usati quando i dati di telemetria inviati sono un evento.
Ad esempio, alcuni scenari possono richiedere la creazione di un'osservazione FHIR nel servizio FHIR che non contiene un valore.
CollectionContent
CollectionContent è il tipo di modello radice usato dal mapping dei dispositivi del servizio MedTech. CollectionContent è un elenco di tutti i modelli usati durante la fase di normalizzazione. È possibile definire uno o più modelli all'interno di CollectionContent, con ogni messaggio del dispositivo ricevuto dal servizio MedTech valutato rispetto a tutti i modelli.
È possibile usare questi tipi di modello all'interno di CollectionContent a seconda del caso d'uso:
- CalculatedContent per i messaggi del dispositivo inviati direttamente all'hub eventi del servizio MedTech. CalculatedContent supporta funzioni personalizzate del servizio JSONPath, JMESPath, JMESPath e MedTech.
e/o
- IotJsonPathContent per i messaggi del dispositivo instradati tramite un hub IoT di Azure all'hub eventi del servizio MedTech. IotJsonPathContent supporta JSONPath.
Esempio
Suggerimento
È possibile usare il debugger di mapping del servizio MedTech per assistenza per la creazione, l'aggiornamento e la risoluzione dei problemi relativi ai mapping di destinazione del servizio MedTech e FHIR. Il debugger mapping consente di visualizzare e apportare facilmente modifiche inline in tempo reale, senza dover mai lasciare il portale di Azure. Il debugger mapping può essere usato anche per caricare i messaggi del dispositivo di test per vedere come verranno elaborati in messaggi normalizzati e trasformati in osservazioni FHIR.
In questo esempio viene usato un messaggio del dispositivo che acquisisce heartRate
i dati:
{
"heartRate": "78",
"endDate": "2023-03-13T22:46:01.8750000",
"deviceId": "device01"
}
Questo mapping dei dispositivi viene usato per la fase di normalizzazione:
{
"templateType": "CollectionContent",
"template": [
{
"templateType": "CalculatedContent",
"template": {
"typeName": "heartrate",
"typeMatchExpression": "$..[?(@heartRate)]",
"deviceIdExpression": "$.matchedToken.deviceId",
"timestampExpression": "$.matchedToken.endDate",
"values": [
{
"required": true,
"valueExpression": "$.matchedToken.heartRate",
"valueName": "hr"
}
]
}
}
]
}
Il messaggio normalizzato risultante sarà simile al seguente dopo la fase di normalizzazione:
[
{
"type": "heartrate",
"occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
"deviceId": "device01",
"properties": [
{
"name": "hr",
"value": "78"
}
]
}
]
Quando il servizio MedTech elabora il messaggio del dispositivo, i modelli in CollectionContent vengono usati per valutare il messaggio. Viene typeMatchExpression
usato per determinare se il modello deve essere usato o meno per creare un messaggio normalizzato dal messaggio del dispositivo. Se restituisce typeMatchExpression
true, i deviceIdExpression
valori , timestampExpression
e valueExpression
vengono usati per individuare ed estrarre i valori JSON dal messaggio del dispositivo e creare un messaggio normalizzato. In questo esempio tutte le espressioni vengono scritte in JSONPath, tuttavia, sarebbe valido scrivere tutte le espressioni in JMESPath. Spetta all'autore del modello determinare quale linguaggio delle espressioni è più appropriato.
Suggerimento
Per assistenza nella correzione degli errori comuni di distribuzione del servizio MedTech, vedere Risolvere gli errori di distribuzione del servizio MedTech.
Per assistenza per la correzione degli errori del servizio MedTech, vedere Risolvere gli errori usando i log del servizio MedTech.
Passaggi successivi
Come usare i modelli CalculatedContent con il mapping dei dispositivi del servizio MedTech
Come usare i modelli IotJsonPathContent con il mapping dei dispositivi del servizio MedTech
Come usare funzioni personalizzate con il mapping dei dispositivi del servizio MedTech
Panoramica del mapping di destinazione FHIR del servizio MedTech
Panoramica degli esempi di mapping basati su scenari del servizio MedTech
Nota
FHIR® è un marchio registrato di HL7 e viene usato con l'autorizzazione di HL7.