# Panduan Membuat Template FMEA untuk Kesehatan

- Link: https://legawa.com/teknologi/panduan-membuat-template-fmea-untuk-kesehatan/
- Published: 2025-04-24T16:00:00+07:00
- Author: Cahya

[[

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:

    ```wp-block-code
    // 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:

 1. **Node.js** – Lingkungan runtime JavaScript
 2.  * Instal Node.js dari website resmi
     * Instal SheetJS dengan perintah `npm install xlsx`
     * Simpan kode dalam file .js dan jalankan dengan `node namafile.js`
 3. **Visual Studio Code** – Editor kode yang terintegrasi dengan Node.js
 4.  * Bisa digunakan untuk mengedit dan menjalankan kode tersebut

### Langkah-langkah Menjalankan Kode di VS Code:

 1.  **Instal Visual Studio Code**
 2.   * Unduh dan instal VS Code dari [situs resmi](https://code.visualstudio.com/)
 3.  **Instal Node.js**
 4.   * Unduh dan instal Node.js dari [nodejs.org](https://nodejs.org/)
      * Pastikan Node.js terinstal dengan menjalankan `node -v` di terminal
 5.  **Buat Folder Project Baru**
 6.   * Buka VS Code
      * Buat folder baru untuk project Anda
      * Buka folder tersebut di VS Code (File > Open Folder)
 7.  **Inisialisasi Project Node.js**
 8.   * Buka terminal di VS Code (Terminal > New Terminal)
      * Jalankan `npm init -y` untuk membuat file package.json
 9.  **Instal Library SheetJS**
 10.  * Jalankan perintah `npm install xlsx` di terminal
 11. **Simpan Kode**
 12.  * 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');`(
        ganti `import * as XLSX from 'xlsx';` dengan baris di atas)
 13. **Jalankan Kode**
 14.  * Di terminal VS Code, jalankan: `node fmea_template.js`

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:

    ```wp-block-syntaxhighlighter-code
    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:

 1. Buat header tabel seperti di atas
 2. Format header dengan background berwarna dan bold text
 3. Atur lebar kolom sesuai kebutuhan
 4. Pada kolom RPN, tambahkan rumus: `=G2*H2*I2` (sesuaikan nomor baris)
 5. Pada kolom RPN Baru, tambahkan rumus: `=O2*P2*Q2` (sesuaikan nomor baris)
 6. Tambahkan conditional formatting:
 7.  * 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:

    ```wp-block-syntaxhighlighter-code
    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:

 1. **Buat Daftar Dropdown untuk Status Implementasi**:
 2.  * Pilih range sel di kolom “Status Implementasi”
     * Buka menu Data > Validity
     * Pilih “List” sebagai kriteria
     * Masukkan nilai: “Belum Dimulai,Dalam Proses,Selesai”
 3. **Batasi Nilai S, O, dan D**:
 4.  * 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
 5. **Tambahkan Proteksi pada Rumus**:
 6.  * Lindungi sel-sel yang berisi rumus (seperti RPN) agar tidak diubah secara tidak
       sengaja

## Penggunaan

 1. Buka file dengan LibreOffice Calc atau OpenOffice Calc
 2. Baca instruksi pada sheet pertama
 3. Mulai mengisi data FMEA pada sheet “FMEA Worksheet”
 4. 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!
