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.

Diagram example of the MedTech service device message normalization stage.

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 :

et/ou

Diagram showing MedTech service device mapping templates architecture.

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.