Skip to content

Sistem Informasi Manajemen Rumah Sakit Terintegrasi Berbasis Node JS. Demo dapat dilihat di https://simrs.glitch.me

Notifications You must be signed in to change notification settings

rikyperdana/simrs

Repository files navigation

SIMRS.dev

SIMRS Open Source Terintegrasi Pertama yang menggunakan NodeJS + MongoDB/RedisDB

SIMRS ini bobotnya hanya 120 Kb alias 0.12 Mb (silahkan cek folder /production). Lengkap sekaligus sangat ringan

Bismillahirrahmanirrahim,

Update!

  • Feb 2021: Modul Telemedic + Smartphone App Telemedic
  • Jan 2021: Fitur My Logbook untuk Dokter di menu profil
  • Des 2020: Sudah tersedia Buku Petunjuk Teknis untuk diunduh/dicetak
  • Nov 2020: Sudah mendukung RedisDB sebagai alternatif MongoDB
  • Sept 2020: Pembagian kolom pada seluruh form seperti di screenshots

Pengenalan

SIMRS.dev adalah Sistem Informasi Rumah Sakit Terintegrasi, yang menandakan bahwa sistem ini mencakup fungsi umum yang terdapat pada rumah sakit seperti Rawat Jalan, IGD, Rawat Inap, Apotik, Farmasi, Amprahan, Manajemen, Radiologi, Laboratorium, Gizi, dsb. Sistem ini menggunakan 1 database yang saling menghubungkan fungsi tersebut dengan otomatisasi sehingga memungkinkan rumah sakit untuk menjalankan sistem ini secara paperless maupun hybrid dengan dokumen fisiknya.

Screenshots

Desktop

dashboard

Rekam Medis Gudang Farmasi
rekam_medis storage
Dark Mode Purple Light
dark_mode purple_light

Smartphone

Default Dark Mode Other Themes
drawing drawing drawing

Sistem ini dibangun dengan menggunakan spesifikasi sebagai berikut:

Teknologi Keterangan
Bahasa Javascript ES6
Server Node 12.18.1
Paradigma Functional
Backend Express 4.16.4
Database MongoDB 3.5.9 / RedisDB 3.0.2
Frontend Mithril JS 2.0.4
CSS Bulma 0.7.5

Persiapan Pra-install

  1. Paham tentang MongoDB dan MongoDB Atlas atau RedisDB
  2. Paham tentang paradigma Functional Javascript ES6, MithrilJS, Lodash, Bulma, dan DexieJS
  3. Paham tentang ragam prosedur operasional Rumah Sakit Umum
  4. Bila ingin menggunakan Glitch: Buat akun Glitch dan MongoDB Atlas
  5. Bila ingin instalasi lokal (PC/Laptop): Install Node JS dan Mongo DB atau RedisDB

Cara Install

Bagian App (jika dari Glitch)

  1. Clone project ini dari halaman Glitch, rename nama project bila diperlukan

Bagian App (jika dari NodeJS)

  1. git clone https://github.com/rikyperdana/simrs
  2. npm install
  3. node server.js
  4. Browse localhost:3000

Bagian Database (jika dari Atlas Cloud)

  1. Login MongoDB Atlas, create Free cluster, klik create cluster
  2. Pada halaman MongoDB Atlas, bagian Cluster, klik Connect
  3. Klik Connect your Application
  4. Pilih MongoDB version 2.2.12 or later
  5. Klik Copy pada Connection String Only
  6. Pada halaman MongoDB Atlas Cluster, create database "simrs" (atau nama lainnya).
  7. Masih pada halaman Cluster, tambahkan dibawah db tersebut 5 collection goods, patients, references, users, queue
  8. Buat file pada folder project bernama .env (jika belum ada). Isikan dengan:
MONGO="isikan dengan connection string, dan ganti <username> dan <password>"
dbname="nama databasenya"

Bagian Database (jika dari MongoDB lokal)

Buat sebuah database baru dengan nama bebas, dan dengan 5 buah Collections dengan nama patients, goods, references, users, dan queue. Dan buatkan file .env untuk menghubungkan antara aplikasi dan databasenya. Maka pada file .env isikan variabel MONGO=xxx dan dbname=xxx sesuai dengan database yang di-create secara lokal. Contoh:

MONGO=http://localhost:27017
dbname=simrskami

Bagian Database (jika ingin menggunakan RedisDB)

Bila ingin menggunakan RedisDB sebagai alternatif MongoDB, silahkan ikuti panduan khusus pada halaman SIMRS.dev dengan RedisDB

Kustomisasi RS

Buka file development/custom.js dan ubah isi variabel nama RS, alamat RS, letak RS, daftar poliklinik yang tersedia, tarif-tarif layanan setiap poliklinik, tarif IGD, tarif kartu, susunan bed rawat inap, hingga tema tampilan standar RS.

Bagian Manajemen

  1. Login dengan username 'admin' password 'admin'
  2. Segera buat akun admin baru dan non-aktifkan akun admin bawaan
  3. Unduh dan ganti isi Daftar tarif tindakan, simpan sebagai .csv dan unggah melalui tombol Import
  4. Selamat mengikuti video tutorial pada playlist youtube berikut ini Playlist Tutorial Pemakaian SIMRS.dev Open Source

Cara Menjalankan

Development

  1. nodemon server.js

Production

  1. Pada .env berikan production=true (jika belum ada)
  2. npm run bundle (setiap kali pindah ke mode production)
  3. node server.js

Deskripsi Menu & Sub-menu

Manajemen

Pengguna

drawing Adalah menu yang dapat digunakan oleh admin untuk mendaftarkan users yang akan nantinya akan menggunakan sistem. Klik tambah akun dan isikan informasi seperti nama lengkap, username, dan peranannya. Berikutnya sistem akan mengenali user berdasarkan username yang digunakan untuk login dan memberikan hak akses sesuai dengan peranan yang ditetapkan oleh admin.


Referensi

drawing Adalah menu yang dapat digunakan oleh admin untuk mendaftarkan tarif tindakan, laboratorium, dan radiologi ke dalam sistem dengan menggunakan file .csv seperti pada file contoh. Silahkan hapus seluruh baris kecuali header pertama dan ganti isinya sesuai dengan tarif pada faskes Anda. Setelah import berhasil, silahkan refresh browser.


Database

drawing Adalah menu yang dapat digunakan oleh admin manajemen untuk melakukan backup secara berkala sesuai kebutuhan dan restore database untuk mengembalikan database ke kondisi tertentu. Juga tersedia menu Import data untuk pasien, barang, referensi, dan user.


Pendaftaran

drawing Adalah menu yang dapat digunakan oleh user Pendaftaran untuk melakukan pembaharuan identitas pasien, registrasi pasien baru dan mendaftarkan pasien ke poliklinik tertentu, ataupun ke layanan IGD. Tersedia tombol untuk mencetak kartu pasien dan general consent. Kepada Admin Pendaftaran dibukakan akses untuk menghapus item riwayat layanan poliklinik dan IGD (untuk skenario pasien membatalkan layanan rawatnya).


Emergency Unit

drawing Adalah menu yang dapat digunakan oleh seluruh tenaga medis (perawat/dokter) untuk mengisikan informasi SOAP baik khusus perawat maupun khusus dokter. Kepada level Admin disediakan menu untuk mencetak laporan kunjungan IGD.


Rawat Jalan

drawing Adalah menu yang dapat digunakan oleh seluruh tenaga medis (perawat/dokter) untuk melayani pasien yang didaftarkan pada masing-masing poliklinik yang merupakan kelompok/bidang dari tenaga medis tersebut. Tersedia daftar antrian poliklinik, halaman rekam medis, daftar riwayat layanan, form SOAP perawat & dokter, dan tombol cetak pdf SOAP. Kepada level Admin disediakan menu untuk mencetak laporan kunjungan poliklinik tersebut.


Rawat Inap

drawing Adalah menu yang dapat digunakan oleh seluruh tenaga medis (perawat/dokter) untuk melayani pasien yang butuh diadmisi ke rawat inap dan yang telah ditempatkan pada bed. Pada rincian rawat inap, tersedia baris observasi yang bisa ditambah dan diisi dengan SOAP perawat/dokter, berikut dengan tombol untuk memulangkan pasien. Pemetaan ketersediaan bed rawat inap dapat diubah pada file custom.js dalam variabel beds. Dengan struktur: {kelas: {tarif, kamar: {nama_kamar: jumlah_bed}}}


Kasir

drawing Adalah menu yang dapat digunakan oleh user Kasir untuk menerima daftar tagihan yang muncul dari poliklinik, IGD, dan Rawat Inap. Pada rincian biaya user Kasir juga dapat menambahkan biaya lainnya yang tidak tercakup didalam sistem secara otomatis. Kepada Admin disediakan menu untuk mencetak laporan penerimaan kas yang bersumber dari seluruh layanan yang disediakan.


Storage

drawing Adalah menu yang dapat digunakan oleh user gudang, apoteker, dan tenaga medis dengan level akses yang berbeda-beda. Seorang user gudang dapat memperbaharui data barang, menambahkan jenis barang baru, menambah beberapa batch atas barang tersebut, melakukan retur stok, melakukan stok opname atau jenis barang tertentu, dan merespon request amprah dari apotik dan instalasi lainnya. User apotik dan tenaga medis instalasi dapat mengakses menu ini untuk meninjau ketersediaan stok, menambah request amprah atas batch tertentu, dan melihat riwayatnya.


Amprah

drawing Adalah menu yang dapat digunakan bersama oleh petugas farmasi, apotik, dan seluruh instalasi medis lainnya untuk melakukan permintaan/penyerahan atau mutasi barang. Peminta dapat memilih barang dan batch yang diinginkan, mengetikkan jumlah yang diminta, yang akan direspon oleh gudang farmasi untuk penyerahannya.


Apotik

drawing Adalah menu yang dapat digunakan oleh user apotik untuk mengeksekusi instruksi penyerahan obat dari resep dokter ke pasien dengan cara yang terotomatisasi oleh sistem. User apotik dapat memantau stok dan me-request mutasi barang dari gudang farmasi ke apotik melalui menu Storage dan Amprah. Apoteker juga dapat melakukan penjualan bebas atas pilihan obat yang tersedia melalui menu penjualan obat.


Radiologi

drawing Adalah menu yang dapat digunakan oleh petugas radiologi untuk menerima permintaan uji radiologi bagi pasien tertentu. Proses respon terdiri dari 2 tahap, dimana yang pertama adalah untuk menyatakan bahwa pasien sudah diproses oleh instalasi radiologi, dan tahap kedua dimana proses uji selesai dan hasil diagnosa radiologist diisikan pada form untuk dicetakkan dan dilampirkan otomatis secara digital ke SOAP dokter yang meminta tersebut.


Laboratorium

drawing Adalah menu yang dapat digunakan oleh petugas radiologi untuk menerima permintaan uji labor bagi pasien tertentu. Proses respon terdiri dari 2 tahapan, dimana yang pertama adalah untuk menyatakan bahwa pasien sudah diproses oleh instalasi laboratorium, dan tahap kedua dimana proses uji selesai dan hasil diagnosa laborist diisikan pada form untuk dicetakkan dan dilampirkan secara otomatis ke SOAP dokter yang meminta tersebut.


ICD 10 & 9-CM

drawing Adalah menu yang dapat digunakan oleh petugas kodifikasi/casemix untuk melakukan kodifikasi atas diagnosa maupun tindakan yang telah diisikan oleh dokter pada SOAP digital. Hasil SOAP yang sudah diisikan oleh petugas dapat dicetak oleh admin pendaftaran yang dapat membuka halaman rekam medis pasien tertentu.


Gizi

drawing Adalah menu yang dapat digunakan oleh instalasi gizi untuk menerima informasi kebutuhan nutrisi pasien yang sedang dirawat di instalasi rawat inap rumah sakit. Pada menu ini petugas instalasi gizi tidak perlu menginputkan informasi apapun, karena sistem akan secara otomatis menunjukkan pasien mana yang sedang menginap dan pada bed mana.


Wiki

Integrasi/Bridging BPJS

Buka halaman project WSBPJS

Lisensi

Aplikasi SIMRS.dev ini dirancang terbuka untuk umum. Boleh digunakan secara bebas untuk tujuan edukasi perguruan tinggi. Harus mendapatkan izin hak guna komersil/produksi bagi Rumah Sakit yang ingin menggunakan. Pengurusan izin hak guna dapat direquest ke Prog. Studi Manajemen, FEB, Universitas Muhammadiyah Riau. Kampus Utama. Jalan Tuanku Tambusai, Kota Pekanbaru, Provinsi Riau. Surel: [email protected]. Aplikasi ini telah dilindungi Hak Cipta yang terdaftar di Kemenkumham sejak Feb 2019.

Setiap clone dari aplikasi ini tercatat pada server pengelola, harap bekerjasama. Kode unik registrasi hak cipta: EC00201930994. Lampiran Hak Cipta

Keterbatasan

  • Sistem ini dirancang hanya mendukung pencatatan stok untuk 1 Gudang dan 1 Apotik

Pengembangan

  • Aplikasi khusus untuk diakses oleh pasien

Term of Service and Disclaimer

  • Dengan menggunakan software ini maka pengguna menyetujui ketentuan penggunaan sebagaimana yang dinyatakan pada video panduan maupun yang tertulis pada halaman ini.
  • Menggunakan software ini tidak sesuai dengan panduan merupakan tanggungjawab dari masing-masing pengguna.
  • Penyalahgunaan sistem ini baik secara sengaja maupun tidak sengaja merupakan tanggungjawab dari pengguna.
  • Seluruh data yang diinput oleh user ke database melalui software ini merupakan tanggungjawab masing-masing pengguna.
  • Aplikasi ini mungkin masih mengandung bugs baik yang disadari oleh developer ataupun tidak, gunakan dengan tanggungjawab masing-masing.
  • Ketentuan ini dapat diubah sewaktu-waktu baik dengan atau tanpa pemberitahuan terlebih dahulu kepada pengguna.