Integrasi Kesehatan

Integrasi Sistem Kesehatan: HL7, FHIR, dan SATUSEHAT untuk Programmer

Pengantar integrasi data kesehatan bagi programmer: mengapa standar dibutuhkan, perbedaan HL7 v2 dan FHIR, resource FHIR yang sering dipakai, alur integrasi SATUSEHAT, dan tips praktis.

Satu pasien bisa meninggalkan jejak data di banyak sistem: aplikasi pendaftaran, rekam medis elektronik, laboratorium, radiologi, farmasi, BPJS, dan platform nasional. Tanpa standar, setiap sambungan antar-sistem menjadi pekerjaan khusus yang rapuh. Artikel ini memperkenalkan standar yang paling sering ditemui programmer aplikasi kesehatan di Indonesia.

Mengapa perlu standar?

Bayangkan lima sistem yang masing-masing punya format data sendiri. Untuk saling terhubung, dibutuhkan hingga sepuluh penerjemah yang berbeda. Dengan satu standar bersama, setiap sistem cukup memahami satu format. Standar juga menyamakan makna: kode diagnosis, kode pemeriksaan lab, dan kode obat yang sama dipahami dengan arti yang sama di semua sistem.

HL7 versi 2: tua tapi masih di mana-mana

HL7 v2 adalah format pesan berbasis teks yang dipisahkan karakter pipa (|). Standar ini sudah lama dipakai dan masih banyak ditemui pada alat laboratorium, LIS, dan sistem radiologi. Contoh potongan pesan:

MSH|^~\&|LIS|LAB|SIMRS|RS|202609241030||ORU^R01|12345|P|2.5
PID|1||RM001234||NAMA^PASIEN
OBX|1|NM|GLU^Glukosa||110|mg/dL|70-140|N

Setiap baris adalah segmen (MSH untuk header, PID untuk pasien, OBX untuk hasil pemeriksaan), dan setiap field dipisahkan tanda |. Formatnya ringkas, tetapi implementasinya sering berbeda antarvendor.

FHIR: standar modern berbasis web

HL7 FHIR (Fast Healthcare Interoperability Resources) memakai teknologi yang sudah akrab bagi programmer web: REST API, JSON, dan OAuth2. Data dipecah menjadi resource, dan setiap resource mewakili satu konsep:

ResourceIsi
PatientIdentitas pasien
PractitionerTenaga kesehatan
Organization, LocationFasilitas kesehatan dan ruangan/poli
EncounterKunjungan pasien
ConditionDiagnosis atau keluhan
ObservationTanda vital dan hasil pemeriksaan
ServiceRequest, DiagnosticReportPermintaan dan laporan pemeriksaan penunjang
MedicationRequest, MedicationDispenseResep dan pemberian obat

Resource saling merujuk. Contohnya, Observation merujuk Patient dan Encounter, sehingga hasil pemeriksaan selalu terkait dengan pasien dan kunjungan yang tepat.

SATUSEHAT

SATUSEHAT adalah platform integrasi data kesehatan nasional dari Kementerian Kesehatan RI, dan standarnya berbasis FHIR R4. Permenkes No. 24 Tahun 2022 tentang Rekam Medis mewajibkan fasilitas pelayanan kesehatan menyelenggarakan rekam medis elektronik, termasuk kewajiban terhubung dengan platform tersebut.

Gambaran alur integrasinya:

  1. Fasilitas kesehatan mendaftar dan mendapatkan kredensial (client ID dan secret) untuk lingkungan uji coba (sandbox/staging) dan produksi.
  2. Aplikasi meminta access token menggunakan OAuth2.
  3. Data master dipetakan terlebih dahulu: Organization, Location, dan ID Practitioner.
  4. ID pasien SATUSEHAT dicari berdasarkan NIK.
  5. Setiap kunjungan dikirim sebagai Encounter, lalu diikuti Condition, Observation, dan resource lain yang merujuk Encounter tersebut.

Rincian teknis seperti endpoint, profil resource, dan kode terminologi (ICD-10, LOINC, SNOMED CT, dan Kamus Farmasi dan Alat Kesehatan) selalu ikuti dari dokumentasi resmi SATUSEHAT, karena dapat diperbarui.

Tips praktis dari lapangan

  • Pisahkan modul integrasi dari aplikasi inti. Gunakan antrean (queue): transaksi pasien disimpan dahulu, lalu dikirim ke sistem luar di latar belakang. Pelayanan tidak boleh berhenti hanya karena API pihak luar sedang lambat.
  • Simpan log setiap request dan response, beserta ID yang dikembalikan sistem tujuan. Log ini sangat penting saat menelusuri data yang "tidak masuk".
  • Buat mekanisme kirim ulang (retry) untuk data yang gagal terkirim, beserta dasbor status bagi petugas.
  • Pemetaan kode adalah pekerjaan terbesar. Kode pemeriksaan lab internal harus dipetakan ke LOINC, dan obat ke kode yang berlaku. Libatkan petugas lab dan farmasi sejak awal.
  • Jangan gunakan data pasien asli di lingkungan sandbox.

Integrasi lain yang umum

Selain SATUSEHAT, aplikasi kesehatan di Indonesia sering terhubung dengan layanan BPJS Kesehatan, misalnya VClaim dan antrean online, melalui bridging dengan kredensial dan tanda tangan (signature) khusus. Aplikasi juga sering terhubung ke alat laboratorium melalui HL7 v2, ASTM, atau format khusus vendor. Setiap integrasi punya aturan dan dokumentasinya sendiri, tetapi prinsip antrean, log, dan kirim ulang di atas berlaku untuk semuanya.

Karena yang dikirim adalah data kesehatan, pastikan juga aspek keamanannya. Baca keamanan data pasien dan UU PDP.