Dataverse Healthcare APIs: Konfigurera Azure Logic-appmed en HTTP-utlösare
Denna artikel tillhandahåller en steg för steg-guide för att skapa en egen Azure Logic App för att mata in FHIR-data i Dataverse Healthcare APIs, Azure Health Data Services eller både och. Den här Logic App, som konfigurerats med en HTTP-utlösare, fungerar som ett relä mellan Azure Health Data Services och Dataverse Healthcare APIs.
Du kan också använda en Azure Resource Manager (ARM)-mall kallad Pipelinemall för hälso- och sjukvår för att distribuera en grupp logikappar som distribuerar inmatning av FHIR-paket i Dataverse Healthcare APIs samt Azure Health Data Services. För mer information, se Dataverse Healthcare APIs: Använd pipelinemallen för hälso- och sjukvårdsdata för att distribuera Azure-logikappar.
Kommentar
Detta exempel tillhandahålls som en startpunkt för ingående elektroniska postdata för hälsa (EHR), så att FHIR-data kan publiceras för rätt tjänster. Den är inte tänkt som en slutgiltig lösning i dess aktuella tillstånd.
Den här konfigurationen omfattar följande steg:
- Granska krav
- Konfigurera autentisering
- Skapa logikapp
- Konfigurera logikapp
- Anropa FHIR API
- Utvärdera FHIR-svar
- Skicka JSON-paket till Logic App-URL
- Säkra Logic App
Den här logikapptjänsten tillhandahåller en startpunkt för FHIR-paketmeddelanden som först publiceras till Azure Health Data Services-slutpunkten. Efter ett framgångsrikt inlägg dirigeras meddelandet till slutpunkten för Dataverse healthcare API. Det här exemplet säkerställer att när FHIR-paketen publiceras i Azure Health Data Services får även Dataverse Healthcare APIs ett meddelande.
Kommentar
En Azure-logikapp krävs inte för att publicera FHIR-data i Dataverse Healthcare API-slutpunkter. Du kan skapa en egen lösning för att vidarebefordra data från EHR till API:erna och hantera svaren.
Exempellogikprogrammet använder hanterade Microsoft Entra ID-identiteter för att autentisera mellan logikappinstansen och de två tjänsterna.
Granska krav
Du måste se till att du har följande krav innan du kan skapa en logikapp:
- Ett Azure-konto och prenumeration. Om du inte har någon prenumeration registrera dig för ett kostnadsfritt Azure-konto innan du börjar.
- En Azure resursgrupp som konfigurerats med rätt resurser för att skapa logikappar.
- Åtkomst i resursgruppen för att skapa och redigera logikappar och hanterade identiteter.
- Följer säkerhetsriktlinjerna som beskrivs i Azure-administratörer och organisationspolicyn.
Konfigurera autentisering
Innan du skapar och konfigurerar logikappen måste du konfigurera en hanterad identitet så att de externa tjänsterna kan autentisera med logikappen. Att använda hanterade identiteter är en metod för att konfigurera autentisering. Se till att följa rekommendationer och organisationspolicyer när du upprättar autentisering.
Hanterade identiteter i Azure tillåter autentisering mellan tjänster utan att bevara autentiseringsuppgifter i logikappen. Den här logikappen använder användartilldelad hanterad identitet för autentisering mellan tjänster. Azure-administratörer begränsar vanligtvis den här konfigurationen. Om åtkomst är tillgänglig kan du följa stegen nedan för att skapa en hanterad identitet som kan ansluta till både Azure Health Data Services och slutpunkter för Dataverse Healthcare API.
Mer information om hanterade identiteter finns i Vilka är hanterade identiteter för Azure-resurser?
Om du vill konfigurera autentisering med en hanterad identitet utför du följande steg:
- Skapa en hanterad identitet
- Bevilja åtkomst till Azures tjänster för hälsodata
- Bevilja åtkomst till Dataverse healthcare APIs
Skapa en hanterad identitet
Skapa en användartilldelad hanterad identitet med hjälp av följande steg:
Från menyn Azure-portal välj Skapa en resurs och sök efter Hanterad identitet. Välj i alternativen Användartilldelad hanterad identitet och välj Skapa.
Välj korrekta värden för Prenumeration, Resursgrupp och Region. Regionen ska vara densamma som logikappen.
I fältet Namn välj FHIRRelayManagedIdentity eller något annat namn som är unikt för resursgruppen. Resten av den här artikeln refererar till namnet FHIRRelayManagedIdentity för den hanterade identiteten.
Välj Skapa.
När distributionen är klar öppnar du den hanterade identitetsresursen.
Bevilja åtkomst till Azures tjänster för hälsodata
För att få åtkomst till Azures tjänster för hälsodata från logikappen krävs rolltilldelning FHIR-datadeltagare vilket gör det möjligt att publicera nya data i tjänsten. Du bör lägga till Azure rolltilldelning i den hanterade identiteten som används av logikappen.
Gå till instansen Azures tjänster för hälsodata, välj Åtkomstkontroll (IAM) och välj sedan Lägg till rolltilldelning.
På fliken Roll markerar du rollen FHIR-datadeltagare.
Markera fliken Medlemmar . Välj Hanterad identitet och välj sedan + Välj medlemmar. Lägg till den hanterade identiteten som du skapade i Skapa en hanterad identitet.
Tilldelningen kan ta några minuter att reflektera över den hanterade identiteten. Du kan se rolltilldelningen på den hanterade identiteten genom att välja Azure rolltilldelningar.
Bevilja åtkomst till Dataverse Healthcare APIs
Samma hanterade identitet används i logikappen för att få åtkomst till Dataverse Healthcare APIs genom att ansluta den till en programanvändare i Dataverse målinstansen. För mer information om appanvändare, gå till Hantera appanvändare i Power Platform administrationscenter.
Du behöver den hanterade identitetens Azure-klient-ID för att konfigurera programanvändaren. Hämta klient-ID:t genom att öppna den hanterade identiteten FHIRRelayManagedIdentity och kopiera värdet Klient-ID från området Översikt.
I Power Platform administrationscentret, öppna Microsoft Cloud for Healthcare-målmiljön. I avsnittet Åtkomst, välj S2S-appar och sedan Ny programanvändare.
I rutan Skapa en ny appanvändare väljer du en lämplig Affärsenhet och sedan Lägg till ett program.
I rutan Lägg till ett program från Microsoft Entra ID söker du efter det klient-ID som du kopierade från den hanterade identiteten. Välj FHIRRelayManagedIdentity från listan, välj Lägg till och redigera säkerhetsrollerna.
Välj rollen Appregistreringsanvänder Synkroniseringsadministration för FHIR och välj Spara. Välj Skapa för att skapa den nya appanvändaren.
Skapa en logikapp
Från menyn Azure-portal välj Skapa en resurs, sök efter Logic App och välj sedan objektet i sökresultaten.
Välj Skapa.
På skärmen Skapa logikapp ange relevant information för logikappen. Läs plantyp, säkerhet och nätverksinformation med Azure-administratörer baserat på den förväntade bearbetningsbelastningen.
Följande inställningar är exempel på en enkel logikapp för att testa anslutningen som du kan använda i senare avsnitt i den här artikeln. Om en inställning inte anges förutsätts det att standardvärden används.
Inställning Värde Namn på logikapp FhirRelaySample Publicera Arbetsflöde Region USA, östra Abonnemangstyp Förbrukning Välj Skapa. Det kan ta några minuter att tillhandahålla den nya logikappen.
Konfigurera logikapp
När du har skapat logikappen öppnar du logikappresursen för att sedan öppna Logikappdesignern under Utvecklingsverktyg. Gör på följande sätt när du vill konfigurera logikprogrammen:
Konfigurera identitet
Nu när både logikappen och den hanterade identiteten har skapats måste du länka dem.
Välj Identitet på logikappmenyn, välj fliken Användartilldelad och välj sedan Lägg till.
Markera den skapade hanterade identiteten i den öppnade rutan och välj sedan Lägg till.
Logikappen ska nu länka till den nya hanterade identiteten. Den kan användas för bearbetning av steg och åtgärder.
Konfigurera utlösare
Det första steget när du konfigurerar ett arbetsflöde för en logikapp är att definiera startpunkten eller utlösaren. Utlösaren När en HTTP-begäran tas emot tillåter externa system att publicera data via HTTP-begäran till logikappen för bearbetning. Med den här utlösaren kan logikprogrammet för FHIR-relä ta emot en HTTP-begäran med en JSON-nyttolast. Mer information om hur du skapar en utlösare finns i Lägg till en utlösare för begäran.
Den här logikappen förväntar sig en förfrågan som innehåller ett standardpaket för FHIR. Begärandetext JSON-schema lämnas tomt eftersom varje inkommande paket kan vara unika. Den här konfigurationen gör att logikappen kan ta emot olika JSON-nyttolaster i stället för att bindningen till ett visst datakontrakt.
Spara inställningarna för att generera HTTP URL för inlägg. Använd den här URL:en senare om du vill testa logikprogrammet.
Konfigurera parametrar
Parametrar tillåter flexibilitet att skapa och distribuera logikappar via Azure Resource Manager-mallar. I det här exemplet lägger du till följande två parametrar i logikappsåtgärderna:
- DataverseURL: Den fullständiga URL-adressen till Dataverse-instansen som är värd för Dataverse healthcare APIs.
- FhirURL: Den fullständiga URL-adressen till Azures tjänster för hälsodata.
Om du vill skapa en ny parameter väljer du Parametrar i verktygsfältet så öppnas parameterfönstret.
Följ stegen nedan för varje ny parameter:
Välj Spara i verktygsfältet om du vill spara de nya parametrarna med logikappen.
Anropa FHIR API
Du behöver en ny åtgärd för att skicka indatabegäran till Azure Health Data Services slutpunkt via en HTTP POST-metod.
I Logic Apps-designern väljer du Nytt steg för att lägga till en ny åtgärd av typen HTTP POST. HTTP-åtgärden är vanlig och kan visas som en rekommenderad åtgärd. Om det visas väljer du HTTP som åtgärd i det här steget.
Om rekommendationen inte finns söker du efter HTTP och väljer sedan HTTP i listan med tillgängliga åtgärder.
Ge den här åtgärden namnet Anropa FHIR API. Uppdatera följande inställningar i HTTP-åtgärdsinställningarna:
Inställning Värde Metod POST URI FhirURL Sidhuvuden Lägg till ett nytt värde för vardera av följande rubriker:
Innehållstypprogram/json
OData-version: 4.0Brödtext Brödtext Fälten URI och Brödtext kräver dynamiskt innehåll. URI använder parametervärdet FhirURL och fältet Brödtext använder brödtexten för den inkommande begäran som hanteras av utlösaren.
Välj Spara om du vill se till att du sparar aktuella inställningar innan du går vidare till nästa steg.
Välj Lägg till en ny parameter och sedan Autentisering.
- För fältet Autentiseringstyp välj Hanterad identitet.
- För fältet Hanterad identitet, välj hanterade identiteten som tidigare skapats och länkats till resursen Azure Health Data Services.
- Välj parametervärdet FhirURL för fältet Målgrupp.
HTTP-samtalet har nu åtkomst till POST FHIR-data till slutpunkt.
Utvärdera FHIR-svar
Efter FHIR-datainläggen använder du en villkorsåtgärd för att utvärdera svaret från Azure Health Data Services-slutpunkten.
Välj Nytt steg.
I dialogrutan Åtgärd välj fliken Inbyggd och ikonen Kontroll och välj Villkor för åtgärden. Ge den här åtgärden namnet Utvärdera FHIR-svar.
I parametern Villkor, välj dynamiskt värde för Statuskod som returnerades av den föregående HTTP-åtgärden. Ange att villkorsoperatorn är lika med och resultatvärdet 200 för framgångskoden.
Om villkoret uppfylls utvärderas grenen Sant.
Se till att åtgärden Utvärdera FHIR-svar körs genom att markera ellipsen som är högst upp på åtgärdskortet och välj Konfigurera kör efter. Välj alla alternativ i listan så att logikappen kan tillhandahålla ett svar till anroparen. Uppdateringarna ser till att åtgärden körs även om det föregående steget har ett felvillkor.
Villkor: Lyckat svar
Om Azure Health Data Services POST lyckas skickas begärandetext till Dataverse Healthcare APIs.
Skapa Dataverse brödtext
I grenen True välj Lägg till en åtgärd och välj Inbyggd.
Sök efter Skapa. Under Dataåtgärder välj åtgärden Skapa.
Lägg till följande JSON-kodavsnitt för fältet Indata:
{ "msind_BundleTag": "", "msind_JSON": "" }
I de tomma offerterna för noden
msind_JSON
lägger du till det dynamiska innehållet för utlösarens brödtextvärde.I det här steget lägger du till JSON-värdena som en parameter i Dataverse Healthcare API-anropet. Ge det här steget namnet Skapa Dataverse begärandetext.
Anropa Dataverse API
Nästa steg är att lägga in den här nya JSON i slutpunkten för Dataverse Healthcare APIs.
Välj Lägg till en åtgärd och skapa en till HTTP-åtgärd. Ge det här steget namnet Anropa Dataverse API.
Uppdatera följande inställningar i HTTP-åtgärdsinställningarna:
Inställning Värde Metod POST URI (uttryck) Sidhuvuden Lägg till ett nytt värde för vardera av följande rubriker:
Innehållstypprogram/json
OData-version: 4.0Brödtext (Skapa stegutdata) URI-fältet är ett dynamiskt uttrycksvärde som kombinerar parametern DataverseURL och slutpunkt anpassat API-namn. Det fullständiga uttrycket ska vara:
concat(parameters('DataverseURL'), '/api/data/v9.1/msind_UpsertBundle')
Fältet Brödtext är ett dynamiskt värde som fångar resultatet av steget Skapa.
Välj Lägg till en ny parameter och sedan Autentisering. Under Autentiseringstyp välj Hanterad identitet.
Välj hanterade identiteten som tidigare skapats och länkats till resursen Azure Health Data Services. För denna åtgärd, välj parametervärdet DataverseURL för fältet Målgrupp.
HTTP-samtalet har nu åtkomst till POST till Dataverse Healthcare APIs tjänstslutpunkt.
Svara med Dataverse svar
När du har publicerat data till Dataverse, komponera svaret för logik app-anropet med hjälp av svaret från åtgärden Anropa Dataverse API.
Välj Lägg till en åtgärd och sedan Inbyggd.
Välj Svar i listan med tillgängliga åtgärder. Ge den här nya åtgärden namnet Svara med Dataverse svar.
I den här åtgärden returneras returvärdena Dataverse Healthcare APIs som svar för logikprogrammet med hjälp av dynamiska värden i motsvarande fält.
För att säkerställa att åtgärden Svara med Dataverse-svar körs väljer du ellipsen överst på åtgärdskortet och välj sedan Konfigurera körning efter. Välj alla alternativ i listan så att logikappen kan tillhandahålla ett svar till anroparen även om API-åtgärden anropa Dataverse misslyckas.
Villkor: Misslyckat svar
Om samtalet till Azure Health Data Services slutpunkt misslyckas returnerar logikappen värdena för Anropa FHIR API-åtgärden som svar.
Svara med FHIR-felsvar
Välj Lägg till en åtgärd i False grenen av villkoret och välj Inbyggd.
Välj Svar i listan med tillgängliga åtgärder. Ge den här nya åtgärden namnet Svara med FHIR-felsvar.
I den här åtgärden returneras returvärdena från Azure Health Data Services som svar för logikappen med hjälp av dynamiska värden i motsvarande fält.
Skicka JSON-paket till logikappens URL
Om du vill testa logikappen med designern väljer du Kör utlösare och väljer alternativet Kör med nyttolast. Den här åtgärden simulerar anropa logikappen URL och gör att du kan felsöka eventuella problem.
Tillhandahåll ett giltigt FHIR-paket för fältet Brödtext. Detta steg förutsätter att resten av Microsoft Cloud for Healthcare konfigurationen är klar och Dataverse Healthcare APIs är redo att ta emot ett inkommande meddelande.
Om den aktuella versionen körs med felaktiga URL:er för tjänstslutpunkter körs logikappen korrekt även om åtgärden Anropa FHIR API misslyckades. Du kan visa resultatet av körningen på huvudsidan för logikprogrammet under Kör historik.
När du uppdaterar alla parametervärden korrekt spårar körhistoriken logikappens körning.
Säkra logikapp
När du har slutfört och testat konfigurationen av logikappen kan du låsa spårningen genom att skydda åtgärder för indata och utdata.
Välj ellipsen i det övre högra hörnet av åtgärdskortet och välj sedan inställningar.
Ställ in värdeutlösare till På för både Säkra indata och Säkra utdata.
Alla efterföljande körningar av logikprogrammet begränsar visningen av data när de körs loggarna visas. Resultatet för utlösaren bör nu ge en begränsad vy över dessa data enligt följande:
Dessa inställningar kan användas för alla åtgärder som har stöd för den här funktionen. Mer information finns i Säker åtkomst och data för arbetsflöden i Azure Logic Apps.