Showing posts with label SIMRS. Show all posts
Showing posts with label SIMRS. Show all posts

Pengelolaan keamanan server pada implementasi SIMRS (Sistem Informasi Manajemen Rumah Sakit) adalah proses untuk mencegah dan mengidentifikasi penggunaan yang tidak sah dari jaringan komputer menuju server. Langkah-langkah pencegahan membantu menghentikan pengguna yang tidak sah untuk mengakses setiap bagian dari sistem jaringan komputer menuju server. Tujuan dari keamanan server adalah untuk mengantisipasi resiko kerusakan dan pencuraian data server berupa bentuk ancaman fisik maupun logik baik langsung ataupun tidak langsung mengganggu aktivitas yang sedang berlangsung.


Gambaran Umum Pengelolaan Keamanan Server

Keamaan server meliputi keamanan harware dan software. Keamanan hardware berkaitan dengan perangkat keras yang digunakan dalam jaringan komputer. Keamanan hardware sering dilupakan padahal merupakan hal utama untuk menjaga jaringan dari agar tetap stabil. Dalam keamanan hardware, server dan tempat penyimpanan data harus menjadi perhatian utama. Akses secara fisik terhadap server dan data-data penting harus dibatasi semaksimal mungkin. Salah satu cara mengamankan hardware adalah menempatkan di ruangan yang memiliki keamanan yang baik. Lubang saluran udara perlu diberi perhatian karena dapat saja orang masuk ke ruangan server melaui saluran tersebut. Kabel-kabel jaringan harus dilindungi agar tidak mudah bagi hacker memotong kabel lalu menyambungkan ke komputernya. Akses terhadap komputer juga dapat dibatasi dengan mengeset keamanan di level BIOS yang dapat mencegah akses terhadap komputer, memformat harddisk, dan mengubah isi Main Boot Record (tempat informasi partisi) harddisk. Penggunaan hardware autentifikasi seperti smart card dan finger print detector juga layak dipertimbangkan untuk meningkatkan keamanan.


Keamanan software yang kita maksud disini bisa berupa sistem operasi, sistem aplikasi, data dan informasi yang tersimpan dalam komputer jaringan terutama pada server. Membatasi software yang dipasang akan mengurangi konflik antar software dan membatasi akses, contohnya jika router dipasangi juga dengan FTP server, maka orang dari luar dengan login anonymous mungkin akan dapat mengakses router tersebut. Software yang akan diinstal sebaiknya juga memiliki pengaturan keamanan yang baik. Kemampuan enkripsi (mengacak data) adalah spesifikasi yang harus dimilki oleh software yang akan digunakan, khusunya enkripsi 128 bit karena enkripsi dengan sistem 56 bit sudah dapat dipecahkan dengan mudah saat ini.


Tahap Pelaksanaan Pengelolaan Keamanan Server

Pengelolaan server meliputi keamanan hardware dan software dimana masing-masing komponen harus memiliki standar keamanan yang ditetapkan sebagai beikur:

  • Server menerapkan sistem registrasi user melalui username dan password. Password harus terenkripsi menggunakan metode enkripsi standar. Data yang terdapat pada server akan di-back-up dalam jangka waktu tertentu oleh petugas yang ditunjuk jobdesc yang diberikan.
  • Server ditempatkan pada lokasi khusus yang memiliki akses terbatas dan tidak semua orang bisa masuk tanpa ijin dari Kepala Bagian Sistem informasi manajemen.
  • Ruang Server memiliki suhu yang terjaga diantara : 17 o - 22o Celcius
  • Hardware yang merupakan sambungan jaringan komunikasi vital antara lain: Hub Broadband, Gateway, Radio/Wireless Link, Modem ADSL, Hub Router, harus berada dalam suatu ruangan khusus.
  • Ruangan tempat peralatan vital perangkat Sistem informasi manajemen, dilengkapi dengan pengaman jaringan listrik bila terjadi hubungan arus pendek, sensor kebakaran, pendingin ruangan (Air Condsistem informasi manajemenioner),alat pemadam kebakaran (APAR).
  • Ruangan tempat peralatan vital perangkat Sistem informasi manajemen tidak diperkenankan dimasuki oleh orang lain, selain petugas Sistem informasi manajemen atau kecuali mendapatkan ijin dari Sistem informasi manajemen.


Penutup

Tujuan dari keamanan server adalah untuk mengantisipasi resiko kerusakan dan pencuraian data server berupa bentuk ancaman fisik maupun logik baik langsung ataupun tidak langsung mengganggu aktivitas yang sedang berlangsung. Keamanan hardware berkaitan dengan perangkat keras yang digunakan dalam jaringan komputer. Keamanan software yang kita maksud disini bisa berupa sistem operasi, sistem aplikasi, data dan informasi yang tersimpan dalam komputer jaringan terutama pada server.

Sistem Informasi Manajemen Rumah sakit

SOP Perubahan SIMRS adalah standar yang digunakan oleh Rumah Sakit untuk melakukan perubahan atau pembaharuan sistem pada aplikasi SIMRS (Sistem Informasi Manajemen Rumah Sakit) yang digunakan. Dalam hal ini fasilitas pelayanan kesehatan diasumsikan sudah melakukan implementasi SIMRS dan menjalankan sebagian besar aktivitas operasionalnya tersebut. Oleh sebab itu, ketika terjadi perubahan sistem yang disebabkan karena adanya temuan kesalahan, perubahan kebijakan, atau juga karena perubahan alur operasional maka dibutuhkan sebuah standar yang digunakan sebagai pedoman untuk melakukan perubahan.


Dengan adanya Standar Operasional Prosedur (SOP) dalam proses pengajuan perubahan sistem pada aplikasi SIMRS berguna untuk menetapkan langkah-langkah terbaik yang bisa dilakukan. Adanya SOP pengajuan perubahan dapat menjaga standar pelayanan yang berkualitas sehingga dalam proses ini tidak akan mengganggu keberlangsungan pelayanan kesehatan. Pedoman dan standar yang disusun diharapkan meningkatkan efisiensi waktu dan biaya yang harus dikeluarkan oleh rumah sakit setiap kali terjadinya perubahan.


Gambaran Umum Pengajuan Perubahan Sistem

Perubahan sistem pada SIMRS dapat dilakukan dalam skala minor dan mayor. Perubahan yang sifatnya minor hanya melibatkan sebagian kecil arsitektur sistem sehingga operasional SIMRS masih bisa berjalan. Sedangkan, perubahan yang bersifat mayor melibatkan lebih banyak arsitektur sehingga operasional dapat dihentikan sementara.


Perubahan pada sistem informasi manajemen rumah sakit (SIMRS) memungkinkan dapat dilakukan melalui pengajuan dari user yang disebabkan kebutuhan fungsional aplikasi terhadap proses kerja yang berlangsung pada masing-masing unit serta perubahan kebijakan. Perubahan sistem yang diajukan oleh pengguna dapat meningkatkan efektivitas fungsi aplikasi selama pengajuan perubahan relevan dengan tugas dan fungsinya.


Syarat-syarat Pengajuan Perubahan Sistem

Sebagai antisipasi perubahan sistem yang dilakukan tidak menyalahi tujuan dasar operasional SIMRS dan juga agar sistem yang diimplementasikan tetap memiliki integritas maka diperlukan syarat khusus dalam pengajuan perubahan sistem tersebut. Lebih jelas syarat-syarat pengajuan perubahan sistem pada aplikasi SIMRS dapat diuraikan sebagai berikut:


  • Pengajuan perubahan sistem harus sesuai dengan gambaran kerja dan fungsionalitas sistem yang akan digunakan.
  • Unit yang mengajukan merupakan unit yang pengguna aktif aplikasi sistem informasi rumah sakit (SIMRS) dan memiliki hak akses resmi pada aplikasi.
  • Siklus perubahan tidak boleh kurang dari 6 (enam) bulan sejak perubahan terakhir diimplementasikan, kecuali untuk pengajuan perubahan sistem karena faktor kesalahan.
  • Konsep perubahan sistem yang diajukan menerapkan teknologi yang sudah ada atau masih berlaku dan efektif digunakan.
  • Perubahan sistem tidak menyalahi aturan dasar sistem, keamanan data dan kebijakan hukum yang berlaku pada saat pengajuan.


Tahap Pelaksanaan Pengajuan Perubahan Sistem

Dengan melakukan pengajuan secara resmi, unit terkait dapat menjembatani konsep yang direncanakan dengan dukungan resmi dari berbagai pihak terkait. Ini menciptakan kerangka kerja yang jelas dan dapat diukur untuk mendapatkan persetujuan, sumber daya, atau dukungan yang diperlukan. Melalui pendekatan ini, unit terkait menunjukkan profesionalisme dalam merencanakan dan mengelola perubahan atau proyek dengan memastikan bahwa setiap langkah diambil dengan landasan yang kuat dan sesuai dengan tujuan keseluruhan organisasi.


Tahap pelaksanaan pengajuan sistem dari mulai proses pengajuan awal, pengembangan dan pengujian hingga implementasi diuraikan sebagai berikut:


Standar Operasional Prosedur (SOP) Pengajuan Perubahan Sistem Pada SIMRS

1. Unit terkait melakukan pengajuan secara resmi dengan konsep yang sudah dirancang secara mandiri maupun yang sudah ada dari sumber referensi lain.

Unit terkait melaksanakan proses pengajuan secara resmi kepada pengembang aplikasi SIMRS atau unit IT SIMRS dengan mendasarkan pada konsep yang telah dirancang secara mandiri atau yang diperoleh dari sumber referensi lain yang dapat dipertanggungjawabkan. Proses ini mencakup penyusunan dokumen pengajuan yang komprehensif, yang mencerminkan pemahaman mendalam terhadap konsep yang diajukan. Baik itu merancang konsep baru secara independen atau mengadopsi konsep dari referensi, langkah-langkahnya termasuk pemilihan metode yang tepat, identifikasi kebutuhan sumber daya, dan penyusunan argumen yang mendukung keberhasilan implementasi konsep tersebut.


2. Pada saat perancangan konsep perubahan, unit terkait dapat melibatkan unit IT SIRS atau programer aplikasi SIMRS secara langsung sebagai referensi dasar sistem yang sudah berjalan.


Pada tahap perancangan konsep perubahan, unit terkait memiliki opsi untuk melibatkan unit IT SIRS atau programer aplikasi SIMRS secara langsung sebagai referensi dasar sistem yang sudah berjalan. Dengan terlibatnya unit IT atau programer aplikasi, tim perancang konsep dapat memperoleh wawasan yang mendalam terkait fungsionalitas dan arsitektur SIMRS yang telah ada. Keterlibatan ini memungkinkan tim untuk memahami secara detail bagaimana sistem SIMRS beroperasi, identifikasi kekuatan dan kelemahan yang perlu diperhitungkan dalam perancangan konsep perubahan. Selain itu, dapat terbentuk kolaborasi yang erat antara unit terkait dan unit IT, memastikan bahwa setiap perubahan yang direncanakan dapat diintegrasikan dengan baik dalam ekosistem SIMRS yang sudah ada.


3. Konsep perubahan diterima oleh Unit IT kemudian mempelajari konsep yang disusun tersebut guna dilakukan proses perancangan ulang pada sistem yang sudah ada.

Dengan menggunakan sistem yang telah berjalan sebagai referensi, tim perancang konsep dapat mengoptimalkan kesesuaian dan interoperabilitas antara perubahan yang diinginkan dan fungsionalitas SIMRS yang sudah mapan. Ini juga meminimalkan risiko inkompatibilitas atau gangguan pada sistem yang sedang berjalan. Dengan demikian, melibatkan unit IT atau programer aplikasi di tahap perancangan konsep merupakan langkah strategis untuk memastikan keberhasilan implementasi perubahan.


4. Unit IT yang mengembangkan SIMRS mulai melakukan pengembangan pada sistem dengan penulisan kode, rekonstruksi database dan migrasi.

Unit IT yang bertanggung jawab dalam pengembangan Sistem Informasi Manajemen Rumah Sakit (SIMRS) memulai fase implementasi dengan melakukan serangkaian tindakan teknis yang mencakup penulisan kode, rekonstruksi database, dan migrasi data. Dalam tahap ini, para ahli IT berfokus pada penyusunan kode program yang membentuk inti dari SIMRS, memastikan bahwa setiap fungsi sistem dikodekan dengan baik sesuai dengan kebutuhan dan spesifikasi yang telah ditetapkan.


Selanjutnya, rekonstruksi database dilakukan untuk memastikan struktur basis data yang solid dan optimal sesuai dengan desain SIMRS. Proses ini melibatkan penyempurnaan model database, penyesuaian skema, dan penerapan indeks untuk meningkatkan efisiensi pencarian dan pemrosesan data.


5. Perubahan yang dilakukan harus melalui tahapan pengujian sistem hingga sesuai dengan konsep yang disepakati sebelum diimplementasikan.

Pengembangan SIMRS juga mencakup migrasi data, di mana data dari sistem yang sudah ada atau sistem yang lama dipindahkan ke dalam SIMRS yang baru. Hal ini memerlukan ketelitian tinggi agar data dapat dipindahkan tanpa kehilangan atau penyimpangan, memastikan kelangsungan informasi pasien dan rekam medis.


6. Proses implementasi dapat melibatkan unit lain yang terkena implikasi atas perubahan sistem tersebut.


Proses implementasi dapat melibatkan kerjasama erat dengan unit lain yang terkena implikasi atas perubahan sistem tersebut. Kolaborasi ini diperlukan untuk memastikan bahwa perubahan yang diterapkan di dalam Sistem Informasi Manajemen Rumah Sakit (SIMRS) tidak hanya memenuhi kebutuhan teknis, tetapi juga terintegrasi harmonis dengan kegiatan dan proses yang dilakukan oleh unit terkait.


Dalam proses implementasi, komunikasi yang efektif antara unit terkait menjadi krusial. Unit yang terkena implikasi dapat melibatkan stafnya dalam pelatihan atau orientasi terkait perubahan tersebut. Selain itu, pemahaman yang jelas tentang bagaimana perubahan akan memengaruhi rutinitas kerja dan tugas-tugas sehari-hari dapat membantu mengurangi resistensi atau ketidaknyamanan yang mungkin muncul.


Proses implementasi juga mencakup evaluasi dampak perubahan pada proses bisnis dan pemastian bahwa setiap unit terkait memiliki sumber daya yang cukup untuk mengelola perubahan tersebut. Dengan demikian, kolaborasi antarunit dalam proses implementasi bukan hanya tentang teknologi, tetapi juga tentang manajemen perubahan dan pemahaman terhadap implikasi operasional yang lebih luas. Ini membantu menciptakan lingkungan di mana seluruh organisasi dapat mendukung dan berhasil mengadopsi perubahan sistem dengan efektif.


Penutup

SOP Perubahan SIMRS adalah standar yang digunakan oleh Rumah Sakit untuk melakukan perubahan atau pembaharuan sistem pada aplikasi SIMRS (Sistem Informasi Manajemen Rumah Sakit) yang digunakan. Perubahan sistem pada SIMRS dapat dilakukan dalam skala minor dan mayor. Perubahan yang sifatnya minor hanya melibatkan sebagian kecil arsitektur sistem sehingga operasional SIMRS masih bisa berjalan. Sedangkan, perubahan yang bersifat mayor melibatkan lebih banyak arsitektur sehingga operasional dapat dihentikan sementara. Sebagai antisipasi perubahan sistem yang dilakukan tidak menyalahi tujuan dasar operasional SIMRS dan juga agar sistem yang diimplementasikan tetap memiliki integritas maka diperlukan syarat khusus dalam pengajuan perubahan sistem tersebut. Tahap pelaksanaan pengajuan sistem dimulai dari proses pengajuan awal, pengembangan dan pengujian hingga implementasi.


Dukungan Teknis atau Technical Support pada implementasi SIMRS adalah sebuah layanan yang disediakan oleh suatu perusahaan pengembang atau unit teknis IT pada rumah sakit untuk membantu mengatasi masalah client atau pengguna SIMRS dalam penerapan, pemakaian, dan konfigurasi perangkat keras atau perangkat lunak.


Tugas umum dukungan teknis IT dalam kaitannya dengan implementasi SIMRS ini perlu dipersempit sehingga tidak terbebani oleh tugas-tugas lain di luar tugas pokoknya. Sehingga, capaian target pelayanan dukungan dapat tercapai dengan baik sesuai harapan. Adapun gambaran umum tugas dukungan IT dalam implementasi SIMRS ini adalah sebagai berikut:


Gambaran Umum Dukungan Teknis IT Dalam Implementasi SIMRS

Kemampuan teknis hard skills yang perlu dimiliki IT support pada sebuah unit SIRS umumnya mencakup pengetahuan mendalam tentang cara mengoperasikan komputer dan perangkat lunak, serta cara menangani masalah yang muncul. Berikut beberapa kemampuan teknis IT support yang harus dimiliki pada unit IT rumah sakit.


Bidang jaringan dan operasional

Mengetahui cara pemasangan dan pengoperasian program komputer, serta fungsi program komputer yang terhubung pada jaringan. Dalam bidang jaringan dan operasional, pengetahuan tentang cara pemasangan dan pengoperasian program komputer terutama yang mendukung implementasi SIMRS sangat penting. Selain itu, pemahaman terhadap fungsi sistem SIMRS yang saling terhubung dalam suatu jaringan juga menjadi aspek krusial. Dengan kemampuan ini, seseorang mampu menjalankan tugas-tugas instalasi perangkat lunak dengan efisien, memastikan keberlanjutan operasional, serta memahami integrasi program-program tersebut dalam lingkungan jaringan yang kompleks.


Keahlian ini tidak hanya mencakup aspek teknis, tetapi juga memerlukan pemahaman yang mendalam terhadap sistem secara keseluruhan, memungkinkan individu untuk berkontribusi secara efektif dalam pengelolaan dan pemeliharaan infrastruktur teknologi informasi yang modern.


Bidang technical support


Memelihara, mengelola, dan memperbaiki kesalahan pada IT. Dalam ranah technical support, tanggung jawab melibatkan lebih dari sekadar pemeliharaan dan manajemen, mencakup pula keterampilan mendeteksi dan memperbaiki kesalahan pada infrastruktur teknologi informasi (IT). Seorang profesional di bidang ini bertugas untuk memastikan keberlanjutan operasional sistem, merawat perangkat keras dan perangkat lunak, serta merespons dengan cepat terhadap setiap kendala atau gangguan yang mungkin timbul. Kemampuan untuk mendiagnosis, merancang solusi, dan melaksanakan perbaikan merupakan inti dari pekerjaan technical support, memastikan bahwa pengguna atau klien dapat terus mengakses dan menggunakan perangkat teknologi mereka dengan efisien dan tanpa gangguan. Dengan demikian, seorang profesional technical support tidak hanya menjadi penjaga sistem, tetapi juga penyelesaian masalah yang handal untuk memastikan keberlanjutan produktivitas dalam lingkungan kerja yang didukung oleh teknologi.


Bidang desk support


Menganalisis proses helpdesk di perusahaan. Dalam lingkup desk support, peran mencakup analisis menyeluruh terhadap proses helpdesk di perusahaan. Seorang profesional di bidang ini bertanggung jawab untuk mengevaluasi efektivitas dan efisiensi layanan dukungan teknis yang diberikan oleh helpdesk perusahaan. Ini mencakup pemahaman mendalam terhadap alur kerja, sistem tiket, dan interaksi dengan pengguna akhir.


Menganalisis proses helpdesk melibatkan identifikasi titik-titik potensial untuk peningkatan layanan, pemantauan kinerja, dan penyusunan strategi untuk meningkatkan respons dan resolusi masalah. Kemampuan untuk memahami dinamika antara pengguna dan helpdesk serta merancang solusi yang dapat meningkatkan kepuasan pengguna menjadi bagian integral dari pekerjaan di bidang desk support.


Seiring dengan itu, seorang profesional desk support tidak hanya berfokus pada penanganan permasalahan teknis, tetapi juga berperan sebagai agen perbaikan dan peningkatan untuk menyelaraskan layanan helpdesk dengan kebutuhan dan harapan pengguna. Dengan pemahaman yang baik tentang proses helpdesk, individu di bidang ini dapat memberikan kontribusi signifikan untuk meningkatkan kualitas layanan teknis yang disediakan oleh perusahaan.


Selanjutnya pada proses dukungan teknis IT seorang teknisi IT harus memiliki kemampuan problem solving yaitu keterampilan untuk menganalisis dan memperbaiki segala jenis masalah. Seorang IT support harus bisa mengidentifikasi masalah dan mencari solusinya dengan cepat dan tepat. Skills ini dapat membantu Anda dalam menangani masalah pengguna. Baik yang berkaitan dengan perangkat lunak maupun perangkat keras.


Selain itu, harus dapat dipertimbangkan dalam melakukan evaluasi informasi yang diberikan dari pengguna. Dengan begitu, manajemen rumah sakit dapat memecahkan masalah secara akurat. Skills ini bisa meningkat seiring dengan pengalaman yang dimiliki.


Tahapan Pelaksanaan Dukungan Teknis IT


Pelaksanaan dukungan IT pada unit SIRS dilakukan secara insidensial terkait kendala teknis software dan hardware yang terjadi pada pengguna aplikasi di seluruh unit. Pelaksanaan dukungan teknis oleh unit SIRS ini bisa dilakukan dengan cara kunjungan langsung ke lokasi unit yang mengalamai kendala atau melalui petunjuk teknis yang disampaikan melalui dokumentasi petunjuk penggunaan, komunikasi langsung melalui jaringan interkom dan komunikasi melalui kontak support yang telah ditentukan.


Pelayanan dukungan teknis IT yang diberikan meliputi bimbingan penggunaan aplikasi SIMRS, operasional komputer, dukungan teknis penggunaan harware, dan dukungan IT terkait koneksi internet. Lebih jelas mengenai alur pelayanan pada dukungan teknis IT diuraikan sebagai berikut:


1. Pengguna menghubungi teknisi IT, atau mendatangi langsung ruangan kantor IT untuk menyampaikan dukungan teknis yang dibutuhkan.

Dalam menjalankan kegiatan sehari-hari, pengguna memiliki opsi untuk menghubungi teknisi IT melalui berbagai saluran, seperti telepon atau melalui sistem tiket dukungan. Selain itu, mereka juga dapat memilih untuk datang langsung ke ruangan kantor IT guna menyampaikan permintaan atau masalah teknis yang mereka hadapi. Proses ini menciptakan jalur komunikasi langsung antara pengguna dan teknisi, memungkinkan pertukaran informasi yang lebih rinci dan mendalam mengenai sifat masalah yang dihadapi.


Pilihan antara kontak melalui telepon atau kunjungan langsung ke kantor IT mencerminkan upaya untuk memastikan bahwa pengguna memiliki akses yang nyaman dan sesuai dengan preferensi mereka untuk mendapatkan dukungan teknis. Dalam setiap interaksi, teknisi IT dapat menyelidiki, menganalisis, dan merespons masalah teknis dengan solusi yang tepat, memberikan layanan yang responsif dan berorientasi pada kebutuhan pengguna. Dengan demikian, hubungan langsung ini memainkan peran kunci dalam membangun kepercayaan dan memastikan pengalaman positif dalam memperoleh dukungan teknis di lingkungan kerja atau organisasi.


2. Petugas/teknisi IT mecatat dan mengidentifikasi dukungan teknis yang dibutuhkan pengguna SIMRS untuk kemudian memutuskan tahapan-tahapan penyelesaiannya.

Petugas atau teknisi IT dalam sistem manajemen rekam medis (SIMRS) memiliki tugas penting untuk mencatat dan mengidentifikasi dukungan teknis yang diperlukan oleh pengguna. Proses pencatatan ini mencakup pengumpulan informasi mendalam tentang masalah atau kebutuhan yang diungkapkan oleh pengguna SIMRS.


Setelah informasi terkumpul, teknisi IT kemudian berfokus pada mengidentifikasi sifat masalah tersebut, mencoba memahami akar penyebabnya, dan menentukan tahapan-tahapan penyelesaiannya. Langkah-langkah ini melibatkan analisis yang cermat untuk memastikan bahwa solusi yang diusulkan tidak hanya bersifat reaktif terhadap masalah saat ini, tetapi juga bersifat preventif untuk mencegah kemungkinan terjadinya masalah serupa di masa mendatang.


Dengan demikian, proses pencatatan, identifikasi, dan penyelesaian dukungan teknis menjadi siklus yang penting dalam memastikan ketersediaan dan kinerja yang optimal dari sistem manajemen rekam medis. Keberhasilan teknisi IT dalam memutuskan langkah-langkah penyelesaian tidak hanya membantu memulihkan layanan secepat mungkin tetapi juga berkontribusi pada peningkatan keseluruhan pengalaman pengguna SIMRS.


3. Dukungan teknis IT pada implementasi SIMRS yang bersifat kolektif dapat diselesaikan melalui pertemuan bersama di ruang rapat.

Dukungan teknis IT pada implementasi Sistem Informasi Manajemen Rumah Sakit (SIMRS) yang bersifat kolektif menciptakan kebutuhan untuk berkomunikasi secara langsung dan berkolaborasi. Salah satu metode efektif yang dapat diambil adalah melalui pertemuan bersama di ruang rapat. Pertemuan ini menjadi forum yang sangat berguna untuk mengatasi dan menyelesaikan isu-isu teknis serta menyinkronkan upaya kolektif dalam mengimplementasikan SIMRS.


Dalam pertemuan ini, teknisi IT dapat berbagi pemahaman mendalam mengenai aspek teknis SIMRS dan memberikan panduan atau pelatihan kepada semua pihak terlibat. Diskusi bersama dapat mencakup evaluasi kemajuan implementasi, pemecahan masalah bersama, dan penentuan langkah-langkah selanjutnya. Hal ini tidak hanya memastikan bahwa setiap anggota tim memiliki pemahaman yang konsisten mengenai SIMRS, tetapi juga memfasilitasi pertukaran ide dan pengalaman antara anggota tim yang berbeda peran.


Pertemuan bersama di ruang rapat tidak hanya menjadi tempat berbagi pengetahuan tetapi juga menjadi wahana untuk membangun koordinasi tim yang efektif. Dengan demikian, pendekatan ini menciptakan ruang untuk pemecahan masalah kolaboratif dan pengambilan keputusan yang bersifat kolektif, mendukung keberhasilan implementasi SIMRS secara menyeluruh.


4. Dukungan teknis IT dalam implementasi SIMRS yang berhubungan dengan penggunaan hardware oleh petugas rekam medis dapat diselesaikan dengan kunjungan langsung ke lokasi unit yang membutuhkan.

Dukungan teknis IT dalam implementasi Sistem Informasi Manajemen Rumah Sakit (SIMRS), terutama yang berkaitan dengan penggunaan hardware oleh petugas rekam medis, dapat secara optimal diselesaikan melalui kunjungan langsung ke lokasi unit yang membutuhkan.


Melalui kunjungan langsung, teknisi IT dapat mengamati langsung kondisi perangkat keras, mengidentifikasi potensi masalah, dan memberikan solusi yang sesuai dengan kebutuhan spesifik unit tersebut. Interaksi langsung ini memungkinkan teknisi untuk berkomunikasi secara efektif dengan petugas rekam medis, mendengarkan secara langsung tantangan atau kebutuhan yang mereka hadapi, serta memberikan solusi yang sesuai dengan lingkungan kerja mereka.


Selain itu, kunjungan langsung menciptakan peluang untuk memberikan pelatihan langsung kepada petugas rekam medis, memastikan bahwa mereka memahami cara menggunakan perangkat keras secara efektif dan memaksimalkan fungsionalitas SIMRS. Hal ini juga dapat meningkatkan tingkat kepercayaan petugas rekam medis terhadap sistem baru dan membantu meminimalkan ketidaknyamanan atau kebingungan terkait perubahan teknologi.


Standar ketenagaan merupakan bagian dari pelaksanaan implementasi SIMRS (Sistem Informasi Manajemen Rumah Sakit) yang bertujuan untuk meningkatkan efektifitas pelayanan IT pada saat implementasi sistem dilaksanakan. Standar yang ditetapkan dapat berorientasi pada bebagai aspek, termasuk kompetensi karyawan yang menjalankan operasionalnya.


Untuk meningkatkan optimalisasi operasional ketika implementasi ini dijalankan maka perlu diingat bahwa atara pengembangan tekhnologi informasi dengan kebutuhan manajerial perlu berjalan seiring-sejalan. Artinya, kedua aspek ini merupakan ukuran yang paling tepat dalam menilai keberhasilan implementasi (Measures of the success of technology implementation).


Standar ketenagaan meliputi kebutuhan operasional yang berhubungan dengan spesifikasi kebutuhan sumber daya manusia (SDM) yang akan merancang, mengembangkan dan menggunakan aplikasi secara integritas. Standar ketenagaan ini meliputi bagian pengembangan aplikasi, administrator, pengguna dan mitra yang berhubungan dengan proses manajerial yang berlangsung di Rumah Sakit


Standar Ketenagaan Pengembangan SIMRS

Untuk melakukan pengembangan sistem secara mandiri pada Rumah Sakit berbeda dengan pengembangan tekhnologi secara umum. Diperlukan pemahaman pelayanan kesehatan secara mendasar, sehingga arah perencanaan rancangan tersebut dapat berjalan sesuai dengan kebutuhan (Relevant to Needs). Perlu dipahami juga bahwa beberapa rumah sakit melakukan pengembangan sistem dengan melibatkan pihak ke tiga yang juga perlu mempertimbangkan kelayakan standar yang digunakan.


Pengembangan sistem tersebut memiliki beberapa tujuan sebagai berikut: 

  1. Pengembangan sistem secara berkelanjutan untuk relevansi perubahan kebijakan.
  2. Kemudahan komunikasi data dengan sistem kesehatan lain.
  3. Keterjaminan keamanan dan kerahasiaan baik secara arsitektur maupun fungsionalitas.
  4. Mempermudah penentuan skala penggunaan sebagai bagian dari efisiensi biaya
  5. Memberikan jaminan perlindungan hukum, pengawasan dan penanganan pelanggaran yang terjadi.

Integritas Ketenagaan IT

Perlu adanya penetapan kebijakan yang tepat untuk melindungi hak-hak dan kewajiban dalam proses pengembangan tekhnologi informasi di bidang kesehatan. Dalam beberapa kasus, pengembangan sistem yang tidak didasari dengan perlindungan terhadap hak-hak tersebut menyebabkan trend komunitas IT tidak bisa berintegrasi dengan badan atau lembaga kesehatan secara menyeluruh.


Jangkauan teknologi terhadap informasi yang dinamis, menyebabkan integritas ketenagaan pengelolaan informasi tidak dapat dinilai hanya dengan standar ketenagaan biasa yang bersifat umum. Kebijakan tersebut hanya bertumpu pada nilai produktifitas, namun tidak memperhatikan batas-batas relevansinya dengan perkembangan yang terjadi.


Pengelolaan SDM modern memandang bahwa ketenagaan IT sebagai asset perusahaan yang menghasilkan asset lain yang juga berkembang dari waktu ke waktu. Oleh sebab itu cara pandang standar integritasnya bukan lagi menggunakan instrumen beban manajerial. Solusi tersebut mengarahkan kita pada orientasi pengelolaan yang lebih dinamis, menguntungkan kedua belah pihak, meningkatkan ketahanan terhadap persaingan industri dan relevansi kebutuhan. Kaitannya dengan pengelola layanan kesehatan adalah, bahwa integritas ketenagaan IT memiliki peranan esklusif yang harus dijalankan sebagai asset perusahaan yang bekerja secara menyeluruh.


Penutup

Pengelolaan SDM modern memandang bahwa ketenagaan IT sebagai asset perusahaan yang menghasilkan asset lain. Untuk meningkatkan optimalisasi operasional ketika implementasi ini dijalankan maka perlu diingat bahwa atara pengembangan tekhnologi informasi dengan kebutuhan manajerial perlu berjalan seiring-sejalan. Untuk melakukan pengembangan sistem secara mandiri pada Rumah Sakit berbeda dengan pengembangan tekhnologi secara umum. Jangkauan teknologi terhadap informasi yang dinamis, menyebabkan integritas ketenagaan pengelolaan informasi tidak dapat dinilai hanya dengan standar ketenagaan biasa yang bersifat umum.

Bridging Aplikasi SIMRS (Sistem Informasi Manajemen Rumah Sakit) dengan Vclaim v.2 (BPJS Kesehatan) dapat melakukan pengecekan status peserta berdasarkan nomor kartu. Untuk mengembangkan fitur ini sebetulnya sangat mudah, karena arsitektur aplikasi dapat dibuat hampir sama denga proses cek status peserta berdasarkan NIK. Dengan fitur ini kita bisa mempermudah pengguna (petugas rumah sakit)


Artikel berikut ini adalah bagian dari seri belajar membuat aplikasi SIMRS berbasis web. Oleh sebab itu, bagi anda yang belum mengikuti dari awal, alangkah baiknya jika mengikuti seri dari awal terlebih dahulu. Silahkan kunjungi link berikut ini (seri belajar membuat aplikasi SIMRS berbasis web) untuk melihat daftar materi pembelajar lebih lengkap.


Baiklah, tanpa harus menunggu lebih lama kita langsung saja melanjutkan project kita sebelumnya. Silahkan ikuti langkah-langkah berikut ini.


1. Instal Composer dan Library Lz String

Sebelumnya kita sudah membahas kedua hal ini pada artikel Kompresi Dan Dekompresi Data Menggunakan LZ String Pada Pemrograman PHP dan Bridging SIMRS Dengan VClaim v.2 (Cek NIK Peserta) Silahkan ikuti kedua artikel tersebut terlebih dulu.


2. Buat Tampilan Detail Status Peserta Berdasarkan Nomor Kartu

Buat file baru pada directory _Page/Pasien/FormDetailBpjs.php kemudian ketikan kode berikut ini:


2. Pastikan Event Detail Peseerta Mengarah Ke File tErsebut

Pada file yang ada di directory _Page/Pasien/Pasien.js pastikan modal detai pasien berdasarkan kartu mengarah ke _Page/Pasien/FormDetailBpjs.php


3. Melakukan Pengujian Aplikasi

Silahkan lakukan pengujian pada aplikasi, buka menu masien dan pada data pasien klik pada bagian nomor kartu BPJS. Jika benar maka sistem akan menampilkan tampilan sebagi berikut:


Silahkan ikuti seri belajar membuat SIMRS ini lebih lengkap pada tautan berikut


Download Full Source Code via Git Hub

Download Full Source Code Via G-Drive


Silahkan lakukan request, atau hubungi saya melalui kolom komentar

Dengan melakukan bridging BPJS pada Vclaim v.2 maka aplikasi SIMRS yang dikembangkan bisa melakukan beberapa pemanggilan data, salah satunya adalah proses pengecekan status peserta berdasarkan NIK. Fitur ini bisa sangat membantu SIMRS yang dikembangakan sehingga mempercepat proses pelayanan, karena petugas tidak lagi harus melakukan pengecekan status pada aplikasi vclaim secara terpisah.


Lebih jauh, pengembang SIMRS bisa meningkatkan kehandalan fitur pengelolaan data master pasiennya. Misalnya bisa diterapkan pada saat melakukan pendaftaran pasien baru, sehingga proses lebih mudah dan cepat. Dengan fitur ini, pasien cukup membawa kartu KTP untuk memvalidasi identitasnya pada saat akan melakukan pendaftaran pelayanan kesehatan.


Pada artikel ini kita akan membahas bagaimana melakukan bridging dengan vclaim v.2 khususnya proses cek NIK peserta. Adapun contoh project ini akan melanjutkan modul kelola data pasien yang sudah pernah kita bahas. Oleh sebab itu, bagi yang belum tahu bisa kunjungi terlebih dulu seri belajar membuat SIMRS sendiri pada tautan berikut (Membuat Aplikasi SIMRS Berbasis Web).


Berbeda dengan versi sebelumnya, pada bridging kali ini perlu dilakukan proses deskriptif dan dekompresi karena response yang diterima berupan data yang sudah di enkripsi dan terkompresi. Untuk menambah pemahaman proses tersebut, silahkan kunjungi juga artikel yang membahas kompresi dan dekompresi tersebut pada tautan berikut "di sini".


Sebelum melakukan bridging, saya asumsikan para pembaca sudah memiliki data parameter penting sebagai informasi ijin aksesnya berupa consis, user_key, secret_key dan kode ppk. Bagi yang belum memiliki kode-kode tersebut silahkan melakukan pengajuan ke BPJS wilayahnya masing-masing. Baiklah, kita langsung saja ke langkah-langkahnya:


1. Instalasi Composer

Sebelum ke proses kompresi dan dekompresi kita harus menginstal Composer terlebih dulu agar mempermudah pemasangan library lainnya. Silahkan kunjungi website resminya di https://getcomposer.org/download/
Setelah memperoleh instalernya silahkan instal sampai selesai seperti biasa.


2. Instalasi Library Dekompresi dengan Lz String

Untuk implementasi penggunaan algoritma LZ-string pada pemrograman PHP dapat dilakukan dengan sangat mudah. Pada kesempatan kali ini, kita akan menggunakan sebuah library yang dibuat oleh 'nullpunkt'. Lebih jelasnya kita mulai dengan tahap-tahap penggunaannya sudah ada pada artikel berikut ini Kompresi Dan Dekompresi Data Menggunakan LZ String Pada Pemrograman PHP silahkan ikuti langkah-langkahnya. Jika sudah kembali ke tutorial ini.


3. Membuat Fungsi Pengaturan Bridging

Silahkan buka project yang sudah didownload sebelumnya, tersedia pada artikel sebelumnya, atau pada akhir artikel ini. Lakukan perubahan pada file pada _Config/Function.php kemudian tambahkan baris kode berikut.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
function getSettingVclaim($Conn,$parameter){
        $QryParam = mysqli_query($Conn,"SELECT * FROM pengaturan WHERE kategori_pengaturan='Bridging Vclaim' AND status='Active'")or die(mysqli_error($Conn));
        $DataParam = mysqli_fetch_array($QryParam);
        if(empty($DataParam['pengaturan'])){
            $Response="";
        }else{
            $pengaturan=$DataParam['pengaturan'];
            $JsonData =json_decode($pengaturan, true);
            $Response=$JsonData[$parameter];
        }
        return $Response;
    }


4. Modifikasi Data Tabel Pasien

Buka file pada directory _Page/Pasien/TabelPasien.php kemudian ubah menjadi seperti berikut:


5. Modifikasi jQuery Data Pasien

Buka file pada directory _Page/Pasien/pasien.js kemudian ubah menjadi seperti berikut:


6. Modifikasi Popup/Modal Pasien

Buka file pada directory _Page/Pasien/Modalpasien.php kemudian ubah menjadi seperti berikut:


7. Menampilkan Detail Informasi NIK pasien

Buat sebuah file pada directory _Page/Pasien/FormDetailNik.php kemudian ubah menjadi seperti berikut:


8. Melakukan Pengujian Aplikasi

Silahkan lakukan pengujian pada aplikasi, buka menu masien dan pada data pasien klik pada bagian nik. Jika benar maka sistem akan menampilkan tampilan sebagi berikut:


Silahkan ikuti seri belajar membuat SIMRS ini lebih lengkap pada tautan berikut


Download Full Source Code via Git Hub

Download Full Source Code Via G-Drive


Silahkan lakukan request, atau hubungi saya melalui kolom komentar

Bridging SIMRS dengan VClaim v.2 bertujuan untuk mempermudah komunikasi data antara kepentingan manajemen Rumah Sakit dengan pelayanan informasi BPJS Kesehatan. Berbeda dengan versi sebelumnya, sebagai usaha untuk meningkatkan keamanan pada saat komunikasi data maka setiap pemanggilan web service harus dicantumkan parameter validasi. Salah satu parameter yang harus disematkan adalah signature.


Pada kesempatan kali ini kita akan mulai membahas bagaimana proses bridging tersebut secara umum. Dimulai dengan pembuatan signature tersebut, yang berguna untuk validasi yang efektif. Untuk mempermudah pemahaman lebih lanjut, kita akan langsung melakukan implementasi pengaturan bridging tersebut pada SIMRS yang sudah kita kembangkan pada artikel sebelumnya.


Bagi anda yang baru mengikuti seri belajar pengembangan aplikasi SIMRS, silahkan kunjungi daftar isi seri belajar membuat aplikasi SIMRS berbasis web.


Membuat Tabel Pengaturan

Tujuan dibuatnya tabel ini nantinya kita akan menggunakan parameter tersebut untuk bisa berpindah-pindah mode bridging. Misalnya kita ingin berpindah dari tester ke production tanpa harus melakukan pengaturan secara manual pada source code kita. Berikut struktur tabel pengaturan tersebut:


Update Komponen Partial

Langkah berikutnya adalah membuat halaman pengaturan. Silahkan lakukan update pada file-file berikut untuk melakukan routing halaman menuju halaman pengaturan.

  • _Partial/Modal.php
  • _Partial/PageTitle.php
  • _Partial/RoutingJs.php
  • _Partial/RoutingPage.php


Membuat Halaman Pengaturan

Langkah berikutnya adalah membuat directory pengaturan. Silahkan buat folder baru dengan nama 'Pengaturan' seperti berikut ini

  • _Page/Pengaturan/FormEditPengaturanVclaim.php
  • _Page/Pengaturan/FormTambahPengaturanVclaim.php
  • _Page/Pengaturan/HasilGenerateSignature.php
  • _Page/Pengaturan/ListPengaturanBridging.php
  • _Page/Pengaturan/ModalPengaturan.php
  • _Page/Pengaturan/Pengaturan.js
  • _Page/Pengaturan/Pengaturan.php
  • _Page/Pengaturan/ProsesEditPengaturanVclaim.php
  • _Page/Pengaturan/ProsesHapusPengaturanVclaim.php
  • _Page/Pengaturan/ProsesTambahPengaturanVclaim.php


Apabila sudah, silahkan uji coba. Lihat hasilnya seperti (demo berikut ini)


Download Source Code Full-nya gratis di Link Berikut ini: Download Source Code SIMRS berbasis Web

Kunjungi juga daftar isi semua artikel seri belajar membuat SIMRS berbasis web

Waktu henti (downtime)

Waktu henti (downtime) merupakan kondisi dimana berhentinya fungsi utama dalam operasional sistem informasi manajemen rumah sakit (SIMRS). Sementara itu implementasi sistem tidak lepas dari adanya resiko berhentinya sistem tersebut dalam berbagai arsitektur yang digunakan. Oleh sebab itu, entitas pelaksana perlu mempersiapkan prosedur sebagai usaha untuk optimalisasi penanggulangan secara efektif dan efisien.


Sebelum penanganan waktu henti, diperlukan usaha preventif untuk mengurangi kemungkinan hal tersebut terjadi. Usaha preventif merujuk pada tindakan atau kegiatan yang dilakukan untuk mencegah atau mengurangi kemungkinan terjadinya masalah, kerusakan, atau kejadian yang tidak diinginkan di masa depan. Tujuan dari usaha preventif adalah untuk mengidentifikasi potensi risiko atau masalah sebelum mereka muncul dan mengambil langkah-langkah untuk mencegahnya.


Pengertian Waktu Henti (downtime)

Waktu henti atau downtime dalam konteks pengelolaan SIMRS adalah periode atau waktu ketika server yang digunakan untuk operasional SIMRS tidak dapat diakses atau offline. Downtime juga disebut sebagai jeda durasi pemadaman, dalam hal ini adalah periode waktu ketika sistem gagal menyediakan atau mencapai fungsi utamanya menyediakan akses ke sistem informasi rumah sakit (SIMRS). Selama downtime, sistem informasi manajemen rumah sakit (SIMRS) pada server tidak akan tersedia dan menjadi offline sehingga penggunaan operasional fungsi sistem tidak dapat dilakukan. Ini dapat sedikit berbeda tergantung pada konteksnya, karena ini telah digunakan untuk tujuan yang berbeda.


Waktu henti (downtime) menyatakan kondisi di mana sistem yang diterapkan tidak dapat berfungsi sebagaimana mestinya. Waktu henti tersebut merupakan kondisi yang terjadi secara keseluruhan pada infrastruktur sistem. Oleh sebab itu, pemahaman waktu henti tidak bisa diterapkan pada kondisi yang terjadi secara lokal.


Tujuan Disusunnya SOP (Standard Operating Procedure) Waktu henti (downtime)

Tujuan disusunnya SOP waktu henti (downtime) pada sistem informasi manajemen rumah sakit (SIMRS) adalah untuk mempersiapkan kondisi pelayanan agar tetap berjalan. Dalam kondisi tersebut dibutuhkan persiapan yang matang sehingga pengelola teknis pelayanan tersebut dapat dengan mudah menyelesaikan masalah yang terjadi. Dengan adanya persiapan penanganan yang tepat diharapkan kejadian waktu henti (downtime) tidak akan mengganggu berlangsungnya pelayanan pada rumah sakit. Selain itu penyusunan SOP waktu henti juga berguna membantu IT Rumah Sakit agar tetap bisa menjaga distribusi informasi yang dibutuhkan.


Lebih lanjut mengenai tujuan disusunnya SOP waktu henti (downtime) pada sistem informasi manajemen rumah sakit (SIMRS) diuraikan sebagai berikut:


  • Mempermudah dalam menghitung estimasi waktu penanggulangan waktu henti.
  • Meningkatkan efektifitas penanggulangan sehingga memiliki tingkat keberhasilan penanggulangan yang tinggi pula.
  • Mempermudah dalam penyusunan anggaran infrastruktur yang akan dibangun.
  • Efisiensi anggaran perawatan karena alokasi dapat dilakukan tepat sasaran.
  • Tersusunnya kerangka kerja yang bisa dilaksanakan oleh entitas manapun untuk menjalankan penanggulangan waktu henti.


Tahap Pelaksanaan Waktu Henti Sistem (Downtime)

Kejadian waktu henti (downtime) dapat terjadi dalam 2 (dua) kategori, yaitu waktu henti sistem yang disengaja dan tidak disengaja. Waktu henti sistem yang disengaja dapat diprediksi dan direncanakan waktu kejadiannya, sedangkan yang tidak disengaja terjadi secara insidental atau terjadi karena beberapa hal terjadi secara spontan. Kejadian waktu henti (downtime) yang sengaja dilakukan dengan tujuan untuk melakukan perawatan (maintenance) hardware maupun software. Sedangkan waktu henti sistem yang tidak disengaja dapat disebabkan karena gangguan listrik, bencana alam, kegagalan sistem (error), serangan virus dan malware.


Tahap pelaksanaan waktu henti sistem (downtime) meliputi waktu henti yang disengaja dan tidak disengaja. Masing-masing tahapan lebih jelas diuraikan sebagai berikut:


Waktu Henti Sistem Disengaja

  • Tim IT RS membuat perencanaan dan penjadwalan terkait dengan pemeliharaan sistem dan perangkat server yang dapat menimbulkan waktu henti.
  • Mempersiapkan server cadangan untuk mengantisipasi terjadinya hal yang tidak diduga pada saat proses pemeliharaan.
  • Tim IT RS memberikan informasi kepada setiap unit yang ada mengenai akan dilakukannya pemeliharaan sistem dan menimbulkan waktu henti pada jadwal yang telah ditetapkan serta estimasi waktu henti sesuai jenis pemeliharaan yang dilakukan berupa update sistem dan unit terkait melakukan simulasi terkait update sistem tersebut.
  • Tim IT RS melaksanakan pemeliharaan sesuai jadwal yang telah ditentukan.
  • Selama pelaksanaan pemeliharaan tim IT memberikan URL sementara kepada pengguna untuk digunakan selama masa downtime.
  • Apabila penggunaan URL sementara tidak memungkinkan maka pengguna aplikasi dapat melakukan pencatatan data manual untuk sementara hingga proses pemeliharaan selesai.
  • Setelah pelaksanaan pemeliharaan tersebut, tim IT melakukan pengujian sistem untuk memastikan sistem dapat berfungsi kembali dengan baik.
  • Setelah proses pemeliharaan selesai maka tim IT memberikan informasi penyelesaian tersebut ke seluruh unit.

Waktu henti Sistem Tidak Disengaja

  • Waktu henti yang tidak disengaja dapat diketahui melalui informasi yang disampaikan oleh pengguna atau melalui monitoring dashboard SIMRS.
  • Unit IT melakukan identifikasi penyebab berhentinya sistem dimulai dari infrastruktur kelistrikan, jaringan internet, ketersediaan layanan provider, jaringan publik, jaringan lokal, perangkat access point, perangkat router hingga unit server.
  • Apabila waktu henti disebabkan karena kerusakan gangguan pada provider internet maka unit IT menghubungi kontak layanan provider yang digunakan.
  • Apabila waktu henti disebabkan karena kerusakan yang berhubungan dengan infrastruktur rumah sakit maka Unit IT melakukan koordinasi dengan unit IPSRS.
  • Apabila waktu henti disebabkan karena kerusakan jaringan lokal, perangkat access point, perangkat router atau unit server maka unit IT melakukan pemeriksaan dan perbaikan pada perangkat tersebut.
  • Apabila perangkat yang diperbaiki mengalami kerusakan berat dan tidak memungkinkan maka unit IT akan membawa perangkat tersebut ke toko komputer atau mengganti unit yang rusak.
  • Selama proses perbaikan, pengguna SIMRS melakukan prosedur pencatatan manual.
  • Setelah proses perbaikan selesai, unit IT melakukan pengujian pada sistem untuk memastikan sistem berfungsi sebagaimana mestinya.
  • Setelah sistem berfungsi kembali, unit IT menginformasikan penyelesaian tersebut ke seluruh Unit.


Penutup

Waktu henti (downtime) menyatakan kondisi di mana sistem yang diterapkan tidak dapat berfungsi sebagaimana mestinya. Waktu henti tersebut merupakan kondisi yang terjadi secara keseluruhan pada infrastruktur sistem. Tujuan disusunnya SOP waktu henti (downtime) pada sistem informasi manajemen rumah sakit (SIMRS) adalah untuk mempersiapkan kondisi pelayanan agar tetap berjalan. Waktu henti sistem yang disengaja dapat diprediksi dan direncanakan waktu kejadiannya, sedangkan yang tidak disengaja terjadi secara insidental atau terjadi karena beberapa hal terjadi secara spontan. Kejadian waktu henti (downtime) yang sengaja dilakukan dengan tujuan untuk melakukan perawatan (maintenance) hardware maupun software. Sedangkan waktu henti sistem yang tidak disengaja dapat disebabkan karena gangguan listrik, bencana alam, kegagalan sistem (error), serangan virus dan malware.


Berikut ini link download Contoh/Template SOP-Downtime-SIMRS.doxc

Untuk mempercepat permintaan akses ke G-Drive silahkan kirim komentar

Fitur utama pada SIMRS (Sistem Informasi Manajemen Rumah Sakit) salah satunya adalah manajemen data pasien. Selanjutnya fitur ini dapat dikembangkan menjadi Rekam Medis Elektronik (RME) yang dapat disesuaikan secara dinamis dengan kebutuhan. Pada umumnya, fitur manajemen data pasien ini tidak lepas dari data informasi lain. Misalnya, referensi data wilayah, validasi nomor identias, nomor BPJS kesehatan dan informasi lain yang sifatnya dinamis (dapat berubah sewaktu-waktu).


Secara singkat, manajemen data pasien adalah sekumpulan proses yang berorientasi pada proses masukan data (input), pembaharuan data (update), penyajian data (output) dan penghapusan data itu sendiri dengan maksud efisiensi ruang penyimpanan. Dalam pengelolaan data pasien, kita akan mengenal dengan istilah nomor rekam medis. Oleh sebab itu, pada kesempatan kali ini kita akan menggunakan nomor rekam medis tersebut sebagai kunci utama (primary key). Selain itu, pengelolaan data pasien secara sistem dapat bertahan lebih lama dibandingkan tanpa menggunakan sistem. Dengan adanya aplikasi SIMRS, membantu unit/divisi rekam medis untuk meningkatkan efisiensi penyimpanan berkas.


Pada artikel kali ini kita akan membahas bagaimana mengembangkan atau membuat fitur manajemen data pasien, yang terintegrasi dengan aplikasi SIMRS berbasis Web yang sudah kita buat pada artikel sebelumnya. Untuk mempermudah penejelasannya, kita akan melanjutkan proyek yang sudah kita buat. Silahkan bagi anda yang belum mengikuti seri belajar sebelumnya dapat membaca artikel pada tautan berikut ini:


Untuk mempersingkat waktu, kita langsung saja masuk ke intinya.


1. Membuat Tabel Pasien dan Wilayah

Buatlah dua buah tabel dengan nama 'pasien' dan 'wilayah'. Masing-masing fungsi tabelnya dijelaskan sebagai berikut.

  • Tabel 'pasien' : Digunakan untuk menyimpan data pasien. Tabel ini merupakan tabel utama yang akan menghasilkan nilai kunci utama untuk nomor rekam medis.

  • Tabel 'wilayah' : Digunakan untuk menyimpan data pasien. Tabel ini merupakan tabel utama yang akan menghasilkan nilai kunci utama untuk nomor rekam medis.

Kedua buah tabel tersebut bisa export langsung dari project yang tersedia di git hub. Silahkan lihat tautan yang ada di akhir artikel ini.


2. Buat Fungsi Untuk Menampilkan Data Sesuai Format

Pada project yang sudah kita buat sebelumnya, lakukan sedikit perubahan pada file yang ada di directory _Config/Function.php berikut ini:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    //Memanggil Detail Data
    function getDataDetail($Conn,$NamaDb,$NamaParam,$IdParam,$Kolom){
        $QryParam = mysqli_query($Conn,"SELECT * FROM $NamaDb WHERE $NamaParam='$IdParam'")or die(mysqli_error($Conn));
        $DataParam = mysqli_fetch_array($QryParam);
        if(empty($DataParam[$Kolom])){
            $Response="";
        }else{
            $Response=$DataParam[$Kolom];
        }
        return $Response;
    }
    //Format Tanggal
    function FormatDateTime($Format,$Tanggal){
        date_default_timezone_set('Asia/Jakarta');
        $strtotime=strtotime($Tanggal);
        $Response=date($Format, $strtotime);
        return $Response;
    }
    //Validasi Input Hanya Boleh Angka Huruf dan Spasi
    function validasiInput($input) {
        // Hanya huruf, angka, dan spasi yang diperbolehkan
        $pattern = '/^[A-Za-z0-9\s]+$/';
        // Lakukan validasi
        if (preg_match($pattern, $input)) {
            $Response="Success";
        } else {
            $Response="Hanya Boleh Huruf, Angka dan Spasi";
        }
        return $Response;
    }
?>


3. Buat Routing Halaman Menuju Halaman Pasien

Buka directory _Partial/RoutingPage.php dan lakukan sedikit perubahan sebagai berikut

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php
    if(empty($_GET['Page'])){
        include "_Page/Beranda/Beranda.php";
    }else{
        $Page=$_GET['Page'];
        if($Page=="Akses"){
            include "_Page/Akses/Akses.php";
        }else{
            if($Page=="Pasien"){
                include "_Page/Pasien/Pasien.php";
            }
        }
    }
?>

Agar setiap event dapat ditangani oleh jQuery buat routing untuk file _Partial/RoutingJs.php berikut ini:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php 
    //Routing File JS Berdasarkan Halaman
    if(empty($_GET['Page'])){
        echo '<script type="text/javascript" src="_Page/Beranda/Beranda.js"></script>';
    }else{
        $Page=$_GET['Page'];
        if($Page=="Akses"){
            echo '<script type="text/javascript" src="_Page/Akses/Akses.js"></script>';
        }else{
            if($Page=="Pasien"){
                echo '<script type="text/javascript" src="_Page/Pasien/Pasien.js"></script>';
            }
        }
    }
?>

Untuk membedakan halaman pasien dengan halaman lain, buat routing pada file _Partial/PageTitle.php berikut ini:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    if(empty($_GET['Page'])){
        echo '<div class="pagetitle">';
        echo '  <h1><i class="bi bi-grid"></i> Dashboard</h1>';
        echo '</div>';
    }else{
        $Page=$_GET['Page'];
        if($Page=="Akses"){
            echo '<div class="pagetitle">';
            echo '  <h1><i class="bi bi-key"></i> Akses</h1>';
            echo '</div>';
        }else{
            if($Page=="Pasien"){
                echo '<div class="pagetitle">';
                echo '  <h1><i class="bi bi-person"></i> Pasien</h1>';
                echo '</div>';
            }
        }
    }
    
?>

Kemudian untuk penanganan form agar lebih efisien, kita buat dalam bentuk halaman modal. Lakukan perubahan pada file _Partial/Modal.php berikut ini:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php
    if(empty($_GET['Page'])){
        include "_Page/Beranda/ModalBeranda.php";
    }else{
        $Page=$_GET['Page'];
        //Nanti Di Routing Fitur Modal atau Popup Di Sini
        if($Page=="Akses"){
            include "_Page/Akses/ModalAkses.php";
        }else{
            if($Page=="Pasien"){
                include "_Page/Pasien/ModalPasien.php";
            }
        }
    }
    //Modal Global
    include "_Page/Logout/ModalLogout.php";
?>


3. Membuat Halaman Utama Pasien

Buat sebuah directory (folder baru) dengan nama 'Pasien' pada folder _Page sehingga susunan directorynya seperti ini:

Buat masing-masing file tersebut dengan script berikut ini:

  • Buat file dengan nama 'FormDetailPasien.php' kemudian ketik / copas script berikut ini:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <?php
        //Koneksi
        date_default_timezone_set('Asia/Jakarta');
        include "../../_Config/Connection.php";
        include "../../_Config/Function.php";
        //Tangkap id_pasien
        if(empty($_POST['id_pasien'])){
            echo '<div class="row">';
            echo '  <div class="col-md-12 text-center text-danger mb-3">';
            echo '      ID Pasien Tidak Boleh Kosong!.';
            echo '  </div>';
            echo '</div>';
        }else{
            $id_pasien=$_POST['id_pasien'];
            $nama=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'nama');
            $nik=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'nik');
            $no_bpjs=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'no_bpjs');
            $kontak=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'kontak');
            $tempat_lahir=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'tempat_lahir');
            $tanggal_lahir=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'tanggal_lahir');
            $gender=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'gender');
            $provinsi=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'provinsi');
            $kabupaten=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'kabupaten');
            $kecamatan=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'kecamatan');
            $desa=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'desa');
            $alamat=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'alamat');
            $golongan_darah=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'golongan_darah');
            $status=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'status');
            $tanggal_daftar=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'tanggal_daftar');
            //Membuka Nama nama wilayah
            $provinsi=getDataDetail($Conn,'wilayah','kode',$provinsi,'nama');
            $kabupaten=getDataDetail($Conn,'wilayah','kode',$kabupaten,'nama');
            $kecamatan=getDataDetail($Conn,'wilayah','kode',$kecamatan,'nama');
            $desa=getDataDetail($Conn,'wilayah','kode',$desa,'nama');
    ?>
        <div class="row mb-3">
            <div class="col-md-4">Nama</div>
            <div class="col-md-8"><code><?php echo "$nama"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">NIK</div>
            <div class="col-md-8"><code><?php echo "$nik"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">No.BPJS</div>
            <div class="col-md-8"><code><?php echo "$no_bpjs"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Kontak</div>
            <div class="col-md-8"><code><?php echo "$kontak"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">TTL</div>
            <div class="col-md-8"><code><?php echo "$tempat_lahir, $tanggal_lahir"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Gender</div>
            <div class="col-md-8"><code><?php echo "$gender"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Provinsi</div>
            <div class="col-md-8"><code><?php echo "$provinsi"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Kabupaten/Kota</div>
            <div class="col-md-8"><code><?php echo "$kabupaten"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Kecamatan</div>
            <div class="col-md-8"><code><?php echo "$kecamatan"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Desa/Kelurahan</div>
            <div class="col-md-8"><code><?php echo "$desa"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Alamat</div>
            <div class="col-md-8"><code><?php echo "$alamat"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Gol.Darah</div>
            <div class="col-md-8"><code><?php echo "$golongan_darah"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Status</div>
            <div class="col-md-8"><code><?php echo "$status"; ?></code></div>
        </div>
        <div class="row mb-3">
            <div class="col-md-4">Tanggal Daftar</div>
            <div class="col-md-8"><code><?php echo "$tanggal_daftar"; ?></code></div>
        </div>
    <?php }?>
    
  • Buat file dengan nama 'FormEditPasien.php' kemudian ketik / copas script berikut ini:
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    <?php
        //Koneksi
        date_default_timezone_set('Asia/Jakarta');
        include "../../_Config/Connection.php";
        include "../../_Config/Function.php";
        //Tangkap id_pasien
        if(empty($_POST['id_pasien'])){
            echo '<div class="row">';
            echo '  <div class="col-md-12 mb-3 text-center text-danger">';
            echo '      ID Pasien Tidak Boleh Kosong!.';
            echo '  </div>';
            echo '</div>';
        }else{
            $id_pasien=$_POST['id_pasien'];
            $nama=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'nama');
            $nik=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'nik');
            $no_bpjs=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'no_bpjs');
            $kontak=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'kontak');
            $tempat_lahir=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'tempat_lahir');
            $tanggal_lahir=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'tanggal_lahir');
            $gender=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'gender');
            $provinsi=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'provinsi');
            $kabupaten=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'kabupaten');
            $kecamatan=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'kecamatan');
            $desa=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'desa');
            $alamat=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'alamat');
            $golongan_darah=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'golongan_darah');
            $status=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'status');
            $tanggal_daftar=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'tanggal_daftar');
            //Menghitung panjang karakter
            $KarNama = strlen($nama);
            $KarTempatLahir = strlen($tanggal_lahir);
            $KarAlamat = strlen($alamat);
    ?>
        <script>
            //Ketika Mengetik nama
            $('#nama2').keyup(function(){
                var textValue = $('#nama2').val();
                //Hitung Jumlah Karakter
                var lengthValue=textValue.length;
                //menampilkan Pada label
                $('#panjang_nama2').html(lengthValue);
                //Batas Krakter Yang diketik
                var maxLength=50;
                if (lengthValue > maxLength) {
                    // Potong teks menjadi maxLength karakter
                    var truncatedText = textValue.substring(0, maxLength);
                    // Atur nilai input menjadi teks yang dipotong
                    $(this).val(truncatedText);
                }
            });
            //Ketika Mengetik tempat_lahir
            $('#tempat_lahir2').keyup(function(){
                var textValue = $('#tempat_lahir2').val();
                //Hitung Jumlah Karakter
                var lengthValue=textValue.length;
                //menampilkan Pada label
                $('#panjang_tempat_lahir2').html(lengthValue);
                //Batas Krakter Yang diketik
                var maxLength=20;
                if (lengthValue > maxLength) {
                    // Potong teks menjadi maxLength karakter
                    var truncatedText = textValue.substring(0, maxLength);
                    // Atur nilai input menjadi teks yang dipotong
                    $(this).val(truncatedText);
                }
            });
            //Ketika Mengetik alamat
            $('#alamat2').keyup(function(){
                var textValue = $('#alamat2').val();
                //Hitung Jumlah Karakter
                var lengthValue=textValue.length;
                //menampilkan Pada label
                $('#panjang_alamat2').html(lengthValue);
                //Batas Krakter Yang diketik
                var maxLength=50;
                if (lengthValue > maxLength) {
                    // Potong teks menjadi maxLength karakter
                    var truncatedText = textValue.substring(0, maxLength);
                    // Atur nilai input menjadi teks yang dipotong
                    $(this).val(truncatedText);
                }
            });
            //propinsi
            $('#propinsi2').change(function(){
                $('#desa2').html("<option>Pilih</option>");
                $('#kecamatan2').html("<option>Pilih</option>");
                $('#kabupaten2').html("<option>Loading..</option>");
                var kategori = "Kota Kabupaten";
                var KodeWilayah = $('#propinsi2').val();
                $.ajax({
                    type 	: 'POST',
                    url 	: '_Page/Pasien/PilihWilayah.php',
                    data 	:  {kategori: kategori, KodeWilayah: KodeWilayah},
                    success : function(data){
                        $('#kabupaten2').html(data);
                    }
                });
            });
            //Kabupaten
            $('#kabupaten2').change(function(){
                $('#desa2').html("<option>Pilih</option>");
                $('#kecamatan2').html("<option>Loading..</option>");
                var kategori = "Kecamatan";
                var KodeWilayah = $('#kabupaten2').val();
                $.ajax({
                    type 	: 'POST',
                    url 	: '_Page/Pasien/PilihWilayah.php',
                    data 	:  {kategori: kategori, KodeWilayah: KodeWilayah},
                    success : function(data){
                        $('#kecamatan2').html(data);
                    }
                });
            });
            //Kecamatan
            $('#kecamatan2').change(function(){
                $('#desa2').html("<option>Loading..</option>");
                var kategori = "Kelurahan";
                var KodeWilayah = $('#kecamatan2').val();
                $.ajax({
                    type 	: 'POST',
                    url 	: '_Page/Pasien/PilihWilayah.php',
                    data 	:  {kategori: kategori, KodeWilayah: KodeWilayah},
                    success : function(data){
                        $('#desa2').html(data);
                    }
                });
            });
        </script>
        <input type="hidden" name="id_pasien" id="id_pasien" value="<?php echo "$id_pasien"; ?>">
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="nama2">Nama Lengkap</label>
            </div>
            <div class="col-md-8">
                <input type="text" name="nama" id="nama2" class="form-control" value="<?php echo "$nama"; ?>">
                <small>
                    <code id="panjang_nama2" class="text-dark"><?php echo $KarNama; ?></code>/<code class="text-info">50</code>
                </small>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="nik">NIK</label>
            </div>
            <div class="col-md-8">
                <input type="text" name="nik" id="nik" class="form-control" value="<?php echo "$nik"; ?>">
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="no_bpjs">No.BPJS</label>
            </div>
            <div class="col-md-8">
                <input type="text" name="no_bpjs" id="no_bpjs" class="form-control" value="<?php echo "$no_bpjs"; ?>">
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="kontak">Nomor Kontak</label>
            </div>
            <div class="col-md-8">
                <input type="text" name="kontak" id="kontak" class="form-control" placeholder="62" value="<?php echo "$kontak"; ?>">
                <small>Hanya boleh angka (maksimal 20 karakter)</small>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="tempat_lahir2">Tempat Lahir</label>
            </div>
            <div class="col-md-8">
                <input type="text" name="tempat_lahir" id="tempat_lahir2" class="form-control" value="<?php echo "$tempat_lahir"; ?>">
                <small>
                    <code id="panjang_tempat_lahir2" class="text-dark"><?php echo $KarTempatLahir; ?></code>/<code class="text-info">20</code>
                </small>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="tanggal_lahir">Tanggal Lahir</label>
            </div>
            <div class="col-md-8">
                <input type="date" name="tanggal_lahir" id="tanggal_lahir" class="form-control" value="<?php echo "$tanggal_lahir"; ?>">
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="gender">Gender</label>
            </div>
            <div class="col-md-8">
                <select name="gender" id="gender" class="form-control">
                    <option <?php if($gender==""){echo "selected";} ?> value="">Pilih</option>
                    <option <?php if($gender=="Perempuan"){echo "selected";} ?> value="Perempuan">Perempuan</option>
                    <option <?php if($gender=="Laki-laki"){echo "selected";} ?> value="Laki-laki">Laki-laki</option>
                </select>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="propinsi2">Provinsi</label>
            </div>
            <div class="col-md-8">
                <select name="propinsi" id="propinsi2" class="form-control">
                    <option value="">Pilih</option>
                    <?php
                        //List Provinsi
                        $query = mysqli_query($Conn, "SELECT*FROM wilayah WHERE kategori='Provinsi' ORDER BY nama ASC");
                        while ($data = mysqli_fetch_array($query)) {
                            $id_wilayah=$data['id_wilayah'];
                            $KodeWilayah=$data['kode'];
                            $NamaWilayah=$data['nama'];
                            if($provinsi==$KodeWilayah){
                                echo '<option selected value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                            }else{
                                echo '<option value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                            }
                        }
                    ?>
                </select>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="kabupaten2">Kabupaten</label>
            </div>
            <div class="col-md-8">
                <select name="kabupaten" id="kabupaten2" class="form-control">
                    <option value="">Pilih</option>
                    <?php
                        if(!empty($provinsi)){
                            //List Kabupaten
                            $query = mysqli_query($Conn, "SELECT*FROM wilayah WHERE kategori='Kota Kabupaten' AND kode like '%$provinsi%' ORDER BY nama ASC");
                            while ($data = mysqli_fetch_array($query)) {
                                $id_wilayah=$data['id_wilayah'];
                                $KodeWilayah=$data['kode'];
                                $NamaWilayah=$data['nama'];
                                if($kabupaten==$KodeWilayah){
                                    echo '<option selected value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                                }else{
                                    echo '<option value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                                }
                            }
                        }
                    ?>
                </select>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="kecamatan2">Kecamatan</label>
            </div>
            <div class="col-md-8">
                <select name="kecamatan" id="kecamatan2" class="form-control">
                    <option value="">Pilih</option>
                    <?php
                        if(!empty($kabupaten)){
                            //List Kabupaten
                            $query = mysqli_query($Conn, "SELECT*FROM wilayah WHERE kategori='Kecamatan' AND kode like '%$kabupaten%' ORDER BY nama ASC");
                            while ($data = mysqli_fetch_array($query)) {
                                $id_wilayah=$data['id_wilayah'];
                                $KodeWilayah=$data['kode'];
                                $NamaWilayah=$data['nama'];
                                if($kecamatan==$KodeWilayah){
                                    echo '<option selected value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                                }else{
                                    echo '<option value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                                }
                            }
                        }
                    ?>
                </select>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="desa2">Desa</label>
            </div>
            <div class="col-md-8">
                <select name="desa" id="desa2" class="form-control">
                    <option value="">Pilih</option>
                    <?php
                        if(!empty($kecamatan)){
                            //List Desa
                            $query = mysqli_query($Conn, "SELECT*FROM wilayah WHERE kategori='Kelurahan' AND kode like '%$kecamatan%' ORDER BY nama ASC");
                            while ($data = mysqli_fetch_array($query)) {
                                $id_wilayah=$data['id_wilayah'];
                                $KodeWilayah=$data['kode'];
                                $NamaWilayah=$data['nama'];
                                if($desa==$KodeWilayah){
                                    echo '<option selected value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                                }else{
                                    echo '<option value="'.$KodeWilayah.'">'.$NamaWilayah.'</option>';
                                }
                            }
                        }
                    ?>
                </select>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="alamat2">Alamat</label>
            </div>
            <div class="col-md-8">
                <textarea name="alamat" id="alamat2" class="form-control"><?php echo $alamat; ?></textarea>
                <code id="panjang_alamat2" class="text-dark"><?php echo $KarAlamat; ?></code>/<code class="text-info">50</code>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="golongan_darah">Golongan Darah</label>
            </div>
            <div class="col-md-8">
                <select name="golongan_darah" id="golongan_darah" class="form-control">
                    <option <?php if($golongan_darah==""){echo "selected";} ?> value="">Pilih</option>
                    <option <?php if($golongan_darah=="A"){echo "selected";} ?> value="A">A</option>
                    <option <?php if($golongan_darah=="B"){echo "selected";} ?> value="B">B</option>
                    <option <?php if($golongan_darah=="AB"){echo "selected";} ?> value="AB">AB</option>
                    <option <?php if($golongan_darah=="O"){echo "selected";} ?> value="O">O</option>
                </select>
            </div>
        </div>
        <div class="row mb-4">
            <div class="col-md-4">
                <label for="status">Satatus Pasien</label>
            </div>
            <div class="col-md-8">
                <select name="status" id="status" class="form-control">
                    <option <?php if($status==""){echo "selected";} ?> value="">Pilih</option>
                    <option <?php if($status=="Aktiv"){echo "selected";} ?> value="Aktiv">Aktiv</option>
                    <option <?php if($status=="Non Aktiv"){echo "selected";} ?> value="Non Aktiv">Non Aktiv</option>
                </select>
            </div>
        </div>
    <?php }?>
    
  • Buat file dengan nama 'FormKeyword.php' kemudian ketik / copas script berikut ini:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php
        include "../../_Config/Connection.php";
        if(empty($_POST['keyword_by'])){
            echo '<label for="keyword">Kata Kunci</label>';
            echo '<input type="text" name="keyword" id="keyword" class="form-control">';
        }else{
            $keyword_by=$_POST['keyword_by'];
            if($keyword_by=="gender"){
                echo '<label for="keyword">Kata Kunci</label>';
                echo '<select name="keyword" id="keyword" class="form-control">';
                echo '  <option value="">Pilih</option>';
                echo '  <option value="Perempuan">Perempuan</option>';
                echo '  <option value="Laki-laki">Laki-laki</option>';
                echo '</select>';
            }else{
                if($keyword_by=="status"){
                    echo '<label for="keyword">Kata Kunci</label>';
                    echo '<select name="keyword" id="keyword" class="form-control">';
                    echo '  <option value="">Pilih</option>';
                    echo '  <option value="Aktiv">Aktiv</option>';
                    echo '  <option value="Non Aktiv">Non Aktiv</option>';
                    echo '</select>';
                }else{
                    if($keyword_by=="golongan_darah"){
                        echo '<label for="keyword">Kata Kunci</label>';
                        echo '<select name="keyword" id="keyword" class="form-control">';
                        echo '  <option value="">Pilih</option>';
                        echo '  <option value="A">A</option>';
                        echo '  <option value="B">B</option>';
                        echo '  <option value="AB">AB</option>';
                        echo '  <option value="O">O</option>';
                        echo '</select>';
                    }else{
                        if($keyword_by=="tanggal_daftar"){
                            echo '<label for="keyword">Kata Kunci</label>';
                            echo '<input type="date" name="keyword" id="keyword" class="form-control">';
                        }else{
                            echo '<label for="keyword">Kata Kunci</label>';
                            echo '<input type="text" name="keyword" id="keyword" class="form-control">';
                        }
                    }
                }
            }
        }
    ?>
    
  • Buat file dengan nama 'ModalPasien.php' kemudian ketik / copas script berikut ini:
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    <div class="modal fade" id="ModalTambahPasien" tabindex="-1">
        <div class="modal-dialog modal-lg">
            <div class="modal-content">
                <form action="javascript:void(0);" id="ProsesTambahPasien">
                    <div class="modal-header">
                        <h5 class="modal-title text-dark"><i class="bi bi-plus"></i> Tambah Pasien</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="nama">Nama Lengkap</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" name="nama" id="nama" class="form-control">
                                <small>
                                    <code id="panjang_nama" class="text-dark">0</code>/<code class="text-info">50</code>
                                </small>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="nik">NIK</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" name="nik" id="nik" class="form-control">
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="no_bpjs">No.BPJS</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" name="no_bpjs" id="no_bpjs" class="form-control">
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="kontak">Nomor Kontak</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" name="kontak" id="kontak" class="form-control" placeholder="62">
                                <small>Hanya boleh angka (maksimal 20 karakter)</small>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="tempat_lahir">Tempat Lahir</label>
                            </div>
                            <div class="col-md-8">
                                <input type="text" name="tempat_lahir" id="tempat_lahir" class="form-control">
                                <small>
                                    <code id="panjang_tempat_lahir" class="text-dark">0</code>/<code class="text-info">20</code>
                                </small>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="tanggal_lahir">Tanggal Lahir</label>
                            </div>
                            <div class="col-md-8">
                                <input type="date" name="tanggal_lahir" id="tanggal_lahir" class="form-control">
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="gender">Gender</label>
                            </div>
                            <div class="col-md-8">
                                <select name="gender" id="gender" class="form-control">
                                    <option value="">Pilih</option>
                                    <option value="Perempuan">Perempuan</option>
                                    <option value="Laki-laki">Laki-laki</option>
                                </select>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="propinsi">Provinsi</label>
                            </div>
                            <div class="col-md-8">
                                <select name="propinsi" id="propinsi" class="form-control">
                                    <option value="">Pilih</option>
                                    <?php
                                        //List Provinsi
                                        $query = mysqli_query($Conn, "SELECT*FROM wilayah WHERE kategori='Provinsi' ORDER BY nama ASC");
                                        while ($data = mysqli_fetch_array($query)) {
                                            $id_wilayah=$data['id_wilayah'];
                                            $kode=$data['kode'];
                                            $nama=$data['nama'];
                                            echo '<option value="'.$kode.'">'.$nama.'</option>';
                                        }
                                    ?>
                                </select>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="kabupaten">Kabupaten</label>
                            </div>
                            <div class="col-md-8">
                                <select name="kabupaten" id="kabupaten" class="form-control">
                                    <option value="">Pilih</option>
                                </select>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="kecamatan">Kecamatan</label>
                            </div>
                            <div class="col-md-8">
                                <select name="kecamatan" id="kecamatan" class="form-control">
                                    <option value="">Pilih</option>
                                </select>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="desa">Desa</label>
                            </div>
                            <div class="col-md-8">
                                <select name="desa" id="desa" class="form-control">
                                    <option value="">Pilih</option>
                                </select>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="alamat">Alamat</label>
                            </div>
                            <div class="col-md-8">
                                <textarea name="alamat" id="alamat" class="form-control"></textarea>
                                <code id="panjang_alamat" class="text-dark">0</code>/<code class="text-info">50</code>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="golongan_darah">Golongan Darah</label>
                            </div>
                            <div class="col-md-8">
                                <select name="golongan_darah" id="golongan_darah" class="form-control">
                                    <option value="">Pilih</option>
                                    <option value="A">A</option>
                                    <option value="B">B</option>
                                    <option value="AB">AB</option>
                                    <option value="O">O</option>
                                </select>
                            </div>
                        </div>
                        <div class="row mb-4">
                            <div class="col-md-4">
                                <label for="status">Satatus Pasien</label>
                            </div>
                            <div class="col-md-8">
                                <select name="status" id="status" class="form-control">
                                    <option value="">Pilih</option>
                                    <option value="Aktiv">Aktiv</option>
                                    <option value="Non Aktiv">Non Aktiv</option>
                                </select>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12 mt-3" id="NotifikasiTambahPasien">
                                <small><code class="text-primary">Pastkan data pasien yang anda input sudah benar</code></small>
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="submit" class="btn btn-success btn-rounded">
                            <i class="bi bi-save"></i> Simpan
                        </button>
                        <button type="button" class="btn btn-dark btn-rounded" data-bs-dismiss="modal">
                            <i class="bi bi-x-circle"></i> Tutup
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <div class="modal fade" id="ModalDetailPasien" tabindex="-1">
        <div class="modal-dialog modal-md">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title text-dark"><i class="bi bi-info-circle"></i> Detail Pasien</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body" id="FormDetailPasien">
                    <!-- Menampilkan Detail pasien Disini -->
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-dark btn-rounded" data-bs-dismiss="modal">
                        <i class="bi bi-x-circle"></i> Tutup
                    </button>
                </div>
            </div>
        </div>
    </div>
    <div class="modal fade" id="ModalEditPasien" tabindex="-1">
        <div class="modal-dialog modal-lg">
            <div class="modal-content">
                <form action="javascript:void(0);" id="ProsesEditPasien">
                    <div class="modal-header">
                        <h5 class="modal-title text-dark"><i class="bi bi-pencil-square"></i> Edit Pasien</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        <div id="FormEditPasien">
                            <!-- Form Edit Pasien -->
                        </div>
                        <div class="row">
                            <div class="col-md-12 mt-3" id="NotifikasiEditPasien">
                                <small><code class="text-primary">Pastkan data pasien yang anda input sudah benar</code></small>
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="submit" class="btn btn-success btn-rounded">
                            <i class="bi bi-save"></i> Simpan
                        </button>
                        <button type="button" class="btn btn-dark btn-rounded" data-bs-dismiss="modal">
                            <i class="bi bi-x-circle"></i> Tutup
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <div class="modal fade" id="ModalHapusPasien" tabindex="-1">
        <div class="modal-dialog modal-sm">
            <div class="modal-content">
                <form action="javascript:void(0);" id="ProsesHapusPasien">
                    <div class="modal-header">
                        <h5 class="modal-title text-dark"><i class="bi bi-trash"></i> Hapus Pasien</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        <input type="hidden" name="id_pasien" id="PutIdPasien">
                        <div class="row">
                            <div class="col-md-12 text-center mt-3">
                                <img src="assets/img/delete.gif" width="80%">
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12 mt-3" id="NotifikasiHapusPasien">
                                <small><code class="text-primary">Apakah anda yakin akan menghapus data ini?</code></small>
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="submit" class="btn btn-success btn-rounded">
                            <i class="bi bi-check"></i> Ya, Hapus
                        </button>
                        <button type="button" class="btn btn-dark btn-rounded" data-bs-dismiss="modal">
                            <i class="bi bi-x-circle"></i> Tutup
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>
    
  • Buat file dengan nama 'Pasien.js' kemudian ketik / copas script berikut ini:
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    //Menampilkan Akses Pertama Kali
    $('#MenampilkanTabelPasien').html("Loading...");
    var ProsesBatas = $('#ProsesBatas').serialize();
    $.ajax({
        type 	    : 'POST',
        url 	    : '_Page/Pasien/TabelPasien.php',
        data 	    :  ProsesBatas,
        success     : function(data){
            $('#MenampilkanTabelPasien').html(data);
        }
    });
    //Ketika Batas Data Diubah
    $('#batas').change(function(){
        var ProsesBatas = $('#ProsesBatas').serialize();
        $('#MenampilkanTabelPasien').html('Loading...');
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/TabelPasien.php',
            data 	    :  ProsesBatas,
            success     : function(data){
                $('#MenampilkanTabelPasien').html(data);
            }
        });
    });
    //Ketika keyword_by
    $('#keyword_by').change(function(){
        var keyword_by = $('#keyword_by').val();
        $('#FormKeyword').html('Loading...');
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/FormKeyword.php',
            data 	    :  {keyword_by: keyword_by},
            success     : function(data){
                $('#FormKeyword').html(data);
            }
        });
    });
    //Ketika Submit Proses Filter Dan Pencarian
    $('#ProsesBatas').submit(function(){
        var ProsesBatas = $('#ProsesBatas').serialize();
        $('#MenampilkanTabelPasien').html('Loading...');
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/TabelPasien.php',
            data 	    :  ProsesBatas,
            success     : function(data){
                $('#MenampilkanTabelPasien').html(data);
            }
        });
    });
    //Ketika Modal Tambah Pasien Muncul
    $('#ModalTambahPasien').on('show.bs.modal', function (e) {
        $('#NotifikasiTambahPasien').html('<small><code class="text-primary">Pastkan data pasien yang anda input sudah benar</code></small>');
    });
    //Ketika Mengetik nama
    $('#nama').keyup(function(){
        var textValue = $('#nama').val();
        //Hitung Jumlah Karakter
        var lengthValue=textValue.length;
        //menampilkan Pada label
        $('#panjang_nama').html(lengthValue);
        //Batas Krakter Yang diketik
        var maxLength=50;
        if (lengthValue > maxLength) {
            // Potong teks menjadi maxLength karakter
            var truncatedText = textValue.substring(0, maxLength);
            // Atur nilai input menjadi teks yang dipotong
            $(this).val(truncatedText);
        }
    });
    //Ketika Mengetik tempat_lahir
    $('#tempat_lahir').keyup(function(){
        var textValue = $('#tempat_lahir').val();
        //Hitung Jumlah Karakter
        var lengthValue=textValue.length;
        //menampilkan Pada label
        $('#panjang_tempat_lahir').html(lengthValue);
        //Batas Krakter Yang diketik
        var maxLength=20;
        if (lengthValue > maxLength) {
            // Potong teks menjadi maxLength karakter
            var truncatedText = textValue.substring(0, maxLength);
            // Atur nilai input menjadi teks yang dipotong
            $(this).val(truncatedText);
        }
    });
    //Ketika Mengetik alamat
    $('#alamat').keyup(function(){
        var textValue = $('#alamat').val();
        //Hitung Jumlah Karakter
        var lengthValue=textValue.length;
        //menampilkan Pada label
        $('#panjang_alamat').html(lengthValue);
        //Batas Krakter Yang diketik
        var maxLength=50;
        if (lengthValue > maxLength) {
            // Potong teks menjadi maxLength karakter
            var truncatedText = textValue.substring(0, maxLength);
            // Atur nilai input menjadi teks yang dipotong
            $(this).val(truncatedText);
        }
    });
    //propinsi
    $('#propinsi').change(function(){
        $('#desa').html("<option>Pilih</option>");
        $('#kecamatan').html("<option>Pilih</option>");
        $('#kabupaten').html("<option>Loading..</option>");
        var kategori = "Kota Kabupaten";
        var KodeWilayah = $('#propinsi').val();
        $.ajax({
            type 	: 'POST',
            url 	: '_Page/Pasien/PilihWilayah.php',
            data 	:  {kategori: kategori, KodeWilayah: KodeWilayah},
            success : function(data){
                $('#kabupaten').html(data);
            }
        });
    });
    //Kabupaten
    $('#kabupaten').change(function(){
        $('#desa').html("<option>Pilih</option>");
        $('#kecamatan').html("<option>Loading..</option>");
        var kategori = "Kecamatan";
        var KodeWilayah = $('#kabupaten').val();
        $.ajax({
            type 	: 'POST',
            url 	: '_Page/Pasien/PilihWilayah.php',
            data 	:  {kategori: kategori, KodeWilayah: KodeWilayah},
            success : function(data){
                $('#kecamatan').html(data);
            }
        });
    });
    //Kecamatan
    $('#kecamatan').change(function(){
        $('#desa').html("<option>Loading..</option>");
        var kategori = "Kelurahan";
        var KodeWilayah = $('#kecamatan').val();
        $.ajax({
            type 	: 'POST',
            url 	: '_Page/Pasien/PilihWilayah.php',
            data 	:  {kategori: kategori, KodeWilayah: KodeWilayah},
            success : function(data){
                $('#desa').html(data);
            }
        });
    });
    //Ketika Proses Submit Tambah Pasien
    $('#ProsesTambahPasien').submit(function(){
        $('#NotifikasiTambahPasien').html('<div class="spinner-border text-secondary" role="status"><span class="sr-only"></span></div>');
        var form = $('#ProsesTambahPasien')[0];
        var data = new FormData(form);
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/ProsesTambahPasien.php',
            data 	    :  data,
            cache       : false,
            processData : false,
            contentType : false,
            enctype     : 'multipart/form-data',
            success     : function(data){
                $('#NotifikasiTambahPasien').html(data);
                var NotifikasiTambahPasienBerhasil=$('#NotifikasiTambahPasienBerhasil').html();
                if(NotifikasiTambahPasienBerhasil=="Success"){
                    //Menutup Modal
                    $('#ModalTambahPasien').modal('hide');
                    //Reset Form Tambah
                    $('#ProsesTambahPasien')[0].reset();
                    //Reset Form Filter Data
                    $('#ProsesBatas')[0].reset();
                    //Menampilkan Data
                    var ProsesBatas = $('#ProsesBatas').serialize();
                    $.ajax({
                        type 	    : 'POST',
                        url 	    : '_Page/Pasien/TabelPasien.php',
                        data 	    :  ProsesBatas,
                        success     : function(data){
                            $('#MenampilkanTabelPasien').html(data);
                        }
                    });
                    //Menampilkan Swal
                    swal("Berhasil!", "Tambah Pasien Berhasil", "success");
                }
            }
        });
    });
    //Modal Detail Pasien
    $('#ModalDetailPasien').on('show.bs.modal', function (e) {
        var id_pasien = $(e.relatedTarget).data('id');
        $('#FormDetailPasien').html("Loading...");
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/FormDetailPasien.php',
            data        : {id_pasien: id_pasien},
            success     : function(data){
                $('#FormDetailPasien').html(data);
            }
        });
    });
    //Modal Edit Pasien
    $('#ModalEditPasien').on('show.bs.modal', function (e) {
        var id_pasien = $(e.relatedTarget).data('id');
        $('#FormEditPasien').html("Loading...");
        $('#NotifikasiEditPasien').html('<small><code class="text-primary">Pastkan data pasien yang anda input sudah benar</code></small>');
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/FormEditPasien.php',
            data        : {id_pasien: id_pasien},
            success     : function(data){
                $('#FormEditPasien').html(data);
            }
        });
    });
    //Ketika Proses Submit Edit Pasien
    $('#ProsesEditPasien').submit(function(){
        $('#NotifikasiEditPasien').html('<div class="spinner-border text-secondary" role="status"><span class="sr-only"></span></div>');
        var form = $('#ProsesEditPasien')[0];
        var data = new FormData(form);
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/ProsesEditPasien.php',
            data 	    :  data,
            cache       : false,
            processData : false,
            contentType : false,
            enctype     : 'multipart/form-data',
            success     : function(data){
                $('#NotifikasiEditPasien').html(data);
                var NotifikasiEditPasienBerhasil=$('#NotifikasiEditPasienBerhasil').html();
                if(NotifikasiEditPasienBerhasil=="Success"){
                    //Menutup Modal
                    $('#ModalEditPasien').modal('hide');
                    //Reset Form Edit
                    $('#ProsesEditPasien')[0].reset();
                    //Menampilkan Data
                    var ProsesBatas = $('#ProsesBatas').serialize();
                    $.ajax({
                        type 	    : 'POST',
                        url 	    : '_Page/Pasien/TabelPasien.php',
                        data 	    :  ProsesBatas,
                        success     : function(data){
                            $('#MenampilkanTabelPasien').html(data);
                        }
                    });
                    //Menampilkan Swal
                    swal("Berhasil!", "Edit Pasien Berhasil", "success");
                }
            }
        });
    });
    //Modal Hapus Pasien
    $('#ModalHapusPasien').on('show.bs.modal', function (e) {
        var id_pasien = $(e.relatedTarget).data('id');
        $('#PutIdPasien').val(id_pasien);
        $('#NotifikasiHapusPasien').html('<small><code class="text-primary">Apakah anda yakin akan menghapus data ini?</code></small>');
    });
    //Ketika Proses Submit Hapus Pasien
    $('#ProsesHapusPasien').submit(function(){
        $('#NotifikasiHapusPasien').html('<div class="spinner-border text-secondary" role="status"><span class="sr-only"></span></div>');
        var form = $('#ProsesHapusPasien')[0];
        var data = new FormData(form);
        $.ajax({
            type 	    : 'POST',
            url 	    : '_Page/Pasien/ProsesHapusPasien.php',
            data 	    :  data,
            cache       : false,
            processData : false,
            contentType : false,
            enctype     : 'multipart/form-data',
            success     : function(data){
                $('#NotifikasiHapusPasien').html(data);
                var NotifikasiHapusPasienBerhasil=$('#NotifikasiHapusPasienBerhasil').html();
                if(NotifikasiHapusPasienBerhasil=="Success"){
                    //Menutup Modal
                    $('#ModalHapusPasien').modal('hide');
                    //Reset Form Hapus
                    $('#ProsesHapusPasien')[0].reset();
                    //Menampilkan Data
                    var ProsesBatas = $('#ProsesBatas').serialize();
                    $.ajax({
                        type 	    : 'POST',
                        url 	    : '_Page/Pasien/TabelPasien.php',
                        data 	    :  ProsesBatas,
                        success     : function(data){
                            $('#MenampilkanTabelPasien').html(data);
                        }
                    });
                    //Menampilkan Swal
                    swal("Berhasil!", "Hapus Pasien Berhasil", "success");
                }
            }
        });
    });
    
  • Buat file dengan nama 'Pasien.php' kemudian ketik / copas script berikut ini:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    <?php
        //Routing Halaman Sub Pasien
        if(empty($_GET['Sub'])){
            include "_Page/Pasien/PasienHome.php";
        }else{
            $Sub=$_GET['Sub'];
            if($Sub=="DetailPasien"){
                include "_Page/Pasien/DetailPasien.php";
            }else{
               
            }
        }
    ?>
    
  • Buat file dengan nama 'PasienHome.php' kemudian ketik / copas script berikut ini:
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    <section class="section dashboard mb-4">
        <div class="row">
            <div class="col-md-3">
                <div class="card">
                    <div class="card-body">
                        <div class="accordion accordion-flush mb-3 border-bottom" id="accordionFlushExample">
                            <div class="accordion-item">
                                <h2 class="accordion-header" id="flush-headingOne"> 
                                    <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse1" aria-expanded="false" aria-controls="flush-collapse1"> 
                                        Filter & Pencarian
                                    </button>
                                </h2>
                                <div id="flush-collapse1" class="accordion-collapse collapse" aria-labelledby="flush-headingOne" data-bs-parent="#accordionFlushExample" style="">
                                    <div class="accordion-body">
                                        <form action="javascript:void(0);" id="ProsesBatas" autocomplete="off">
                                            <input type="hidden" name="page" id="page" value="1">
                                            <div class="row mb-3 mt-3">
                                                <div class="col-md-12 mb-2">
                                                    <label for="batas">Data</label>
                                                    <select name="batas" id="batas" class="form-control">
                                                        <option value="5">5</option>
                                                        <option selected value="10">10</option>
                                                        <option value="25">25</option>
                                                        <option value="50">50</option>
                                                        <option value="100">100</option>
                                                        <option value="250">250</option>
                                                        <option value="500">500</option>
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="row mb-3">
                                                <div class="col-md-12 mb-2">
                                                    <label for="ShortBy">Mode Urutan</label>
                                                    <select name="ShortBy" id="ShortBy" class="form-control">
                                                        <option value="DESC">Z to A</option>
                                                        <option value="ASC">A to Z</option>
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="row mb-3">
                                                <div class="col-md-12 mb-2">
                                                    <label for="OrderBy">Dasar Urutan</label>
                                                    <select name="OrderBy" id="OrderBy" class="form-control">
                                                        <option value="">Pilih</option>
                                                        <option value="nama">Nama</option>
                                                        <option value="nik">NIK</option>
                                                        <option value="no_bpjs">No BPJS</option>
                                                        <option value="kontak">Kontak</option>
                                                        <option value="gender">Gender</option>
                                                        <option value="alamat">Alamat</option>
                                                        <option value="golongan_darah">Golongan Darah</option>
                                                        <option value="status">Status</option>
                                                        <option value="tanggal_daftar">Tanggal Daftar</option>
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="row mb-3">
                                                <div class="col-md-12 mb-2">
                                                    <label for="keyword_by">Dasar Pencarian</label>
                                                    <select name="keyword_by" id="keyword_by" class="form-control">
                                                        <option value="">Pilih</option>
                                                        <option value="nama">Nama</option>
                                                        <option value="nik">NIK</option>
                                                        <option value="no_bpjs">No BPJS</option>
                                                        <option value="kontak">Kontak</option>
                                                        <option value="gender">Gender</option>
                                                        <option value="alamat">Alamat</option>
                                                        <option value="golongan_darah">Golongan Darah</option>
                                                        <option value="status">Status</option>
                                                        <option value="tanggal_daftar">Tanggal Daftar</option>
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="row mb-3">
                                                <div class="col-md-12 mb-2" id="FormKeyword">
                                                    <label for="keyword">Kata Kunci</label>
                                                    <input type="text" name="keyword" id="keyword" class="form-control">
                                                </div>
                                            </div>
                                            <div class="row mb-3">
                                                <div class="col-md-12 mb-2">
                                                    <button type="submit" class="btn btn-md btn-dark btn-block btn-rounded">
                                                        <i class="bi bi-search"></i> Cari
                                                    </button>
                                                </div>
                                            </div>
                                        </form>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row mb-3">
                            <div class="col-md-12 mb-2">
                                <button type="button" class="btn btn-md btn-primary btn-block btn-rounded" data-bs-toggle="modal" data-bs-target="#ModalTambahPasien">
                                    <i class="bi bi-plus"></i> Tambah Pasien
                                </button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="col-lg-9" id="MenampilkanTabelPasien">
                
            </div>
        </div>
    </section>
    
  • Buat file dengan nama 'PilihWilayah.php' kemudian ketik / copas script berikut ini:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
        include "../../_Config/Connection.php";
        if(!empty($_POST["kategori"])){
            if(!empty($_POST["KodeWilayah"])){
                $kategori=$_POST["kategori"];
                $KodeWilayah=$_POST["KodeWilayah"];
                echo '<option>Pilih</option>';
                $Qry = mysqli_query($Conn, "SELECT * FROM wilayah WHERE kategori='$kategori' AND kode like '%$KodeWilayah%' ORDER BY nama ASC");
                while ($data = mysqli_fetch_array($Qry)) {
                    $id_wilayah= $data['id_wilayah'];
                    $kode= $data['kode'];
                    $nama= $data['nama'];
                    if(!empty($data['id_wilayah'])){
                        echo '<option value="'.$kode.'">'.$nama.'</option>';
                    }
                }
            }
        }
    ?>
    
  • Buat file dengan nama 'ProsesEditPasien.php' kemudian ketik / copas script berikut ini:
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php
        //Koneksi
        include "../../_Config/Connection.php";
        include "../../_Config/Session.php";
        include "../../_Config/Function.php";
        date_default_timezone_set('Asia/Jakarta');
        $tanggal_daftar=date('Y-m-d H:i:s');
        //Validasi nama tidak boleh kosong
        if(empty($_POST['nama'])){
            echo '<small><code class="text-danger">Nama tidak boleh kosong!</code></small>';
        }else{
            //Validasi gender tidak boleh kosong
            if(empty($_POST['gender'])){
                echo '<small><code class="text-danger">Gender pasien tidak boleh kosong!</code></small>';
            }else{
                //Validasi status tidak boleh kosong
                if(empty($_POST['status'])){
                    echo '<small><code class="text-danger">Status pasien tidak boleh kosong!</code></small>';
                }else{
                    //Validasi id_pasien tidak boleh kosong
                    if(empty($_POST['id_pasien'])){
                        echo '<small><code class="text-danger">ID pasien tidak boleh kosong!</code></small>';
                    }else{
                        //Variabel Lainnya
                        $id_pasien=$_POST['id_pasien'];
                        $nama=$_POST['nama'];
                        $gender=$_POST['gender'];
                        $status=$_POST['status'];
                        //Menangkap Variabel Lainnya yang tidak wajib diisi
                        if(empty($_POST['nik'])){
                            $nik="";
                            $ValidasiNik="";
                        }else{
                            $nik=$_POST['nik'];
                            $NikLama=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'nik');
                            if($NikLama==$nik){
                                $ValidasiNik="";
                            }else{
                                $ValidasiNik=getDataDetail($Conn,'pasien','nik',$nik,'nik');
                            }
                        }
                        if(empty($_POST['no_bpjs'])){
                            $no_bpjs="";
                            $ValidasiNoBpjs="";
                        }else{
                            $no_bpjs=$_POST['no_bpjs'];
                            $NoBpjsLama=getDataDetail($Conn,'pasien','id_pasien',$id_pasien,'no_bpjs');
                            if($NoBpjsLama==$no_bpjs){
                                $ValidasiNoBpjs="";
                            }else{
                                $ValidasiNoBpjs=getDataDetail($Conn,'pasien','no_bpjs',$no_bpjs,'no_bpjs');
                            }
                            
                        }
                        if(empty($_POST['kontak'])){
                            $kontak="";
                        }else{
                            $kontak=$_POST['kontak'];
                        }
                        if(empty($_POST['tempat_lahir'])){
                            $tempat_lahir="";
                        }else{
                            $tempat_lahir=$_POST['tempat_lahir'];
                        }
                        if(empty($_POST['tanggal_lahir'])){
                            $tanggal_lahir="";
                        }else{
                            $tanggal_lahir=$_POST['tanggal_lahir'];
                        }
                        if(empty($_POST['propinsi'])){
                            $provinsi="";
                        }else{
                            $provinsi=$_POST['propinsi'];
                        }
                        if(empty($_POST['kabupaten'])){
                            $kabupaten="";
                        }else{
                            $kabupaten=$_POST['kabupaten'];
                        }
                        if(empty($_POST['kecamatan'])){
                            $kecamatan="";
                        }else{
                            $kecamatan=$_POST['kecamatan'];
                        }
                        if(empty($_POST['desa'])){
                            $desa="";
                        }else{
                            $desa=$_POST['desa'];
                        }
                        if(empty($_POST['alamat'])){
                            $alamat="";
                        }else{
                            $alamat=$_POST['alamat'];
                        }
                        if(empty($_POST['golongan_darah'])){
                            $golongan_darah="";
                        }else{
                            $golongan_darah=$_POST['golongan_darah'];
                        }
                        //Validasi Nik Duplikat
                        if(!empty($ValidasiNik)){
                            echo '<small><code class="text-danger">NIK yang anda input sudah terdaftar!</code></small>';
                        }else{
                            //Validasi no_bpjs Duplikat
                            if(!empty($ValidasiNoBpjs)){
                                echo '<small><code class="text-danger">No. BPJS yang anda input sudah terdaftar!</code></small>';
                            }else{
                                //Simpan Data
                                $UpdatePasien = mysqli_query($Conn,"UPDATE pasien SET 
                                    nama='$nama',
                                    nik='$nik',
                                    no_bpjs='$no_bpjs',
                                    kontak='$kontak',
                                    tempat_lahir='$tempat_lahir',
                                    tanggal_lahir='$tanggal_lahir',
                                    gender='$gender',
                                    provinsi='$provinsi',
                                    kabupaten='$kabupaten',
                                    kecamatan='$kecamatan',
                                    desa='$desa',
                                    alamat='$alamat',
                                    golongan_darah='$golongan_darah',
                                    status='$status',
                                    tanggal_daftar='$tanggal_daftar'
                                WHERE id_pasien='$id_pasien'") or die(mysqli_error($Conn)); 
                                if($UpdatePasien){
                                    echo '<small class="text-success" id="NotifikasiEditPasienBerhasil">Success</small>';
                                }else{
                                    echo '<small class="text-danger">Terjadi kesalahan pada saat menyimpan data</small>';
                                }
                            }
                        }
                    }
                }
            }
        }
    ?>
    
  • Buat file dengan nama 'ProsesHapusPasien.php' kemudian ketik / copas script berikut ini:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    <?php
        //Connection
        include "../../_Config/Connection.php";
        if(empty($_POST['id_pasien'])){
            echo '<span class="text-danger">ID Pasien tidak dapat ditangkap oleh sistem</span>';
        }else{
            $id_pasien=$_POST['id_pasien'];
            //Proses hapus data
            $HapusPasien = mysqli_query($Conn, "DELETE FROM pasien WHERE id_pasien='$id_pasien'") or die(mysqli_error($Conn));
            if ($HapusPasien) {
                echo '<span class="text-success" id="NotifikasiHapusPasienBerhasil">Success</span>';
            }else{
                echo '<span class="text-danger">Hapus Data Gagal</span>';
            }
        }
    ?>
    
  • Buat file dengan nama 'ProsesTambahPasien.php' kemudian ketik / copas script berikut ini:
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php
        //Koneksi
        include "../../_Config/Connection.php";
        include "../../_Config/Session.php";
        include "../../_Config/Function.php";
        date_default_timezone_set('Asia/Jakarta');
        $tanggal_daftar=date('Y-m-d H:i:s');
        //Validasi nama tidak boleh kosong
        if(empty($_POST['nama'])){
            echo '<small><code class="text-danger">Nama tidak boleh kosong!</code></small>';
        }else{
            //Validasi gender tidak boleh kosong
            if(empty($_POST['gender'])){
                echo '<small><code class="text-danger">Gender pasien tidak boleh kosong!</code></small>';
            }else{
                //Validasi status tidak boleh kosong
                if(empty($_POST['status'])){
                    echo '<small><code class="text-danger">Status pasien tidak boleh kosong!</code></small>';
                }else{
                    //Variabel Lainnya
                    $nama=$_POST['nama'];
                    $gender=$_POST['gender'];
                    $status=$_POST['status'];
                    //Menangkap Variabel Lainnya yang tidak wajib diisi
                    if(empty($_POST['nik'])){
                        $nik="";
                        $ValidasiNik="";
                    }else{
                        $nik=$_POST['nik'];
                        $ValidasiNik=getDataDetail($Conn,'pasien','nik',$nik,'nik');
                    }
                    if(empty($_POST['no_bpjs'])){
                        $no_bpjs="";
                        $ValidasiNoBpjs="";
                    }else{
                        $no_bpjs=$_POST['no_bpjs'];
                        $ValidasiNoBpjs=getDataDetail($Conn,'pasien','no_bpjs',$no_bpjs,'no_bpjs');
                    }
                    if(empty($_POST['kontak'])){
                        $kontak="";
                    }else{
                        $kontak=$_POST['kontak'];
                    }
                    if(empty($_POST['tempat_lahir'])){
                        $tempat_lahir="";
                    }else{
                        $tempat_lahir=$_POST['tempat_lahir'];
                    }
                    if(empty($_POST['tanggal_lahir'])){
                        $tanggal_lahir="";
                    }else{
                        $tanggal_lahir=$_POST['tanggal_lahir'];
                    }
                    if(empty($_POST['propinsi'])){
                        $provinsi="";
                    }else{
                        $provinsi=$_POST['propinsi'];
                    }
                    if(empty($_POST['kabupaten'])){
                        $kabupaten="";
                    }else{
                        $kabupaten=$_POST['kabupaten'];
                    }
                    if(empty($_POST['kecamatan'])){
                        $kecamatan="";
                    }else{
                        $kecamatan=$_POST['kecamatan'];
                    }
                    if(empty($_POST['desa'])){
                        $desa="";
                    }else{
                        $desa=$_POST['desa'];
                    }
                    if(empty($_POST['alamat'])){
                        $alamat="";
                    }else{
                        $alamat=$_POST['alamat'];
                    }
                    if(empty($_POST['golongan_darah'])){
                        $golongan_darah="";
                    }else{
                        $golongan_darah=$_POST['golongan_darah'];
                    }
                    //Validasi Nik Duplikat
                    if(!empty($ValidasiNik)){
                        echo '<small><code class="text-danger">NIK yang anda input sudah terdaftar!</code></small>';
                    }else{
                        //Validasi no_bpjs Duplikat
                        if(!empty($ValidasiNoBpjs)){
                            echo '<small><code class="text-danger">No. BPJS yang anda input sudah terdaftar!</code></small>';
                        }else{
                            //Simpan Data
                            $entry="INSERT INTO pasien (
                                nama,
                                nik,
                                no_bpjs,
                                kontak,
                                tempat_lahir,
                                tanggal_lahir,
                                gender,
                                provinsi,
                                kabupaten,
                                kecamatan,
                                desa,
                                alamat,
                                golongan_darah,
                                status,
                                tanggal_daftar
                            ) VALUES (
                                '$nama',
                                '$nik',
                                '$no_bpjs',
                                '$kontak',
                                '$tempat_lahir',
                                '$tanggal_lahir',
                                '$gender',
                                '$provinsi',
                                '$kabupaten',
                                '$kecamatan',
                                '$desa',
                                '$alamat',
                                '$golongan_darah',
                                '$status',
                                '$tanggal_daftar'
                            )";
                            $Input=mysqli_query($Conn, $entry);
                            if($Input){
                                echo '<small class="text-success" id="NotifikasiTambahPasienBerhasil">Success</small>';
                            }else{
                                echo '<small class="text-danger">Terjadi kesalahan pada saat menyimpan data</small>';
                            }
                        }
                    }
                }
            }
        }
    ?>
    
  • Buat file dengan nama 'TabelPasien.php' kemudian ketik / copas script berikut ini:
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    <?php
        //koneksi dan session
        ini_set("display_errors","off");
        include "../../_Config/Connection.php";
        include "../../_Config/Function.php";
        date_default_timezone_set("Asia/Jakarta");
        //Keyword_by
        if(!empty($_POST['keyword_by'])){
            $keyword_by=$_POST['keyword_by'];
        }else{
            $keyword_by="";
        }
        //keyword
        if(!empty($_POST['keyword'])){
            $keyword=$_POST['keyword'];
        }else{
            $keyword="";
        }
        //batas
        if(!empty($_POST['batas'])){
            $batas=$_POST['batas'];
        }else{
            $batas="10";
        }
        //ShortBy
        if(!empty($_POST['ShortBy'])){
            $ShortBy=$_POST['ShortBy'];
        }else{
            $ShortBy="DESC";
        }
        //OrderBy
        if(!empty($_POST['OrderBy'])){
            $OrderBy=$_POST['OrderBy'];
        }else{
            $OrderBy="id_pasien";
        }
        //Atur Page
        if(!empty($_POST['page'])){
            $page=$_POST['page'];
            $posisi = ( $page - 1 ) * $batas;
        }else{
            $page="1";
            $posisi = 0;
        }
        if(empty($keyword_by)){
            if(empty($keyword)){
                $jml_data = mysqli_num_rows(mysqli_query($Conn, "SELECT*FROM pasien"));
            }else{
                $jml_data = mysqli_num_rows(mysqli_query($Conn, "SELECT*FROM pasien WHERE nama like '%$keyword%' OR nik like '%$keyword%' OR no_bpjs like '%$keyword%' OR kontak like '%$keyword%' OR gender like '%$keyword%' OR alamat like '%$keyword%' OR golongan_darah like '%$keyword%' OR status like '%$keyword%'"));
            }
        }else{
            if(empty($keyword)){
                $jml_data = mysqli_num_rows(mysqli_query($Conn, "SELECT*FROM pasien"));
            }else{
                $jml_data = mysqli_num_rows(mysqli_query($Conn, "SELECT*FROM pasien WHERE $keyword_by like '%$keyword%'"));
            }
        }
    ?>
    <script>
        //ketika klik next
        $('#NextPage').click(function() {
            var valueNext=$('#NextPage').val();
            var batas="<?php echo "$batas"; ?>";
            var keyword="<?php echo "$keyword"; ?>";
            var keyword_by="<?php echo "$keyword_by"; ?>";
            var OrderBy="<?php echo "$OrderBy"; ?>";
            var ShortBy="<?php echo "$ShortBy"; ?>";
            $.ajax({
                url     : "_Page/Pasien/TabelPasien.php",
                method  : "POST",
                data 	:  { page: valueNext, batas: batas, keyword: keyword, keyword_by: keyword_by, OrderBy: OrderBy, ShortBy: ShortBy },
                success: function (data) {
                    $('#MenampilkanTabelPasien').html(data);
                    $('#PutPage').val(valueNext);
                }
            })
        });
        //Ketika klik Previous
        $('#PrevPage').click(function() {
            var ValuePrev = $('#PrevPage').val();
            var batas="<?php echo "$batas"; ?>";
            var keyword="<?php echo "$keyword"; ?>";
            var keyword_by="<?php echo "$keyword_by"; ?>";
            var OrderBy="<?php echo "$OrderBy"; ?>";
            var ShortBy="<?php echo "$ShortBy"; ?>";
            $.ajax({
                url     : "_Page/Pasien/TabelPasien.php",
                method  : "POST",
                data 	:  { page: ValuePrev,batas: batas, keyword: keyword, keyword_by: keyword_by, OrderBy: OrderBy, ShortBy: ShortBy },
                success : function (data) {
                    $('#MenampilkanTabelPasien').html(data);
                    $('#PutPage').val(ValuePrev);
                }
            })
        });
        <?php 
            $JmlHalaman =ceil($jml_data/$batas); 
            $a=1;
            $b=$JmlHalaman;
            for ( $i =$a; $i<=$b; $i++ ){
        ?>
            //ketika klik page number
            $('#PageNumber<?php echo $i;?>').click(function() {
                var PageNumber = $('#PageNumber<?php echo $i;?>').val();
                var batas="<?php echo "$batas"; ?>";
                var keyword="<?php echo "$keyword"; ?>";
                var keyword_by="<?php echo "$keyword_by"; ?>";
                var OrderBy="<?php echo "$OrderBy"; ?>";
                var ShortBy="<?php echo "$ShortBy"; ?>";
                $.ajax({
                    url     : "_Page/Pasien/TabelPasien.php",
                    method  : "POST",
                    data 	:  { page: PageNumber, batas: batas, keyword: keyword, keyword_by: keyword_by, OrderBy: OrderBy, ShortBy: ShortBy },
                    success: function (data) {
                        $('#MenampilkanTabelPasien').html(data);
                        $('#PutPage').val(PageNumber);
                    }
                })
            });
        <?php } ?>
    </script>
    <?php
        $no = 1+$posisi;
        if(empty($jml_data)){
            echo '<div class="row">';
            echo '  <div class="col-md-12">';
            echo '      <div class="card">';
            echo '          <div class="card-body text-center text-danger">';
            echo '              Tidak Ada Pasien Yang Ditampilkan';
            echo '          </div>';
            echo '      </div>';
            echo '  </div>';
            echo '</div>';
        }else{
            echo '<div class="row">';
                //KONDISI PENGATURAN MASING FILTER
                if(empty($keyword_by)){
                    if(empty($keyword)){
                        $query = mysqli_query($Conn, "SELECT*FROM pasien ORDER BY $OrderBy $ShortBy LIMIT $posisi, $batas");
                    }else{
                        $query = mysqli_query($Conn, "SELECT*FROM pasien WHERE nama like '%$keyword%' OR nik like '%$keyword%' OR no_bpjs like '%$keyword%' OR kontak like '%$keyword%' OR gender like '%$keyword%' OR alamat like '%$keyword%' OR golongan_darah like '%$keyword%' OR status like '%$keyword%' ORDER BY $OrderBy $ShortBy LIMIT $posisi, $batas");
                    }
                }else{
                    if(empty($keyword)){
                        $query = mysqli_query($Conn, "SELECT*FROM pasien ORDER BY $OrderBy $ShortBy LIMIT $posisi, $batas");
                    }else{
                        $query = mysqli_query($Conn, "SELECT*FROM pasien WHERE $keyword_by like '%$keyword%' ORDER BY $OrderBy $ShortBy LIMIT $posisi, $batas");
                    }
                }
                while ($data = mysqli_fetch_array($query)) {
                    $id_pasien= $data['id_pasien'];
                    $nama= $data['nama'];
                    $nik= $data['nik'];
                    $no_bpjs= $data['no_bpjs'];
                    $kontak= $data['kontak'];
                    $tempat_lahir= $data['tempat_lahir'];
                    $tanggal_lahir= $data['tanggal_lahir'];
                    $gender= $data['gender'];
                    $provinsi= $data['provinsi'];
                    $kabupaten= $data['kabupaten'];
                    $kecamatan= $data['kecamatan'];
                    $desa= $data['desa'];
                    $golongan_darah= $data['golongan_darah'];
                    $status= $data['status'];
                    $tanggal_daftar= $data['tanggal_daftar'];
                    $TanggalDaftar=FormatDateTime('d/m/Y H:i:s',$tanggal_daftar);
    ?>
            <div class="col-md-6 mb-2">
                <div class="card">
                    <div class="card-header">
                        <a href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#ModalDetailPasien" data-id="<?php echo "$id_pasien";?>">
                            <b><?php echo "$no. $nama";?></b>
                        </a>
                        <div class="filter">
                            <a class="icon" href="#" data-bs-toggle="dropdown" aria-expanded="false"><i class="bi bi-three-dots"></i></a>
                            <ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow" style="">
                                <li class="dropdown-header text-start">
                                    <h6>Option</h6>
                                </li>
                                <li>
                                    <a href="javascript:void(0);" class="dropdown-item"  data-bs-toggle="modal" data-bs-target="#ModalDetailPasien" data-id="<?php echo "$id_pasien"; ?>">
                                        <i class="bi bi-info-circle"></i> Detail
                                    </a> 
                                </li>
                                <li>
                                    <a href="javascript:void(0);" class="dropdown-item"  data-bs-toggle="modal" data-bs-target="#ModalEditPasien" data-id="<?php echo "$id_pasien"; ?>">
                                        <i class="bi bi-pencil-square"></i> Edit
                                    </a> 
                                </li>
                                <li>
                                    <a href="javascript:void(0);" class="dropdown-item" data-bs-toggle="modal" data-bs-target="#ModalHapusPasien" data-id="<?php echo "$id_pasien"; ?>">
                                        <i class="bi bi-trash"></i> Hapus
                                    </a>
                                </li>
                            </ul>
                        </div>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-12">
                                <small>
                                    <i class="bi bi-info-circle"></i> No.RM: <code class="text-secondary"><?php echo "$id_pasien"; ?></code><br>
                                    <i class="bi bi-person-badge"></i> NIK: <code class="text-secondary"><?php echo "$nik"; ?></code><br>
                                    <i class="bi bi-calendar"></i> Tgl: <code class="text-secondary"><?php echo "$TanggalDaftar"; ?></code><br>
                                </small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
    <?php
                $no++; 
            } 
            echo '</div>';
        } 
    ?>
    <div class="row">
        <div class="col-md-12 text-center">
            <div class="btn-group shadow-0" role="group" aria-label="Basic example">
                <?php
                    //Mengatur Halaman
                    $JmlHalaman = ceil($jml_data/$batas); 
                    $JmlHalaman_real = ceil($jml_data/$batas); 
                    $prev=$page-1;
                    $next=$page+1;
                    if($next>$JmlHalaman){
                        $next=$page;
                    }else{
                        $next=$page+1;
                    }
                    if($prev<"1"){
                        $prev="1";
                    }else{
                        $prev=$page-1;
                    }
                ?>
                <button class="btn btn-sm btn-outline-info" id="PrevPage" value="<?php echo $prev;?>">
                    <span aria-hidden="true">«</span>
                </button>
                <?php 
                    //Navigasi nomor
                    if($JmlHalaman>3){
                        if($page>=2){
                            $a=$page-1;
                            $b=$page+1;
                            if($JmlHalaman<=$b){
                                $a=$page-1;
                                $b=$JmlHalaman;
                            }
                        }else{
                            $a=1;
                            $b=$page+1;
                            if($JmlHalaman<=$b){
                                $a=1;
                                $b=$JmlHalaman;
                            }
                        }
                    }else{
                        $a=1;
                        $b=$JmlHalaman;
                    }
                    for ( $i =$a; $i<=$b; $i++ ){
                        if($page=="$i"){
                            echo '<button class="btn btn-sm btn-info" id="PageNumber'.$i.'" value="'.$i.'"><span aria-hidden="true">'.$i.'</span></button>';
                        }else{
                            echo '<button class="btn btn-sm btn-outline-info" id="PageNumber'.$i.'" value="'.$i.'"><span aria-hidden="true">'.$i.'</span></button>';
                        }
                    }
                ?>
                <button class="btn btn-sm btn-outline-info" id="NextPage" value="<?php echo $next;?>">
                    <span aria-hidden="true">»</span>
                </button>
            </div>
        </div>
    </div>
    


Setelah project terupdate sesuai langkah-langkah di atas, sekarang silahkan coba jalankan programnya. Lebih jelas, bisa juga dilihat pada vidio berikut ini:


Untuk yang masih kesulitan silahkan download full scriptnya disini.


Download Full Project (Via Git Hub)