Bagikan melalui


Menyimpan profil di Azure API untuk FHIR

Penting

Azure API untuk FHIR akan dihentikan pada 30 September 2026. Ikuti strategi migrasi untuk beralih ke layanan FHIR® Azure Health Data Services pada tanggal tersebut. Karena penghentian Azure API untuk FHIR, penyebaran baru tidak akan diizinkan mulai 1 April 2025. Layanan Azure Health Data Services FHIR adalah versi Azure API yang berkembang untuk FHIR yang memungkinkan pelanggan mengelola layanan FHIR, DICOM, dan MedTech dengan integrasi ke layanan Azure lainnya.

HL7 Fast Healthcare Interoperability Resources (FHIR®) mendefinisikan cara standar dan interoperabilitas untuk menyimpan dan bertukar data layanan kesehatan. Bahkan dalam spesifikasi FHIR dasar, dapat membantu untuk menentukan aturan atau ekstensi lain berdasarkan konteks bahwa FHIR sedang digunakan. Untuk penggunaan FHIR khusus konteks tersebut, profil FHIR digunakan untuk lapisan spesifikasi tambahan. Profil FHIR memungkinkan Anda mempersempit dan menyesuaikan definisi sumber daya menggunakan batasan dan ekstensi.

Azure API untuk FHIR memungkinkan memvalidasi sumber daya terhadap profil untuk melihat apakah sumber daya sesuai dengan profil. Artikel ini memandu Anda melalui dasar-dasar profil FHIR dan cara menyimpannya. Untuk informasi selengkapnya tentang profil FHIR di luar artikel ini, kunjungi HL7.org.

Profil FHIR: dasar-dasarnya

Profil menetapkan konteks tambahan pada sumber daya yang direpresentasikan sebagai StructureDefinition sumber daya. StructureDefinition Menentukan sekumpulan aturan pada konten sumber daya atau jenis data, seperti elemen apa yang dimiliki sumber daya dan nilai apa yang dapat diambil elemen-elemen ini.

Beberapa contoh bagaimana profil dapat memodifikasi sumber daya dasar adalah:

  • Membatasi kardinalitas: Misalnya, Anda dapat mengatur kardinalitas maksimum pada elemen ke 0, yang berarti bahwa elemen disampingkan dalam konteks tertentu.
  • Batasi konten elemen ke satu nilai tetap.
  • Tentukan ekstensi yang diperlukan untuk sumber daya.

StructureDefinition diidentifikasi oleh URL kanonisnya: http://hl7.org/fhir/StructureDefinition/{profile}.

Berikut adalah beberapa contoh.

  • http://hl7.org/fhir/StructureDefinition/patient-birthPlace adalah profil dasar yang memerlukan informasi tentang alamat terdaftar kelahiran pasien.
  • http://hl7.org/fhir/StructureDefinition/bmi adalah profil dasar lain yang mendefinisikan cara mewakili pengamatan Indeks Massa Tubuh (BMI).
  • http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance adalah profil Inti AS yang menetapkan ekspektasi minimum untuk AllergyIntolerance sumber daya yang terkait dengan pasien, dan mengidentifikasi bidang wajib seperti ekstensi dan set nilai.

Saat sumber daya sesuai dengan profil, profil ditentukan di dalam profile elemen sumber daya. Berikut ini adalah contoh awal Patient sumber daya, yang memiliki 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"
    ]
  },

Catatan

Profil harus dibangun di atas sumber daya dasar dan tidak dapat bertentangan dengan sumber daya dasar. Misalnya, jika elemen memiliki kardinalitas 1..1, profil tidak dapat membuatnya opsional.

Profil ditentukan oleh berbagai Panduan Implementasi (IG). Berikut ini adalah daftar IG umum. Untuk informasi selengkapnya, kunjungi situs IG tertentu untuk mempelajari lebih lanjut tentang IG dan profil yang ditentukan di dalamnya.

Catatan

Azure API untuk FHIR secara default tidak menyimpan profil apa pun dari panduan implementasi. Anda harus memuatnya ke Azure API untuk FHIR.

Mengakses profil dan menyimpan profil

Menyimpan profil

Untuk menyimpan profil di Azure API untuk FHIR, Anda dapat PUT StructureDefinition dengan konten profil di isi permintaan. Pembaruan atau pembaruan kondisional keduanya adalah metode yang baik untuk menyimpan profil pada layanan FHIR. Gunakan pembaruan bersyarah jika Anda tidak yakin mana yang akan digunakan.

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

atau

Pembaruan bersyarah: 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"
	…
}

Misalnya, jika Anda ingin menyimpan us-core-allergyintolerance profil, Anda akan menggunakan perintah istirahat berikut dengan profil intoleransi alergi Inti AS dalam isi. Kami menyertakan cuplikan profil ini untuk contohnya.

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

Untuk contoh selengkapnya, lihat file REST sampel AS Core di situs sumber terbuka yang berjalan melalui penyimpanan profil INTI AS. Untuk mendapatkan profil terbaru, Anda harus mendapatkan profil langsung dari HL7 dan panduan implementasi yang menentukannya.

Menampilkan profil

Anda dapat mengakses profil kustom yang GET ada menggunakan permintaan, GET http://<your Azure API for FHIR base URL>/StructureDefinition?url={canonicalUrl}, di mana {canonicalUrl} adalah URL kanonis profil Anda.

Misalnya, gunakan yang berikut ini jika Anda ingin melihat profil sumber daya Tujuan Inti AS.

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

Ini mengembalikan StructureDefinition sumber daya untuk profil Tujuan Inti AS, yang dimulai seperti berikut ini.

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

}

Catatan

Anda hanya akan melihat profil yang telah Anda muat ke Azure API untuk FHIR.

Azure API untuk FHIR tidak mengembalikan StructureDefinition instans untuk profil dasar, tetapi dapat ditemukan di situs web HL7.

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

Profil dalam pernyataan kemampuan

Mencantumkan Capability Statement semua kemungkinan perilaku Azure API untuk FHIR. Azure API untuk FHIR memperbarui pernyataan kemampuan dengan detail profil yang disimpan dalam formulir berikut.

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

Misalnya, jika Anda menyimpan profil Pasien Inti AS, yang dimulai seperti berikut ini.

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

Dan kirim GET permintaan untuk :metadata

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

Anda dikembalikan yang CapabilityStatement menyertakan informasi berikut pada profil Pasien Inti AS yang Anda unggah ke Azure API untuk FHIR.

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

Pengikatan di Profil

Layanan terminologi adalah serangkaian fungsi yang dapat melakukan operasi pada "terminologi" medis seperti memvalidasi kode, menerjemahkan kode, memperluas set nilai, dan operasi lainnya.
Layanan Azure API for FHIR tidak mendukung layanan terminologi. Informasi untuk operasi ($), jenis sumber daya, dan interaksi yang didukung dapat ditemukan di layanan CapabilityStatement. Jenis ValueSetsumber daya , StructureDefinition dan CodeSystem didukung dengan operasi buat, baca, perbarui, dan hapus (CRUD) dasar dan Pencarian (seperti yang didefinisikan dalam CapabilityStatement), serta dimanfaatkan oleh sistem untuk digunakan dalam $validate.

ValueSets dapat berisi sekumpulan aturan yang kompleks dan referensi eksternal. Saat ini, layanan hanya mempertimbangkan kode sebaris yang telah diperluas sebelumnya. Pelanggan perlu mengunggah ValueSets yang didukung ke server FHIR sebelum menggunakan $validate operasi. Sumber ValueSet daya harus diunggah ke server FHIR, menggunakan PUT atau pembaruan bersyarah, seperti yang disebutkan di bagian menyimpan profil.

Langkah berikutnya

Dalam artikel ini, Anda mempelajari tentang profil FHIR. Selanjutnya, Anda dapat mempelajari cara menggunakan $validate untuk memastikan bahwa sumber daya sesuai dengan profil ini.

Catatan

FHIR® adalah merek dagang terdaftar HL7 dan digunakan dengan izin HL7.