
Akal imitasi (AI) jika dimanfaatkan untuk hal-hal terkait manajemen klinis ternyata cukup membantu. Saya menggunakan Claude untuk membangun aplikasi JS sederhana untuk analisis FMEA.
Berikut adalah kode yang dihasilkan:
// Kode berikut menggunakan SheetJS untuk membuat template Excel FMEA
// Anda bisa menggunakan kode ini di lingkungan Node.js dengan SheetJS
import * as XLSX from 'xlsx';
// Membuat workbook baru
const wb = XLSX.utils.book_new();
// ===== SHEET 1: INSTRUKSI =====
const instruksiData = [
["PANDUAN PENGGUNAAN TEMPLATE FMEA UNTUK FASILITAS KESEHATAN"],
[""],
["Template ini dirancang untuk membantu tim kesehatan melakukan analisis FMEA (Failure Mode and Effects Analysis)"],
["untuk mengidentifikasi dan mengurangi risiko dalam proses pelayanan kesehatan."],
[""],
["DEFINISI PARAMETER:"],
[""],
["1. Severity (S) - Tingkat keparahan efek jika kegagalan terjadi"],
[" Skala 1-10, di mana:"],
[" 1-2: Efek hampir tidak terdeteksi, sangat minor"],
[" 3-4: Efek minor, sedikit gangguan"],
[" 5-6: Efek moderat, pasien mengalami ketidaknyamanan"],
[" 7-8: Efek tinggi, berpotensi menyebabkan cedera"],
[" 9-10: Efek kritis, berpotensi menyebabkan kematian/cedera permanen"],
[""],
["2. Occurrence (O) - Frekuensi/kemungkinan kegagalan terjadi"],
[" Skala 1-10, di mana:"],
[" 1-2: Sangat jarang terjadi (1 dari 10.000+ kejadian)"],
[" 3-4: Jarang terjadi (1 dari 1.000 kejadian)"],
[" 5-6: Kadang terjadi (1 dari 100 kejadian)"],
[" 7-8: Sering terjadi (1 dari 10 kejadian)"],
[" 9-10: Hampir pasti terjadi (>1 dari 5 kejadian)"],
[""],
["3. Detection (D) - Kemampuan mendeteksi kegagalan sebelum berdampak"],
[" Skala 1-10, di mana:"],
[" 1-2: Deteksi hampir pasti (>95% terdeteksi)"],
[" 3-4: Deteksi tinggi (75-95% terdeteksi)"],
[" 5-6: Deteksi moderat (50-75% terdeteksi)"],
[" 7-8: Deteksi rendah (25-50% terdeteksi)"],
[" 9-10: Hampir tidak terdeteksi (<25% terdeteksi)"],
[""],
["4. Risk Priority Number (RPN) = Severity × Occurrence × Detection"],
[" Rentang nilai: 1 - 1000"],
[" RPN < 40: Risiko rendah (hijau)"],
[" RPN 40-100: Risiko sedang (kuning)"],
[" RPN > 100: Risiko tinggi (merah)"],
[""],
["CARA PENGGUNAAN:"],
["1. Identifikasi proses/aktivitas yang akan dianalisis"],
["2. Tentukan potensi kegagalan pada setiap langkah proses"],
["3. Analisis efek dan penyebab potensial"],
["4. Evaluasi kontrol yang sudah ada"],
["5. Tentukan nilai S, O, dan D berdasarkan skala di atas"],
["6. Hitung RPN (otomatis)"],
["7. Tentukan tindakan yang direkomendasikan untuk mode kegagalan dengan RPN tertinggi"],
["8. Setelah implementasi, evaluasi kembali nilai S, O, dan D"],
["9. Hitung RPN baru dan bandingkan dengan RPN awal untuk melihat perbaikan"]
];
const instruksiWS = XLSX.utils.aoa_to_sheet(instruksiData);
// Menambahkan styling
instruksiWS['!cols'] = [{ wch: 100 }]; // Lebar kolom
XLSX.utils.book_append_sheet(wb, instruksiWS, "Instruksi");
// ===== SHEET 2: FMEA WORKSHEET =====
const fmeaHeaders = [
["ID", "Proses/Aktivitas", "Potensi Mode Kegagalan", "Efek Potensial", "Penyebab Potensial",
"Kontrol Saat Ini", "Severity (S)", "Occurrence (O)", "Detection (D)", "RPN",
"Tindakan yang Direkomendasikan", "Penanggung Jawab", "Target Penyelesaian",
"Status Implementasi", "Severity Baru (S)", "Occurrence Baru (O)", "Detection Baru (D)", "RPN Baru"]
];
// Menambahkan contoh data
const exampleData = [
["PR-001", "Pemberian Obat", "Kesalahan dosis", "Efek samping yang tidak diinginkan", "Penulisan resep tidak jelas",
"Verifikasi oleh apoteker", 8, 5, 4, "=G2*H2*I2", "Implementasi sistem resep elektronik",
"Kepala Farmasi", "30/06/2025", "Belum Dimulai", "", "", "", "=O2*P2*Q2"],
["PR-002", "Identifikasi Pasien", "Kesalahan identifikasi", "Pasien salah mendapat tindakan", "Prosedur identifikasi tidak diikuti",
"Gelang identitas pasien", 9, 3, 5, "=G3*H3*I3", "Penerapan verifikasi identitas ganda (nama & no.RM)",
"Kepala Keperawatan", "15/05/2025", "Dalam Proses", "", "", "", "=O3*P3*Q3"],
["PR-003", "Handover Shift", "Informasi penting tidak tersampaikan", "Keterlambatan tindakan", "Waktu handover terbatas",
"Formulir handover terstruktur", 7, 6, 5, "=G4*H4*I4", "Implementasi SBAR dan handover di samping pasien",
"Direktur Keperawatan", "30/04/2025", "Selesai", 7, 3, 2, "=O4*P4*Q4"],
];
// Menggabungkan header dan contoh data
const fmeaData = [...fmeaHeaders, ...exampleData];
const fmeaWS = XLSX.utils.aoa_to_sheet(fmeaData);
// Menambahkan styling dan validasi data
fmeaWS['!cols'] = [
{ wch: 8 }, // ID
{ wch: 20 }, // Proses/Aktivitas
{ wch: 25 }, // Potensi Mode Kegagalan
{ wch: 25 }, // Efek Potensial
{ wch: 25 }, // Penyebab Potensial
{ wch: 20 }, // Kontrol Saat Ini
{ wch: 10 }, // Severity
{ wch: 10 }, // Occurrence
{ wch: 10 }, // Detection
{ wch: 10 }, // RPN
{ wch: 30 }, // Tindakan
{ wch: 15 }, // Penanggung Jawab
{ wch: 15 }, // Target
{ wch: 15 }, // Status
{ wch: 10 }, // Severity Baru
{ wch: 10 }, // Occurrence Baru
{ wch: 10 }, // Detection Baru
{ wch: 10 }, // RPN Baru
];
XLSX.utils.book_append_sheet(wb, fmeaWS, "FMEA Worksheet");
// ===== SHEET 3: DASHBOARD =====
// Pada implementasi sebenarnya, ini akan berisi rumus-rumus yang mereferensikan data FMEA
// Di sini kita hanya menyertakan beberapa elemen placeholder
const dashboardData = [
["DASHBOARD FMEA"],
[""],
["RINGKASAN RISIKO:"],
[""],
["Jumlah Total Proses yang Dianalisis", "=COUNTA(FMEA Worksheet!A:A)-1"],
["Jumlah Risiko Tinggi (RPN > 100)", "=COUNTIF('FMEA Worksheet'!J2:J1000,\">100\")"],
["Jumlah Risiko Sedang (40 ≤ RPN ≤ 100)", "=COUNTIF('FMEA Worksheet'!J2:J1000,\">=40\")-COUNTIF('FMEA Worksheet'!J2:J1000,\">100\")"],
["Jumlah Risiko Rendah (RPN < 40)", "=COUNTIF('FMEA Worksheet'!J2:J1000,\"<40\")"],
[""],
["TOP 5 RISIKO BERDASARKAN RPN:"],
[""],
["Rumus untuk Top 5 risiko akan mengambil 5 nilai RPN tertinggi dari worksheet FMEA"],
["dan menampilkan ID proses, deskripsi, dan nilai RPN-nya."],
[""],
["CATATAN: Dashboard ini menggunakan rumus Excel yang akan berfungsi"],
["ketika template diimplementasikan dalam aplikasi Excel."],
[""],
["GRAFIK PARETO DAN PETA PANAS:"],
[""],
["Di Excel sebenarnya, bagian ini akan berisi grafik Pareto yang menampilkan"],
["distribusi RPN dan peta panas yang menunjukkan area risiko berdasarkan"],
["nilai Severity dan Occurrence."]
];
const dashboardWS = XLSX.utils.aoa_to_sheet(dashboardData);
dashboardWS['!cols'] = [{ wch: 40 }, { wch: 30 }];
XLSX.utils.book_append_sheet(wb, dashboardWS, "Dashboard");
// Menghasilkan file Excel
XLSX.writeFile(wb, "Template_FMEA_Fasilitas_Kesehatan.xlsx");
console.log("Template FMEA berhasil dibuat!");
Jika Anda ingin menjalankan kode tersebut:
- Node.js – Lingkungan runtime JavaScript
- Instal Node.js dari website resmi
- Instal SheetJS dengan perintah
npm install xlsx - Simpan kode dalam file .js dan jalankan dengan
node namafile.js
- Visual Studio Code – Editor kode yang terintegrasi dengan Node.js
- Bisa digunakan untuk mengedit dan menjalankan kode tersebut
Langkah-langkah Menjalankan Kode di VS Code:
- Instal Visual Studio Code
- Unduh dan instal VS Code dari situs resmi
- Instal Node.js
- Unduh dan instal Node.js dari nodejs.org
- Pastikan Node.js terinstal dengan menjalankan
node -vdi terminal
- Buat Folder Project Baru
- Buka VS Code
- Buat folder baru untuk project Anda
- Buka folder tersebut di VS Code (File > Open Folder)
- Inisialisasi Project Node.js
- Buka terminal di VS Code (Terminal > New Terminal)
- Jalankan
npm init -yuntuk membuat file package.json
- Instal Library SheetJS
- Jalankan perintah
npm install xlsxdi terminal
- Jalankan perintah
- Simpan Kode
- Buat file baru (misal:
fmea_template.js) - Salin kode yang saya berikan sebelumnya ke file tersebut
- Sesuaikan import statement menjadi: javascript
const XLSX = require('xlsx');(gantiimport * as XLSX from 'xlsx';dengan baris di atas)
- Buat file baru (misal:
- Jalankan Kode
- Di terminal VS Code, jalankan:
node fmea_template.js
- Di terminal VS Code, jalankan:
Setelah menjalankan kode, file Excel bernama “Template_FMEA_Fasilitas_Kesehatan.xlsx” akan dibuat di folder project Anda. Anda bisa membukanya dengan Excel atau aplikasi spreadsheet lainnya untuk melihat hasilnya.
Atau Anda bisa menyusun secara manual menggunakan ODS pada LibreOffice Calc.
Berikut adalah panduan untuk membuat template FMEA (Failure Mode and Effects Analysis) dalam format Open Document Spreadsheet (.ods) untuk digunakan dengan LibreOffice Calc, OpenOffice Calc, atau aplikasi spreadsheet open source lainnya.
Struktur Template
Sheet 1: Instruksi
Buat sheet pertama dengan judul “Instruksi” yang berisi informasi berikut:
PANDUAN PENGGUNAAN TEMPLATE FMEA UNTUK FASILITAS KESEHATAN
Template ini dirancang untuk membantu tim kesehatan melakukan analisis FMEA (Failure Mode and Effects Analysis)
untuk mengidentifikasi dan mengurangi risiko dalam proses pelayanan kesehatan.
DEFINISI PARAMETER:
1. Severity (S) - Tingkat keparahan efek jika kegagalan terjadi
Skala 1-10, di mana:
1-2: Efek hampir tidak terdeteksi, sangat minor
3-4: Efek minor, sedikit gangguan
5-6: Efek moderat, pasien mengalami ketidaknyamanan
7-8: Efek tinggi, berpotensi menyebabkan cedera
9-10: Efek kritis, berpotensi menyebabkan kematian/cedera permanen
2. Occurrence (O) - Frekuensi/kemungkinan kegagalan terjadi
Skala 1-10, di mana:
1-2: Sangat jarang terjadi (1 dari 10.000+ kejadian)
3-4: Jarang terjadi (1 dari 1.000 kejadian)
5-6: Kadang terjadi (1 dari 100 kejadian)
7-8: Sering terjadi (1 dari 10 kejadian)
9-10: Hampir pasti terjadi (>1 dari 5 kejadian)
3. Detection (D) - Kemampuan mendeteksi kegagalan sebelum berdampak
Skala 1-10, di mana:
1-2: Deteksi hampir pasti (>95% terdeteksi)
3-4: Deteksi tinggi (75-95% terdeteksi)
5-6: Deteksi moderat (50-75% terdeteksi)
7-8: Deteksi rendah (25-50% terdeteksi)
9-10: Hampir tidak terdeteksi (<25% terdeteksi)
4. Risk Priority Number (RPN) = Severity × Occurrence × Detection
Rentang nilai: 1 - 1000
RPN < 40: Risiko rendah (hijau)
RPN 40-100: Risiko sedang (kuning)
RPN > 100: Risiko tinggi (merah)
CARA PENGGUNAAN:
1. Identifikasi proses/aktivitas yang akan dianalisis
2. Tentukan potensi kegagalan pada setiap langkah proses
3. Analisis efek dan penyebab potensial
4. Evaluasi kontrol yang sudah ada
5. Tentukan nilai S, O, dan D berdasarkan skala di atas
6. Hitung RPN (otomatis)
7. Tentukan tindakan yang direkomendasikan untuk mode kegagalan dengan RPN tertinggi
8. Setelah implementasi, evaluasi kembali nilai S, O, dan D
9. Hitung RPN baru dan bandingkan dengan RPN awal untuk melihat perbaikan
Format sel-sel teks ini agar mudah dibaca, misalnya dengan menebalkan judul dan sub-judul.
Sheet 2: FMEA Worksheet
Buat sheet kedua dengan judul “FMEA Worksheet” yang berisi tabel dengan kolom-kolom berikut:
| ID | Proses/Aktivitas | Potensi Mode Kegagalan | Efek Potensial | Penyebab Potensial | Kontrol Saat Ini | Severity (S) | Occurrence (O) | Detection (D) | RPN | Tindakan yang Direkomendasikan | Penanggung Jawab | Target Penyelesaian | Status Implementasi | Severity Baru (S) | Occurrence Baru (O) | Detection Baru (D) | RPN Baru |
|---|
Langkah-langkah:
- Buat header tabel seperti di atas
- Format header dengan background berwarna dan bold text
- Atur lebar kolom sesuai kebutuhan
- Pada kolom RPN, tambahkan rumus:
=G2*H2*I2(sesuaikan nomor baris) - Pada kolom RPN Baru, tambahkan rumus:
=O2*P2*Q2(sesuaikan nomor baris) - Tambahkan conditional formatting:
- RPN < 40: background hijau
- RPN 40-100: background kuning
- RPN > 100: background merah
Data Contoh:
| ID | Proses/Aktivitas | Potensi Mode Kegagalan | Efek Potensial | Penyebab Potensial | Kontrol Saat Ini | Severity (S) | Occurrence (O) | Detection (D) | RPN | Tindakan yang Direkomendasikan | Penanggung Jawab | Target Penyelesaian | Status Implementasi | Severity Baru (S) | Occurrence Baru (O) | Detection Baru (D) | RPN Baru |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PR-001 | Pemberian Obat | Kesalahan dosis | Efek samping yang tidak diinginkan | Penulisan resep tidak jelas | Verifikasi oleh apoteker | 8 | 5 | 4 | 160 | Implementasi sistem resep elektronik | Kepala Farmasi | 30/06/2025 | Belum Dimulai | ||||
| PR-002 | Identifikasi Pasien | Kesalahan identifikasi | Pasien salah mendapat tindakan | Prosedur identifikasi tidak diikuti | Gelang identitas pasien | 9 | 3 | 5 | 135 | Penerapan verifikasi identitas ganda (nama & no.RM) | Kepala Keperawatan | 15/05/2025 | Dalam Proses | ||||
| PR-003 | Handover Shift | Informasi penting tidak tersampaikan | Keterlambatan tindakan | Waktu handover terbatas | Formulir handover terstruktur | 7 | 6 | 5 | 210 | Implementasi SBAR dan handover di samping pasien | Direktur Keperawatan | 30/04/2025 | Selesai | 7 | 3 | 2 | 42 |
Sheet 3: Dashboard
Buat sheet ketiga dengan judul “Dashboard” untuk visualisasi dan ringkasan:
DASHBOARD FMEA
RINGKASAN RISIKO:
Jumlah Total Proses yang Dianalisis: [rumus: =COUNT(FMEA Worksheet.A2:A1000)]
Jumlah Risiko Tinggi (RPN > 100): [rumus: =COUNTIFS('FMEA Worksheet'.J2:J1000;">100")]
Jumlah Risiko Sedang (40 ≤ RPN ≤ 100): [rumus: =COUNTIFS('FMEA Worksheet'.J2:J1000;">=40")-COUNTIFS('FMEA Worksheet'.J2:J1000;">100")]
Jumlah Risiko Rendah (RPN < 40): [rumus: =COUNTIFS('FMEA Worksheet'.J2:J1000;"<40")]
TOP 5 RISIKO BERDASARKAN RPN:
[Di sini Anda bisa menggunakan kombinasi rumus SORT dan INDEX atau membuat area untuk input manual]
GRAFIK:
[Sisipkan grafik batang untuk menampilkan RPN per proses]
[Sisipkan grafik pie untuk distribusi risiko tinggi/sedang/rendah]
Pengaturan Validasi Data
Untuk meningkatkan kegunaan template:
- Buat Daftar Dropdown untuk Status Implementasi:
- Pilih range sel di kolom “Status Implementasi”
- Buka menu Data > Validity
- Pilih “List” sebagai kriteria
- Masukkan nilai: “Belum Dimulai,Dalam Proses,Selesai”
- Batasi Nilai S, O, dan D:
- Pilih range sel di kolom Severity, Occurrence, dan Detection
- Buka menu Data > Validity
- Pilih “Decimal” dan atur “minimum=1, maximum=10”
- Tambahkan pesan error jika nilai di luar rentang
- Tambahkan Proteksi pada Rumus:
- Lindungi sel-sel yang berisi rumus (seperti RPN) agar tidak diubah secara tidak sengaja
Penggunaan
- Buka file dengan LibreOffice Calc atau OpenOffice Calc
- Baca instruksi pada sheet pertama
- Mulai mengisi data FMEA pada sheet “FMEA Worksheet”
- Gunakan Dashboard untuk melihat ringkasan analisis
Catatan
- Format ODS memungkinkan template ini kompatibel dengan berbagai aplikasi spreadsheet open source
- Rumus dan validasi dapat berbeda sedikit sintaksnya antara aplikasi spreadsheet yang berbeda
- Gunakan fitur filter dan sort untuk membantu analisis data FMEA
Semoga template ini membantu dalam melakukan analisis FMEA di fasilitas kesehatan Anda!

Tinggalkan komentar