Freigeben über


Dataverse Healthcare APIs: Azure Logic-App mit einem HTTP-Auslöser konfigurieren

Dieser Artikel enthält eine schrittweise Anleitung zum Erstellen Ihrer eigenen Azure Logic-App zum Einbinden von FHIR-Daten in Dataverse Healthcare APIs, Azure Health Data Services oder beides. Diese mit einem HTTP-Trigger konfigurierte Logik-App fungiert als Relay zwischen Azure Health Data Services und Dataverse Healthcare APIs.

Sie können auch eine Azure Resource Manager (ARM)-Vorlage mit dem Titel Vorlage für Healthcare-Datenpipelines verwenden, um eine Gruppe von Logic-Apps bereitzustellen, die das Einbinden von FHIR-Bündeln in Dataverse Healthcare APIs und Azure Health Data Services orchestrieren. Weitere Informationen finden Sie unter Dataverse Healthcare APIs: Verwenden Sie die Vorlage für die Healthcare Data Pipeline, um Azure Logic-Apps bereitzustellen.

Anmerkung

Dieses Beispiel dient als Einstiegspunkt für eingehende elektronische Datensätze (EHR) und stellt sicher, dass die FHIR-Daten an die richtigen Dienste weitergeleitet werden. Im aktuellen Status ist es nicht als endgültige Lösung gedacht.

Die Konfiguration umfasst die folgenden Schritte:

Dieser Logik-App-Dienst stellt einen Einstiegspunkt für FHIR-Paketnachrichten bereit, die zuerst an den Azure Health Data Services-Endpunkt bereitgestellt werden. Nach einer erfolgreichen Bereitstellung wird die Nachricht an den Dataverse Healthcare API-Endpunkt weitergeleitet. Dieses Beispiel stellt sicher, dass die Dataverse Healthcare APIs die Nachricht auch empfangen, wenn die FHIR-Bundles an Azure Health Data Services gesendet werden.

Anmerkung

Eine Azure Logic-App ist nicht erforderlich, um FHIR-Daten an die Dataverse Healthcare API-Endpunkte zu senden. Sie können Ihre eigene Lösung erstellen, um Daten aus Ihrem EHR an die APIs weiterzuleiten und die Antworten zu verarbeiten.

Die Beispiel-Logic-App verwendet Microsoft Entra ID verwaltete Identitäten zur Authentifizierung zwischen der Logic-App-Instanz und den beiden Diensten.

Anforderungen überprüfen

Bevor Sie eine Logic-App erstellen können, müssen Sie sicherstellen, dass Sie über die folgenden Voraussetzungen verfügen:

  • Ein Azure Konto und ein Abonnement. Wenn Sie noch kein Abonnement haben, melden Sie sich für ein kostenloses Azure-Konto an, bevor Sie beginnen.
  • Eine Azure-Ressourcengruppe, die mit den entsprechenden Ressourcen konfiguriert ist, um Logik-Apps zu erstellen.
  • Zugriff innerhalb der Ressourcengruppe, um Logic Apps und verwaltete Identitäten zu erstellen und zu bearbeiten.
  • Die Einhaltung der Sicherheitsrichtlinien, die von Azure Administratoren und den Richtlinien des Unternehmens vorgegeben werden.

Authentifizierung einrichten

Bevor Sie die Logic-App erstellen und konfigurieren, müssen Sie eine verwaltete Identität festlegen, damit sich die externen Dienste bei der Logic-App authentifizieren können. Die Verwendung von verwalteten Identitäten ist eine Möglichkeit, die Authentifizierung zu konfigurieren. Stellen Sie sicher, dass Sie bei der Einrichtung der Authentifizierung bewährte Verfahren und Richtlinien des Unternehmens festlegen.

Verwaltete Identitäten in Azure lassen die Authentifizierung zwischen Diensten zu, ohne dass Anmeldeinformationen innerhalb der Logic-App gespeichert werden müssen. Diese Logik-App verwendet eine Vom Benutzer zugewiesene verwaltete Identität zur Authentifizierung zwischen Diensten. Azure-Administratoren schränken diese Konfiguration normalerweise ein. Wenn der Zugriff verfügbar ist, können Sie mit den folgenden Schritten eine verwaltete Identität erstellen, die eine Verbindung sowohl zu den Azure Health Data Services als auch zu den Dataverse Healthcare API-Endpunkten herstellen kann.

Weitere Informationen über verwaltete Identitäten finden Sie unter Was sind verwaltete Identitäten für Azure Ressourcen?

Um die Authentifizierung mit einer verwalteten Identität festzulegen, führen Sie die folgenden Schritte aus:

Erstellen Sie eine verwaltete Identität

Erstellen Sie mithilfe der folgenden Schritte eine vom Benutzer zugewiesene verwaltete Identität:

  1. Wählen Sie im Menü Azure-Portal die Option Erstellen Sie eine Ressource und suchen Sie nach Verwaltete Identität. Wählen Sie in den angebotenen Optionen Benutzerzugewiesene verwaltete Identität und wählen Sie dann Erstellen.

  2. Wählen Sie die richtigen Werte für Abonnement, Ressourcengruppe und Region. Die Region sollte die gleiche sein wie die Logic-App.

  3. Im Feld Name wählen Sie FHIRRelayManagedIdentity oder einen anderen Namen, der für die Ressourcengruppe eindeutig ist. Der Rest dieses Artikels bezieht sich auf den Namen FHIRRelayManagedIdentity für die verwaltete Identität.

    Wählen Sie Erstellen.

  4. Nachdem die Bereitstellung abgeschlossen ist, öffnen Sie die verwaltete Identitätsressource.

Zugriff auf Azure Gesundheitsdatenservices gewähren

Der Zugriff auf Azure Gesundheitsdatenservices von der Logic-App aus erfordert die Rollenzuweisung FHIR-Datenmitwirkender, die das Einstellen neuer Daten in den Dienst zulässt. Sie sollten diese Azure-Rollenzuweisung der von der Logik-App verwendeten verwalteten Identität hinzufügen.

  1. Gehen Sie zur Azure Health Data Service-Instanz, wählen Sie Zugriffskontrolle (IAM) und dann Rollenzuweisung hinzufügen.

  2. Auf der Registerkarte Rolle wählen Sie die Rolle FHIR-Datenmitwirkender.

  3. Wählen Sie die Registerkarte Mitglieder. Wählen Sie Verwaltete Identität, und wählen Sie dann + Mitglieder auswählen. Fügen Sie die verwaltete Identität hinzu, die Sie unter Erstellen einer verwalteten Identität erstellt haben.

  4. Es kann einige Minuten dauern, bis die Zuweisung die verwaltete Identität berücksichtigt. Sie können die Rollenzuweisung für die verwaltete Identität anzeigen, indem Sie die Azure-Rollenzuweisungen auswählen.

Zugriff auf Dataverse Healthcare APIs gewähren

In der Logik-App wird dieselbe verwaltete Identität für den Zugriff auf Dataverse Healthcare APIs verwendet, indem es mit einem Anwendungsbenutzer in der Ziel Dataverse-Instanz verbunden wird. Weitere Informationen über Anwendungsbenutzer finden Sie unter Anwendungsbenutzer im Admin-Center von Power Platform verwalten.

  1. Sie benötigen die Azure Client ID der verwalteten Identität, um den Anwendungsbenutzer zu konfigurieren. Um die Client ID abzurufen, öffnen Sie die FHIRRelayManagedIdentity verwaltete Identität und kopieren den Wert Client ID aus dem Bereich Übersicht.

  2. Öffnen Sie im Power Platform Admin Center Ihre Microsoft Cloud for Healthcare Zielumgebung. Wählen Sie im Abschnitt Zugriff S2S-Apps und dann Neuer App-Benutzer aus.

    Wählen Sie im Bereich Erstellen eines neuen App-Benutzers die entsprechende Unternehmenseinheit und dann Eine App erstellen.

  3. Im Fügen Sie eine App hinzu von Microsoft Entra ID Bereich wählen Sie die Client-ID, die Sie von der verwalteten Identität kopiert haben. Wählen Sie FHIRRelayManagedIdentity aus der Liste, wählen Sie Hinzufügen und bearbeiten Sie dann die Sicherheitsrollen.

  4. Wählen Sie die Rolle Synchronisierungs-Agent für FHIR App Reg User, und wählen Sie dann Speichern. Wählen Sie Erstellen, um den neuen Anwendungsbenutzer zu erstellen.

Erstellen Sie eine Logic-App

  1. Wählen Sie im Menü Azure-Portal die Option Erstellen Sie eine Ressource, suchen Sie nach Logic-App und wählen Sie das Element aus den Suchergebnissen.

  2. Wählen Sie Erstellen aus.

  3. Im Bereich Logic App erstellen geben Sie die relevanten Informationen für die Logic-App an. Überprüfen Sie den Plantyp, die Sicherheit und die Netzwerkdetails mit den Azure Administratoren auf der Grundlage der erwarteten Ladung.

    Die folgenden Einstellungen sind Beispiele für einen einfachen Logik-App-Orchestrator zum Testen der Konnektivität, die Sie in späteren Abschnitten dieses Artikels verwenden würden. Wenn eine Einstellung nicht festgelegt ist, gehen Sie davon aus, dass Standardwerte verwendet werden.

    Einstellungen Wert
    Logik-App-Name FhirRelaySample
    Veröffentlichen Workflow
    Region USA, Osten
    Plantyp Verbrauch
  4. Wählen Sie Erstellen. Es kann einige Minuten dauern, bis die neue Logic-App eingerichtet ist.

Logic Apps konfigurieren

Nachdem Sie die Logic-App erstellt haben, öffnen Sie die Logic-App-Ressource, um den Logic App-Designer unter Entwicklungstools zu öffnen. Folgen Sie diesen Schritten, um die Logic-App zu konfigurieren:

Identität konfigurieren

Nachdem nun sowohl die Logik-App als auch die verwaltete Identität erstellt wurden, müssen Sie sie verknüpfen.

  1. Wählen Sie Identität aus dem Menü der Logic-App, wählen Sie die Registerkarte Benutzer zugewiesen und wählen Sie dann + Hinzufügen.

  2. Wählen Sie im geöffneten Fenster die erstellte verwaltete Identität und wählen Sie dann Hinzufügen.

Die Logik-App sollte jetzt eine Verknüpfung zur neuen verwalteten Identität herstellen. Sie kann zur Verarbeitung von Schritten und Aktionen verwendet werden.

Konfigurieren des Triggers

Der erste Schritt bei der Konfiguration eines Logic-App Workflows besteht darin, den Einstiegspunkt oder Auslöser zu definieren. Der Auslöser Wenn eine HTTP-Anforderung eingeht lässt zu, dass externe Systeme Daten über HTTP-Anforderungen an die Logic-App zur Verarbeitung senden. Dieser Auslöser lässt zu, dass die FHIR Relay Logic-App eine HTTP-Anforderung mit einem JSON Payload empfängt. Weitere Informationen darüber, wie Sie einen Auslöser erstellen, finden Sie unter Anfrageauslöser hinzufügen.

Diese Logik-App erwartet eine eingehende Anforderung, die ein Standard-FHIR-Paket enthält. Das JSON-Schema für Anforderungstext bleibt leer, da jedes eingehende Paket eindeutig sein kann. Diese Konfiguration ermöglicht es der Logik-App, verschiedene JSON-Nutzdaten zu empfangen, anstatt sie an einen bestimmten Datenvertrag zu binden.

Ein Screenshot mit der Anzeige des Auslösers der Logic-App.

Speichern Sie die Einstellungen, um die HTTP Post URL zu generieren. Verwenden Sie diese URL später, um die Logik-App zu testen.

Parameter konfigurieren

Parameter lassen Flexibilität bei der Erstellung und Bereitstellung von Logic-Apps über Azure Resource Manager Vorlagen zu. Fügen Sie in diesem Beispiel die folgenden zwei Parameter zu den Logik-App-Aktionen hinzu:

  • DataverseURL: Die vollständig qualifizierte URL zur Instanz Dataverse, die die Dataverse Healthcare APIs hostet.
  • FhirURL: Die vollständig qualifizierte URL zu den Azure Gesundheitsdatenservices.
  1. Um einen neuen Parameter zu erstellen, wählen Sie Parameter in der Symbolleiste, um den Parameterbereich zu öffnen.

  2. Führen Sie für jeden neuen Parameter die folgenden Schritte aus:

    1. Wählen Sie Parameter hinzufügen.

    2. Geben Sie einen Namen für den Parameter ein. Wählen Sie unter Typ die Option Zeichenfolge und geben Sie den Standardwert für jeden Parameter ein, der auf der Konfiguration der Organisation basiert.

      Ein Screenshot des Bereichs Logic-App-Parameter.

  3. Wählen Sie Speichern in der Symbolleiste, um die neuen Parameter mit der Logic-App zu speichern.

FHIR API aufrufen

Sie benötigen eine neue Aktion, um die Nutzlast der eingehenden Anforderung über eine HTTP-POST-Methode an Azure Health Data Services Endpunkt zu senden.

  1. Im Bereich Logic App-Designer wählen Sie Neuer Schritt, um eine neue HTTP POST-Aktion hinzuzufügen. Die HTTP-Aktion ist allgemein üblich und wird möglicherweise als empfohlene Aktion angezeigt. Wenn sie angezeigt wird, wählen Sie HTTP als Vorgang für diesen Schritt.

    Wenn die Empfehlung nicht vorhanden ist, suchen Sie nach HTTP und wählen Sie dann HTTP aus der Liste der verfügbaren Aktionen.

  2. Nennen Sie diese Aktion FHIR API aufrufen. Aktualisieren Sie in den Einstellungen der HTTP-Aktion die folgenden Einstellungen:

    Einstellungen Wert
    Methode NACHRICHT
    URI FhirURL
    Kopfzeile Fügen Sie einen neuen Wert für jeden der folgenden Header hinzu:

    Inhaltstyp: application/json
    OData-Version: 4.0
    Text Text

    Die Felder URI und Text erfordern dynamische Inhalte. Die URI verwendet den Parameterwert FhirURL und das Feld Text verwendet den Hauptteil der eingehenden Anforderung, die vom Trigger verarbeitet wird.

  3. Wählen Sie Speichern, um sicherzustellen, dass Sie die aktuellen Einstellungen speichern, bevor Sie zum nächsten Schritt übergehen.

  4. Wählen Sie Einen neuen Parameter hinzufügen und dann Authentifizierung.

    • Für das Feld Authentifizierungstyp wählen Sie Verwaltete Identität.
    • Wählen Sie für das Feld Verwaltete Identität die zuvor erstellte und mit der Azure Health Data Services-Ressource verknüpfte verwaltete Identität ein.
    • Wählen Sie den Parameterwert FhirURL für das Feld Zielgruppe.

    Ein Screenshot, der den Parameter für die verwaltete Identität zeigt.

Der HTTP-Aufruf hat nun Zugriff, um die FHIR-Daten an den Dienst Endpunkt zu posten.

FHIR-Antwort auswerten

Nachdem die FHIR-Daten gepostet wurden, verwenden Sie eine Bedingungsaktion, um die Antwort des Azure Health Data Services-Endpunkts auszuwerten.

  1. Wählen Sie Neuer Schritt aus.

  2. Wählen Sie im Dialog Aktion die Registerkarte Integriert und das Symbol Steuerelement, und wählen Sie dann Bedingung für die Aktion. Nennen Sie diese Aktion FHIR-Antwort auswerten.

  3. Wählen Sie im Parameter Bedingung den dynamischen Wert des Statuscodes, der von der vorherigen HTTP-Aktion zurückgegeben wurde. Legen Sie den Bedingungsoperator auf ist gleich und den Ergebniswert von 200 für den Erfolgscode fest.

    Wenn diese Bedingung erfüllt ist, wird der Zweig True ausgewertet.

    Ein Screenshot zeigt den Bedingungsparameter.

  4. Um sicherzustellen, dass die Aktion FHIR-Antwort auswerten ausgeführt wird, markieren Sie die Auslassungspunkte am oberen Rand der Aktionskarte und wählen Sie dann Ausführen nach. Wählen Sie alle aufgeführten Optionen, damit die Logic-App dem Anrufer eine Antwort geben kann. Diese Aktualisierungen stellen sicher, dass die Aktion auch dann ausgeführt wird, wenn der vorherige Schritt auf eine Fehlerbedingung trifft.

    Ein Screenshot mit den Einstellungen von „Ausführen nach“

Bedingung: Erfolgreiche Antwort

Wenn der POST von Azure Health Data Services erfolgreich ist, wird der Anforderungstext an die Dataverse Healthcare APIs gesendet.

Erstellen des Dataverse-Anfrageteils

  1. Wählen Sie innerhalb des True Branch Aktion hinzufügen und dann Built-in.

  2. Suchen Sie nach Zusammenstellen. Wählen Sie unter Datenoperationen die Aktion Zusammenstellen.

  3. Fügen Sie für das Feld Eingaben das folgende JSON-Snippet hinzu:

      {
       "msind_BundleTag": "",
       "msind_JSON": ""
      }
    
  4. Fügen Sie in den leeren Anführungszeichen für den Knoten msind_JSON den dynamischen Inhalt für den Wert des Auslösers hinzu.

    Ein Screenshot, der den Anforderungstext für dej Dataverse Build zeigt.

    In diesem Schritt werden die JSON-Werte des Triggerkörpers als Parameter zum Dataverse Healthcare API-Aufruf hinzugefügt. Nennen Sie diesen Schritt Dataverse-Anfrageteil erstellen.

Aufruf von Dataverse API

Im nächsten Schritt wird dieses neue JSON an den Dataverse Healthcare APIs-Endpunkt gesendet.

  1. Wählen Sie Hinzufügen einer Aktion und erstellen Sie eine weitere HTTP-Aktion. Nennen Sie diesen Schritt Aufruf von Dataverse API.

  2. Aktualisieren Sie in den Einstellungen der HTTP-Aktion die folgenden Einstellungen:

    Einstellungen Wert
    Methode NACHRICHT
    URI (Ausdruck)
    Kopfzeile Fügen Sie einen neuen Wert für jeden der folgenden Header hinzu:

    Inhaltstyp: application/json
    OData-Version: 4.0
    Text (Ausgabe des Kompositionsschritts)

    Das URI-Feld ist ein dynamischer Ausdruckswert, der den Parameter DataverseURL und den Namen der angepassten Endpunkt-API kombiniert. Der vollständige Ausdruck sollte wie folgt lauten:

    concat(parameters('DataverseURL'), '/api/data/v9.1/msind_UpsertBundle')

    Eiin Screenshot zeigt den URI-Ausdruck für den Aufruf der Dataverse API-Aktion .

    Das Feld Body ist ein dynamischer Wert, der die Ausgabe des Schritts Compose erfasst.

    Ein Screenshot zeigt den Körper der Dataverse API-Aktion .

  3. Wählen Sie Einen neuen Parameter hinzufügen und dann Authentifizierung. Wählen Sie unter Authentifizierungstyp Verwaltete Identität.

    Wählen Sie die zuvor erstellte und mit der Azure Health Data Services-Ressource verknüpfte verwaltete Identität aus. Wählen Sie für diese Aktion den Parameterwert DataverseURL für das Feld Zielgruppe.

    Ein Screenshot mit dem Parameter für die Authentifizierung der verwalteten Identität für den Aufruf der Dataverse API-Aktion.

Der HTTP-Aufruf hat nun Zugriff, um an den Dataverse Healthcare APIs Dienst Endpunkt zu posten.

Reagieren Sie mit einer Dataverse-Antwort

Nachdem Sie die Daten an Dataverse gesendet haben, erstellen Sie die Antwort für den Aufruf der Logik-App, wozu Sie die Antwort aus der Aktion Dataverse-API aufrufen verwenden.

  1. Wählen Sie Hinzufügen einer Aktion und dann Integriert.

  2. Wählen Sie Antwort aus der Liste der verfügbaren Aktionen. Nennen Sie diese neue Aktion Antwort mit Dataverse Antwort.

    In dieser Aktion werden die Rückgabewerte der Dataverse Healthcare APIs als Antwort für die Logik-App zurückgegeben, indem dynamische Werte in den entsprechenden Feldern verwendet werden.

    Ein Screenshot der Konfiguration der Aktion Mit Dataverse Antwort antworten.

  3. Um sicherzustellen, dass die Aktion Mit Dataverse-Antwort antworten ausgeführt wird, wählen Sie die Auslassungspunkte oben in der Aktionskarte und anschließend Ausführen konfigurieren nach aus. Wählen Sie alle aufgeführten Optionen, damit die Logic-App dem Anrufer auch dann eine Antwort geben kann, wenn die Aufruf Dataverse API-Aktion fehlschlägt.

Bedingung: Fehlgeschlagene Antwort

Wenn der Aufruf der Azure Health Data Services Endpunkt fehlschlägt, gibt die Logik-App die Werte der Aktion FHIR API aufrufen als Antwort zurück.

Reagieren Sie mit einer FHIR-Fehlerantwort

  1. Wählen Sie Eine Aktion hinzufügen im Branch Falsch der Bedingung und wählen Sie dann Integriert.

  2. Wählen Sie Antwort aus der Liste der verfügbaren Aktionen. Nennen Sie diese neue Aktion Mit FHIR-Fehlerantwort antworten.

    Bei dieser Aktion werden die Rückgabewerte der Azure Health Data Services als Antwort für die Logik-App zurückgegeben. Dazu werden dynamische Werte in den entsprechenden Feldern verwendet.

JSON-Bundle an die Logic Apps URL senden

  1. Um die Logic-App mit dem Designer zu testen, wählen Sie Auslöser ausführen und dann die Option Mit Payload ausführen. Diese Aktion simuliert den Aufruf der Logic-App URL und lässt Sie eventuelle Probleme debuggen.

  2. Geben Sie in das Feld Körper ein gültiges FHIR Bundle ein. Dieser Schritt setzt voraus, dass die restliche Microsoft Cloud for Healthcare-Konfiguration abgeschlossen ist und die Dataverse Healthcare APIs bereit sind, eine eingehende Nachricht zu empfangen.

Die Ausführung der aktuellen Version mit falschen URLs für die Service-Endpunkte führt zu einem erfolgreichen Ausführen der Logic-App, obwohl die Aktion FHIR-API aufrufen fehlgeschlagen ist. Sie können das Ergebnis der Ausführung auf der Hauptseite für die Logik-App unter Ausführungsverlauf anzeigen.

Wenn Sie alle Parameterwerte korrekt aktualisieren, wird die Ausführung der Logik-App im Ausführungsverlauf erfolgreich verfolgt.

Ein Screenshot, der eine Ansicht des Ausführungsverlaufs der Logik-App für einen erfolgreichen Aufruf zeigt.

Sichere Logic-Apps

Nachdem Sie die Einrichtung der Logic-App abgeschlossen und getestet haben, können Sie das Tracing sperren, indem Sie die Ein- und Ausgabeaktionen sichern.

  1. Wählen Sie die Auslassungspunkte in der oberen rechten Ecke der Aktionskarte und wählen Sie dann Einstellungen.

  2. Stellen Sie den Werteschalter auf An und zwar sowohl für Sichere Eingaben als auch Sichere Ausgabe.

  3. Alle nachfolgenden Logik-App-Ausführungen schränken die Anzeige der Daten beim Anzeigen der Ausführungsprotokolle ein. Die Ergebnisse für den Auslöser sollten nun eine eingeschränkte Ansicht der Daten wie folgt bieten:

    Ein Screenshot, der die gesicherte Ausführungshistorie zeigt.

Sie können diese Einstellungen auf jede Aktion anwenden, die diese Funktion unterstützt. Weitere Informationen finden Sie unter Sicherer Zugriff und Daten für Workflows in Umgebung in Azure Logic Apps.