Freigeben über


Zuordnungen des Datenintegrations-Toolkits: Beispiele und Anwendungsfälle

Anmerkung

Der Synchronisierungs-Agent für FHIR wurde jetzt in Datenintegrations-Toolkit umbenannt.

Das Datenintegrations-Toolkit liefert eine umfassende Sammlung an Standardzuordnungen, die der HL7 FHIR-Spezifikation entsprechen.

Die standardmäßigen Entitätszuordnungen und Attributzuordnungen werden bereitgestellt als Dataverse-Datensätze und sind hochgradig konfigurierbar, um Ihren verschiedenen Lösungsanforderungen gerecht zu werden. Dieser Artikel umfasst einige spezifische Beispiele im Zusammenhang mit der Verwendung dieser Zuordnungen.

Informationen zum Konfigurieren dieser Zuordnungen finden Sie unter Entitätszuordnungen konfigurieren und Attributzuordnungen konfigurieren. Nach der Konfiguration werden dieselben Zuordnungen von den Dataverse Healthcare APIs, dem Rückschreibprozess und den virtuellen Gesundheitsdatentabellen verwendet.

Beispiele für Entitätszuordnungen

In diesem Abschnitt werden einige Beispiele für die Verwendung von Entitätszuordnungen aufgeführt.

Beispiel 1: Patientenbehandlung

Wenn Sie eine Patientenbegegnung zur elektronischen Patientenakte hinzufügen, liefert die Entitätszuordnung die Transformationsregeln, die die Dataverse Healthcare APIs benötigen, um FHIR in Dataverse Datensätze zu transformieren.

  1. Die Entitätszuordnung msemr_encounter ↔ Behandlung verbindet die Azure FHIR-Ressource Behandlung mit der Dataverse-Entität msemr_encounter.

    Ein Screenshot, der das Entitätskartenbeispiel für die Patientenbegegnung zeigt.

  2. Datenänderungen in der Behandlung Ressource im Gesundheitsdatensystem des Kunden löst eine neue Nachricht an die Dataverse Healthcare APIs aus. Wenn zum Beispiel die Azure Logic App (für die Dataverse Healthcare APIs) mit der Datenpipelinevorlage für das Gesundheitswesen im Microsoft Cloud-Lösungscenter bereitgestellt wird, wird ein neues FHIR-Bündel in den Blob-Storage gepostet. Die Logic App verarbeitet dann dieses Bündel und sendet es über die Dataverse Healthcare APIs an Dataverse.

    Weitere Informationen über die Pipeline-Vorlage für Healthcare-Daten und die Konfiguration der Logic-App finden Sie unter Dataverse Healthcare APIs: Verwenden Sie die Healthcare Data Pipeline-Vorlage, um Azure Logic-Apps bereitzustellen.

  3. Die Dataverse Healthcare APIs verwenden die Entitätszuordnung msemr_encounter ↔ Encounter. Die zugehörigen Attributkarten wandeln die eingehenden FHIR-Ressourcen in ihre repräsentativen Datensätze in Dataverse um.

Beispiel 2: Patientenaktualisierung in Dataverse und Zurückschreiben

In diesem Beispiel wird ein Szenario betrachtet, in dem Sie einen Datensatz in Dataverse aktualisieren und diese Änderung über Azure Health Data Services in Ihr EMR-System zurückschreiben möchten.

  1. Die Entitätszuordnung des Datenintegrations-Toolkit Kontakt ↔ Patient verbindet die Azure FHIR-Ressource Patient mit der Dataverse-Entität Kontakt.

    Ein Screenshot, der das Entitätskartenbeispiel für die Patientenaktualisierung in Dataverse zeigt.

  2. Eine Datenänderung in einer Patientenakte in Dataverse löst das Dataverse-Rückschreiben-Plug-In aus.

  3. Dieses Dataverse Plug-In sendet eine Nachricht über den geänderten Datensatz an den ausgehenden FHIR Endpunkt, der im Rückschreibabschnitt der Integrationseinstellungen konfiguriert ist.

  4. In diesem Beispiel ist der FHIR Endpunkt so konfiguriert, dass er direkt an Azure Health Data Services übermittelt wird.

  5. Sie können auch eine Relay-Anwendung wie eine Azure Logic App oder eine Azure Function konfigurieren, die die Nachricht sowohl an Ihren EMR-Dienst als auch an Azure Health Data Services senden kann.

    Anmerkung

    Wir empfehlen, dass Sie Ihre Patienten-, Arzt-, verwalteten klinischen und referenzierten klinischen Daten mit Microsoft Cloud for Healthcare synchronisieren.

Weitere Informationen zum Konfigurieren des Rückschreibens finden Sie unter Übersicht über das Rückschreiben für Dataverse Healthcare APIs.

Attributzuordnungsbeispiele

Dieser Abschnitt enthält mehrere Beispiele für die Konfiguration verschiedener Arten von Attributzuordnungen, auf die Sie möglicherweise stoßen.

Einfacher String vorhandenes Feld

Das folgende Beispiel würde den Nachnamen eines Patienten aus FHIR abrufen, um ihn an Dataverse zu senden oder den Wert des Attributs lastname von Dataverse auf das Element family in FHIR zu aktualisieren.

`{"s": "$.name[?(@.use=='usual')].family"}`

Bei dieser Zuordnung wird davon ausgegangen, dass name immer existiert und über den JSONPath, der auf der FHIR-Ressource definiert ist, gefunden werden kann.

Vorhandenes oder nicht vorhandenes Feld

Das folgende Beispiel würde das Feld city von address[0] abrufen oder aktualisieren, falls es existiert. Wenn es sich um eine Aktualisierung von Dataverse handelt und address[0] in FHIR nicht vorhanden ist, wird ein übergeordneter Wert address[0] erstellt und der Wert city von Dataverse festgelegt. Es erstellt auch einen Platzhalter oder Standardwerte für andere Attribute von Dataverse, die in FHIR fehlen könnten.

{
    "s": "$.address[0].city",
    "c": {
           "p": "address[0]",
           "a": [
                  {
                    "line": ["x"]
                  },
                  {
                    "city": "%"
                  },
                  {
                    "state": "x"
                  },
                  {
                    "postalCode": "x"
                  },
                  {
                    "country": "x"
                  }
                ]
         }
}

Notiz

Bei String-Werten ist der festgelegte Wert die im Attribut-Array definierte Zeichenkette, es sei denn, es handelt sich um eine der speziellen Zeichensequenzen. Diese speziellen Sequenzen von Zeichen werden durch folgende Werte ersetzt:

  • % - Kopieren Sie den Wert des Attributs Dataverse.
  • %% - Kopieren Sie den Typ der FHIR-Referenzressource (Beispiel, Patient).
  • %%% - Kopieren Sie den Typ und die Ressourcen-ID der FHIR-Referenzressource (Beispiel: Patient/1234).

Patientenname

Wenn Sie die Regeln aus dem vorigen Abschnitt anwenden, können Sie das folgende Beispiel verwenden, um den Patientennamen zu aktualisieren.

{"s": "$.name[?(@use=='official')].given[0]", "c": {"p": "name[0]", "a": [{"use": "official"}, {"family": "x"}, {"given": ["%"]}]} }
  • „s“ = Extrahieren Sie die Werte givenname eines FHIR-Patienten, um sie in Dataverse zu laden.
  • „c“ = Erzeugen eines Patienten givenname, wenn dieser in FHIR nicht existiert.
  • „p“ = Übergeordnetes Objekt des zu erstellenden Eintrags
  • „a“ = Array von Parametern, die beim Erstellen von „c“ verwendet werden

Anmerkung

Die Klammern {} enthalten den Ausdruck, während die Kommas „,“ die Ausdruckssegmente trennen. Die Array-Klammern [] bedeuten jedoch, dass der Ausdruck zwei oder mehr vollständige Segmente enthält.

"s": "$.name[?(@use=='official')].given[0]"

und

"c": {"p": "name[0]", "a": [{"use": "official"}, {"family": "x"}, {"given": ["%"]}]

Codeable concept

Der Abgleich von FHIR kodierbaren Konzepten aus FHIR mit Dataverse ist derselbe wie der Abgleich von JSON Zeichenfolgen. Der einzige Unterschied besteht darin, dass eine zusätzliche Ebene erforderlich ist, um an die Details zu gelangen.

  1. Die URL der Erweiterung lautet http://hl7.org/fhir/StructureDefinition/patient-religion
  2. Wir möchten auf das Element valueCodeableConcept innerhalb dieses Erweiterungseintrags zugreifen.
  3. Wir wollen den ersten Eintrag im Kodierungsarray.
  4. Wir möchten die Anzeige so zuordnen, dass die Informationen in FHIR angezeigt werden, die mit einem Kodierungssystem verknüpft sind.

FHIR-RessourceEin Screenshot , der das Formular FJOR Codeable Concept anzeigt.

JSONPathEin Screenshot, der den JSONPath zeigt

Textbeispiel (Religion)

  1. Die URL der Erweiterung lautet http://hl7.org/fhir/StructureDefinition/patient-religion
  2. Wir möchten auf das Element valueCodeableConcept innerhalb dieses Erweiterungseintrags zugreifen.
  3. Wir möchten den Text so zuordnen, dass die von Epic an FHIR übermittelten Informationen angezeigt werden.

FHIR-RessourceEin Screenshot der das FHIR codeable concept für das Textbeispiel zeigt.

JSONPathEin Screenshot, der den JSONPath für das Textbeispiel zeigt

Zugeordneter Wert

In einem anderen Beispiel können Sie eine Attributzuordnung für das Geschlecht erstellen. In Dataverse ist der Attributname gendercode.

  1. Wählen Sie in der Entitätszuordnung für Kontakt die Option + Neue Entitätszuordnung des Update-Service.

  2. Da das Geschlecht eine Auswahlliste ist, ist der AktionstypZugeordneter Wert.

    Geschlecht in Dataverse ist eine Auswahlliste. Da es sich in FHIR auch um eine Auswahlliste handelt, ordnen Sie die FHIR-Auswahllistenwerte den Dataverse-Auswahllistenwerten zu.

  3. Wählen Sie FHIR-Elementzuordnung aus, um die FHIR-Elementzuordnung für „Geschlecht“ hinzuzufügen. In diesem Beispiel ist es eine JSON-Suchzeichenfolge, der es Ihnen erlaubt, zum FHIR-Element „Geschlecht“ zu gelangen.

  4. Wählen Sie Speichern.

    Hinter den Kulissen hat das System festgestellt, dass Geschlecht ein Optionssatz ist. Es gibt mehrere Werte, die Sie für diesen Optionssatz zuordnen müssen.

  5. Imter Wertzuordnungen geben Sie den Azure-FHIR-Wert ein, der dem Optionssatz zugeordnet werden soll. Geben Sie beispielsweise männlich für die Option Männlich ein (Dataverse-Wert ist 1) und geben Sie weiblich für die Option Weiblich ein (Dataverse-Wert ist 2).

    Wählen Sie Speichern.

    Ein Screenshot mit den Wertezuordnungen

Standardwert festlegen

Legen Sie in diesem Beispiel einen Standardwert für Wertezuordnungen fest.

  1. Wählen Sie in der Entitätszuordnung für Kontakt die Option + Neue Entitätszuordnung des Update-Service.

  2. Für Attributname wählen Sie Kontakttyp (msemr_contacttype) aus.

    Kontakttyp in Dataverse ist ein Optionssatz. Da Sie Patienten einbeziehen, möchten Sie immer, dass der Kontakttyp die Standardeinstellung ist.

  3. Für Aktionstyp wählen Sie Standardwert festlegen.

    Eine FHIR-Elementzuordnung wird nicht benötigt, da Sie nur die Standardeinstellung festlegen. In diesem Fall hat FHIR kein Konzept für den Kontakttyp, aber Dataverse erfordert einen Kontakttyp.

  4. Wählen Sie Speichern.

  5. Unter Wertzuordnungen wählen Sie die erste Zeile und Bearbeiten aus.

  6. In Attributwertzuordnung wählen Sie für Patient das Feld OptionSet-Beschriftung aus.

    Das Feld Wert zeigt den Standardwert für den Kontakttyp an. Die Dataverse Healthcare API füllt automatisch den Dataverse-Wert automatisch aus.

    Ein Screenshot, der ein Beispiel für das Festlegen des Standardwerts für eine Attributzuordnung zeigt

  7. Klicken Sie auf Speichern und schließen.

    Beachten Sie, dass unter Wertzuordnungen der Standardwert Dataverse festgelegt ist. Jedes Mal, wenn die Dataverse Healthcare API hereinkommt und einen Patienten erstellt, wird das Feld Kontakttyp auf Patient festgelegt.

Nachschlagefeld

Die folgenden Schritte zeigen ein Beispiel für die Zuordnung eines Dataverse-Attributs des Typs Lokup ist.

  1. Wählen Sie in der Entitätszuordnung für Kontakt die Option + Neue Entitätszuordnung des Update-Service.

  2. Für Attributname wählen Sie Primär praktizierender Arzt (msemr_generalpractitioner) aus.

    Der Attributtyp vom Attribut Primär praktizierender Arzt ist Lookup (eine Suche für die Kontaktentität).

  3. Für Aktionstyp ist der einzige Aktionstyp FK-Verweis (Fremdschlüsselverweis). Sie müssen der Dataverse Healthcare API mitteilen, wie diese Suche eingerichtet werden soll.

  4. Fügen Sie den FHIR Elemente Zuordnung Wert für den Primärarzt hinzu.

    Ein Screenshot, der den Zuordnungswert für das FHIR-Element anzeigt.

  5. Für Bevorzugte FHIR-Ressource wählen Sie Praktizierender Arzt.

    In Dataverse ist die Entitätsreferenz für „Primär praktizierender Arzt“ Kontakt. Die bevorzugte FHIR-Ressource ist praktizierender Arzt.

  6. Wählen Sie Speichern aus.

Wenn ein Dataverse-Attribut eine Suche ist, können Sie nur eine Zuordnung erstellen, die ein Fremdschlüsselverweis (FK) ist. Um die FK-Referenz zu konfigurieren, geben Sie die FHIR-Ressource an, der Sie die Ziel-Entität zuordnen wollen.

Codeable concept zuordnen

Die folgenden Verfahren bieten ein Beispiel für die Zuordnung eines Dataverse-Attributs, das ein codeable concept ist.

  1. Unter Zuordnung einrichten wählen Sie Entitätszuordnungen aus.

  2. Wählen Sie für Entitätsnamemsemr_observation aus.

  3. Wählen Sie in Zugehörige Attributzuordnungen + Neue Entitätszuordnung des Update-Service aus.

  4. Für Attributname wählen Sie Code für den Nenner des Verhältnisses (msemr_valueratiodenominatorcode).

    Der Attributtyp dieses Attributs ist Lookup. Es ist eine Suche nach der msemr_codeableconcept-Entität, bei der es sich um einen speziellen Entitätstyp handelt, der das Datenmodell anders behandelt als andere Entitäten.

  5. Für Aktionstyp ist der einzige Aktionstyp codeable concept.

  6. Fügen Sie den Wert FHIR-Elementzuordnung für das Attribut hinzu.

  7. Für „Codeable Concept“-Typ wählen Sie Code für die Mengeneinheit aus.

    Ein codeable concept Typ ähnelt einem großen Optionssatz, und jeder Wert im Optionssatz hat einen Typ. Es gibt Ihnen eine Möglichkeit, Optionssätze zu gruppieren und zu filtern. Beachten Sie, dass das Feld Kodierbarer Konzepttyp Wert automatisch ausgefüllt wurde, als Sie Quantitätseinheit Code als kodierbaren Typ des Konzepts ausgewählt haben. Sie mussten den Optionssatzwert für den Mengeneinheitscode nicht kennen.

    Ein Screenshot der ein Beispielfür den codeable concept-Typ zeigt.

  8. Wählen Sie Speichern.

Wenn nun Dataverse eine Beobachtung erstellt und das kodierbare Konzept festlegen muss, findet es dieses kodierbare Konzept, indem es die Tabellen für alle kodierbaren Konzepte durchsucht, die den Typ Mengeneinheit Code haben, der mit dem Codewert übereinstimmt, der in dem kodierbaren Konzept enthalten ist. Ein codeable concept besteht aus einem Text, einem Code und dem Typ. FHIR kennt den Code und den Text, weiß aber nicht, aus welchem codeable concept-Typ er ihn entnehmen soll.

Aktuelle Einschränkungen

  • Keine dynamische Array-Einfügung oder Erstellungs-Positionen müssen absolut sein. Die Auswahl erfolgt dynamisch über den JSONPath.
  • Die Wertedaten müssen in JSON für Felder wie UTF-8-Strings für das Zielattribut, JSON UTC-Daten und boolesche Werte gültig sein.

Werkzeuge

Sie können mehrere Werkzeuge verwenden, um JSONPath-Zeichenketten zu testen, darunter die folgenden Werkzeuge:

Weitere Informationen zur Verwendung dieser Tools finden Sie unter JSONPath.

Siehe auch

Was ist Microsoft Cloud for Healthcare?
Übersicht über das Datenintegrations-Toolkit
FHIR-Daten mit dem Datenintegrations-Toolkit verwalten
Attributzuordnungen konfigurieren
Erweiterungszuordnungen konfigurieren