Resource SATUSEHAT
Di halaman ini
- Prinsip Umum
- Urutan Minimal Pengiriman
- Resource Master
- Resource Klinis Utama
- 5. Kunjungan Pasien (Encounter)
- 6. Kondisi/Diagnosis (Condition)
- 7. Observasi (Observation)
- 8. Tindakan (Procedure)
- 9. Resume/Komposisi Dokumen (Composition dan CompositionResume)
- 10. Imunisasi (Immunization)
- 11. Resep Obat (MedicationRequest)
- 12. Tebus Obat (MedicationDispense)
- 13. Alergi Intoleran (AllergyIntolerance)
- 14. Radiologi (ImagingStudy)
- 15. Permintaan Pemeriksaan (ServiceRequest)
- 16. Impresi Klinis (ClinicalImpression)
- 17. Spesimen (Specimen)
- 18. Laporan Pemeriksaan (DiagnosticReport)
- 19. Rencana Perawatan (CarePlan dan CarePlanJadwalKontrol)
- 20. Catatan Pengobatan (MedicationStatement)
- 21. Respon Kuesioner (QuestionnaireResponse)
- 22. Data Obat (Medication)
- 23. Episode Perawatan (EpisodeOfCare)
- Resource Tambahan yang Sudah Ada di SIMGOS
- 24. Consent
- 25. Know Your Customer (KYC)
- 26. Coverage
- 27. Account
- 28. ChargeItem
- 29. Invoice
- 30. ServiceRequest Jadwal Kontrol
- 31. ServiceRequest Perencanaan Rawat Inap
- 32. ServiceRequest Pemeriksaan EKG
- 33. Observation Pemeriksaan EKG
- 34. Observation Faktor Risiko
- 35. Observation Riwayat Lainnya
- 36. Observation Nutrisi
- 37. Observation Skor dan Assessment
- 38. Condition Keluhan Utama
- 39. Condition Anamnesis
- 40. Condition Riwayat Penyakit Dahulu
- 41. Condition Hasil PA
- 42. Condition Penilaian Tumor
- 43. ClinicalImpression Anamnesis dan Diagnosa
- 44. CarePlan Jadwal Kontrol
- Endpoint Pendukung Non-Resource Klinis
- Mapping Terminologi yang Harus Dirawat
- Checklist Validasi Sebelum Kirim
- Endpoint Lokal Penting
- Referensi Resmi
Panduan Pengisian Resource SATUSEHAT di SIMGOS

Dokumen ini menjadi checklist operasional pengisian data agar resource SATUSEHAT yang sudah tersedia di SIMGOS dapat terbentuk dan terkirim. Acuan lokalnya adalah modul webservice/module/Kemkes/IHS, tabel schema kemkes-ihs, dan pola pengiriman melalui controller resource masing-masing.
ℹ️ Catatan — Untuk admin dan tim teknis
Bagian ini menjelaskan field, dependensi, mapping, endpoint lokal, serta urutan resource FHIR. Operator yang hanya melakukan pengisian harian dapat mulai dari halaman Pengisian SATUSEHAT.
⚠️ Perhatian — Periksa dependensi sebelum kirim ulang
Jangan hanya mengubah status antrean. Pastikan resource induk, referensi terminologi, dan field wajib sudah valid; lalu baca respons terakhir sebelum menjalankan pengiriman ulang.
Prinsip Umum
- Gunakan data master lebih dulu sebelum transaksi klinis:
Organization,Location,Practitioner, danPatientharus sudah memiliki ID SATUSEHAT/IHS sebelum direferensikan oleh resource lain. - Isi data transaksi sesuai urutan klinis:
Encounterdibuat saat kunjungan, resource klinis dibuat selama pelayanan, laluEncounterditutup saat pasien selesai/pulang. - Field bertipe referensi harus memakai format FHIR, misalnya
Patient/{id},Practitioner/{id},Organization/{id},Location/{id},Encounter/{id},Condition/{id}. - Field JSON di tabel
kemkes-ihsharus berisi JSON valid. Modul pengiriman akan mengubah string JSON menjadi object/array sebelum dikirim. - Field
send = 1berarti antre dikirim. Jika berhasil atau ditolak HTTP 400, SIMGOS mengubahsend = 0; periksa response/log sebelum mengirim ulang. - Untuk waktu, SATUSEHAT memakai UTC +00. Jika input lokal WITA, kurangi 8 jam saat membentuk
dateTimepayload. - Tanggal klinis jangan kurang dari 03 Juni 2014, terutama untuk
Observation. - Kode klinis harus memakai terminologi yang diminta use case: ICD-10 untuk diagnosis, ICD-9-CM/SNOMED CT untuk tindakan sesuai mapping, LOINC untuk hasil pemeriksaan/observasi, KFA untuk obat, dan kode referensi SATUSEHAT untuk status/category/intent/class.
- Untuk resource yang punya
id, metode kirim menjadiPUT Resource/{id}. Jika belum punyaid, metode kirim menjadiPOST Resource. - Jangan mengirim resource anak sebelum parent-nya berhasil. Contoh:
Observationlaboratorium menungguServiceRequest,Specimen,Encounter,Patient, danPractitioner.
Urutan Minimal Pengiriman
Organization: data fasilitas/unit organisasi.Location: lokasi pelayanan, ruang, kamar, tempat tidur.Practitioner: tenaga kesehatan.Patient: pasien.Consentdan/atauKnowYourCustomerjika diwajibkan alur rumah sakit.EncounteratauEpisodeOfCare: kunjungan/episode perawatan.- Resource klinis sesuai pelayanan:
Condition,Observation,Procedure,ServiceRequest,Specimen,DiagnosticReport,Medication,MedicationRequest,MedicationDispense, dan lain-lain. - Resource penutup/lanjutan:
Composition,CarePlan,MedicationStatement,ClinicalImpression,QuestionnaireResponse,Account/Coverage/ChargeItem/Invoicebila dipakai. - Update
Encountermenjadifinishedsetelah diagnosis dan data akhir kunjungan lengkap.
Resource Master
1. Master Organisasi (Organization)
Sumber SIMGOS: master ruangan/instalasi/unit organisasi. Tabel SATUSEHAT lokal: kemkes-ihs.organization.
Field utama:
refId: ID lokal organisasi/unit.id: ID SATUSEHAT setelah berhasil dikirim.identifier: identifier organisasi, umumnya memakai kode fasilitas/unit yang disepakati.active:trueuntuk unit aktif.type: jenis organisasi/unit.name: nama resmi unit.telecom: telepon/email bila tersedia.address: alamat.partOf: referensi parent organization bila unit berada di bawah organisasi lain.send:1untuk antre kirim.
Rules:
- Nama organisasi tidak boleh kosong.
- Parent pada
partOfharus sudah punyaOrganization/{id}. - Gunakan
active = truehanya untuk unit yang masih dipakai pelayanan.
2. Master Lokasi (Location)
Sumber SIMGOS: master ruangan, ruang kamar, dan tempat tidur. Tabel lokal: location, location_ruang_kamar, location_tempat_tidur.
Field utama:
refId: ID lokal lokasi.identifier: kode lokasi lokal.status: status lokasi, biasanyaactive.name: nama ruangan/kamar/bed.mode:instanceuntuk lokasi fisik.type: jenis lokasi.physicalType: jenis fisik, misalnya building/room/bed sesuai mapping.managingOrganization:Organization/{id}.partOf: parentLocation/{id}untuk hirarki ruangan -> kamar -> bed.address,telecom,position,hoursOfOperation: isi bila tersedia.send:1untuk antre kirim.
Rules:
managingOrganizationwajib mengarah ke organisasi yang sudah berhasil terkirim.- Untuk kamar dan tempat tidur,
partOfwajib mengarah ke parent location yang valid. - Jangan mengirim bed sebelum ruangan/kamar parent memiliki ID SATUSEHAT.
3. Master Tenaga Kesehatan (Practitioner)
Sumber SIMGOS: master pegawai/dokter/perawat. Tabel lokal: practitioner.
Field utama:
refId: ID/NIP lokal pegawai.id: ID SATUSEHAT practitioner.identifier: identitas tenaga kesehatan, terutama NIK/SIP/NIP sesuai mapping.name: nama lengkap.gender:male,female,unknown, atau sesuai mapping.birthDate: tanggal lahir.telecom,address: kontak/alamat.qualification: STR/SIP/profesi bila tersedia.
Rules:
- NIK/identifier tenaga kesehatan harus valid dan konsisten.
- Nama dan tanggal lahir harus sesuai data resmi agar pencarian/mapping IHS tidak gagal.
- Resource klinis yang memakai
performer,requester,author,assessor, ataurecorderharus memakaiPractitioner/{id}yang sudah ada.
4. Master Pasien (Patient)
Sumber SIMGOS: master pasien. Tabel lokal: patient.
Field utama:
refId: NORM/ID pasien lokal.nik: NIK pasien.identifier: identifier pasien, dapat berisi NIK/MR sesuai aturan.active: status pasien aktif.name: nama lengkap.gender: jenis kelamin FHIR.birthDate: tanggal lahir.address: alamat lengkap, termasuk kode wilayah bila tersedia.telecom: kontak.maritalStatus,communication,deceasedBoolean,multipleBirthBoolean: isi bila tersedia.getDate,httpRequest,statusRequest: metadata pencarian/request lokal.
Rules:
- NIK wajib valid untuk pencarian Patient SATUSEHAT, kecuali alur khusus pasien tanpa NIK memakai aturan Kemenkes yang berlaku.
- Nama, tanggal lahir, dan jenis kelamin harus sama dengan identitas resmi.
- Semua resource klinis pasien memakai
subject.reference = Patient/{id}.
Resource Klinis Utama
5. Kunjungan Pasien (Encounter)
Tabel lokal: encounter.
Field wajib SIMGOS:
status:arrived,in-progress,finished, atau status sesuai fase kunjungan.class: kelas kunjungan, misalnya rawat jalan/rawat inap/IGD sesuai mapping.subject:Patient/{id}.participant: tenaga kesehatan, minimal dokter/DPJPPractitioner/{id}.period: waktu mulai dan selesai kunjungan.location:Location/{id}tempat pelayanan.diagnosis: referensi diagnosisCondition/{id}saat encounter ditutup.
Field pendukung:
identifier,statusHistory,hospitalization,episodeOfCare.
Rules:
- Encounter boleh dikirim awal dengan status aktif. Saat
finished, pastikan diagnosis sudah terisi. - SIMGOS memiliki pengaman: jika status
finishedtetapidiagnosiskosong, status dikirim sebagaiin-progresssementara. period.startwajib ada;period.enddiisi saat selesai/pulang.
6. Kondisi/Diagnosis (Condition)
Tabel lokal utama: condition. Varian SIMGOS: keluhan_utama_condition, condition_anamnesis, condition_riwayat_penyakit_dahulu, condition_hasil_pa, condition_penilaian_tumor.
Field wajib:
clinicalStatus: status klinis.category: kategori, misalnyaencounter-diagnosisatau problem/complaint sesuai use case.code: kode diagnosis/keluhan, umumnya ICD-10 atau SNOMED CT sesuai alur.subject:Patient/{id}.encounter:Encounter/{id}.
Field pendukung:
verificationStatus,severity,bodySite,onsetAge,onsetPeriod,note,recorder,recordedDate.
Rules:
- Satu payload
Conditionhanya untuk satu diagnosis/kode. - Diagnosis utama dan sekunder dikirim sebagai resource terpisah, lalu direferensikan di
Encounter.diagnosis. - Keluhan utama/anamnesis/riwayat penyakit dahulu memakai resourceType
Conditiondengan tabel varian masing-masing.
7. Observasi (Observation)
Tabel lokal utama: observation. Varian SIMGOS: observation_faktor_risiko, observation_anamnesis_riwayat_lainnya, observation_nutrisi, observation_pemeriksaan_ekg, observation_penilaian_grace_risk_skor, observation_penilaian_skala_morse, observation_penilaian_skala_humpty_dumpty, observation_penilaian_epfra, observation_metode_penilaian_nyeri, observation_penilaian_nyeri.
Field wajib:
status: status hasil, misalnyafinal.category: kategori observasi.code: kode observasi, umumnya LOINC.subject:Patient/{id}.encounter:Encounter/{id}.effectiveDateTime: waktu pemeriksaan.
Field hasil:
valueQuantity,valueString,valueCodeableConcept,valueInteger, atauvalueBooleansesuai jenis hasil.componentuntuk observasi komposit/skor.
Field pendukung:
basedOn,performer,specimen,issued,interpretation,bodySite,derivedFrom,hasMember.
Rules:
- Pilih satu tipe value yang sesuai. Jangan mengisi beberapa tipe value untuk hasil tunggal kecuali memang komponen.
- Hasil lab biasanya mengacu ke
ServiceRequestdanSpecimen. - Observasi skor/assessment memakai
componentbila terdiri dari beberapa item penilaian.
8. Tindakan (Procedure)
Tabel lokal: procedure.
Field wajib:
status: status tindakan, misalnyacompleted.category: kategori tindakan.code: kode tindakan, sesuai ICD-9-CM/SNOMED CT/LOINC tergantung mapping.subject:Patient/{id}.encounter:Encounter/{id}.effectiveDateTime: waktu tindakan.
Field pendukung:
bodySite,interpretation,valueQuantity,jenis,nopen.
Rules:
- Kode tindakan harus sudah dimapping ke terminologi yang diterima.
- Tindakan yang menjadi alasan/hasil kunjungan dapat direferensikan di
Encounter.reasonReferenceatau resource terkait lain.
9. Resume/Komposisi Dokumen (Composition dan CompositionResume)
Tabel lokal: composition, composition_resume.
Field wajib:
identifier,status,type,category,subject,encounter,date,author,title,custodian,section.
Field pendukung:
confidentiality,attester,event,relatesTo.
Rules:
authorbiasanyaPractitioner/{id}.custodianbiasanyaOrganization/{id}.sectionharus mereferensikan resource yang sudah terkirim, misalnya Condition, Observation, Procedure, MedicationRequest.
10. Imunisasi (Immunization)
Catatan SIMGOS: belum ditemukan controller Immunization di modul Kemkes/IHS saat dokumen ini dibuat. Jika rumah sakit mengaktifkan resource ini, pola isi minimalnya:
status: status imunisasi.vaccineCode: kode vaksin sesuai terminologi.patient:Patient/{id}.encounter:Encounter/{id}bila terkait kunjungan.occurrenceDateTime: waktu pemberian.performer:Practitioner/{id}.lotNumber,manufacturer,doseQuantity,route,sitebila tersedia.
Rules:
- Kirim hanya bila master vaksin dan terminologi sudah dimapping.
- Tambahkan tabel/controller lokal jika resource ini belum tersedia di deployment SIMGOS.
11. Resep Obat (MedicationRequest)
Tabel lokal: medication_request.
Field wajib:
identifier,status,intent,category,priority,medicationReference,subject,encounter,authoredOn,requester,dosageInstruction.
Field pendukung:
basedOn,insurance,performer,performerType,recorder,reasonCode,reasonReference,dispenseRequest,substitution,reportedBoolean,note,courseOfTherapyType.
Rules:
medicationReferenceharus mengarah keMedication/{id}yang sudah valid.reportedBooleandi SIMGOS dikonversi dari 0/1 menjadi boolean.- Untuk racikan, perhatikan
group_racikandanstatus_racikan; field ini metadata lokal dan tidak dikirim sebagai FHIR.
12. Tebus Obat (MedicationDispense)
Tabel lokal: medication_dispanse; resourceType dikirim sebagai MedicationDispense.
Field wajib:
identifier,status,category,medicationReference,subject,context,performer,location,authorizingPrescription,quantity,daysSupply,whenPrepared,whenHandedOver,dosageInstruction.
Field pendukung:
partOf,substitution,barang,group_racikan.
Rules:
authorizingPrescriptionharus mengarah keMedicationRequest/{id}.locationharus mengarah ke depo/farmasiLocation/{id}.- Jumlah dan satuan harus sesuai KFA/satuan obat.
13. Alergi Intoleran (AllergyIntolerance)
Tabel lokal: allergy_intolerance.
Field utama:
identifier,clinicalStatus,verificationStatus,category,code,patient,encounter,recordedDate,recorder.
Rules:
patientwajibPatient/{id}.codeberisi zat/obat/makanan/lingkungan penyebab alergi sesuai terminologi.recordermemakaiPractitioner/{id}bila dicatat oleh tenaga kesehatan.
14. Radiologi (ImagingStudy)
Tabel lokal: imaging_study.
Field utama:
id,refId,nopen,get.
Rules:
- Pastikan order/hasil radiologi sudah punya
Patient,Encounter, danPractitioner. - Untuk integrasi DICOM/webhook, simpan image ID yang dikembalikan sebelum dipakai oleh
DiagnosticReportatauObservation. - Resource ini juga dapat menjadi referensi
DiagnosticReport.imagingStudy.
15. Permintaan Pemeriksaan (ServiceRequest)
Tabel lokal utama: service_request. Varian: service_request_jadwal_kontrol, service_request_pemeriksaan_ekg, service_request_perencana_rawat_inap.
Field wajib:
identifier,status,intent,category,priority,code,subject,encounter,authoredOn,requester.
Field pendukung:
basedOn,replaces,requisition,performer,performerType,locationCode,locationReference,reasonCode,reasonReference,insurance,supportingInfo,specimen,occurrenceDateTime,occurrencePeriod,patientInstruction,note.
Rules:
- Untuk lab/radiologi/EKG,
codeharus dimapping ke LOINC/SNOMED CT sesuai jenis pemeriksaan. - Untuk jadwal kontrol dan rencana rawat inap, isi
occurrenceDateTimeatauoccurrencePeriod. requesterdanperformerharus memakai referensi valid.
16. Impresi Klinis (ClinicalImpression)
Tabel lokal: prognosis_clinical_impression, clinical_impression_anamnesis, clinical_impression_diagnosa.
Field utama:
identifier,status,subject,encounter,effectiveDateTime,date,assessor,summary,finding.
Field pendukung:
problem,investigation,prognosisCodeableConcept,prognosisReference,description.
Rules:
- Gunakan untuk rangkuman penilaian klinis dokter, anamnesis, atau diagnosis.
problemdapat mereferensikanCondition/{id}.findingharus konsisten dengan diagnosis/hasil pemeriksaan yang sudah dikirim.
17. Spesimen (Specimen)
Tabel lokal: specimen.
Field wajib:
identifier,status,type,subject.
Field pendukung:
accesssionIdentifier,request,collection,receivedTime,condition,container,processing,parent,note.
Rules:
requestbiasanyaServiceRequest/{id}.collection.collectormemakaiPractitioner/{id}bila tersedia.- Waktu pengambilan dan penerimaan harus valid UTC +00.
18. Laporan Pemeriksaan (DiagnosticReport)
Tabel lokal: diagnostic_report.
Field wajib:
identifier,status,category,code,subject,encounter,effectiveDateTime,issued,performer.
Field pendukung:
basedOn,specimen,result,resultInterpreter,imagingStudy,media,conclusion,conclusionCode,presentedForm,valueString.
Rules:
resultmereferensikanObservation/{id}.specimenmereferensikanSpecimen/{id}untuk lab/PA.imagingStudydipakai untuk radiologi bila tersedia.
19. Rencana Perawatan (CarePlan dan CarePlanJadwalKontrol)
Tabel lokal: care_plan, care_plan_jadwal_kontrol.
Field wajib:
status,intent,category,title,description,subject,encounter,created,author.
Rules:
authormemakaiPractitioner/{id}.- Gunakan untuk rencana kontrol, perawatan lanjutan, atau rencana klinis lain.
- Pastikan tanggal rencana tidak mendahului tanggal encounter.
20. Catatan Pengobatan (MedicationStatement)
Tabel lokal: medication_statement.
Field wajib:
status,category,medicationReference,subject,context,effectiveDateTime,dateAsserted,informationSource.
Field pendukung:
dosage,barang,group_racikan.
Rules:
- Dipakai untuk pernyataan obat yang sedang/pernah dikonsumsi pasien.
medicationReferencewajib mengarah keMedication/{id}.
21. Respon Kuesioner (QuestionnaireResponse)
Tabel lokal: questionnaire_response.
Field wajib:
questionnaire,status,subject,encounter,authored,author,source,item.
Rules:
itemharus mengikuti struktur pertanyaan dan jawaban questionnaire.- Gunakan untuk assessment berbasis form, skrining, atau registry.
22. Data Obat (Medication)
Tabel lokal: medication.
Field wajib:
identifier,code,status,form,ingredient.
Field pendukung:
manufacturer,batch,extension,barang,jenis,group_racikan,status_racikan.
Rules:
codeharus memakai kode KFA bila obat sudah tersedia di KFA.- Untuk racikan,
ingredientwajib lengkap dan proporsional. - Kirim
MedicationsebelumMedicationRequest,MedicationDispense, atauMedicationStatement.
23. Episode Perawatan (EpisodeOfCare)
Tabel lokal: eof; controller SIMGOS memakai nama EOF, resourceType dikirim sebagai EpisodeOfCare.
Field wajib:
identifier,status,type,patient/participantsesuai payload lokal,period,managingOrganization,statusHistory.
Rules:
- Dipakai untuk episode perawatan yang menaungi satu atau lebih encounter.
managingOrganizationwajibOrganization/{id}.- Jika dipakai di Encounter, isi
Encounter.episodeOfCaredenganEpisodeOfCare/{id}.
Resource Tambahan yang Sudah Ada di SIMGOS
24. Consent
Tabel lokal: consent.
Field wajib:
status,scope,category,patient,dateTime,organization,policyRule,provision.
Rules:
- Dipakai untuk persetujuan pasien terkait akses/pertukaran data.
patientdanorganizationharus valid.- Pastikan alur persetujuan pasien di aplikasi sudah mengisi status consent sebelum transaksi dikirim.
25. Know Your Customer (KYC)
Route lokal: /kemkes/ihs/kyc. Dipakai untuk proses verifikasi identitas sesuai layanan SATUSEHAT.
Rules:
- Jalankan setelah data pasien valid.
- Simpan hasil verifikasi pada metadata pasien/consent sesuai implementasi lokal.
26. Coverage
Tabel lokal: coverage.
Field utama:
identifier,status,type,beneficiary,payor,subscriberId,class,penjaminId.
Rules:
- Dipakai untuk informasi penjamin/asuransi.
beneficiarymengarah kePatient/{id}.- Dapat direferensikan oleh billing atau medication request bila alur memerlukan
insurance.
27. Account
Tabel lokal: account.
Field utama:
status,type,name,subject,owner,coverage,servicePeriod,description.
Rules:
- Dipakai untuk akun/billing encounter.
subjectbiasanyaPatient/{id}.ownerbiasanyaOrganization/{id}.coveragemengarah keCoverage/{id}bila ada.
28. ChargeItem
Tabel lokal: charge_item.
Field utama:
status,code,subject,context,occurrencePeriod,performer,quantity,account.
Rules:
- Dipakai untuk item tagihan tindakan/layanan.
contextbiasanyaEncounter/{id}.accountmengarah keAccount/{id}.
29. Invoice
Tabel lokal: invoice.
Field utama lokal:
refId,id,tableId,send,sendDate.
Rules:
- Pastikan semua
ChargeItem/Accountterkait sudah valid sebelum invoice. - Lengkapi implementasi payload sesuai kebutuhan billing yang diterapkan rumah sakit.
30. ServiceRequest Jadwal Kontrol
Tabel lokal: service_request_jadwal_kontrol; resourceType tetap ServiceRequest.
Rules:
- Isi
occurrenceDateTimesebagai tanggal kontrol. - Isi
performer/locationReferenceuntuk poli/ruangan tujuan. reasonCodeataupatientInstructionmenjelaskan alasan kontrol.
31. ServiceRequest Perencanaan Rawat Inap
Tabel lokal: service_request_perencana_rawat_inap; resourceType tetap ServiceRequest.
Rules:
- Isi rencana waktu rawat inap pada
occurrenceDateTimeatauoccurrencePeriod. - Isi
locationReferenceuntuk ruangan tujuan bila sudah diketahui. - Gunakan
reasonReferencekeCondition/{id}bila rencana rawat inap karena diagnosis tertentu.
32. ServiceRequest Pemeriksaan EKG
Tabel lokal: service_request_pemeriksaan_ekg; resourceType tetap ServiceRequest.
Rules:
codeharus kode pemeriksaan EKG yang sudah dimapping.- Hasilnya dikirim sebagai
ObservationPemeriksaanEkg.
33. Observation Pemeriksaan EKG
Tabel lokal: observation_pemeriksaan_ekg; resourceType Observation.
Rules:
- Isi
basedOnkeServiceRequest/{id}EKG. - Isi hasil tunggal di
value...atau hasil multi-parameter dicomponent. performeradalah tenaga kesehatan/petugas pemeriksa.
34. Observation Faktor Risiko
Tabel lokal: observation_faktor_risiko; resourceType Observation.
Rules:
- Pakai
valueCodeableConceptuntuk pilihan kategori risiko. - Pakai
valueQuantityuntuk skor/nilai numerik. - Harus terkait
Encounter/{id}aktif.
35. Observation Riwayat Lainnya
Tabel lokal: observation_anamnesis_riwayat_lainnya; resourceType Observation.
Rules:
- Pakai untuk riwayat merokok atau riwayat lain yang bukan diagnosis.
- Gunakan kode observasi yang sesuai, lalu isi value sesuai jenis jawaban.
36. Observation Nutrisi
Tabel lokal: observation_nutrisi; resourceType Observation.
Rules:
- Isi kode observasi nutrisi/antropometri sesuai mapping.
- Hasil numerik memakai
valueQuantitydengan satuan UCUM.
37. Observation Skor dan Assessment
Tabel lokal:
observation_penilaian_grace_risk_skorobservation_penilaian_skala_morseobservation_penilaian_skala_humpty_dumptyobservation_penilaian_epfraobservation_metode_penilaian_nyeriobservation_penilaian_nyeri
Rules:
- Total skor dapat memakai
valueIntegeratauvalueQuantity. - Detail item penilaian memakai
component. - Jika ada metode penilaian dan nilai nyeri terpisah, hubungkan dengan
hasMemberatauderivedFromsesuai payload.
38. Condition Keluhan Utama
Tabel lokal: keluhan_utama_condition; resourceType Condition.
Rules:
- Isi
categorysebagai complaint/problem sesuai mapping. codedapat memakai SNOMED CT atau kode lokal yang sudah dimapping.- Harus terkait
Patient/{id}danEncounter/{id}.
39. Condition Anamnesis
Tabel lokal: condition_anamnesis; resourceType Condition.
Rules:
- Isi
noteuntuk keterangan naratif bila tidak cukup direpresentasikan kode. - Isi
recorderbila dicatat oleh tenaga kesehatan tertentu.
40. Condition Riwayat Penyakit Dahulu
Tabel lokal: condition_riwayat_penyakit_dahulu; resourceType Condition.
Rules:
- Gunakan
onsetAgeatauonsetPeriodbila diketahui. - Verifikasi status harus sesuai, misalnya confirmed/unconfirmed sesuai data klinis.
41. Condition Hasil PA
Tabel lokal: condition_hasil_pa; resourceType Condition.
Rules:
- Dipakai jika hasil Patologi Anatomi disimpulkan menjadi kondisi/diagnosis.
- Hubungkan dengan
DiagnosticReport/ObservationPA melalui assessment bila payload mendukung.
42. Condition Penilaian Tumor
Tabel lokal: condition_penilaian_tumor; resourceType Condition.
Rules:
- Isi kode dan staging tumor sesuai terminologi yang disediakan.
- Gunakan
bodySitedanseverity/stagebila tersedia.
43. ClinicalImpression Anamnesis dan Diagnosa
Tabel lokal: clinical_impression_anamnesis, clinical_impression_diagnosa; resourceType ClinicalImpression.
Rules:
assessorwajib mengarah ke dokter/tenaga kesehatan.problem/findingharus konsisten denganConditionterkait.
44. CarePlan Jadwal Kontrol
Tabel lokal: care_plan_jadwal_kontrol; resourceType CarePlan.
Rules:
- Isi rencana kontrol pada
titledandescription. - Hubungkan dengan
Encounterkunjungan asal danPractitionerpembuat rencana.
Endpoint Pendukung Non-Resource Klinis
45. FormRegistry
Route lokal: /kemkes/ihs/form-registry.
Rules:
- Dipakai untuk registrasi/metadata form yang akan menghasilkan
QuestionnaireResponseatau resource assessment lain. - Pastikan kode form, tipe form, dan relasi ke episode/encounter konsisten.
- Jangan diperlakukan sebagai resource klinis pengganti; hasil pengisian tetap harus dikirim sebagai resource FHIR yang sesuai.
46. SSRM
Route lokal: /kemkes/ihs/ssrm.
Rules:
- Dipakai sebagai endpoint pendukung modul SATUSEHAT di SIMGOS.
- Periksa response endpoint ini untuk kebutuhan registrasi/sinkronisasi lokal sebelum mengirim resource klinis yang bergantung pada datanya.
47. Dashboard
Route lokal: /kemkes/ihs/dashboard.
Rules:
- Dipakai untuk monitoring status antrean/kiriman SATUSEHAT.
- Gunakan untuk mengecek resource yang masih
send = 1, sudah berhasil, atau perlu perbaikan data.
48. SyncExecute dan Sinkronisasi
Route lokal:
/kemkes/ihs/sync/execute/kemkes/ihs/sinkronisasi
Rules:
- Dipakai untuk menjalankan antrean sinkronisasi/pengiriman.
- Jalankan setelah master dan transaksi yang dibutuhkan sudah lengkap.
- Jika terjadi error, perbaiki data sumber atau mapping terminologi, lalu set ulang antrean kirim sesuai mekanisme aplikasi.
Mapping Terminologi yang Harus Dirawat
SIMGOS memiliki endpoint dan tabel referensi untuk membantu mapping:
CodeReferencedanTypeCodeReference: mapping status, category, intent, class, dan kode referensi FHIR.Loinc: mapping parameter pemeriksaan/hasil ke LOINC.TindakanToLoinc: mapping tindakan/pemeriksaan ke LOINC bila diperlukan.ParameterHasilToLoinc: mapping parameter hasil laboratorium.SnomedCt: mapping SNOMED CT.KFA: pencarian/mapping produk obat.POA,POV,BZA,BarangToPoaPov,BarangToBza: mapping produk farmasi lokal ke referensi obat.
Checklist mapping:
- Diagnosis: ICD-10.
- Tindakan: ICD-9-CM/SNOMED CT/LOINC sesuai use case.
- Observasi dan hasil lab: LOINC.
- Obat: KFA dan ingredient yang valid.
- Satuan hasil/obat: gunakan satuan yang diterima, idealnya UCUM untuk nilai klinis.
- Status/category/intent/class: pakai code system FHIR/SATUSEHAT yang sesuai.
Checklist Validasi Sebelum Kirim
Organization,Location,Practitioner, danPatientsudah punyaidSATUSEHAT.- Semua field referensi memakai format
Resource/{id}dan ID tersebut benar-benar ada. - Semua field JSON valid: tidak ada trailing comma, quote rusak, atau array/object yang tertukar.
- Tanggal/waktu sudah UTC +00 dan tidak lebih tua dari batas yang diizinkan use case.
- Kode terminologi sudah dimapping dan display sesuai.
Encounter.statussesuai fase pelayanan.- Jika
Encounter.status = finished, diagnosis akhir sudah dikirim dan masukEncounter.diagnosis. - Resource obat memiliki
MedicationsebelumMedicationRequest/Dispense/Statement. - Resource pemeriksaan memiliki
ServiceRequest,Specimen,Observation, danDiagnosticReportdalam urutan yang benar. - Field lokal yang tidak dikirim seperti
refId,send,sendDate,nopen,barang,group_racikantidak dimasukkan ke payload FHIR kecuali memang dipakai controller.
Endpoint Lokal Penting
Pola endpoint SIMGOS berada di /kemkes/ihs/.... Contoh:
/kemkes/ihs/organization/kemkes/ihs/location/kemkes/ihs/practisioner/kemkes/ihs/patient/kemkes/ihs/encounter/kemkes/ihs/condition/kemkes/ihs/observation/kemkes/ihs/procedure/kemkes/ihs/composition/kemkes/ihs/medication/kemkes/ihs/medication/request/kemkes/ihs/medication/dispanse/kemkes/ihs/servicerequest/kemkes/ihs/specimen/kemkes/ihs/diagnosticreport/kemkes/ihs/allergyintolerance/kemkes/ihs/imagingstudy/kemkes/ihs/questionnaireresponse/kemkes/ihs/careplan/kemkes/ihs/clinicalimpression/kemkes/ihs/account/kemkes/ihs/coverage/kemkes/ihs/charge-item/kemkes/ihs/invoice/kemkes/ihs/sync/execute
Referensi Resmi
- Dokumentasi FHIR SATUSEHAT: https://satusehat.kemkes.go.id/platform/docs/id/fhir/
- Resource SATUSEHAT: https://satusehat.kemkes.go.id/platform/docs/id/fhir/resources/
- Encounter: https://satusehat.kemkes.go.id/platform/docs/id/fhir/resources/encounter/
- Condition: https://satusehat.kemkes.go.id/platform/docs/id/fhir/resources/condition/
- Observation: https://satusehat.kemkes.go.id/platform/docs/id/fhir/resources/observation/
- Endpoint SATUSEHAT: https://satusehat.kemkes.go.id/platform/docs/id/postman-workshop/endpoint-information/