Megosztás a következőn keresztül:


Profilok tárolása az Azure API for FHIR-ben

A HL7 Fast Healthcare Interoperability Resources (FHIR®) az egészségügyi adatok tárolásának és cseréjének szabványos és együttműködő módját határozza meg. Még az alap FHIR-specifikáción belül is hasznos lehet más szabályokat vagy bővítményeket meghatározni az FHIR által használt környezet alapján. Az FHIR ilyen környezetspecifikus használata esetén az FHIR-profilok a specifikációk további rétegéhez használatosak. Az FHIR-profil lehetővé teszi az erőforrás-definíciók szűkítését és testreszabását korlátozások és bővítmények használatával.

Az Azure API for FHIR lehetővé teszi az erőforrások profilok alapján történő érvényesítését annak ellenőrzése érdekében, hogy az erőforrások megfelelnek-e a profiloknak. Ez a cikk végigvezeti az FHIR-profilok alapjaion és azok tárolásán. A cikken kívüli FHIR-profilokkal kapcsolatos további információkért látogasson el a HL7.org.

FHIR-profil: az alapok

A profil további kontextust állít be az erőforrásként jelölt erőforráson StructureDefinition . A StructureDefinition egy erőforrás vagy adattípus tartalmára vonatkozó szabályokat határoz meg, például hogy az erőforrás milyen elemekkel rendelkezik, és milyen értékeket vehet fel ezek az elemek.

Az alábbiakban néhány példa látható arra, hogyan módosíthatják a profilok az alaperőforrást:

  • Számosság korlátozása: Beállíthatja például egy elem maximális számosságát 0-ra, ami azt jelenti, hogy az elem ki van tiltva az adott környezetben.
  • Egy elem tartalmának korlátozása egyetlen rögzített értékre.
  • Definiálja az erőforráshoz szükséges bővítményeket.

Az A-t StructureDefinition a canonical URL-címe azonosítja: http://hl7.org/fhir/StructureDefinition/{profile}

Például:

  • http://hl7.org/fhir/StructureDefinition/patient-birthPlace egy alapprofil, amely a beteg születési címére vonatkozó információkat igényel.
  • http://hl7.org/fhir/StructureDefinition/bmi egy másik alapprofil, amely meghatározza, hogyan kell ábrázolni a body mass index (BMI) megfigyeléseit.
  • http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance Egy US Core-profil, amely minimális elvárásokat állít be a beteghez társított erőforrásokkal AllergyIntolerance kapcsolatban, és azonosítja a kötelező mezőket, például a bővítményeket és az értékkészleteket.

Ha egy erőforrás megfelel egy profilnak, a profil az profile erőforrás elemében lesz megadva. Az alábbiakban egy példát láthat egy profillal rendelkező http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient "Patient" erőforrás elejére.

{
  "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"
    ]
  },

Megjegyzés

A profilok az alaperőforrásra épülnek, és nem ütközhetnek az alaperőforrással. Ha például egy elem számossága 1..1, a profil nem teheti opcionálissá.

A profilokat különböző megvalósítási útmutatók (IG-k) is megszüntetik. Az alábbiakban felsorolunk néhány gyakori IG-t. További információért látogasson el az adott IG-webhelyre, ahol többet tudhat meg az IG-ről és a benne definiált profilokról:

Megjegyzés

Az Azure API for FHIR alapértelmezés szerint nem tárol profilokat az implementációs útmutatókból. Ezeket be kell töltenie az Azure API for FHIR-be.

Profilok elérése és profilok tárolása

Profilok tárolása

A profilok az FHIR-hez készült Azure API-ban való tárolásához a StructureDefinition profil tartalmát a kérelem törzsében tárolhatjaPUT. A frissítés vagy a feltételes frissítés egyaránt jó módszer a profilok FHIR szolgáltatásban való tárolására. Ha nem biztos benne, hogy melyiket használja, használja a feltételes frissítést.

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

Vagy

Feltételes frissítés: 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"
	…
}

Ha például tárolni szeretné a profilt us-core-allergyintolerance , használja a következő rest parancsot a US Core allergia intolerancia profiljával a szervezetben. Ebben a példában ennek a profilnak egy részletét is belefoglaltuk.

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.",

További példákért tekintse meg az US Core-minta REST-fájlt a nyílt forráskódú webhelyen, amely végigvezeti az US Core-profilok tárolásán. A legfrissebb profilok eléréséhez a profilokat közvetlenül a HL7-ből és az azokat meghatározó megvalósítási útmutatóból kell beszereznie.

Profilok megtekintése

A meglévő egyéni profilokat egy GET kéréssel érheti el, GET http://<your Azure API for FHIR base URL>/StructureDefinition?url={canonicalUrl}ahol {canonicalUrl} a profilja canonical URL-címe.

Ha például meg szeretné tekinteni az US Core Goal erőforrásprofilját:

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

Ez visszaadja az StructureDefinition US Core Goal-profilhoz tartozó erőforrást, amely az alábbi módon fog elindulni:

{
  "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).",

}

Megjegyzés

Csak azokat a profilokat fogja látni, amelyeket betöltött az Azure API for FHIR-be.

Az Azure API for FHIR nem ad vissza StructureDefinition példányokat az alapprofilokhoz, de megtalálhatók a HL7 webhelyén, például:

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

Profilok a képességutasításban

A Capability Statement listázza az Azure API for FHIR összes lehetséges viselkedését. Az Azure API for FHIR frissíti a képességutasítást a tárolt profilok részleteivel a következő formában:

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

Ha például egy US Core Patient-profilt ment, amely a következőképpen kezdődik:

{
  "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",

És küldjön egy kérést GET az ön metadataszámára:

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

A rendszer a CapabilityStatement következő adatokat tartalmazó egységgel adja vissza a következő információkat az Azure API for FHIR-be feltöltött US Core Patient-profilról:

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

Kötések a profilokban

A terminológiai szolgáltatás olyan függvények készlete, amelyek orvosi "terminológiákon" végezhetnek műveleteket, például kódok ellenőrzése, kódok fordítása, értékkészletek bővítése stb. Az Azure API for FHIR szolgáltatás nem támogatja a terminológiai szolgáltatást. A támogatott műveletekre ($), az erőforrástípusokra és az interakciókra vonatkozó információk a szolgáltatás CapabilityStatement szolgáltatásában találhatók. A ValueSet, a StructureDefinition és a CodeSystem erőforrástípusokat támogatja az alapszintű CRUD-műveletek és a Keresés (a CapabilityStatementben meghatározottak szerint), valamint a rendszer a $validate való használatra.

A ValueSets összetett szabályokat és külső hivatkozásokat tartalmazhat. A szolgáltatás jelenleg csak az előre kibontott beágyazott kódokat veszi figyelembe. Az ügyfeleknek fel kell töltenie a támogatott ValueSet-eket az FHIR-kiszolgálóra a $validate művelet használata előtt. A ValueSet-erőforrásokat fel kell tölteni az FHIR-kiszolgálóra put vagy feltételes frissítés használatával a fenti Profilok tárolása szakaszban leírtak szerint.

Következő lépések

Ebben a cikkben megismerkedett az FHIR-profilokkal. Ezután megtudhatja, hogyan használhatja a $validate annak biztosítására, hogy az erőforrások megfeleljenek ezeknek a profiloknak.

Az FHIR® a HL7 bejegyzett védjegye, és a HL7 engedélyével használják.