SATUSEHAT
(Playbook) Skrining Hipotiroid Kongenital
Pusat Data dan Teknologi Informasi - Digital Transformation Office
(DTO) Kementerian Kesehatan Republik Indonesia
KERAHASIAAN INFORMASI
Informasi yang terkandung dalam dokumen ini bersifat:
PUBLIK
Yang berarti bahwa semua pihak/entitas yang mendapatkan dokumen ini dan/atau sebagian/keseluruhan informasi di dalam dokumen ini, DIPERBOLEHKAN untuk menggunakan, menerbitkan, menyebarluaskan, menduplikasi, atau mendistribusikan kembali dokumen ini dan/atau informasi di dalamnya dalam bentuk apapun, baik secara elektronik maupun mekanik tanpa izin tertulis dariPusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesia.
Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesia tidak membuat pernyataan dan tidak memberikan jaminan dalam bentuk apapun sehubungan dengan informasi di dalam dokumen ini, termasuk tetapi tidak terbatas pada keakuratan atau kelengkapan informasi, fakta dan/atau pendapat yang terkandung di dalam dokumen ini.
Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesiapara direktur, para karyawan, dan unit-unit di bawahnya tidak dapat dimintai pertanggungjawaban atas penggunaan dan kepercayaan atas opini, perkiraan, dan temuan dalam dokumen ini.
RIWAYAT PERUBAHAN
Versi Tanggal Rilis Daftar Perubahan/Penambahan
1.0 9 Mei 2023 Rilis dokumen awal
1.1 20 November 2023 Penambahan Pesan Prioritas terkait dateTime mengikuti standar format waktuUTCpada:
Perubahan format dateTime menjadi YYYY-MM-DDThh:mm:ss+zz:zz pada resources yang menggunakan dateTime.
Penambahan BAB 20 terkait Pencarian Data Hasil Pemeriksaan Skrining Hipotiroid Kongenital (Faskes Perujuk) dan BAB 21 Pencarian Data Laporan Hasil Pemeriksaan Skrining Hipotiroid Kongenital (Faskes Perujuk)
Penambahan Sub Bab 4.2 Pemetaan Nilai Observation Penambahan resources ServiceRequest.contained
DAFTAR ISI
KERAHASIAAN INFORMASI 1
RIWAYAT PERUBAHAN 2
DAFTAR ISI 3
KAMUS ISTILAH 12
PETUNJUK PENGGUNAAN 14
1. Sobat Integrasi SATUSEHAT 14
2. Starter Pack Book SATUSEHAT 14
2.1. Buku Panduan SATUSEHAT (Playbook) 14
2.2. Petunjuk Teknis SATUSEHAT (Juknis SATSET) 15
2.3. Dokumentasi Teknis SATUSEHAT – Katalog ReST API (API Dok SATUSEHAT) 15
2.4. Dokumen Lampiran Terminologi SATUSEHAT 15
2.5. Dokumentasi Teknis SATUSEHAT – Sistem DICOM 15
3. Pesan Prioritas 15
3.1. Catatan 16
3.2. Tips 16
3.3. Penting 16
3.4. Perhatian 16
3.5. Peringatan 17
4. Simbol Pemetaan Data FHIR 17
A. PENDAHULUAN 19
1. Objektif Dokumen 19
2. Pengenalan SATUSEHAT 19
3. Layanan SATUSEHAT yang Tersedia 20
3.1. Pengenalan Master Data Index 21
4. Standar Interoperabilitas 22
4.1. Standar Terminologi yang digunakan 22
4.2. Pengenalan FHIR 23
4.2.1. Apa itu FHIR? 23
4.2.2. Arsitektur FHIR 23
B. ORIENTASI (ONBOARDING) 25
1. Autentikasi 25
2. Penjelasan Konsep Umum JSON FHIR 25
3. Registrasi Struktur Organisasi 26
Organization.identifier 28
*Organization.active 28
*Organization.type 28
*Organization.name 28
Organization.alias 28
Organization.telecom 28
Organization.address 28
*Organization.partOf 28
Organization.contact[i].purpose 29
Organization.contact[i].name 29
Organization.contact[i].telecom 29
Organization.contact[i].address 29
4. Registrasi Struktur Lokasi 30
Location.identifier 31
*Location.status 31
Location.operationalStatus 31
*Location.name 32
Location.alias 32
Location.description 32
Location.mode 32
Location.type 32
Location.telecom 32
Location.address 32
*Location.physicalType.coding 33
Location.position 33
*Location.managingOrganization 33
*Location.partOf 33
Location.hoursOfOperation[i].daysOfWeek 34
Location.hoursOfOperation[i].allDay 34
Location.hoursOfOperation[i].openingTime 34
Location.hoursOfOperation[i].closingTime 34
Location.availabilityExceptions 34
5. Nomor SATUSEHAT untuk Tenaga Kesehatan (Nakes) 35
C. INTEGRASI 36
1. Pembuatan Data Pasien Bayi Baru Lahir (Faskes Perujuk) 43
2. Pendaftaran Kunjungan Pasien (Faskes Perujuk) 43
Encounter.identifier 44
*Encounter.status 44
*Encounter.statusHistory[i].status 45
*Encounter.statusHistory[i].period 45
*Encounter.class 45
*Encounter.classHistory[i].class 45
*Encounter.classHistory[i].period 45
Encounter.type 45
Encounter.serviceType 45
Encounter.priority 45
*Encounter.subject 46
Encounter.episodeOfCare 46
Encounter.basedOn 46
*Encounter.participant[i].type 46
*Encounter.participant[i].individual 47
*Encounter.period 47
Encounter.length 47
Encounter.reasonCode 47
Encounter.reasonReference 47
*Encounter.diagnosis[i].condition 48
*Encounter.diagnosis[i].use 48
*Encounter.diagnosis[i].rank 48
Encounter.account 48
Encounter.hospitalization.preAdmissionIdentifier 48
Encounter.hospitalization.origin 49
Encounter.hospitalization.admitSource 49
Encounter.hospitalization.reAdmission 49
Encounter.hospitalization.dietPreference 49
Encounter.hospitalization.specialArrangement 49
Encounter.hospitalization.destination 49
*Encounter.hospitalization.dischargeDisposition 50
*Encounter.location 50
*Encounter.serviceProvider 50
Encounter.partOf 50
3. Skema Pengiriman Data Terkait Pemeriksaan Penunjang Laboratorium 51 4. Pengiriman Data Permintaan Rujukan Pemeriksaan Skrining Hipotiroid Kongenital
(Faskes Perujuk) 53
4.1. Pemetaan Nilai ServiceRequest 53
ServiceRequest.identifier 54
ServiceRequest.basedOn 54
ServiceRequest.replaces 54
ServiceRequest.requisition 54
*ServiceRequest.status 55
*ServiceRequest.intent 55
ServiceRequest.category 55
ServiceRequest.priority 55
ServiceRequest.doNotPerform 55
*ServiceRequest.code 55
ServiceRequest.orderDetail 56
ServiceRequest.quantityQuantity 56
ServiceRequest.quantityRatio 56
ServiceRequest.quantityRange 56
*ServiceRequest.subject 56
*ServiceRequest.encounter 56
ServiceRequest.occurenceDateTime 57
ServiceRequest.occurencePeriod 57
ServiceRequest.occurenceTiming 57
ServiceRequest.asNeededBoolean 57
ServiceRequest.authoredOn 57
*ServiceRequest.requester 57
ServiceRequest.performerType 57
*ServiceRequest.performer 58
ServiceRequest.locationCode 58
ServiceRequest.locationReference 58
ServiceRequest.reasonCode 58
ServiceRequest.reasonReference 58
ServiceRequest.insurance 59
ServiceRequest.supportingInfo 59
ServiceRequest.specimen 59
ServiceRequest.bodySite 59
ServiceRequest.note 59
ServiceRequest.patientInstruction 59
ServiceRequest.relevantHistory 59
1. Pemeriksaan Skrining Thyroid Stimulating Hormone (TSH) 60
4.2. Pemetaan Nilai Observation 61
Observation.identifier 62
Observation.basedOn 62
Observation.partOf 63
*Observation.status 63
Observation.category 63
*Observation.code 63
*Observation.subject 63
Observation.focus 64
*Observation.encounter 64
Observation.effectiveDateTime 64
Observation.effectivePeriod 64
Observation.effectiveTiming 64
Observation.effectiveInstant 64
Observation.issued 65
*Observation.performer 65
Observation.valueQuantity 65
Observation.valueCodeableConcept 65
Observation.valueString 65
Observation.valueBooelean 65
Observation.valueInteger 65
Observation.valueRange 66
Observation.valueRatio 66
Observation.valueSampledData 66
Observation.valueTime 66
Observation.valueDateTime 66
Observation.valuePeriod 66
Observation.dataAbsentReason 66
Observation.interpretation 66
Observation.note 67
Observation.bodySite 67
Observation.method 67
Observation.specimen 67
Observation.device 67
Observation.referenceRange 67
Observation.referenceRangeType 67
Observation.hasMember 68
Observation.derivedFrom 68
1. Berat Badan 68
2. Usia Gestasi 69
5. Pengiriman Data Spesimen (Faskes Perujuk) 69
Specimen.identifier 70
Specimen.accesssionIdentifier 70
*Specimen.status 71
*Specimen.type 71
*Specimen.subject 71
Specimen.receivedTime 71
Specimen.parent 71
*Specimen.request 71
Specimen.collection.collector 72
Specimen.collection.collected[x] 72
Specimen.collection.collectedDateTime 72
Specimen.collection.collectedPeriod 72
Specimen.collection.duration 72
Specimen.collection.quantity 72
Specimen.collection.method 72
Specimen.collection.bodySite 72
Specimen.collection.fastingStatus[x] 72
Specimen.collection.fastingStatusCodeableConcept 73
Specimen.collection.fastingStatusDuration 73
Specimen.processing 73
Specimen.processing.description 73
Specimen.processing.procedure 73
Specimen.processing.additive 73
Specimen.processing.time[x] 73
Specimen.processing.timeDateTime 73
Specimen.processing.timePeriod 73
Specimen.container 74
Specimen.container.identifier 74
Specimen.container.description 74
Specimen.container.type 74
Specimen.container.capacity 74
Specimen.container.specimenQuantity 74
Specimen.container.additive[x] 74
Specimen.container.additiveCodeableConcept 74
Specimen.container.additiveReference 75
Specimen.condition 75
Specimen.note 75
*Specimen.extension:transportedTime 75
*Specimen.extension:transportedPerson 75
*Specimen.extension:ReceivedPerson 75
1. Pemeriksaan Skrining Thyroid Stimulating Hormone (TSH) 76 6. Pencarian Data Permintaan Rujukan Pemeriksaan Laboratorium (Faskes Perujuk) 77
7. Pencarian Data Specimen (Faskes Perujuk) 78
8. Pembaharuan Data Kunjungan (Faskes Perujuk) 79
9. Pencarian Data Permintaan Rujukan Pemeriksaan Skrining Hipotiroid Kongenital
(Faskes Rujukan) 80
10. Pencarian Data Spesimen Pemeriksaan Skrining Hipotiroid Kongenital (Faskes
Rujukan) 81
11. Pembaharuan Data Spesimen Pemeriksaan Skrining Hipotiroid Kongenital (Faskes
Rujukan) 82 12. Pengiriman Data Hasil Pemeriksaan Skrining Hipotiroid Kongenital (Faskes
Rujukan) 83
1. Pemeriksaan Skrining Thyroid Stimulating Hormone (TSH) 84 13. Pengiriman Data Laporan Pemeriksaan Skrining Hipotiroid Kongenital (Faskes
Rujukan) 86
*DiagnosticReport.identifier 87
*DiagnosticReport.basedOn 87
*DiagnosticReport.status 88
*DiagnosticReport.category[i].coding 88
*DiagnosticReport.code 88
*DiagnosticReport.subject 88
*DiagnosticReport.encounter 88
DiagnosticReport.effective[x] 89
DiagnosticReport.effectiveDateTime 89
DiagnosticReport.effectivePeriod 89
*DiagnosticReport.issued 89
*DiagnosticReport.performer 89
DiagnosticReport.resultInterpreter 90
*DiagnosticReport.specimen 90
*DiagnosticReport.result 90
DiagnosticReport.imagingStudy 90
DiagnosticReport.media 90
DiagnosticReport.conclusion 91
DiagnosticReport.conclusionCode 91
DiagnosticReport.presentedForm 91
1. Pemeriksaan Skrining Thyroid Stimulating Hormone (TSH) 91 14. Pencarian Data Pasien Bayi Baru Lahir untuk Tes Konfirmasi (Faskes Rujukan) 92 15. Pendaftaran Kunjungan Pasien untuk Tes Konfirmasi (Faskes Rujukan) 93 16. Pengiriman Data Permintaan Tes Konfirmasi (Faskes Rujukan) 94 1. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) 94 2. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) - deteksi
limit <= 0.05 mIU/L 94
3. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) - deteksi
limit <= 0.005 mIU/L 95
4. Pemeriksaan Tes Konfirmasi Free T4 (FT4) 95
5. Pemeriksaan Tes Konfirmasi Free T4 (FT4) - Metode Immunoassay 95 17. Pengiriman Spesimen Permintaan Tes Konfirmasi (Faskes Rujukan) 97 1. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) 97
2. Pemeriksaan Tes Konfirmasi Free T4 (FT4) 97
18. Pengiriman Data Hasil Tes Konfirmasi (Faskes Rujukan) 98 1. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) 98 2. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) - deteksi
limit <= 0.05 mIU/L 99
3. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) - deteksi
limit <= 0.005 mIU/L 100
4. Pemeriksaan Tes Konfirmasi Free T4 (FT4) 101 5. Pemeriksaan Tes Konfirmasi Free T4 (FT4) - Metode Immunoassay 102 19. Pengiriman Data Laporan Hasil Tes Konfirmasi (Faskes Rujukan) 104 1. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) 104 2. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) - deteksi
limit <= 0.05 mIU/L 104
3. Pemeriksaan Tes Konfirmasi Thyroid Stimulating Hormone (TSH) - deteksi
limit <= 0.005 mIU/L 105
4. Pemeriksaan Tes Konfirmasi Free T4 (FT4) 105 5. Pemeriksaan Tes Konfirmasi Free T4 (FT4) - Metode Immunoassay 105 20. Pencarian Data Hasil Pemeriksaan Skrining Hipotiroid Kongenital (Faskes Perujuk) 107
21. Pencarian Data Laporan Hasil Pemeriksaan Skrining Hipotiroid Kongenital (Faskes
Perujuk) 107
22. Pembaharuan Data Kunjungan (Faskes Rujukan) 108
D. PENUTUP 109
KAMUS ISTILAH
API : Application Programming Interface BPOM : Badan Pengawas Obat dan Makanan cURL : client Uniform Resource Locator Dukcapil : Kependudukan dan Catatan Sipil
FHIR : Fast Healthcare Interoperability Resources HIE : Health Information Exchanges
HL7 : Health Level Seven
HTTPS REST API : Hypertext Transfer Protocol Secure RESTful Application Programming Interface
ICD-10 :
International Statistical Classification of Diseases and Related Health Problems 10th Revision
ICD-9-CM : International Classification of Procedure Code, 9th Revision, Clinical Modification IHS : Indonesia Health Services
JSON : JavaScript Object Notation
LKPP : Lembaga Kebijakan Pengadaan Barang dan Jasa LOINC : Logical Observation Identifiers Name and Codes
MNI : Master Nakes Index
MPI : Master Patient Index
NIK : Nomor Induk Kependudukan RME : Rekam Medis Elektronik
SDM : Sumber Daya Manusia
SIMADA : Sistem Informasi Manajemen Data Kefarmasian SIP : Surat Izin Praktik
SIRS : Sistem Informasi Rumah Sakit
SISDMK : Sistem Informasi Sumber Daya Manusia Kesehatan
STR : Surat Tanda Registrasi XML : Extensible Markup Language
PETUNJUK PENGGUNAAN
Selamat datang sobat integrasi SATUSEHAT, Kami senang Anda telah memutuskan untuk bergabung bersama Kami, untuk bersama-sama membangun platform pertukaran data kesehatan (HIE:Health Information Exchange) yang menghubungkan sistem informasi atau aplikasi dari seluruh anggota ekosistem digital kesehatan Indonesia termasuk fasilitas pelayanan kesehatan, regulator, penjamin, dan penyedia layanan digital.
Untuk itu, tujuan kami dengan buku ini adalah untuk membantu Anda mendapatkan informasi secara langsung, praktis, dan mandiri. Instruksi pada buku panduan ini akan membantu Anda mengatasi masalah yang Anda hadapi dalam membangun integrasi SATUSEHAT.
Buku panduan ini tidak hanya sekedar tutorial langkah demi langkah, tetapi juga kumpulan dokumen/modul terpisah yang saling berkaitan satu sama lain (yang selanjutnya disebut Starter Pack Book). Sepanjang jalan, kami akan menyediakan banyak teori dan informasi teknis untuk membantu pemahaman Anda. Jadi mari kita mulai!
1. Sobat Integrasi SATUSEHAT
Sobat integrasi SATUSEHAT adalah fasilitas pelayanan kesehatan (fasyankes), dinas kesehatan, dan para pelaku industri kesehatan(yang selanjutnya disebutPartners System) yang tergabung di dalam SATUSEHAT.
2. Starter Pack Book SATUSEHAT
Starter pack bookSATUSEHAT terdiri dari:
2.1. Buku Panduan SATUSEHAT (Playbook)
Buku panduan SATUSEHAT (Playbook) adalah dokumen yang berisikan informasi SATUSEHAT secara umum. Informasi pada playbook disesuaikan dengan use case pada integrasi SATUSEHAT.
2.2. Petunjuk Teknis SATUSEHAT (Juknis SATSET)
Petunjuk teknis SATUSEHAT adalah dokumen yang berisi pemetaan nilai, struktur JSON, serta contoh data JSON dariresourcesFHIR yang dibutuhkan dalam integrasi SATUSEHAT.
Sobat integrasi SATUSEHAT juga diberikan postmancollection workshopSATUSEHAT untuk mendapatkan contoh dari integrasi SATUSEHAT tersebut.
2.3. Dokumentasi Teknis SATUSEHAT – Katalog ReST API (API Dok SATUSEHAT)
Dokumentasi Teknis SATUSEHAT – Katalog ReST API adalah dokumen yang berisikan kumpulan API (Katalog API) dari resources FHIR yang dibutuhkan dalam integrasi SATUSEHAT.
2.4. Dokumen Lampiran Terminologi SATUSEHAT
Dokumen lampiran terminologi adalah buku yang berisi daftar terminologi yang digunakan dalam SATUSEHAT.
2.5. Dokumentasi Teknis SATUSEHAT – Sistem DICOM
Dokumentasi Teknis SATUSEHAT – Sistem DICOM adalah dokumen yang berisikan kumpulan API (Katalog API) dari resources FHIR yang dibutuhkan dalam integrasi SATUSEHAT.
3. Pesan Prioritas
Playbook SATUSEHAT ini menggunakan beberapa pesan prioritas (Admonitions) untuk menekankan informasi tertentu. Beberapa pesan prioritas berisi pernyataan, peringatan, perhatian, atau teguran tertentu sebagai salah satu cara untuk menekankan beberapa penjelasan yang dianggap penting, digunakan pada dokumentasi ini. Pada bagian ini akan dijelaskan secara singkat tipe-tipe dari pesan prioritas tersebut.
3.1. Catatan
Memberikan catatan singkat terkait informasi tertentu.
CATATAN
Postman adalah salah satu aplikasi untuk melakukantestingterkait ReST API.
3.2. Tips
Memberikan saran kepada pembaca yang terkaitbest practicesatau tips tertentu.
TIPS
Untuk melihat struktur pemetaan bisa dengan …
3.3. Penting
Memberikan saran kepada pembaca bahwa anjuran yang disebutkan penting untuk dibaca.
PENTING
Aplikasi ini hanya berjalan di …
3.4. Perhatian
Memberikan saran kepada pembaca agar anjuran yang telah dijelaskan dilakukan dengan hati-hati.
PERHATIAN Pastikan bahwa …
3.5. Peringatan
Memberikan tekanan kepada pembaca agar anjuran yang telah dijelaskan dilakukan dengan serius dan hati-hati, dikarenakan kemungkinan akan ada efek samping.
PERINGATAN
Perhatikan dan cek kembali …
4. Simbol Pemetaan Data FHIR
Dalam melakukan pemetaan dari struktur data resource FHIR, akan digunakan sebuah struktur pemetaan berupa peta referensi (path) antar variabel/properti (FHIR menggunakan istilah element id) dengan menggunakan simbol-simbol tertentu. Berikut simbol-simbol yang akan digunakan beserta penjelasan singkatnya:
Istilah Simbol Penjelasan
object reference . Tanda titik merepresentasikan adanya referensi parent-child dari nama variabel/properti dari data/resourcebertipeobject.
Contoh:
Patient.birthDateberarti propertibirthDate adalah bagian dari data/resourcebertipeobject
Patient.
array reference [i] Simbol i merepresentasikan referensi indeks ke-i dari data/resource bertipe array. Nilai indeks i sendiri dimulai dari nol (0).
Contoh:
Patient.name[i].family berarti properti family adalahsalah satupropertiobject dari dataname
yang bertipe array dengan indeks ke-idan bagian dari data/resourcePatient.
data type <...> Simbol < dan >, menunjukan referensi tipe data yang dimaksud atau yang harus dipakai. Nilai yang berada di…berisi tipe data yang dimaksud.
Contoh:
<Coding> menunjukan penggunaan tipe data Coding.
any data type <*> Simbol ini menunjukan referensi tipe data yang tipe datanya tergantung konteks dari variabel yang terkait atau tipe data yang digunakan bebas.
data type name <?> Simbol ini menunjukan harus ditampilkan nama tipe data yang akan dipakai, sebagai nama variabel. Biasanya berada setelah prefiks nama variabel value- yang nama tipe datanya harus dalam formatCamelCase.
Contoh:
value<?> dalam penerapannya harus dengan tipe data yang sudah ditentukan, misal hanya boleh integer, string, atau Quantity, sehingga nama lengkap variabelnya dapat berupa salah satu dari:
valueInteger,valueString, atauvalueQuantity.
A. PENDAHULUAN
1. Objektif Dokumen
Buku panduan SATUSEHAT(Playbook)adalah dokumen yang ditujukan untuk memberikan gambaran umum/garis besar kepada fasilitas pelayanan kesehatan (fasyankes)/ dinas kesehatan dalam proses integrasi SATUSEHAT. Komponen-komponen dari integrasi SATUSEHAT yang akan dijelaskan dalam dokumen ini mencakup proses bisnis, standarisasi/ prosedur integrasi, serta alur/ panduan integrasi. Dokumen ini dimaksudkan agar dapat menjadi fleksibel dan akan mengikuti perubahan sepanjang pengembangan platform SATUSEHAT, karena dalam tahap pengerjaannya akan diselesaikan dalam berbagai sprint dan rilis. Bukan tidak mungkin akan banyak sekali perubahan fungsi dan komponen utama di dalamnya. Untuk saat ini, tujuan utama pembuatan dokumen ini adalah untuk mengidentifikasi persyaratan bisnis pada tingkathigh-level.
2. Pengenalan SATUSEHAT
SATUSEHAT adalah platform pertukaran data kesehatan (HIE: Health Information Exchange) yang menghubungkan sistem informasi atau aplikasi dari seluruh anggota ekosistem digital kesehatan Indonesia termasuk Fasyankes, regulator, penjamin, dan penyedia layanan digital. SATUSEHAT sebagai platform telah sesuai dengan Cetak Biru Transformasi Digital Kesehatan 2024 yang dapat diakses di situsdto.kemkes.go.id.
Kondisi di Indonesia saat ini:
1. Terdapat lebih dari 400 aplikasi kesehatan milik pemerintah yang belum saling terintegrasi.
2. Beberapa data yang sama dikumpulkan oleh aplikasi yang berbeda.
3. Aplikasi milik pengembang sistem informasi kesehatan belum terintegrasi dengan ekosistem layanan kesehatan Indonesia.
4. Ketidakseragaman metadata menyebabkan interoperabilitas sulit dilakukan.
5. Tidak adanya standar format interoperabilitas, sehingga integrasi antara satu aplikasi dengan aplikasi lainnya berbeda.
Dengan kondisi tersebut, SATUSEHAT bertujuan untuk:
1. Menyediakan spesifikasi dan mekanisme terstandar untuk proses bisnis, data, teknis dan keamanan.
2. Memastikan agar pemrogram (software developer) dapat menggunakan bahasa apapun untuk mengembangkan aplikasinya dengan spesifikasi dan mekanisme pertukaran data (Health Level Seven International - Fast Healthcare Interoperability Resources [HL7 FHIR] dan Hypertext Transfer Protocol Secure RESTful Application Programming Interface[HTTPS REST API]).
3. Mengeluarkan nomor SATUSEHAT yang akan menjadi tanda pengenal (single identifier) informasi kesehatan pasien untuk memastikan setiap masyarakat Indonesia dapat mengakses layanan kesehatan yang berkesinambungan.
3. Layanan SATUSEHAT yang Tersedia
SATUSEHAT memberikan layanan sebagai berikut:
Tabel 1. Layanan SATUSEHAT
Layanan Deskripsi
Data Pokok Identitas Pasien (Master Patient Index)
Klien akan dapat mengambil nomor SATUSEHAT pasien dengan memberikan nomor Nomor Induk Kependudukan (NIK) dan/atau beberapa parameter demografi lainnya.
Data Pokok Identitas Nakes (Master Nakes Index)
Klien akan dapat mengambil nomor praktisi kesehatan IHS dengan memberikan nomor NIK dan/atau beberapa parameter demografi lainnya.
Data Kunjungan Pasien
(Patient Registration) Klien akan dapat mengirimkan informasi ketika pasien mengunjungi institusi.
Mengirimkan Data Diagnostik Pasien
(Submit Patient Diagnostic Data) Klien akan dapat mengirimkan informasi ketika ada hasil diagnostik dari kunjungan pasien.
3.1. Pengenalan Master Data Index
Standardisasi kamus yang dapat digunakan oleh seluruh stakeholder kesehatan melalui SATUSEHAT untuk mendapatkan standarisasi data pasien, tenaga kesehatan, bidan dan lain-lain.Master Data Indextersebut terdiri dari:
a. Data Pasien (Master Patient Index)
- Data produk yang didesain khusus sebagai standar data pasien yang akan tervalidasi oleh Data Kependudukan dan Catatan Sipil (Dukcapil) untuk data yang berkaitan dengan demografi.
- Dapat digunakan sebagai standar utama data pasien oleh seluruh Fasilitas Pelayanan Kesehatan di Indonesia via SATUSEHAT.
b. Data Tenaga Kesehatan [Nakes] (Master Nakes Index)
- Produk data yang didesain khusus sebagai standard data index tenaga kesehatan yang digabungkan dari berbagai sumber data sumber daya manusia (SDM) nakes (Nama, Surat Tanda Registrasi (STR), Surat Izin Praktik (SIP), dll).
c. Data Fasilitas Layanan Kesehatan [Fasyankes] (Master Sarana Index)
- Master data yang didesain khusus sebagai standar data Fasilitas Pelayanan Kesehatan yang terdiri dari 35 jenis Fasilitas Pelayanan Kesehatan.
- Data-data ini disusun berdasarkan dari berbagai sumber seperti Sistem Informasi Sumber Daya Manusia Kesehatan (SISDMK), Sistem Informasi Rumah Sakit (SIRS/RS Online), Sistem Informasi Manajemen Data Kefarmasian (SIMADA), dan lain-lain.
d. Data Farmasi dan Alat Kesehatan (Kamus KFA)
- Produk data yang didesain sebagai Master data Farmasi, Obat, dan Alat Kesehatan yang dikumpulkan dari berbagai sumber data seperti Badan Pengawas Obat dan Makanan (BPOM) dan Lembaga Kebijakan Pengadaan Barang dan Jasa (LKPP) sebagai standar referensi data obat (kandungan zat aktif, ukuran, volume, dll) dan alat kesehatan.
e. Data Pembiayaan
- Produk data yang didesain sebagai Master data Pembiayaan yang dapat digunakan oleh seluruh Fasilitas Kesehatan dan dapat dijadikan standar untuk penyusunan format biaya untuk pelayanan, tindakan, dan lain-lain.
f. Data Layanan
- Produk data yang didesain sebagai Master data Layanan yang dapat digunakan oleh seluruh Fasilitas Kesehatan dan dapat dijadikan standar pengkodean layanan.
4. Standar Interoperabilitas
SATUSEHAT menggunakanHL7 FHIRdalam pengimplementasian standar data model dan Application Programming Interface (API).
HL7 FHIR merupakan standar terkini dalam pertukaran data dan informasi kesehatan, telah digunakan di berbagai negara termasuk World Health Organization (WHO) dan berbagai fasilitas layanan kesehatan. Menggunakan fitur API yang sudah dikenal oleh pengembang sistem informasi.
Kemudahan pertukaran data akan mengurangi waktu pengaturan interoperabilitas antar sistem dan mendorong perkembangan teknologi yang lebih maju.
4.1. Standar Terminologi yang digunakan
1. ICD-10 sebagai Standar Diagnosis
ICD-10 adalah Klasifikasi Statistik Internasional Tentang Penyakit dan Masalah Kesehatan Revisi ke 10 atau the 10th revision of the International Statistical Classification of Diseases and Related Health Problems (ICD). ICD-10 adalah daftar klasifikasi medis yang dikeluarkan oleh WHO.
2. ICD-9-CM - Standar Penamaan Prosedur & Tindakan Medis
ICD-9-CM adalah Klasifikasi dan Kodefikasi Prosedur Internasional Revisi ke 9 Modifikasi Klinis atau International Classification of Procedure Code, 9th Revision, Clinical Modification (ICD-9-CM) adalah standar untuk penamaan prosedur dan tindakan medis yang dikeluarkan oleh WHO.
3. LOINC - Standar Penamaan Uji Laboratorium
Logical Observation Identifiers Name and Codes (LOINC) adalah database dan standar universal untuk mengidentifikasi pengamatan laboratorium medis.
Memudahkan pemahaman kode karena terdiri dari sekelompok identifikasi, nama,
dan kode untuk mengidentifikasi pengukuran kondisi, observasi, dan dokumen kesehatan.
4. SNOMED-CT - Standar Penamaan Istilah Klinis
SNOMED Clinical Terms adalah sebuah sistem yang menyediakan kosakata komprehensif konsep medis, termasuk kondisi medis dan anatomi, serta tes medis, perawatan, dan prosedur.
4.2. Pengenalan FHIR
4.2.1. Apa itu FHIR?
Fast Healthcare Interoperability Resources (FHIR) adalah sebuah standar global (internasional) yang menetapkan format data beserta elemen-elemennya (yang disebut
"resources") dan sebuah standar antarmuka pemrograman aplikasi (API/Application Programming Interface) untuk pertukaran informasi resume rekam medis elektronik (RME). FHIR dibaca “fire” dalam bahasa Inggris (/faier/).
Standar ini dibuat oleh Health Level Seven International (HL7), yaitu sebuah organisasi standar pelayanan kesehatan (healthcare standards organization). Situs terkait:
https://www.hl7.org/fhir/.
Masing-masing pengguna FHIR memiliki profil dimana profil FHIR Indonesia dapat dilihat di siniSimplifier FHIR Profiles.
Akronim FHIR:
F :Fast H :Healthcare I :Interoperability R :Resources
4.2.2. Arsitektur FHIR
Pada dasarnya, FHIR berisi dua komponen utama:
1. Resources:
a. Kumpulan informasi yang mendefinisikan elemen data, batasan-batasan, dan relasi untuk "business object" yang paling relevan dengan pelayanan kesehatan.
b. Dari perspektif arsitektur berbasis model, resources FHIR secara konsep adalah setara dengan physical model yang dituangkan dalam format Extensible Markup Language(XML) atauJavaScript Object Notation(JSON).
2. API:
a. Kumpulan antarmuka yang terdefinisi dengan baik untuk interoperasi antara dua aplikasi. Meskipun tidak diharuskan, spesifikasi FHIR menargetkan antarmuka RESTful untuk implementasi API.
Untuk informasi lebih lanjut, dapat dilihat disini.
B. ORIENTASI (ONBOARDING)
Sebelum melakukan pengiriman data terkait pendaftaran pasien dan diagnosis,terdapat 4 langkahyang perlu dilakukan yaitu:
1. Autentikasi ke SATUSEHAT, 2. Registrasi Struktur Organisasi, 3. Registrasi Struktur Lokasi,
4. Menyimpan Nomor IHS untuk Tenaga Kesehatan.
1. Autentikasi
Sebelum dapat melakukan pertukaran data pada platform SATUSEHAT, perlu dilakukan proses autentikasi terlebih dahulu. SATUSEHAT menggunakan autentikasi mengikuti standar protokol OAuth 2 dengan tipe pemberian akses (grant type) adalah client credentials.
Untuk autentikasi atau pertukaran/transaksi data akan dibahas lebih lanjut pada Dokumentasi Teknis ReST API SATUSEHAT.
2. Penjelasan Konsep Umum JSON FHIR
Berikut adalah beberapa konsep umum yang digunakan di sistem FHIR:
1. Dalam struktur format JSON dalampayloadmaupunresponse, apabila ada elemen yang sifatnya opsional, maka elemen dalam file JSON akan/sudah diomit empty.
2. Dalam pengisian elemen “system”, URL yang tertulis tidak harus merupakan URL yang dapat diakses sebagai website. Namun hanya menjadi tanda pembatas ruang lingkup.
3. Untuk setiap penyimpanan data yang ada di FHIR, metode yang dipakai adalah metode key-value. Key adalah sebagai penanda variabelnya (nama variabel) sedangkanvalueadalah nilai variabelnya.
Key Value
Sistol 120
Diastol 80
Suhu Tubuh 40
Contoh penyimpanan data dengan metodekey-value Sistol Diastol Suhu Tubuh
120 80 40
Contoh penyimpanan data dengan metode tabular konvensional
3. Registrasi Struktur Organisasi
Gambar 1. Contoh Struktur Organisasi
Organisasi merupakan data terkait struktur organisasi yang ada di dalam suatu institusi.
Data struktur organisasi ini akan dijadikan referensi saat data pelayanan kesehatan dikirimkan ke SATUSEHAT. Institusi yang akan melakukan integrasi ke SATUSEHAT perlu melakukan registrasi atau mengirimkan data terkait struktur organisasi yang tersedia di dalam institusi tersebut (selanjutnya disebut suborganisasi). Institusi yang termasuk dalam kategori fasilitas pelayanan kesehatan (selanjutnya disebut organisasi induk), akan mendapatkan nomor SATUSEHAT dari Kementerian Kesehatan setelah melakukan registrasi. Organisasi induk selanjutnya akan mengirimkan struktur organisasi/suborganisasi yang ada dalam institusi tersebut. Contoh struktur organisasi dapat dilihat dalam Gambar 1. Setiap suborganisasi di bawah organisasi induk perlu dikirimkan datanya ke SATUSEHAT.
Data suborganisasi dikirimkan menggunakan resourceOrganizationdengan metode POST.
ResourceOrganization digunakan untuk mencatat data sekelompok orang atau organisasi dengan tujuan yang sama. Hal ini ditunjukkan dengan adanya struktur pengurus dari organisasi tersebut. Template pengisian organisasi dapat diakses pada tautan berikut :
Template Registrasi Organization & Location
Berikut pemetaan nilai untuk Organization yang direpresentasikan dalam peta referensi (path) ke properti (element id) terkait, untuk konteks data organisasi fasilitas pelayanan kesehatan:
PENTING
Setiap nama variabel dengan simbol asterik*sebelum nama variabel bersifat WAJIBatauSELALU ADA, contoh:*Location.identifier.
PENTING
Standard format Waktu yang digunakan dalam pengiriman data adalah UTC +00.
Misalnya waktuWIBmaka format yang digunakan adalah waktu sekarangdikurangi 7, jika WITA maka waktu sekarang dikurangi 8, dan Jika WIT maka waktu sekarang dikurangi 9. Contoh pukul 17.35 WIB tanggal 23 Agustus 2023 maka yang dikirimkan adalah waktunya perlu diubah ke UTC +00 menjadi 10.35, berarti menjadi
PENTING
2023-08-23T10:35:00+00:00.
Organization.identifier
Berisi satu atau lebih daftar data mengenai informasi terkait kode atau nomor internal sub organisasi yang dimiliki oleh organisasi induk yang setiap datanya direpresentasikan dengan tipe dataIdentifier.
*Organization.active
Berisi data status keaktifan data organisasi dengan tipe databoolean.
*Organization.type
Berisi data tipe organisasi dengan tipe dataCodeableConcept.
*Organization.name
Berisi data nama organisasi dengan tipe datastring.
Organization.alias
Berisi data nama lain/pengganti organisasi dengan tipe datastring.
Organization.telecom
Berisi data kontak organisasi secara umum dengan tipe dataContactPointyang dapat diisi > 1 jenis kontak (nomor telepon, email, website).
Organization.address
Berisi satu atau lebih data bertipe Address yang digunakan untuk mengisi alamat organisasi secara umum dan dapat diisi >1 alamat.
*Organization.partOf
Berisi data yang WAJIB diisi apabila terdapat organisasi bagian dari organisasi lain (suborganisasi) dengan tipe data Reference, yang direferensikan ke data yang tersimpan diresourceOrganization, yang nilainya memiliki format:
Tahap 1
"Organization/{organization-ihs-number}"
Tahap 2
"Organization/{id-suborganisasi}"
Dimana isi dari parameter {organization-ihs-number} adalah nomor SATUSEHAT organisasi induk yang didapatkan dari master sarana indeks dan {id-suborganisasi}
adalah nomor id suborganisasi yang didapatkan dari hasil response. Untuk informasi lebih lanjut dapat dilihat padaPetunjuk Teknis SATUSEHAT (Juknis SATSET).
Organization.contact[i].purpose
Berisi data kontak organisasi untuk tujuan tertentu (billing, administrasi, HR, dll.) dengan tipe dataCodeableConcept.
Organization.contact[i].name
Berisi data nama contact person terkait dengan tipe dataHumanName.
Organization.contact[i].telecom
Berisi data kontak organisasi secara umum dengan tipe dataContactPointyang dapat diisi > 1 jenis kontak (nomor telepon, email, website). Format pengisian sama dengan Organization.telecom.
Organization.contact[i].address
Berisi data alamat terkait dengan tipe data Address yang digunakan untuk mengisi alamat secara umum dan dapat diisi >1 alamat. Format pengisian sama dengan Organization.address.
Penjelasan tipe mandatoris, deskripsi dan format pengisian dari setiap elemen data/pathdi dalam resource Organization, dan contoh pengiriman data atau payload dari struktur organisasi dapat dilihat dalam Postman Collection pada Petunjuk Teknis SATUSEHAT (Juknis SATSET).
4. Registrasi Struktur Lokasi
Gambar 2. Contoh Struktur Lokasi
Struktur lokasi merupakan lokasi fisik yang dapat berupa bangunan, ruangan yang menjadi tempat dimana layanan kesehatan dilakukan. Institusi yang akan melakukan integrasi ke SATUSEHAT perlu melakukan registrasi atau mengirimkan data terkait struktur lokasi yang tersedia di dalam institusi tersebut. Data struktur lokasi yang dimaksud adalah detail dan informasi posisi untuk tempat fisik di mana layanan disediakan dan sumber daya dan peserta dapat disimpan, ditemukan, ditampung, atau diakomodasi. Contoh struktur lokasi dapat dilihat dalam Gambar 2. Setiap lokasi dari struktur tersebut perlu dikirimkan datanya ke SATUSEHAT untuk keperluan informasi dimana suatu layanan dilakukan.
Data struktur dikirimkan menggunakan resourceLocationdengan metode POST. Template pengisian struktur lokasi dapat diakses pada link berikut:
Template Registrasi Organization & Location
Berikut pemetaan nilai untukLocation yang direpresentasikan dalam peta referensi (path) ke properti (element id) terkait, untuk konteks data lokasi fasilitas pelayanan kesehatan:
PENTING
Setiap nama variabel dengan simbol asterik*sebelum nama variabel bersifat WAJIBatauSELALU ADA, contoh:*Location.identifier.
PENTING
Standard format Waktu yang digunakan dalam pengiriman data adalah UTC +00.
Misalnya waktuWIBmaka format yang digunakan adalah waktu sekarangdikurangi 7, jika WITA maka waktu sekarang dikurangi 8, dan Jika WIT maka waktu sekarang dikurangi 9. Contoh pukul 17.35 WIB tanggal 23 Agustus 2023 maka yang dikirimkan adalah waktunya perlu diubah ke UTC +00 menjadi 10.35, berarti menjadi 2023-08-23T10:35:00+00:00.
Location.identifier
Berisi satu atau lebih daftar data mengenai informasi terkait kode atau nomor internal sub lokasi yang dimiliki oleh lokasi induk yang setiap datanya direpresentasikan dengan tipe dataIdentifier.
*Location.status
Berisi data status lokasi dengan tipe data code, yang nilainya mengacu pada data terminologiLocationStatus(http://hl7.org/fhir/location-status).
Location.operationalStatus
Berisi data status operasional lokasi, terutama digunakan untukbed/kamar dengan tipe
data Coding, yang nilainya mengacu pada data terminologi Hl7VSBedStatus (http://terminology.hl7.org/CodeSystem/v2-0116).
*Location.name
Berisi data nama lokasi dengan tipe datastring.
Location.alias
Berisi data nama lain lokasi dengan tipe datastring.
Location.description
Berisi data deskripsi lokasi dengan tipe datastring.
Location.mode
Berisi data terkait apakah suatu lokasi merupakan lokasi spesifik (contoh: Ruang Operasi A, Kamar Rawat Inap 215, dll) atau kelompok/kelas lokasi (contoh: Ruang Operasi, Kamar Rawat Inap, dll) dengan tipe data code, yang nilainya mengacu pada data terminologiLocationMode(http://hl7.org/fhir/location-mode).
Location.type
Berisi data tipe lokasi dengan tipe dataCodeableConcept.
Location.telecom
Berisi satu atau lebih daftar data mengenai informasi terkait kode atau nomor internal sub lokasi yang dimiliki oleh lokasi induk yang setiap datanya direpresentasikan dengan tipe dataContactPoint.
Location.address
Berisi satu atau lebih daftar data mengenai informasi terkait kode atau nomor internal sub lokasi yang dimiliki oleh lokasi induk yang setiap datanya direpresentasikan dengan tipe dataAddress.
*Location.physicalType.coding
Berisi satu atau lebih daftar data mengenai informasi terkait tipe fisik lokasi dengan tipe data Coding, yang nilainya mengacu pada terminologi LocationType (http://hl7.org/fhir/R4B/Codesystem-location-physical-type).
Location.position
Berisi data lokasi secara geografis (longitude,latitude,altitude).
*Location.managingOrganization
Berisi data organisasi pengelola lokasi dengan tipe dataReference, yang direferensikan ke data yang tersimpan diresourceOrganization, yang nilainya memiliki format:
Tahap 1
"Organization/{organization-ihs-number}"
Tahap 2
"Organization/{id-suborganisasi}"
Dimana isi dari parameter {organization-ihs-number} adalah nomor SATUSEHAT organisasi induk yang didapatkan dari master sarana indeks ata selaku organisasi pengelola lokasi dan {id-suborganisasi} adalah nomor id suborganisasi yang didapatkan dari hasil response apabila suborganisasi tersebut selaku organisasi pengelola lokasi. Untuk informasi lebih lanjut dapat dilihat pada Petunjuk Teknis SATUSEHAT (Juknis SATSET).
*Location.partOf
Berisi data lokasi bagian dari lokasi lain (sub lokasi) dengan tipe dataReference, yang direferensikan ke data yang tersimpan di resource Location, yang nilainya memiliki format:
"Location/{id-location}"
Dimana isi dari parameter{id-location}adalah nomor idLocationyang didapatkan dari hasil response. Untuk informasi lebih lanjut dapat dilihat pada Petunjuk Teknis SATUSEHAT (Juknis SATSET).
Location.hoursOfOperation[i].daysOfWeek
Berisi satu atau lebih data kode hari, dengan tipe datacode, yang nilainya mengacu pada terminologiDaysOfWeek(http://hl7.org/fhir/days-of-week).
Location.hoursOfOperation[i].allDay
Berisi data apabila beroperasi setiap hari dengan tipe databoolean.
Location.hoursOfOperation[i].openingTime
Berisi data jam beroperasi dengan tipe datatime.
Location.hoursOfOperation[i].closingTime
Berisi data jam tutup dengan tipe datatime.
Location.availabilityExceptions
Berisi data kapan jam buka lokasi berbeda dari biasanya (contoh: Libur Nasional) dengan tipe datastring.
Penjelasan tipe mandatoris, deskripsi dan format pengisian dari setiap elemen data/pathdi dalam resource Location, dan contoh pengiriman data atau payload dari struktur lokasi dapat dilihat dalam Postman Collection padaPetunjuk Teknis SATUSEHAT (Juknis SATSET).
5. Nomor SATUSEHAT untuk Tenaga Kesehatan (Nakes)
Apabila melakukan pengiriman data kesehatan melalui SATUSEHAT yang memiliki elemen data terkait tenaga kesehatan, maka diperlukan informasi SATUSEHAT ID dari tenaga kesehatan yang bersangkutan. SATUSEHAT ID seorang tenaga kesehatan didapatkan dari Master Nakes Index (MNI) Kementerian Kesehatan. MNI menyimpan data-data nakes dari seluruh sumber yang secara resmi menerbitkan daftar tenaga kesehatan. Setelah mendapatkan SATUSEHAT ID, ID tersebut dapat disimpan di masing-masing sistem internal fasilitas kesehatan.
Proses pencarian SATUSEHAT ID dari tenaga kesehatan dapat dilakukan melalui FHIR API dengan metode GET. Untuk metode pencarian data nakes di SATUSEHAT secara detail dapat dilihat dalam dokumenPetunjuk Teknis SATUSEHAT (Juknis SATSET).
C. INTEGRASI
Tahapan alur integrasi danresourceyang digunakan untuk skrining hipotiroid kongenital dapat dilihat dalam Gambar 3.
Gambar 3. Alur Integrasi Data Skrining Hipotiroid Kongenital
Apabila faskes asal sampel/faskes perujuk sama dengan faskes rujukan, maka alur Tes Skrining Hipotiroid Kongenital dapat menggunakan alur yang sama dengan Tes Konfirmasi di Faskes Rujukan.
Data atau variabel skrining hipotiroid kongenital yang dapat dipertukarkan dalam SATUSEHAT sebagai berikut:
No. Variabel Resource FHIR Path FHIR
1 Identitas Laboratorium Rujukan Kode Laboratorium
(Master Sarana Index) Organization Organization.id /
Organization.identifer.val
ue
Nama Laboratorium Organization Organization.name 2 Identitas Fasyankes Asal Sampel
Fasyankes asal sampel Specimen Specimen.collection.exten sion.collectorOrganizatio n
Tanggal Pengambilan
Sampel Specimen Specimen.collectedDateTim
e
Tanggal Sampel Dikirim Specimen Specimen.extension.transp ortedTime
Jenis Sampel Specimen Specimen.type
3 Identitas Bayi Baru Lahir
NIK Anak Patient Patient.identifier
Nama Anak Patient Patient.name
Nomor SATUSEHAT Anak Patient Patient.id/
Patient.identifier
NIK Ibu Patient Patient.identifier
Nama Ibu Patient Patient.name
Provinsi Patient Patient.address.extension:
administrativeCode.extens ion:province
Kabko Patient
Patient.address.extension:
administrativeCode.extens ion:city
Kecamatan Patient
Patient.address.extension:
administrativeCode.extens ion:district
Kelurahan Patient Patient.address.extension:
administrativeCode.extens ion:village
Alamat Patient Patient.address.line
4 Data Kunjungan
a Tanggal dan Waktu
Masuk Encounter Encounter.period.start
b Tanggal dan Waktu
Discharge Administrasi Encounter Encounter.period.end c Ruangan / Kelas / Poli Encounter Encounter.location
d Nama Dokter
Penanggung Jawab Pelayanan (DPJP)
Encounter Encounter.participant
5 Pelayanan Sampel Fasyankes Penerima Sampel a Tanggal Sampel
Diterima Specimen Specimen.receivedTime
b Kelayakan Sampel Specimen Specimen.status 6 Pelayanan Pemeriksaan Skrining Thyroid Stimulating Hormone (TSH)
a Tanggal Pemeriksaan Specimen Specimen.processing.time DateTime
b Hasil Pemeriksaan Observation
Observation.code.coding Observation.category.codi ng
Observation.valueQuantity c Interpretasi Hasil
Pemeriksaan Observation Observation.interpretation d Tanggal Keluar Hasil
Pemeriksaan Observation Observation.issued 7 Data Pendukung Pemeriksaan Skrining Thyroid Stimulating Hormone (TSH)
a Berat Badan Observation
Observation.category.codin g
Observation.code.coding Observation.valueQuantity
b Usia Gestasi Observation
Observation.category.codin g
Observation.code.coding Observation.valueQuantity 8 Pelayanan Pemeriksaan Tes Konfirmasi FT4
a Tanggal Pemeriksaan Specimen Specimen.processing.time DateTime
b Hasil Pemeriksaan Observation
Observation.code.coding Observation.category.codi ng
Observation.valueQuantity c Interpretasi Hasil
Pemeriksaan Observation Observation.interpretation d Tanggal Keluar Hasil
Pemeriksaan Observation Observation.issued 9 Pelayanan Pemeriksaan Tes Konfirmasi TSH
a Tanggal Pemeriksaan Specimen Specimen.processing.time DateTime
b Hasil Pemeriksaan Observation
Observation.code.coding Observation.category.codi ng
Observation.valueQuantity c Interpretasi Hasil
Pemeriksaan Observation Observation.interpretation
d Tanggal Keluar Hasil
Pemeriksaan TSH Observation Observation.issued
1. Pembuatan Data Pasien Bayi Baru Lahir (Faskes Perujuk)
Apabila melakukan pengiriman data kesehatan melalui SATUSEHAT yang memiliki elemen data terkait pasien, maka diperlukan informasi {patient-ihs-number} dari pasien yang bersangkutan. {patient-ihs-number} seorang pasien didapatkan dari Master Patient Index (MPI) Kementerian Kesehatan. MPI menyimpan data-data demografi pasien berskala nasional, mulai dari nama, tanggal lahir, alamat, Identitas resmi yang diterbitkan pemerintah, dan lain lain. Setelah mendapatkan{patient-ihs-number}, ID dapat disimpan secara di masing-masing sistem internal fasyankes maupun partner non-fasyankes.
{patient-ihs-number} akan mempermudah pelaporan pelayanan kesehatan yang berhubungan dengan pasien, karena partner tidak diwajibkan menyertakan data diri setiap ada pengiriman data{patient-ihs-number}juga dapat digunakan untuk melihat data diri pasien secara menyeluruh.
Untuk use case skrining hipotiroid kongenital, dikarenakan pasien merupakan bayi baru lahir, maka pasien tersebut tidak akan memiliki {patient-ihs-number} di dalam MPI.
Sehingga, fasyankes perlu mengirimkan data pasien bayi baru lahir melalui FHIR API dengan metode POST untuk mendapatkan balikan{patient-ihs-number}.
Tahapan untuk pengiriman data pasien dapat dilihat dalam Gambar 3. Alur Integrasi Data Skrining Hipotiroid Kongenital. Untuk metode pencarian serta pengiriman data pasien di SATUSEHAT secara detail dapat dilihat dalam dokumenPlaybook MPI.
2. Pendaftaran Kunjungan Pasien (Faskes
Perujuk)
Kunjungan pasien dapat didefinisikan sebagai interaksi pasien terhadap suatu layanan fasyankes. Sebagai contoh, dalam satu rangkaian rawat jalan, seluruh rangkaian dapat didefinisikan sebagai satu “Encounter”. Data-data kunjungan pasien yang direkam meliputi kapan pertemuan tersebut mulai dan selesai, siapa tenaga kesehatan yang melayani, siapa subjek dari pelayanannya, dan informasi pendukung lainnya.
Berikut pemetaan nilai untuk Encounter yang direpresentasikan dalam peta referensi (path) ke properti (element id) terkait, untuk konteks data kunjungan:
PENTING
Setiap nama variabel dengan simbol asterik*sebelum nama variabel bersifat WAJIBatauSELALU ADA, contoh:*Location.identifier.
PENTING
Standard format Waktu yang digunakan dalam pengiriman data adalah UTC +00.
Misalnya waktuWIBmaka format yang digunakan adalah waktu sekarangdikurangi 7, jika WITA maka waktu sekarang dikurangi 8, dan Jika WIT maka waktu sekarang dikurangi 9. Contoh pukul 17.35 WIB tanggal 23 Agustus 2023 maka yang dikirimkan adalah waktunya perlu diubah ke UTC +00 menjadi 10.35, berarti menjadi 2023-08-23T10:35:00+00:00.
Encounter.identifier
Berisi satu atau lebih daftar data mengenai informasi terkait kode atau nomor kunjungan yang dimiliki oleh lokasi induk yang setiap datanya direpresentasikan dengan tipe dataIdentifier.
*Encounter.status
Berisi data status tahapan dari kunjungan pasien dengan tipe datacode, yang nilainya mengacu pada data terminologiEncounterStatus(http://hl7.org/fhir/encounter-status).
*Encounter.statusHistory[i].status
Berisi satu atau lebih data penyimpanan riwayat status dari kunjungan pasien dengan tipe data code. Terdapat 3 status yang wajib dikirimkan datanya yaitu arrived, In-progress, dan finished, yang nilainya mengacu pada data terminologi EncounterStatus(http://hl7.org/fhir/encounter-status).
*Encounter.statusHistory[i].period
Berisi satu atau lebih data penyimpanan waktu/logdari kunjungan pasien dengan tipe dataPeriod.
*Encounter.class
Berisi data klasifikasi dari kunjungan pasien dengan tipe data Coding, yang nilainya mengacu pada salah satu data terminologi dengan nama ActEncounterCode (http://terminology.hl7.org/CodeSystem/v3-ActCode).
*Encounter.classHistory[i].class
Berisi data penyimpanan riwayat klasifikasi dari kunjungan pasien dengan Coding, yang nilainya mengacu pada salah satu data terminologi dengan nama ActEncounterCode(http://terminology.hl7.org/CodeSystem/v3-ActCode).
*Encounter.classHistory[i].period
Berisi satu atau lebih data klasifikasi kunjungan dengan tipe dataPeriod.
Encounter.type
Berisi satu atau lebih data tipe spesifik dari kunjungan (contoh: konsultasi e-mail, surgical day-care,skilled nursing,rehabilitation) dengan tipe dataCodeableConcept.
Encounter.serviceType
Berisi data tipe spesifik dari layanan yang diberikan dengan tipe dataCodeableConcept.
Encounter.priority
Berisi data indikasi urgensi dari kunjungan dengan tipe dataCodeableConcept.
*Encounter.subject
Berisi data subjek dari pertemuan pasien dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Patient, yang nilainya memiliki format:
"Patient/{patient-ihs-number}"
Dimana isi dari parameter{patient-ihs-number}adalah IDPatientyang didapatkan dari master pasien indeks.
Encounter.episodeOfCare
Berisi data informasi episode perawatan yang dilakukan pada kunjungan ini dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource EpisodeOfCare,yang nilainya memiliki format:
"EpisodeOfCare/{id-resource-EpisodeOfCare}"
Dimana isi dari parameter{id-resource-EpisodeOfCare} adalah IDEpisodeOfCareyang didapatkan dari server.
Encounter.basedOn
Berisi data permintaan yang mendasari kunjungan ini. Misalnya, kunjungan didasari oleh permintaan rujukan menggunakan resource ServiceRequest dengan tipe data Reference,yang nilainya memiliki format:
"ServiceRequest/{id-resource-ServiceRequest}"
Dimana isi dari parameter{id-resource-ServiceRequest}adalah IDServiceRequestyang didapatkan dari server.
*Encounter.participant[i].type
Berisi satu atau lebih data partisipan pertemuan pasien dengan tipe data CodeableConcept.
*Encounter.participant[i].individual
Berisi data partisipan dari pertemuan, diisikan dengan SATUSEHAT ID dokter/tenaga kesehatan dengan tipe data Reference, yang direferensikanke data yang tersimpan di resourcePractitioner, yang nilainya memiliki format:
"Practitioner/{practitioner-ihs-number}"
Dimana isi dari parameter{practitioner-ihs-number}adalah ID NAKES organisasi induk yang didapatkan dari master NAKES indeks.
*Encounter.period
Berisi data waktu dari pertemuan dimulai sampai selesai (arrived to finished) dengan tipe dataPeriod.
Encounter.length
Berisi data jumlah waktu terjadinya kunjungan dengan tipe data Duration (http://hl7.org/fhir/R4/datatypes.html#Duration).
Encounter.reasonCode
Berisi satu atau lebih data kode alasan terjadinya kunjungan dengan tipe data CodeableConcept.
Encounter.reasonReference
Berisi satu atau lebih data alasan yang mendasari terjadinya kunjungan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Condition | Procedure | Observation | ImmunizationRecommendation, yang nilainya memiliki format:
"Condition/{id-resource-Condition}"
Dimana isi dari parameter {id-resource-Condition} adalah ID Condition yang didapatkan dari hasilresponse.
*Encounter.diagnosis[i].condition
Berisi satu atau lebih data diagnosis dari pasien. Diagnosa bisa berupa diagnosa awal dan/atau pulang dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Condition | Procedure. Condition dalam diagnosa dapat dicatat lebih dari 1. Nilainya memiliki format:
"Condition/{id-resource-Condition}"
Dimana isi dari parameter {id-resource-Condition} adalah ID Condition yang didapatkan dari server.
*Encounter.diagnosis[i].use
Berisi satu atau lebih data penggunaan kode untuk mendeskripsikan jenis diagnosa dengan tipe dataCodeableConcept.
*Encounter.diagnosis[i].rank
Jika ada lebih dari 1 kondisi, maka gunakan elemen rank untuk mengurutkan mana diagnosa yang lebih utama. Semakin kecil angkanya, maka semakin utama, dengan tipe datapositiveInt(https://www.hl7.org/fhir/datatypes.html#positiveInt).
Encounter.account
Berisi satu atau lebih data akun yang digunakan untuk penagihan/billing untuk pertemuan ini dengan tipe dataReference,yang direferensikanke data yang tersimpan diresourceAccount, yang nilainya memiliki format:
"Account/{id-resource-Account}"
Dimana isi dari parameter {id-resource-Account} adalah ID Account yang didapatkan dari hasilresponse.
Encounter.hospitalization.preAdmissionIdentifier
Berisi data pre-admisi dengan tipe data Identifier
(http://hl7.org/fhir/R4/datatypes.html#Identifier).
Encounter.hospitalization.origin
Berisi data lokasi atau organisasi asal pasien sebelum terjadi admisi dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Location | Organization, yang nilainya memiliki format:
"Location/{id-resource-Location}"
Dimana isi dari parameter{id-resource-Location}adalah IDLocation yang didapatkan dari server.
Encounter.hospitalization.admitSource
Berisi data asal dimana sebelum pasien dirawat/admisia dengan tipe data CodeableConcept.
Encounter.hospitalization.reAdmission
Berisi data tipe readmisi yang terjadi (bila ada). Bila elemen ini kosong, maka kunjungan tidak dianggap sebagai readmisi dengan tipe dataCodeableConcept.
Encounter.hospitalization.dietPreference
Berisi satu atau lebih data preferensi diet yang dilaporkan oleh pasien dengan tipe data CodeableConcept.
Encounter.hospitalization.specialArrangement
Berisi satu atau lebih data permintaan khusus yang dibuat untuk kunjungan rawat inap ini seperti penyediaan peralatan khusus dan lain-lain dengan tipe data CodeableConcept.
Encounter.hospitalization.destination
Berisi data lokasi atau organisasi tempat pasien dipulangkan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Location | Organization, yang nilainya memiliki format:
"Location/{id-resource-Location}"
Dimana isi dari parameter{id-resource-Location}adalah IDLocation yang didapatkan dari server.
*Encounter.hospitalization.dischargeDisposition
Berisi data kategori atau tipe lokasi setelah pasien dipulangkan dengan tipe data CodeableConcept.
*Encounter.location
Berisi data lokasi dari pertemuan pasien. Dapat diisi oleh ruangan periksa pasien / poli pemeriksaannya dengan tipe data Reference, yang direferensikan ke data yang tersimpan diresourceLocation, yang nilainya memiliki format:
"Location/{Id-resource-Location}"
Dimana isi dari parameter{Id-resource-Location}adalah IDLocation yang didapatkan dari server.
*Encounter.serviceProvider
Berisi data organisasi pengelola lokasi dengan tipe dataReference, yang direferensikan ke data yang tersimpan diresourceOrganization, yang nilainya memiliki format:
"Organization/{organization-ihs-number}"
Dimana isi dari parameter{organization-ihs-number}adalah ID organisasi induk yang didapatkan dari master sarana indeks.
Encounter.partOf
Berisi data kunjungan dimana kunjungan ini menjadi bagiannya (secara administratif atau dalam waktu) dengan tipe data Reference, yang direferensikan ke data yang tersimpan diresourceEncounter, yang nilainya memiliki format:
"Encounter/{id-resources-Encounter}"
Dimana isi dari parameter {id-resources-Encounter} adalah ID Encounter yang didapatkan dari hasilresponse.
Penjelasan tipe mandatoris, deskripsi dan format pengisian dari setiap elemen data/pathdi dalam resource Encounter, dan contoh pengiriman data atau payload dari pendaftaran kunjungan pasien dapat dilihat dalam Postman Collection pada Petunjuk Teknis SATUSEHAT (Juknis SATSET).
3. Skema Pengiriman Data Terkait Pemeriksaan Penunjang Laboratorium
Pengiriman data terkait pemeriksaan penunjang memiliki 2 skema yaitu:
1. Pemeriksaan Penunjang Tunggal a. Data yang perlu dikirimkan, yaitu:
i. 1 data permintaan (ServiceRequest) ii. 1 data spesimen (Specimen)
iii. 1 data hasil pemeriksaan (Observation)
iv. 1 data laporan pemeriksaan (DiagnosticReport). Data permintaan (ServiceRequest), data spesimen (Specimen), dan data hasil pemeriksaan (Observation) akan di referensi dalam data laporan pemeriksaan (DiagnosticReport).
2. Pemeriksaan Penunjang Panel/Paket
a. Contoh kasus: Seorang dokter melakukan permintaan pemeriksaan panel elektrolit darah yang terdiri dari 3 parameter yaitu natrium, kalium, dan klorida darah. Maka, data yang perlu dikirimkan yaitu:
i. 1 data permintaan (ServiceRequest) dengan kode LOINC untuk panel elektrolit darah
ii. 1 data spesimen (Specimen)
iii. 3 data hasil pemeriksaan (Observation) terdiri dari kode LOINC untuk natrium darah, kalium darah, klorida darah
iv. 1 data laporan pemeriksaan (DiagnosticReport) dengan kode LOINC untuk panel elektrolit darah. Data permintaan (ServiceRequest), data spesimen (Specimen), dan data hasil pemeriksaan (Observation) akan di referensi dalam data laporan pemeriksaan (DiagnosticReport).
4. Pengiriman Data Permintaan Rujukan Pemeriksaan Skrining Hipotiroid Kongenital (Faskes Perujuk)
Sebelum melakukan pemeriksaan penunjang seperti laboratorium, diperlukan langkah permintaan pemeriksaan penunjang. Pengiriman data terkait permintaan pemeriksaan penunjang dapat dilakukan menggunakan resource ServiceRequest. Data permintaan pemeriksaan penunjang laboratorium yang dapat dikirimkan antara lain nama pemeriksaan, pasien terkait, kunjungan terkait, tanggal permintaan akan dilakukan, tanggal permintaan dibuat, dan tenaga kesehatan yang melakukan permintaan.
Kode LOINC atau kode Pemeriksaan Penunjang Nasional digunakan pada elemen ServiceRequest.codeuntuk merepresentasikan nama pemeriksaan yang diminta. Referensi pemetaan pemeriksaan laboratorium dengan kode LOINC dapat dilihat melalui link berikut https://dto.kemkes.go.id/terminology/loinc. Gunakan parameter pemeriksaan dengan kategori “Permintaan” atau “Permintaan & Hasil” pada file Terminologi Laboratorium ketika mengirimkan data melaluiresourceServiceRequest.
Satupayloadatau saturecorddariresourceServiceRequesthanya dapat digunakan untuk 1 kode/permintaan parameter laboratorium. Sehingga, apabila dilakukan permintaan 2 parameter laboratorium, sebagai contoh panel elektrolit dan hemoglobin, maka perlu mengirimkan 2payloaddimana 1payloadberisi 1 kode panel elektrolit dan 1payloadberisi kode parameter hemoglobin.
PadaServiceRequest.containeddigunakan untuk menambahkan data identitas pasien pada spesimen yang akan dirujuk, ServiceRequest.contained berisi data nomor IHS id, nama, jenis kelamin, dan tanggal lahir pasien dan/atau orang tua pasien dalam hal ini ibu.
4.1. Pemetaan Nilai ServiceRequest
Berikut pemetaan nilai untukServiceRequest yang direpresentasikan dalam peta referensi (path) ke properti (element id) terkait, untuk konteks jenis perawatan:
PENTING
Setiap nama variabel dengan simbol asterik*sebelum nama variabel bersifat WAJIBatauSELALU ADA, contoh:*Location.identifier.
PENTING
Standard format Waktu yang digunakan dalam pengiriman data adalah UTC +00.
Misalnya waktuWIBmaka format yang digunakan adalah waktu sekarangdikurangi 7, jika WITA maka waktu sekarang dikurangi 8, dan Jika WIT maka waktu sekarang dikurangi 9. Contoh pukul 17.35 WIB tanggal 23 Agustus 2023 maka yang dikirimkan adalah waktunya perlu diubah ke UTC +00 menjadi 10.35, berarti menjadi 2023-08-23T10:35:00+00:00.
ServiceRequest.identifier
Berisi satu atau lebih daftar data mengenai ID internal faskes untuk observasi. Ini adalah ID resmi yang diterbitkan oleh faskes untuk menandai hasil observasi pasien yang setiap datanya direpresentasikan dengan tipe dataIdentifier.
ServiceRequest.basedOn
Berisi data suatu rencana atau permintaan yang dipenuhi oleh permintaan ini, yang direferensikan ke data yang tersimpan di resource MedicationRequest atau ServiceRequest.
ServiceRequest.replaces
Berisi data permintaan yang terjadi menggantikan permintaan yang telah diselesaikan atau dihentikan, yang direferensikan ke data yang tersimpan di resource ServiceRequest.
ServiceRequest.requisition
Berisi data suatu Identitas/ID/Identifier yang sama untuk seluruh permintaan yang tergabung dalam 1 gabungan atau kelompok dengan tipe data Identifier. Elemen ini bisa digunakan untuk permintaan multipel yang termasuk dalam suatu kelompok permintaan untuk kepentinganbillingatau yang lainnya.
*ServiceRequest.status
Berisi satu atau lebih data status permintaan dengan tipe data code, yang nilainya mengacu pada data terminologiRequestStatus.
*ServiceRequest.intent
Berisi satu atau lebih data yang berkaitan dengan apakah permintaan adalah usulan, rencana, asli permintaan asli atau permintaan tiba-tiba dengan tipe data code, yang nilainya mengacu pada data terminologiRequestIntent.
ServiceRequest.category
Berisi data yang berkaitan dengan kode yang mengklasifikasikan pelayanan untuk tujuan pencarian, penyortiran, dan tampilan yang direferensikan ke data yang tersimpan diresourceSNOMED CT.
ServiceRequest.priority
Berisi data yang mengindikasikan seberapa cepat ServiceRequest harus ditangani dengan tipe datacode.
ServiceRequest.doNotPerform
Berisi data yang ketika diisi dengan “true”, maka menunjukkan bahwa permintaan/tindakan ini TIDAK boleh dilakukan. Contoh: ketika dokter meminta untuk tidak melakukan pengukuran tekanan darah pada tangan kanan, maka ServiceRequest.code diisi dengan kode pengukuran tekanan darah, dan ServiceRequest.doNotPerformdiisi dengan “true” dengan tipe databoolean.
*ServiceRequest.code
Berisi data yang berkaitan dengan kode yang mendefinisikan jenis permintaan yang dilakukan. Permintaan yang dilakukan dapat berupa permintaan pemeriksaan laboratorium, pemeriksaan radiologi, tindakan, dan lain sebagainya.
ServiceRequest.orderDetail
Berisi data tambahan detail atau instruksi terkait bagaimana permintaan dilakukan dengan tipe dataCodeableConcept.
ServiceRequest.quantityQuantity
Berisi data jumlah layanan yang diminta dengan tipe dataQuantity.
ServiceRequest.quantityRatio
Berisi data jumlah layanan yang diminta dengan tipe dataRatio
ServiceRequest.quantityRange
Berisi data jumlah layanan yang diminta dengan tipe dataRange.
*ServiceRequest.subject
Berisi data subjek pasien yang memiliki hasil laporan tersebut dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Patient | Group | Location | Device, yang nilainya memiliki format:
"Patient/{patient-ihs-number}"
Dimana isi dari parameter {patient-ihs-number} adalah nomor SATUSEHAT ID pasien yang didapatkan dari master pasien indeks.
*ServiceRequest.encounter
Berisi data mengenai informasi terkait kode atau nomor kunjungan yang dimiliki oleh lokasi induk dengan tipe dataReference, yang direferensikanke data yang tersimpan di resourceEncounter, yang nilainya memiliki format:
"Encounter/{encounter-ihs-number}"
Dimana isi dari parameter {encounter-ihs-number} adalah nomor SATUSEHAT data kunjungan yang didapatkan dari server.
ServiceRequest.occurenceDateTime
Berisi data mengenai informasi kapan permintaan harus terlaksana. Untuk permintaan laboratorium disarankan menggunakan ServiceRequest.occurenceDateTime dengan tipe datadateTime,dengan format yang diperbolehkanYYYY-MM-DDThh:mm:ss+zz:zz.
ServiceRequest.occurencePeriod
Berisi data waktu dari permintaan dimulai sampai selesai (arrived to finished) dengan tipe dataPeriod.
ServiceRequest.occurenceTiming
Berisi data kapan permintaan dilakukan dengan tipe dataTiming.
ServiceRequest.asNeededBoolean
Berisi data permintaan pemeriksaan penunjang dengan tipe databoolean.
ServiceRequest.authoredOn
Berisi data kapan permintaan dibuat dengan tipe datadateTime, dengan format yang diperbolehkanYYYY-MM-DDThh:mm:ss+zz:zz.
*ServiceRequest.requester
Berisi data siapa yang melakukan permintaan dengan tipe data Reference, yang direferensikanke data yang tersimpan diresource Practitioner, yang nilainya memiliki format:
"Practitioner/{practitioner=SATUSEHAT-number}"
Dimana isi dari parameter {practitioner-ihs-number} adalah nomor SATUSEHAT ID dokter / tenaga kesehatan organisasi induk yang didapatkan dari master NAKES indeks.
ServiceRequest.performerType
Berisi data yang berkaitan dengan jenis praktisi yang diharapkan melakukan layanan.
*ServiceRequest.performer
Berisi data siapa yang diharapkan melakukan permintaan dengan tipe dataReference, yang direferensikan ke data yang tersimpan di resource Practitioner, yang nilainya memiliki format:
"Organization/{organization-ihs-number}"
Dimana isi dari parameter {organization-ihs-number} adalah nomor SATUSEHAT organisasi induk yang didapatkan dari master sarana indeks.
ServiceRequest.locationCode
Berisi data mengenai informasi lokasi dimana permintaan seharusnya terjadi, bisa dalam bentuk kode atau free-text. Tipe data:CodeableConcept.
ServiceRequest.locationReference
Berisi data mengenai informasi lokasi dimana permintaan seharusnya terjadi dengan tipe data Reference, yang direferensikanke data yang tersimpan di resource