Sdílet prostřednictvím


SMART on FHIR

Nahraditelné zdravotnické aplikace a opakovaně použitelné technologie (SMART on FHIR) je zdravotnický standard, prostřednictvím kterého mohou aplikace přistupovat k klinickým informacím prostřednictvím úložiště dat. Do rozhraní FHIR přidává vrstvu zabezpečení založenou na otevřených standardech, včetně OAuth2 a OpenID Připojení, a umožňuje tak integraci se systémy EHR. Použití funkce SMART on FHIR poskytuje aspoň tři důležité výhody:

  • Aplikace mají známou metodu pro získání ověřování a autorizace pro úložiště FHIR.
  • Uživatelé, kteří přistupují k úložišti FHIR pomocí funkce SMART on FHIR, jsou omezeni na prostředky přidružené k uživateli a nemají přístup ke všem datům v úložišti.
  • Uživatelé mají možnost udělit aplikacím přístup k omezené sadě svých dat pomocí klinických oborů SMART.

V následujících kurzech najdete postup, jak povolit SMART v aplikacích FHIR se službou FHIR.

Požadavky

SMART on FHIR s využitím ukázek služeb Azure Health Data Services (SMART on FHIR (Enhanced))

Krok 1: Nastavení role uživatele FHIR SMART

Postupujte podle kroků uvedených v části Spravovat uživatele: Přiřaďte uživatele k roli. Každý uživatel přidaný do této role by měl přístup ke službě FHIR za předpokladu, že jejich žádosti vyhovují průvodci implementací SMART on FHIR. Přístup udělený uživatelům v této roli pak omezí prostředky přidružené k jejich oddílu fhirUser a omezení v klinických oborech.

Poznámka:

Smart on FHIR Implementation Guide definuje přístup k typům prostředků FHIR s obory. Tyto obory mají vliv na přístup k prostředkům FHIR aplikace. Uživatel s rolí uživatele SMART má přístup k provádění interakcí rozhraní API pro čtení ve službě FHIR. Role uživatele SMART neuděluje přístup k zápisu do služby FHIR.

Krok 2: Integrace serveru FHIR s ukázkami

Kliknutím na odkaz přejdete na open source řešení Azure Health Data a ukázky AI. Tento krok uvedený v dokumentu umožňuje integraci serveru FHIR s jinými službami Azure (například APIM, Azure Functions a dalšími funkcemi).

Poznámka:

Ukázky jsou opensourcový kód a před použitím byste si měli projít informace a licenční podmínky na GitHubu. Nejsou součástí služby Azure Health Data Service a nejsou podporovány podpora Microsoftu. Tyto ukázky se dají použít k předvedení toho, jak lze služby Azure Health Data Services a další opensourcové nástroje používat společně k předvedení standardizovaného rozhraní API pro dodržování předpisů pro služby pacientů a obyvatelstva s využitím Microsoft Entra ID jako pracovního postupu zprostředkovatele identity.

SMART na FHIR Proxy

Kliknutím rozbalte!

Poznámka:

Tato možnost je další možností, jak smart on FHIR(Enhanced) používat ukázky AHDS uvedené výše. Doporučujeme, abyste na FHIR (Enhanced) přijali SMART. Smart on FHIR Proxy option is legacy option. SMART on FHIR(Enhanced) poskytuje přidané funkce než SMART na proxy FHIR. SMART on FHIR(Enhanced) lze považovat za splnění požadavků s využitím standardizovaného rozhraní API pro kritéria služeb pacientů a obyvatel v FHIR (v. 1.0.0) a §170.315(g)(10).

Pokud chcete používat SMART on FHIR, musíte aplikaci nejdřív ověřit a autorizovat. Při prvním použití funkce SMART v FHIR musíte také získat souhlas správce, abyste aplikaci umožnili přístup k vašim prostředkům FHIR.

Pokud v aplikaci nemáte roli vlastnictví, obraťte se na vlastníka aplikace a požádejte ho, aby vám udělil souhlas správce v aplikaci.

Pokud máte oprávnění správce, proveďte následující kroky, abyste udělili souhlas správce přímo sobě. (Souhlas správce můžete udělit i později, když se zobrazí výzva v aplikaci.) Stejným postupem můžete přidat další uživatele jako vlastníky, aby mohli zobrazit a upravit registraci této aplikace.

Přidání sebe nebo jiného uživatele jako vlastníka aplikace:

  1. Na webu Azure Portal přejděte na Microsoft Entra ID.
  2. V nabídce vlevo vyberte Registrace aplikace.
  3. Vyhledejte registraci aplikace, kterou jste vytvořili, a vyberte ji.
  4. V nabídce vlevo v části Spravovat vyberte Vlastníci.
  5. Vyberte Přidat vlastníky a pak přidejte sami sebe nebo uživatele, kterého chcete mít souhlas správce.
  6. Zvolte Uložit.

Krok 2: Povolení SMART na proxy serveru FHIR

SMART on FHIR vyžaduje, aby Audience identifikátor URI byl roven identifikátoru URI služby FHIR. Standardní konfigurace služby FHIR používá Audience hodnotu https://fhir.azurehealthcareapis.com. Můžete ale také nastavit hodnotu odpovídající konkrétní adrese URL vaší služby FHIR (například https://MYFHIRAPI.fhir.azurehealthcareapis.com). To se vyžaduje při práci s smart na proxy serveru FHIR.

Chcete-li povolit SMART on FHIR proxy v nastavení ověřování pro vaši instanci FHIR, zaškrtněte políčko SMART on FHIR proxy .

Smart on FHIR proxy funguje jako zprostředkovatel mezi aplikací SMART on FHIR a Microsoft Entra ID. Ověřovací odpověď (ověřovací kód) musí místo samotné aplikace přejít na smart na proxy serveru FHIR. Proxy server pak přesměruje odpověď na aplikaci.

Vzhledem k tomu, že tento dvoustupňový přenos ověřovacího kódu, je potřeba nastavit adresu URL odpovědi (zpětné volání) pro klientskou aplikaci Microsoft Entra na adresu URL, která je kombinací adresy URL odpovědi pro smart na proxy serveru FHIR a adresy URL odpovědi pro aplikaci SMART v FHIR. Kombinovaná adresa URL odpovědi má tento formulář:

https://MYFHIRAPI.azurehealthcareapis.com/AadSmartOnFhirProxy/callback/aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA

V této odpovědi aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA je verze adresy URL s kódováním BASE64 pro aplikaci SMART on FHIR zakódovaná v adrese URL odpovědi. Pro spouštěč aplikací SMART na FHIR, když je aplikace spuštěná místně, adresa URL odpovědi je https://localhost:5001/sampleapp/index.html.

Kombinovanou adresu URL odpovědi můžete vygenerovat pomocí skriptu, jako je tento:

$replyUrl = "https://localhost:5001/sampleapp/index.html"
$fhirServerUrl = "https://MYFHIRAPI.fhir.azurewebsites.net"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($ReplyUrl)
$encodedText = [Convert]::ToBase64String($bytes)
$encodedText = $encodedText.TrimEnd('=');
$encodedText = $encodedText.Replace('/','_');
$encodedText = $encodedText.Replace('+','-');

$newReplyUrl = $FhirServerUrl.TrimEnd('/') + "/AadSmartOnFhirProxy/callback/" + $encodedText

Přidání adresy URL odpovědi do veřejné klientské aplikace, kterou jste vytvořili dříve pro Microsoft Entra ID

Krok 3: Získání testovacího pacienta

Pokud chcete otestovat službu FHIR a SMART na proxy serveru FHIR, musíte mít v databázi aspoň jednoho pacienta. Pokud jste s rozhraním API ještě nepracuji a v databázi nemáte data, přečtěte si článek o přístupu ke službě FHIR pomocí nástroje Postman k načtení pacienta. Poznamenejte si ID konkrétního pacienta.

Krok 4: Stažení inteligentního spouštěče aplikací FHIR na FHIR

Opensourcový server FHIR pro úložiště Azure obsahuje jednoduchý smart na spouštěči aplikací FHIR a ukázkovou aplikaci SMART v FHIR. V tomto kurzu použijte tento smart na spouštěči FHIR místně k otestování nastavení.

Úložiště GitHub můžete naklonovat a přejít do aplikace pomocí těchto příkazů:

git clone https://github.com/Microsoft/fhir-server
cd fhir-server/samples/apps/SmartLauncher

Aplikace potřebuje několik nastavení konfigurace, ve kterých můžete nastavit appsettings.json:

{
    "FhirServerUrl": "https://MYFHIRAPI.fhir.azurehealthcareapis.com",
    "ClientId": "APP-ID",
    "DefaultSmartAppUrl": "/sampleapp/launch.html"
}

Doporučujeme použít dotnet user-secrets tuto funkci:

dotnet user-secrets set FhirServerUrl https://MYFHIRAPI.fhir.azurehealthcareapis.com
dotnet user-secrets set ClientId <APP-ID>

Pomocí tohoto příkazu spusťte aplikaci:

dotnet run

Krok 5: Otestování smart na proxy serveru FHIR

Jakmile spustíte spouštěč aplikací SMART na FHIR, můžete v prohlížeči nasměrovat na https://localhost:5001místo, kde byste měli vidět následující obrazovku:

Screenshot showing SMART on FHIR app launcher.

Když zadáte informace o pacientech, setkáních nebo specialistách , všimnete si, že se kontext spuštění aktualizuje. Když používáte službu FHIR, kontext spuštění je jednoduše dokument JSON, který obsahuje informace o pacientech, specialistovi a dalších. Tento kontext spuštění je kódovaný v base64 a předán do aplikace SMART v FHIR jako launch parametr dotazu. Podle specifikace SMART on FHIR je tato proměnná neprůhlášená pro aplikaci SMART on FHIR a předána zprostředkovateli identity.

Smart on FHIR proxy používá tyto informace k naplnění polí v odpovědi tokenu. Aplikace SMART on FHIR může tato pole použít k řízení toho, pro kterého pacienta požaduje data a jak aplikaci vykresluje na obrazovce. Proxy server SMART on FHIR podporuje následující pole:

  • patient
  • encounter
  • practitioner
  • need_patient_banner
  • smart_style_url

Tato pole jsou určená k poskytování pokynů k aplikaci, ale neobsahují žádné bezpečnostní informace. Aplikace SMART v FHIR je může ignorovat.

Všimněte si, že spouštěč aplikací SMART on FHIR aktualizuje informace o adrese URL spuštění v dolní části stránky. Výběrem možnosti Spustit spusťte ukázkovou aplikaci a měli byste vidět něco podobného jako v této ukázce:

Screenshot showing SMART on FHIR app.

Zkontrolujte odpověď tokenu a podívejte se, jak se do aplikace předávají kontextová pole pro spuštění.

Migrace z SMART na proxy FHIR na SMART v FHIR (rozšířené)

Důležité

SMART on FHIR proxy odchází v září 2026, přechod na SMART on FHIR (Enhanced) do tohoto data. Od září 2026 budou aplikace závislé na smart on FHIR proxy hlásit chyby při přístupu ke službě FHIR.

SMART on FHIR (Enhanced) poskytuje v porovnání s funkcí SMART na proxy FHIR více funkcí. SMART on FHIR(Enhanced) lze považovat za splnění požadavků s využitím standardizovaného rozhraní API pro kritéria služeb pacientů a obyvatel v FHIR (v. 1.0.0) a §170.315(g)(10). Následující tabulka uvádí rozdíl mezi funkcí SMART on FHIR proxy a SMART on FHIR (Enhanced).

Schopnost SMART na FHIR (rozšířená) SMART on FHIR proxy
Podporuje samostatné spuštění. Yes No
Podporuje spuštění EHR. Ano Yes
Podporuje omezení rozsahu. Yes No
Spoléhá na produkty Azure první strany. Ano, je potřeba integrovat produkty Azure, jako je Azure API Management (APIM). No
Podpora společnosti Microsoft Podporováno pro službu FHIR. Je potřeba hlásit a monitorovat podporu opensourcových ukázek prostřednictvím GitHubu. Podporováno pro službu FHIR

Kroky migrace

  • Krok 1: Nastavení role uživatele FHIR SMART Postupujte podle kroků uvedených v části Správa uživatelů: Přiřazení uživatelů k roli. Každý uživatel přidaný do role uživatele SMART má přístup ke službě FHIR, pokud jejich požadavky vyhovují průvodci implementací SMART on FHIR.
  • Krok 2: Nasazení ukázky SMART v FHIR v rámci ukázek dat azure Health a AI OSS
  • Krok 3: Aktualizace koncového bodu adresy URL služby FHIR na {{BASEURL_FROM_APIM}}/smart
  • Krok 4: Zrušte zaškrtnutí nastavení SMART na proxy serveru FHIR v okně Ověřování pro službu FHIR.

Pokud máte nějaké dotazy, můžete získat odpovědi od komunitních specialistů na webu Microsoft Q&A. Pro technickou podporu můžete také vytvořit žádost o podporu.

Další kroky

Teď, když jste se seznámili s povolením funkce SMART on FHIR, najdete na stránce s ukázkami vyhledávání podrobnosti o tom, jak hledat pomocí parametrů hledání, modifikátorů a dalších metod hledání FHIR.

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