Keamanan data klinis, dijelaskan sampai ke mekanismenya.

Setiap butir di halaman ini kami telusuri sampai ke kode aplikasi. Kami juga menulis apa yang tidak dicakup, karena keamanan juga bergantung pada cara faskes memasang dan mengoperasikan sistemnya.

Akses menurut peran

Rute API dijaga izin per sumber daya dengan enam aksi: lihat daftar, lihat detail, tambah, ubah, hapus, dan setujui. Terdapat 11 peran bawaan (termasuk peran pasien); administrator dapat menyesuaikannya lewat Administrasi, Peran.

Menu di aplikasi ikut disembunyikan bila peran tidak memiliki satu aksi pun pada sumber daya itu. Pesan penolakan menyebut izin yang kurang, supaya petugas tahu harus meminta apa.

Peran Superadmin melewati pemeriksaan izin per sumber daya. Batasi akun ini untuk administrator sistem.

Penapisan modul per tipe faskes

Tipe faskes menjadi pagar: modul di luar tipe tidak dapat dinyalakan, bahkan lewat Pengaturan Sistem. Penapisan berlaku di sisi server pada rute modul, bukan hanya di menu, dan jenis analisis AI milik sebuah modul ikut ditolak bila modulnya tidak aktif.

Pemetaan tipe ke modul adalah pertimbangan berdasarkan kelaziman layanan, bukan kutipan peraturan. Rumah sakit dapat mematikan modul di dalam batas tipenya.

Isolasi data antar-rumah sakit

Cakupan rumah sakit untuk setiap permintaan ditentukan dari akun pengguna yang masuk, bukan dari isian permintaan. Mengganti identitas rumah sakit di permintaan tidak membuka data rumah sakit lain, dan akun tanpa rumah sakit ditolak.

Terdapat 18 skrip uji isolasi di repositori aplikasi yang mencoba membaca data lintas rumah sakit, ditambah uji cakupan untuk pemasangan multi-rumah sakit.

Superadmin memang berwenang lintas rumah sakit pada pemasangan yang melayani lebih dari satu rumah sakit.

Enkripsi kolom sensitif

NIK dan nomor BPJS pasien, NIK pegawai, serta kredensial integrasi (BPJS, SATUSEHAT, E-Klaim, SIRANAP, PACS, dan lainnya) disimpan terenkripsi dengan AES-256-GCM. Kunci 32 byte diatur di server dan tidak tertanam di kode. Pencarian memakai hash terpisah, jadi NIK tidak perlu didekripsi untuk dicari.

Kata sandi disimpan sebagai hash bcrypt. Sesi memakai token akses dan token penyegar. Header keamanan HTTP dipasang lewat helmet.

Enkripsi kolom tidak menggantikan enkripsi disk, pengamanan jaringan, dan pengelolaan kunci oleh pengelola server.

Jejak audit dan perubahan rekam medis

Log permintaan mencatat pengguna, peran, metode, alamat IP, dan status. Untuk model klinis yang didaftarkan, jejak perubahan menyimpan kolom yang berubah beserta nilai sebelum dan sesudahnya, tanpa mencatat perubahan palsu seperti pembaruan stempel waktu.

Rekam yang sudah difinalisasi tidak dapat dibuka kembali. Koreksinya berupa addendum, dan isi asli tetap terbaca seperti saat ditandatangani. Penghapusan bersifat lunak dengan alasan, dan pemulihan memerlukan izin hapus.

Layar publik dan PWA

Layar bed untuk TV bangsal memakai token acak 256-bit. Yang disimpan di basis data hanya hash SHA-256 token itu, token mentah tampil sekali saat dibuat, dan layar tidak memuat identitas pasien.

PWA hanya menyimpan cangkang aplikasi (HTML, JS, CSS, ikon). Respons API dan unduhan rekam medis tidak disimpan di Cache Storage, dan cache lama dibersihkan setiap versi baru.

Asisten AI

Kebijakan Asisten AI

  • Lokal dan tertutup. Model open-source berjalan lewat Ollama. Alamat layanan AI hanya diterima bila berupa alamat internal (loopback, jaringan privat, nama layanan Docker); alamat luar ditolak dan pengalihan tidak diikuti. Data tidak dikirim ke penyedia AI pihak ketiga.
  • Nonaktif bawaan. Ada saklar global di server dan saklar per rumah sakit di Pengaturan, Asisten AI. Pemakaian dapat dibatasi per hari untuk rumah sakit dan per pengguna.
  • Hanya ringkasan. Bahan untuk model berupa agregat atau teks yang sudah disamarkan (surel, NIK, telepon, tanggal lahir, nama). Setelah penyamaran, pemeriksaan kedua menolak masukan yang masih tampak memuat identitas.
  • Bukan pengambil keputusan.Angka dihitung sistem; model hanya menarasikan. Hasil berlabel "Dihasilkan AI: verifikasi sebelum dipakai". AI tidak memutuskan tindakan klinis, dan tidak menentukan atau menjanjikan klaim diterima.
  • Menghormati izin dan modul. Jenis analisis memerlukan izin pada sumber dayanya, dan ditolak bila modul pemiliknya tidak aktif di rumah sakit itu.

Batas teknis

Model dirancang berjalan di CPU sehingga analisis berjalan lewat antrean dan dapat memakan waktu. Ketersediaan, kecepatan, dan mutu jawaban bergantung pada server dan model yang dipasang.

Yang di luar cakupan aplikasi

  • Cadangan data. Aplikasi tidak memiliki fitur cadangan basis data bawaan; pencadangan dan pemulihan adalah bagian dari pemasangan dan operasi server. Kami tidak mengklaim jadwal cadangan atau jaminan waktu pemulihan di situs ini.
  • Pembatasan laju. Pembatasan laju permintaan memakai Redis. Bila Redis tidak tersedia, pembatasan dilewati dengan peringatan di log, agar aplikasi tetap berjalan.
  • Sertifikasi. Kami tidak menyatakan sertifikasi keamanan atau kepatuhan (misalnya ISO 27001) di situs ini.
  • Tanda tangan elektronik. Aplikasi mencatat tanda tangan dan menilai kekuatannya (tidak sah, tak tersertifikasi, atau tersertifikasi bila ada sertifikat dari penyelenggara). Aplikasi tidak menerbitkan sertifikat elektronik; sertifikat diperoleh faskes dari penyelenggara, dan BSrE hanya melayani instansi pemerintah.

Lihat SIM RS ZEN bekerja untuk faskes Anda

Ceritakan tipe faskes dan kebutuhan utama Anda. Kami akan menunjukkan modul yang relevan dalam sesi demo.