SIMRS Healthcare Management Dashboard adalah sistem informasi rumah sakit dan klinik berbasis web production-grade yang dirancang untuk mengelola seluruh siklus operasional pelayanan kesehatan rawat jalan: pendaftaran pasien, antrean poliklinik, rekam medis elektronik terstruktur (SOAP), diagnosis ICD-10, peresepan obat (e-Prescription), dispensing otomatis FEFO (First-Expired, First-Out), analitik eksekutif, serta pencetakan dokumen medis resmi.
- Validasi NIK 16 Digit: Parser dan validator NIK standar Indonesia dengan algoritma tanggal lahir wanita (+40 hari) dan verifikasi kode wilayah (Permenkes 24/2022).
-
Nomor Rekam Medis Otomatis: Format berurutan resmi
RM-YYYY-XXXX. -
Tiket Antrean Poliklinik: Penomoran kuota harian per poli (
A-001,B-001) dengan mesin status (State Machine):WAITING$\rightarrow$ IN_EXAMINATION$\rightarrow$ COMPLETED/CANCELLED.
- Anamnesis SOAP Terstruktur: Dokumentasi terintegrasi Subjektif (Keluhan Utama, RPS, RPD, Alergi), Objektif (Pemeriksaan Fisik), Asesmen, dan Plan.
-
Tanda-Tanda Vital & BMI Standar Asia: Pengukuran BP, HR, RR, Suhu, TB, BB, dan kalkulasi otomatis BMI (
$kg/m^2$ ) standar WHO Pasifik Barat / Kemenkes RI. - Katalog Diagnosis ICD-10: Integrasi kode ICD-10 untuk diagnosis primer dan multi-diagnosis sekunder.
- e-Prescription (Resep Elektronik): Peracikan resep digital oleh dokter dengan dosis obat, kuantitas, dan aturan pakai (Latin signa).
- Multi-Batch & Expiry Tracking: Pelacakan nomor batch, tanggal kedaluwarsa, dan ambang batas minimum stok.
- Alokasi FEFO Otomatis: Stok berkurang otomatis dari batch dengan masa kedaluwarsa paling awal dalam satu transaksi database atomik.
- Safety Guards: Penolakan peracikan resep saat stok tidak mencukupi atau obat telah kedaluwarsa (HTTP 400/409), serta proteksi double-dispensing.
- Audit Mutasi Stok: Buku besar riwayat penambahan dan pengeluaran obat (Stock Movement Ledger).
- Dashboard Analitik: Tren kunjungan harian & bulanan, distribusi poliklinik, 10 besar morbiditas (ICD-10), dan laju konsumsi farmasi.
- Pencetakan Dokumen Medis Resmi:
- Kartu Pasien (CR-80): Format ID Card 85.6mm × 54mm dengan QR Code.
- Resume Medis Rawat Jalan (A4): Format resmi Kemenkes lengkap dengan SOAP, tanda vital, diagnosis ICD-10, dan tanda tangan dokter.
- Etiket Obat Thermal: Standar Farmasi Indonesia (Putih untuk sediaan oral, Biru untuk sediaan luar/topikal) beserta aturan pakai Latin.
- Kwitansi / Invoice Farmasi (A5): Rincian biaya dan konversi nominal ke ejaan rupiah formal (Terbilang).
- Autentikasi berbasis JSON Web Token (JWT) dan hashing kata sandi bcrypt.
- Pembatasan hak akses ketat untuk 4 peran:
ADMINISTRATORREGISTRATION_OFFICER(Petugas Loket)DOCTOR(Dokter Pemeriksa)PHARMACIST(Apoteker)
- Audit Trail Tak Terhapuskan: Pencatatan log akses data pasien (PHI) yang dilindungi oleh database trigger SQLite (mencegah modifikasi/penghapusan).
- Perlindungan menyeluruh dari serangan injeksi SQL dan Stored-XSS (CWE-79).
- Backend: Node.js & Express.js
- Database:
node:sqlite(DatabaseSync) dalam mode Write-Ahead Logging (WAL) - Frontend: React 18, Vite, Tailwind CSS, Lucide Icons (terkompilasi di
client/dist/) - Testing: Vitest dengan in-memory database isolation
- Node.js versi 22+ (Direkomendasikan Node.js v24 LTS)
- NPM versi 10+
-
Clone Repositori:
git clone https://github.com/USERNAME/REPO-NAME.git cd REPO-NAME -
Instal Dependensi:
npm install
-
Inisialisasi Database & Seed Data: Database SQLite akan otomatis diinisialisasi dan diisi data awal saat server pertama kali dijalankan. Anda juga dapat menjalankannya secara manual:
npm run seed
-
Jalankan Aplikasi:
npm start
Aplikasi akan aktif di
http://localhost:3000.
Sistem dilengkapi data awal realistis untuk pengujian langsung:
| Peran | Username | Password | Deskripsi Tugas |
|---|---|---|---|
| Administrator | admin |
admin123 |
Konfigurasi sistem, Audit Trail PHI, manajemen pengguna & analitik |
| Petugas Loket | loket |
loket123 |
Pendaftaran pasien baru, verifikasi NIK, cetak kartu pasien, antrean poli |
| Dokter | dr.budi |
doctor123 |
Pemeriksaan SOAP, TTV & BMI, diagnosis ICD-10, e-resep, cetak resume medis |
| Apoteker | apt.siti |
pharma123 |
Formularium obat, stok multi-batch, dispensing FEFO, etiket obat & kwitansi |
Proyek ini dilengkapi dengan suite pengujian komprehensif (Unit, Integrasi, Security RBAC, dan Adversarial Stress Tests):
npm testHasil Verifikasi:
- Test Files: 25 passed (25)
- Tests: 509 passed (509)
- Tingkat Kelulusan: 100% Pass Rate (0 failures)
Didistribusikan di bawah Lisensi MIT. Lihat berkas LICENSE untuk informasi lebih lanjut.