Přehled mapování cíle FHIR služby MedTech

Tento článek obsahuje přehled mapování cíle FHIR® služby MedTech.

Služba MedTech vyžaduje dva typy mapování JSON , které jsou přidány do vaší služby MedTech prostřednictvím webu Azure Portal nebo rozhraní API Azure Resource Manageru. Mapování zařízení je prvním typem a řídí hodnoty mapování v datech zařízení odesílaných do služby MedTech do interního normalizovaného datového objektu. Mapování zařízení obsahuje výrazy, které služba MedTech používá k extrakci typů, identifikátorů zařízení, data měření a hodnot měření. Mapování cíle FHIR je druhým typem a řídí, jak se normalizovaná data mapují na pozorování FHIR.

Poznámka:

Mapování cílů zařízení a FHIR se při každém zpracování zprávy zařízení znovu vyhodnotí. Všechny aktualizace mapování se projeví okamžitě.

Základy mapování cíle FHIR

Mapování cíle FHIR řídí, jak se normalizované data extrahovaná ze zprávy zařízení mapují na pozorování FHIR.

  • Má se pozorování vytvořit k určitému bodu v čase nebo v průběhu hodiny?
  • Jaké kódy by se měly přidat do pozorování?
  • Má být hodnota reprezentována jako SampledData nebo Quantity?

Tyto datové typy jsou všechny možnosti ovládacích prvků konfigurace mapování cíle FHIR.

Jakmile se data zařízení transformují na normalizovaný datový model, shromažďují se normalizovaná data pro transformaci na pozorování FHIR. Pokud je typ pozorování SampledData, data se seskupí podle identifikátoru zařízení, typu měření a časového období (časové období může být buď 1 hodina, nebo 24 hodin). Výstup tohoto seskupení se odešle pro převod na jedno pozorování FHIR, které představuje časové období pro tento datový typ. U jiných typů pozorování (Množství, CodeableConcept a String) nejsou data seskupována, ale každé měření se transformuje na jedno pozorování představující bod v čase.

Tip

Další informace o tom, jak služba MedTech zpracovává data zpráv zařízení do FHIR Observations pro trvalost služby FHIR, naleznete v tématu Přehled fází zpracování zpráv zařízení služby MedTech.

Tento diagram znázorňuje, co se stane během fáze transformace ve službě MedTech.

Diagram example of the MedTech service device message transformation stage.

Poznámka:

Pozorování FHIR v tomto diagramu není úplným zdrojem. Podívejte se na příklad v tomto přehledu pro celé pozorování FHIR.

CollectionFhir

CollectionFhir je typ kořenové šablony používaný mapováním cíle FHIR služby MedTech. CollectionFhir je seznam všech šablon, které se používají během fáze transformace. V kolekci CollectionFhir můžete definovat jednu nebo více šablon s vyhodnocením každé normalizované zprávy pro všechny šablony.

Diagram showing MedTech service FHIR destination mapping template and code architecture.

CodeValueFhir

CodeValueFhir je v současné době jedinou šablonou podporovanou v mapování cíle FHIR. Umožňuje definovat kódy, efektivní období a hodnotu pozorování. Podporuje se více typů hodnot: SampledData, CodeableConcept, Quantity a String. Společně s těmito konfigurovatelnými hodnotami se automaticky zpracuje identifikátor prostředku pozorování a propojení se správnými prostředky zařízení a pacientů.

Důležité

Typ řešení určuje, jak služba MedTech přidruží data zařízení k prostředkům zařízení a prostředkům pacientů. Služba MedTech čte prostředky zařízení a pacientů ze služby FHIR pomocí identifikátorů zařízení a identifikátorů pacientů. Pokud je zadaný identifikátor výskytu a extrahován z datové části dat zařízení, je propojen s pozorováním, pokud na službě FHIR existuje s tímto identifikátorem. Pokud je identifikátor výskytu úspěšně normalizován, ale s tímto identifikátorem není nalezen žádný záznam FHIR, vyvolá se výjimka FhirResourceNotFound. Další informace o konfiguraci typu řešení služby MedTech naleznete v tématu Konfigurace cílové karty.

Element (Prvek) Popis Požaduje se
Typename Typ měření by se tato šablona měla svázat. Poznámka: Měla by existovat alespoň jedna šablona mapování zařízení, která má stejnou typeName. Tento typeName prvek slouží k propojení šablony mapování cíle FHIR s jednou nebo více šablonami mapování zařízení. Šablony mapování zařízení se stejným typeName prvkem generují normalizovaná data, která se vyhodnocují pomocí šablony mapování cíle FHIR, která má stejnou typeName. True
periodInterval Časové období vytvořeného pozorování by mělo představovat. Podporované hodnoty jsou 0 (instance), 60 (hodina), 1440 (den). True, pokud typ pozorování je SampledData; Ignorováno pro jiné typy pozorování.
Kategorie Libovolný počet CodeableConcepts pro klasifikaci typu vytvořeného pozorování. False
Kódy Jeden nebo více kódování, které se použijí na vytvořené pozorování. True
codes[].code Kód pro kódování v elementu codes . True
kódy[].system Systém kódování v codes prvku. False
kódy[].display Zobrazení kódu v elementucodes. False
value Hodnota, která se má extrahovat a znázorňovat v pozorování. Další informace o prvcích, které value prvek obsahuje, naleznete v tématu Typy hodnot. True, pokud components se prvek nepoužívá (pokud typ pozorování není CodebleConcept, v takovém případě tento prvek není pouze povinné, ale také ignorován).
Součásti Jedna nebo více součástí, které se mají vytvořit na pozorování. True, pokud se value prvek nepoužívá.
components[].codes Nejméně jeden kód, který se má použít pro komponentu. False
components[].value Hodnota, která se má extrahovat a reprezentovat v komponentě. Další informace o prvcích, které components[].value prvek obsahuje, naleznete v tématu Typy hodnot. True při použití elementu components (pokud typ Pozorování není CodebleConcept, v takovém případě tento prvek není pouze "povinné", ale také ignorován).

Typy hodnot

Všechny elementy šablon value CodeValueFhir obsahují tyto prvky:

Element (Prvek) Popis Požaduje se
Valuetype Typ hodnoty. Tato hodnota by byla "SampledData", "Quantity", "CodeableConcept" nebo "String" v závislosti na typu hodnoty. True
Valuename Název hodnoty. True, pokud valueType není CodeableConcept.

V mapování cíle FHIR služby MedTech se podporují tyto typy hodnot:

SampledData

Představuje datový typ SampledData FHIR. Měření pozorování se zapisují do hodnotového toku začínajícího v okamžiku v čase a inkrementují dopředu pomocí definovaného období. Pokud neexistuje žádná hodnota, E zapíše se do datového proudu. Pokud je tečka taková, že dvě nebo více hodnot zabírají stejnou pozici v datovém proudu, použije se nejnovější hodnota. Stejná logika se použije při aktualizaci pozorování pomocí SampledData. Pro šablonu CodeValueFhir s typem SampledData obsahuje element šablony value následující prvky:

Element (Prvek) Popis Požaduje se
defaultPeriod Výchozí období v milisekundách, které se má použít. True
Jednotka Jednotka, která se nastaví na původu SampledData. True

Množství

Představuje datový typ Quantity FHIR. Tento typ vytvoří jeden bod v čase, pozorování. Pokud dorazí nová hodnota, která obsahuje stejný identifikátor zařízení, typ měření a časové razítko, předchozí pozorování se aktualizuje na novou hodnotu. V případě šablony CodeValueFhir s typem hodnoty Quantity obsahuje element šablony value následující prvky:

Element (Prvek) Popis Požaduje se
Jednotka Reprezentace jednotek False
kód Kódovaná forma jednotky. False
Systému Systém, který definuje kódovaný formulář jednotky. False

CodeableConcept

Představuje datový typ CodeableConcept FHIR. Hodnota v normalizovaném datovém modelu se nepoužívá a místo toho se při přijetí tohoto typu dat vytvoří pozorování s konkrétním kódem představujícím, že pozorování bylo zaznamenáno v určitém časovém okamžiku. Pro šablonu CodeValueFhir s typem hodnoty CodeableConcept obsahuje element šablony value následující prvky:

Element (Prvek) Popis Požaduje se
text Reprezentace prostého textu False
Kódy Jeden nebo více kódování, které se použijí na vytvořené pozorování. True
codes[].code Kód pro kódování v elementu codes . True
kódy[].system Systém kódování v codes prvku. False
kódy[].display Zobrazení kódu v elementucodes. False

Řetězec

Představuje datový typ String FHIR. Tento typ vytvoří jeden bod v čase, pozorování. Pokud dorazí nová hodnota, která obsahuje stejný identifikátor zařízení, typ měření a časové razítko, předchozí pozorování se aktualizuje na novou hodnotu. Nejsou definovány žádné další prvky.

Příklad

Tip

Ladicí program mapování služby MedTech můžete použít k pomoci s vytvářením, aktualizací a odstraňováním potíží se zařízením služby MedTech a cílovými mapováními FHIR. Ladicí program mapování umožňuje snadno zobrazit a provádět vložené úpravy v reálném čase, aniž byste museli opustit Azure Portal. Ladicí program mapování lze použít také k nahrání zpráv testovacího zařízení, abyste zjistili, jak budou vypadat po zpracování do normalizovaných zpráv a transformují se na FHIR Observations.

Poznámka:

Tento příklad a normalizovaná zpráva je pokračováním z přehledu mapování zařízení služby MedTech.

V tomto příkladu používáme normalizovanou zprávu, která heartRate zachycuje data:

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

Pro fázi transformace používáme toto mapování cíle FHIR:

{
  "templateType": "CollectionFhir",
  "template": [
    {
      "templateType": "CodeValueFhir",
      "template": {
        "codes": [
          {
            "code": "8867-4",
            "system": "http://loinc.org",
            "display": "Heart rate"
          }
        ],
        "typeName": "heartrate",
        "value": {
          "system": "http://unitsofmeasure.org",
          "code": "count/min",
          "unit": "count/min",
          "valueName": "hr",
          "valueType": "Quantity"
        }
      }
    }
  ]
}

Výsledné pozorování FHIR bude po fázi transformace vypadat takto:

[
  {
    "code": {
      "coding": [
        {
          "system": {
            "value": "http://loinc.org"
          },
          "code": {
            "value": "8867-4"
          },
          "display": {
            "value": "Heart rate"
          }
        }
      ],
      "text": {
        "value": "heartrate"
      }
    },
    "effective": {
      "start": {
        "value": "2023-03-13T22:46:01.8750000Z"
      },
      "end": {
        "value": "2023-03-13T22:46:01.8750000Z"
      }
    },
    "issued": {
      "value": "2023-04-05T21:02:59.1650841+00:00"
    },
    "value": {
      "value": {
        "value": 78
      },
      "unit": {
        "value": "count/min"
      },
      "system": {
        "value": "http://unitsofmeasure.org"
      },
      "code": {
        "value": "count/min"
      }
    }
  }
]

Tip

Pomoc s opravou běžných chyb nasazení služby MedTech najdete v tématu Řešení chyb nasazení služby MedTech.

Pomoc s opravou chyb služby MedTech najdete v tématu Řešení chyb pomocí protokolů služby MedTech.

Další kroky

Přehled mapování zařízení služby MedTech

Jak používat šablony CalculatedContent s mapováním zařízení služby MedTech

Jak používat šablony IotJsonPathContent s mapováním zařízení služby MedTech

Jak používat vlastní funkce s mapováním zařízení služby MedTech

Přehled ukázek mapování založených na scénářích služby MedTech

Poznámka:

FHIR® je registrovaná ochranná známka HL7 a používá se s povolením HL7.