Lesson 0002 · FHIR · Modul Fondasi · ±23 menit

Resource vs datatype; R4 vs R5, Normative, maturity (FMM)

Pertanyaan pembuka yang hampir pasti muncul, dijelaskan dengan bahasa developer JavaScript

Target lesson ini: Anda bisa menjawab "Apa itu Resource? Kenapa kami memakai R4?" tanpa catatan, dalam kurang dari satu menit per bagian: identitas URL, versi, dan resourceType sebuah resource, bedanya dengan datatype, serta arti label Normative, Trial Use, dan FMM untuk R4 vs R5.

Semua fakta di bawah diambil dari spesifikasi FHIR R4 (v4.0.1) dan dikutip [n]. Contoh JSON dan TypeScript hanya untuk dibaca, tidak perlu dijalankan. REST, HTTP status, JSON, dan OAuth sudah Anda kuasai; lesson ini hanya mengajarkan yang khas FHIR.

Sebelumnya, di lesson 0001, Anda melihat FHIR dibanding HL7 v2 dan bagaimana FHIR berdiri di atas REST + JSON, dengan resourceType sebagai penanda jenis. Lesson ini membahas unit dasarnya, Resource, lalu versi FHIR yang dipakai track ini.

1. Resource: definisi, kategori, dan bedanya dengan datatype

"The basic building block in FHIR is a Resource." [1] Menurut spesifikasi, sebuah resource adalah entitas yang: [2]

{
  "resourceType": "Patient",
  "id": "123",
  "meta": { "versionId": "2", "lastUpdated": "2024-10-26T10:30:00Z" },
  "identifier": [{ "system": "https://rs.contoh.id/no-rm", "value": "RM-00123" }],
  "name": [{ "family": "Santoso", "given": ["Budi"] }],
  "gender": "male",
  "birthDate": "1980-05-12"
}

Semua resource boleh punya id ("the 'logical id' of the resource"), meta, implicitRules, dan language. meta.versionId "Changes each time the content of the resource changes", dan meta.profile adalah "An assertion that the content conforms to a resource profile". [2] "Most resources are derived from DomainResource", sehingga juga bisa memuat text, resource contained, dan extension. [2] Bedakan id (alamat di server ini) dari identifier (nomor bisnis seperti nomor rekam medis); detailnya di lesson 0004.

Kategori

Indeks resource R4 mengelompokkan resource ke lima level [3]:

LevelContohKapan Anda menyentuhnya
FoundationCapabilityStatement, StructureDefinition, ValueSet, Bundleinfrastruktur: kemampuan server, profile, terminologi, paket resource
BasePatient, Practitioner, Organization, Encountersiapa, di mana, kunjungan apa
ClinicalObservation, Condition, MedicationRequest, AllergyIntolerancedata klinis sehari-hari
FinancialCoverage, Claim, ExplanationOfBenefitasuransi dan klaim
SpecializedQuestionnaire, PlanDefinition, ResearchStudykuesioner, riset, kualitas

Resource vs datatype

Datatype adalah tipe untuk elemen di dalam resource: tipe primitif ("single elements with a primitive value", mis. string, boolean, decimal, dateTime) dan tipe kompleks ("re-usable clusters of elements", mis. Identifier, HumanName, CodeableConcept, Quantity, Period). [4] Berbeda dengan resource, datatype tidak punya identitas URL atau versi sendiri: ia selalu hidup di dalam sebuah resource. Kalau satu resource butuh resource lain, ia memakai datatype Reference: "resources are identified and addressed by their URL". [5] Padanan TypeScript: resource ≈ entity/aggregate dengan endpoint sendiri; datatype ≈ value object (type Address = {...}) yang di-embed.

Latihan 1 — Resource

2. R4 vs R5, Normative, dan maturity (FMM)

Versi FHIR ditulis "publication.major.minor.revision"; yang dipakai track ini adalah "FHIR Release 4 (Technical Correction #1) (v4.0.1)". [6] Setiap artefak (resource, halaman, profile) punya status:

StatusArtinya
Normative (tanda N)"The content is considered to be stable and has been 'locked', subjecting it to FHIR Inter-version Compatibility Rules." Forward compatibility: "content that is conformant in an old release will remain conformant with future versions."
Trial Use"considered by the authors to be ready for use in production systems", tetapi "Future versions of FHIR may make significant changes to Trial Use content".
FMM 0–5tingkat kematangan konten Trial Use. FMM 0: baru di build. FMM 2: diuji interoperabilitasnya oleh "at least three independently developed systems". FMM 5: "implemented in at least 5 independent production systems in more than one country".

Semua kutipan tabel: [6]. Backward compatibility (instance versi baru dibaca sistem lama) "is not guaranteed by FHIR".

Kalimat "R4 adalah versi paling dominan di produksi" adalah pengamatan industri, bukan kalimat spesifikasi. Di interview, dukung dengan fakta di atas: R4 rilis normative pertama, R5 trial use, dan IG utama (termasuk yang dipakai regulator) masih di R4. Posisi SATUSEHAT dibahas di lesson 0022.

Latihan 2 — Versi dan maturity

Latihan 3 — Ucapkan dengan suara keras

Pasang timer dan jawab dengan suara keras, seolah sedang interview. Jangan buka jawaban contoh sebelum selesai.

"Kami memakai FHIR R4. Kenapa bukan R5? Dan apa arti label Normative dan FMM yang Anda lihat di spesifikasi?" (60 detik)
Bandingkan dengan jawaban contoh dan checklist-nya

"R4, versi 4.0.1, adalah rilis pertama yang memuat konten normative, terbit akhir 2018. Normative berarti konten itu stabil dan dikunci: tunduk pada aturan kompatibilitas antarversi, jadi data yang valid di R4 tetap valid di versi berikutnya. Bagian penting seperti REST API, format JSON, Patient, dan Observation sudah normative di R4. Konten lain berstatus Trial Use dengan Maturity Model FMM 0 sampai 5; FMM 5 berarti sudah dipakai di minimal lima sistem produksi independen di lebih dari satu negara, tapi masih bisa berubah. R5 terbit Maret 2023 sebagai rilis trial use: tidak ada konten baru yang normative, ada perubahan seperti rework Subscriptions. Karena itu ekosistem, termasuk IG besar seperti US Core, masih dibangun di atas R4, dan migrasi baru masuk akal saat rilis normative berikutnya."

Checklist: apakah Anda menyebut…

  • R4 = 4.0.1, rilis pertama dengan konten normative (2018–2019)?
  • Normative = stabil, dikunci, tunduk aturan kompatibilitas antarversi?
  • contoh normative di R4: REST API, JSON, Patient, Observation?
  • Trial Use + FMM 0–5; FMM 5 = minimal 5 sistem produksi independen, >1 negara?
  • R5 (Maret 2023) berstatus trial use; contoh perubahan: rework Subscriptions?
  • IG (mis. US Core) dan ekosistem masih di R4; HL7 berencana rilis berikutnya normative?

Lulus kalau minimal 4 dari 6. Review 0012 akan menanyakan salah satunya lagi.

Istilah: GLOSSARY.md (bagian "Fondasi") · Sumber: RESOURCES.md · Komunitas: chat.fhir.org

Ada yang belum jelas? Tanyakan ke saya (agent) di terminal, misalnya: "apa beda id dan identifier?", "kapan sebuah extension harus jadi modifierExtension?", atau "bagaimana menjelaskan Normative vs Trial Use ke interviewer non-teknis?"

Sumber: [1] FHIR Overview · [2] Resource · [3] Resource Index · [4] Data Types · [5] Resource References · [6] Managing Multiple FHIR Versions (FMM, Normative) · [7] R4 Version History · [8] RESTful API · [9] JSON Representation · [10] Patient · [11] Observation · [12] FHIR R4 Home · [13] R5 Version History · [14] US Core IG