Sdílet prostřednictvím


Ukládání profilů v rozhraní Azure API for FHIR

Důležité

Rozhraní Azure API for FHIR bude vyřazeno 30. září 2026. Postupujte podle strategií migrace a do tohoto data přejděte na službu FHIR® služby Azure Health Data Services. Vzhledem k vyřazení rozhraní Azure API for FHIR nebudou nová nasazení od 1. dubna 2025 povolena. Služba FHIR služby Azure Health Data Services je vyvinutá verze rozhraní Azure API for FHIR, která zákazníkům umožňuje spravovat služby FHIR, DICOM a MedTech s integrací do jiných služeb Azure.

HL7 Fast Healthcare Interoperability Resources (FHIR®) definuje standardní a interoperabilní způsob ukládání a výměny zdravotnických dat. I v rámci základní specifikace FHIR může být užitečné definovat další pravidla nebo rozšíření na základě kontextu, který používá FHIR. Pro použití FHIR pro konkrétní kontext se profily FHIR používají pro další vrstvu specifikací. Profil FHIR umožňuje zúžit a přizpůsobit definice prostředků pomocí omezení a rozšíření.

Azure API for FHIR umožňuje ověřování prostředků vůči profilům, aby zjistilo, jestli prostředky odpovídají profilům. Tento článek vás provede základy profilů FHIR a jejich uložením. Další informace oprofile HL7.org ch

Profil FHIR: základy

Profil nastaví další kontext prostředku, který je reprezentovaný jako StructureDefinition prostředek. A StructureDefinition definuje sadu pravidel pro obsah prostředku nebo datového typu, například jaké prvky prostředek má a jaké hodnoty mohou tyto prvky převzít.

Tady je několik příkladů, jak můžou profily změnit základní prostředek:

  • Omezit kardinalitu: Můžete například nastavit maximální kardinalitu prvku na hodnotu 0, což znamená, že prvek je v konkrétním kontextu vyloučí.
  • Omezit obsah prvku na jednu pevnou hodnotu.
  • Definujte požadovaná rozšíření pro prostředek.

A StructureDefinition je identifikována jeho kanonickou adresou URL: http://hl7.org/fhir/StructureDefinition/{profile}.

Zde je uvedeno několik příkladů.

  • http://hl7.org/fhir/StructureDefinition/patient-birthPlace je základní profil, který vyžaduje informace o registrované adrese narození pacienta.
  • http://hl7.org/fhir/StructureDefinition/bmi je další základní profil, který definuje, jak znázorňovat pozorování BMI (Body Mass Index).
  • http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance je základní profil USA, který nastavuje minimální očekávání pro AllergyIntolerance prostředek přidružený k pacientovi a identifikuje povinná pole, jako jsou rozšíření a sady hodnot.

Pokud prostředek odpovídá profilu, je profil zadán uvnitř profile prvku prostředku. Následuje příklad začátku Patient prostředku, který má profil http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient.

{
  "resourceType" : "Patient",
  "id" : "ExamplePatient1",
  "meta" : {
    "lastUpdated" : "2020-10-30T09:48:01.8512764-04:00",
    "source" : "Organization/PayerOrganizationExample1",
    "profile" : [
      "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient"
    ]
  },

Poznámka:

Profily musí být postavené na základním prostředku a nemůžou být v konfliktu se základním prostředkem. Pokud má například element kardinalitu 1..1, profil ho nemůže nastavit jako volitelný.

Profily jsou určené různými průvodci implementacemi (IGS). Následuje seznam běžných IG. Další informace najdete na konkrétním webu IG, kde najdete další informace o ig a profilech definovaných v něm.

Poznámka:

Rozhraní Azure API for FHIR ve výchozím nastavení neukládá žádné profily z příruček implementace. Budete je muset načíst do rozhraní Azure API for FHIR.

Přístup k profilům a ukládání profilů

Ukládání profilů

Pokud chcete profily ukládat v rozhraní Azure API for FHIR, můžete PUT StructureDefinition obsah profilu v textu požadavku použít. Aktualizace nebo podmíněná aktualizace jsou dobrými metodami ukládání profilů ve službě FHIR. Pokud si nejste jistí, kterou možnost použít, použijte podmíněnou aktualizaci.

Standardní PUT: PUT http://<your Azure API for FHIR base URL>/StructureDefinition/profile-id

nebo

Podmíněná aktualizace: PUT http://<your Azure API for FHIR base URL>/StructureDefinition?url=http://sample-profile-url

{ 
"resourceType" : "StructureDefinition",
"id" : "profile-id",
"url": "http://sample-profile-url"
	…
}

Pokud byste například chtěli profil uložit us-core-allergyintolerance , použili byste následující příkaz pro zbytek s profilem intolerance pro alergiky USA v těle. V příkladu jsme zahrnuli fragment kódu tohoto profilu.

PUT https://myAzureAPIforFHIR.azurehealthcareapis.com/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance
{
    "resourceType" : "StructureDefinition",
    "id" : "us-core-allergyintolerance",
    "text" : {
        "status" : "extensions"
    },
    "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance",
    "version" : "3.1.1",
    "name" : "USCoreAllergyIntolerance",
    "title" : "US  Core AllergyIntolerance Profile",
    "status" : "active",
    "experimental" : false,
    "date" : "2020-06-29",
        "publisher" : "HL7 US Realm Steering Committee",
    "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.healthit.gov"
        }
      ]
    }
  ],
    "description" : "Defines constraints and extensions on the AllergyIntolerance resource for the minimal set of data to query and retrieve allergy information.",

Další příklady najdete v ukázkovém souboru REST pro US Core na opensourcovém webu, který vás provede ukládáním profilů pro jádra USA. Pokud chcete získat nejaktuálnější profily, měli byste profily získat přímo z HL7 a průvodce implementací, který je definuje.

Zobrazení profilů

Ke stávajícím GET vlastním profilům můžete přistupovat pomocí požadavku, GET http://<your Azure API for FHIR base URL>/StructureDefinition?url={canonicalUrl}kde {canonicalUrl} je kanonická adresa URL vašeho profilu.

Pokud například chcete zobrazit profil prostředku hlavního cíle USA, použijte následující kód.

GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal

Tím se vrátí StructureDefinition prostředek pro profil základního cíle USA, který začíná následujícím způsobem.

{
  "resourceType" : "StructureDefinition",
  "id" : "us-core-goal",
  "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal",
  "version" : "3.1.1",
  "name" : "USCoreGoalProfile",
  "title" : "US Core Goal Profile",
  "status" : "active",
  "experimental" : false,
  "date" : "2020-07-21",
  "publisher" : "HL7 US Realm Steering Committee",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.healthit.gov"
        }
      ]
    }
  ],
  "description" : "Defines constraints and extensions on the Goal resource for the minimal set of data to query and retrieve a patient's goal(s).",

}

Poznámka:

Uvidíte jenom profily, které jste načetli do rozhraní Azure API for FHIR.

Azure API for FHIR nevrací StructureDefinition instance základních profilů, ale najdete je na webu HL7.

  • http://hl7.org/fhir/Observation.profile.json.html
  • http://hl7.org/fhir/Patient.profile.json.html

Profily v příkazu capability

Seznam Capability Statement všech možných chování rozhraní Azure API for FHIR. Rozhraní Azure API for FHIR aktualizuje příkaz schopností s podrobnostmi o uložených profilech v následujících formulářích.

  • CapabilityStatement.rest.resource.profile
  • CapabilityStatement.rest.resource.supportedProfile

Pokud například uložíte profil základního pacienta v USA, který začíná takto:

{
  "resourceType": "StructureDefinition",
  "id": "us-core-patient",
  "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient",
  "version": "3.1.1",
  "name": "USCorePatientProfile",
  "title": "US Core Patient Profile",
  "status": "active",
  "experimental": false,
  "date": "2020-06-27",
  "publisher": "HL7 US Realm Steering Committee",

A odešlete GET žádost o :metadata

GET http://<your Azure API for FHIR base URL>/metadata

CapabilityStatement Vrátíte se a obsahuje následující informace o profilu základního pacienta USA, který jste nahráli do rozhraní Azure API for FHIR.

...
{
    "type": "Patient",
    "profile": "http://hl7.org/fhir/StructureDefinition/Patient",
    "supportedProfile":[
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    ],

Vazby v profilech

Služba terminologie je sada funkcí, které můžou provádět operace s lékařskými "terminologií", jako je ověřování kódů, překládání kódů, rozšíření sad hodnot a další operace.
Služba Azure API for FHIR nepodporuje službu terminologie. Informace o podporovaných operacích ($), typech prostředků a interakcích najdete ve službě CapabilityStatement. Typy ValueSetStructureDefinition prostředků a CodeSystem jsou podporovány pomocí základních operací vytvoření, čtení, aktualizace a odstranění (CRUD) a vyhledávání (jak je definováno v CapabilityStatementsystému) a také využití systémem pro použití v $validate.

Sady hodnot mohou obsahovat složitou sadu pravidel a externích odkazů. Služba dnes bere v úvahu pouze předpřipravené vložené kódy. Zákazníci musí před použitím $validate operace nahrát na server FHIR podporované hodnoty. Prostředky ValueSet se musí nahrát na server FHIR pomocí put nebo podmíněné aktualizace, jak je uvedeno v části ukládání profilů .

Další kroky

V tomto článku jste se seznámili s profily FHIR. Dále se dozvíte, jak můžete zajistit $validate , aby prostředky odpovídaly těmto profilům.

Poznámka:

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