Vue d’ensemble du mappage d’appareils du service MedTech
Cet article fournit une vue d’ensemble du mappage d’appareils du service MedTech.
Le service MedTech nécessite deux types de mappages JSON qui sont ajoutés à votre service MedTech via le portail Azure ou l’API Azure Resource Manager (ARM). Le mappage d’appareils est le premier type, qui contrôle le mappage des valeurs dans les données de l’appareil envoyées au service MedTech à un objet de données interne normalisé. Le mappage d’appareils contient des expressions utilisées par le service MedTech pour extraire les types, les identificateurs d’appareil, l’heure de la date de mesure et les valeurs de mesure. Le mappage de destination FHIR® est le deuxième type, qui contrôle le mappage pour les observations FHIR.
Remarque
Les mappages d’appareils et de destination FHIR sont réévalués chaque fois qu’un message d’appareil est traité. Toutes les mises à jour apportées à l’un de ces mappages prennent effet immédiatement.
Informations de base sur le mappage d’appareils
Le mappage d’appareil contient des collections de modèles d’expression utilisés pour extraire des données de message d’appareil dans un format interne normalisé pour une évaluation plus poussée. Chaque message d’appareil reçu est évalué par rapport à tous les modèles d’expression dans la collection. Cette évaluation signifie qu’un seul message d’appareil peut être séparé en plusieurs messages sortants qui peuvent être mappés à plusieurs observations FHIR dans le service FHIR.
Conseil
Pour plus d’informations sur la façon dont le service MedTech traite les données des messages d’appareil dans les observations FHIR pour la persistance dans le service FHIR, consultez Vue d’ensemble des étapes de traitement des données d’appareils dans le service MedTech.
Ce diagramme fournit une illustration de ce qui se passe pendant la phase de normalisation au sein du service MedTech.
Validations du mappage d’appareils
Le processus de normalisation valide le mappage d’appareils avant d’autoriser son enregistrement à des fins d’utilisation. Ces éléments sont requis dans les modèles de mappage d’appareils.
Mappage d’appareils
Élément | Obligatoire dans CalculatedContent | Obligatoire dans IotJsonPathContent |
---|---|---|
typeName | True | True |
typeMatchExpression | True | True |
deviceIdExpression | True | Faux et ignoré complètement. |
timestampExpression | True | Faux et ignoré complètement. |
patientIdExpression | Vrai lorsque le type de résolution des services MedTech est défini sur Créer ; Faux lorsque le type de résolution du service MedTech est défini sur Rechercher. | Vrai lorsque le type de résolution du service MedTech est défini sur Créer ; Faux lorsque le type de résolution du service MedTech est défini sur Rechercher. |
encounterIdExpression | False | False |
correlationIdExpression | False | False |
values[].valueName | True | True |
values[].valueExpression | True | True |
values[].required | True | True |
Important
Le Type de résolution spécifie la façon dont le service MedTech associe les données d’appareil aux ressources de type Appareil et de type Patient. Le service MedTech lit les ressources de type Appareil et les ressources de type Patient à partir du service FHIR en utilisant les identificateurs d’appareil et les identificateurs de patient. Si un identificateur de rencontre est spécifié et qu’il extrait de la charge utile des données d’appareil, il est lié à l’observation, s’il existe une rencontre sur le service FHIR avec cet identificateur. Si l’identificateur de rencontre est normalisé avec succès, mais qu’il n’existe aucune rencontre FHIR avec cet identificateur de rencontre, une exception FhirResourceNotFound est levée. Pour plus d’informations sur la configuration du type de résolution du service MedTech, consultez l’onglet Configurer la destination.
Remarque
Les éléments values[].valueName, values[].valueExpression
et values[].required
sont requis uniquement si vous avez une entrée de valeur dans le tableau. Il est possible de n’avoir aucune valeur mappée. Ces éléments sont utilisés lorsque la télémétrie envoyée est un événement.
Par exemple, certains scénarios peuvent nécessiter la création d’une observation FHIR dans le service FHIR qui ne contient pas de valeur.
CollectionContent
CollectionContent est le type de modèle racine utilisé par le mappage d’appareils du service MedTech. CollectionContent est une liste de tous les modèles utilisés pendant la phase de normalisation. Vous pouvez définir un ou plusieurs modèles dans CollectionContent, où chaque message d’appareil reçu par le service MedTech est évalué par rapport à tous les modèles.
Vous pouvez utiliser ces types de modèles dans CollectionContent en fonction de votre cas d’usage :
- CalculatedContent pour les messages d’appareil envoyés directement à votre hub d’événements du service MedTech. CalculatedContent prend en charge JSONPath, JMESPath, les fonctions JMESPath et le service MedTech fonctions personnalisées.
et/ou
- IotJsonPathContent pour les messages d’appareil routés via un Azure IoT Hub vers votre hub d’événements du service MedTech. IotJsonPathContent prend en charge JSONPath.
Exemple
Conseil
Vous pouvez utiliser le Débogueur de mappage du service MedTech pour obtenir de l’aide sur la création, la mise à jour et la résolution des problèmes liés aux mappages d’appareils et aux mappages de destinations FHIR du service MedTech. Le Débogueur de mappage vous permet de voir et d’effectuer facilement des ajustements inline en temps réel, sans jamais avoir à quitter le portail Azure. Le Débogueur de mappage peut également être utilisé pour charger des messages d’appareil de test afin de voir à quoi ils ressembleront une fois traités en messages normalisés et transformés en observations FHIR.
Dans cet exemple, nous utilisons un message d’appareil qui capture des données heartRate
:
{
"heartRate": "78",
"endDate": "2023-03-13T22:46:01.8750000",
"deviceId": "device01"
}
Nous utilisons ce mappage d’appareils pour l’étape de normalisation :
{
"templateType": "CollectionContent",
"template": [
{
"templateType": "CalculatedContent",
"template": {
"typeName": "heartrate",
"typeMatchExpression": "$..[?(@heartRate)]",
"deviceIdExpression": "$.matchedToken.deviceId",
"timestampExpression": "$.matchedToken.endDate",
"values": [
{
"required": true,
"valueExpression": "$.matchedToken.heartRate",
"valueName": "hr"
}
]
}
}
]
}
Le message normalisé résultant se présente comme suit après l’étape de normalisation :
[
{
"type": "heartrate",
"occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
"deviceId": "device01",
"properties": [
{
"name": "hr",
"value": "78"
}
]
}
]
Lorsque le service MedTech traite le message de l’appareil, les modèles dans CollectionContent sont utilisés pour évaluer le message. La typeMatchExpression
est utilisée pour déterminer si le modèle doit être utilisé ou non pour créer un message normalisé à partir du message de l’appareil. Si la valeur de typeMatchExpression
est Vrai, les valeurs deviceIdExpression
, timestampExpression
et valueExpression
sont utilisées pour localiser et extraire les valeurs JSON du message de l’appareil et créer un message normalisé. Dans cet exemple, toutes les expressions sont écrites dans JSONPath. Toutefois, il serait valide d’écrire toutes les expressions dans JMESPath. Il incombe à l’auteur du modèle de déterminer le langage d’expression le plus approprié.
Conseil
Pour obtenir de l’aide sur la résolution des erreurs courantes de déploiement du service MedTech, consultez Résoudre les erreurs de déploiement du service MedTech.
Pour obtenir de l’aide sur la résolution des erreurs du service MedTech, consultez Résoudre les erreurs à l’aide des journaux du service MedTech.
Étapes suivantes
Comment utiliser des modèles CalculatedContent avec le mappage d’appareils du service MedTech
Comment utiliser des modèles IotJsonPathContent avec le mappage d’appareils du service MedTech
Comment utiliser des fonctions personnalisées avec le mappage d’appareils du service MedTech
Vue d’ensemble du mappage de destination FHIR du service MedTech
Vue d’ensemble des exemples de mappages basés sur des scénarios du service MedTech
Remarque
FHIR® est une marque déposée de HL7 utilisé avec l’autorisation de HL7.