Skip to content

Repository files navigation

Import KFA SATUSEHAT

Aplikasi web untuk menarik data Kamus Farmasi dan Alat Kesehatan (KFA) dari SATUSEHAT Kemkes RI. Mendukung KFA v2 dan KFA v3 (ALKES) dengan dual-theme UI (terang/gelap).

Fitur

  • Tarik Data — Tarik data Obat, Alkes, dan BMHP dari KFA SATUSEHAT.
  • KFA v2 — Mendukung semua tipe (obat, alkes, bmhp) via GET /kfa-v2/products/all.
  • KFA v3 / ALKES — Mendukung alkes & bmhp via POST /kfa-v3/alkes/products.
  • Mode Tarik — Pilih tarik semua data atau hanya data terbaru (1 halaman).
  • Pencarian & Filter — Cari data dengan filter per kolom.
  • Export Excel — Export data ke file .xlsx.
  • Dual Theme — Toggle tema terang/gelap, tersimpan di localStorage.

Persyaratan

  • PHP 8.1+
  • MySQL 8.0
  • Composer
  • Client ID & Client Secret SATUSEHAT

Struktur Folder

import-kfa/
├── assets/
│   ├── css/
│   │   └── style.css          # Stylesheet dual-theme
│   └── js/
│       └── main.js             # JavaScript (theme toggle, alert auto-dismiss)
├── partials/
│   ├── header.php              # <head>, meta, CSS, buka <body>
│   ├── navbar.php              # Navbar + toggle tema + dropdown API version
│   └── footer.php              # Tutup main, footer, JS
├── src/
│   ├── auth.php                # OAuth2 token (get/refresh)
│   ├── config.php              # Konfigurasi, env, versi API
│   ├── database.php            # Koneksi DB, query helper
│   ├── export.php              # Export ke Excel (PhpSpreadsheet)
│   ├── functions.php           # Normalize data, helpers
│   └── kfa_api.php             # Fetch dari KFA v2 & v3
├── sql/
│   └── schema.sql              # Struktur database
├── storage/
│   ├── .gitkeep
│   └── exports/                # File export Excel
├── views/                      # (cadangan)
├── .env.example                # Contoh konfigurasi (copy ke .env)
├── .gitignore
├── composer.json
├── composer.lock
├── docker-compose.yml          # Docker setup (app + MySQL)
├── Dockerfile
├── index.php                   # Dashboard
├── fetch.php                   # Halaman tarik data
├── list.php                    # Data list + search + filter
├── detail.php                  # Detail item (modal/full page)
├── export.php                  # Form export Excel
├── login.php                   # Konfigurasi credentials
├── CHANGELOG.md
└── README.md

Instalasi

1. Clone & Install Dependencies

git clone https://github.com/your-username/import-kfa.git
cd import-kfa
composer install

2. Konfigurasi Environment

cp .env.example .env

Isi .env dengan credentials SATUSEHAT dan konfigurasi database:

KFA_CLIENT_ID=your_client_id
KFA_CLIENT_SECRET=your_client_secret
DB_HOST=localhost
DB_PORT=3306
DB_NAME=kfa_db
DB_USER=root
DB_PASS=

Penting: File .env berisi credentials dan tidak boleh ikut di-commit ke repository (sudah ada di .gitignore).

3. Setup Database

Jalankan sql/schema.sql ke MySQL:

mysql -u root -p kfa_db < sql/schema.sql

4. Jalankan

Via PHP Built-in Server

php -S localhost:8080 -t .

Via Docker

docker compose up -d

Akses di http://localhost:8081.

5. Konfigurasi Credentials

Buka http://localhost:8080/login.php, masukkan Client ID dan Client Secret dari portal SATUSEHAT.

Penggunaan

  1. Dashboard (index.php) — Lihat statistik data & riwayat penarikan.
  2. Tarik Data (fetch.php) — Pilih tipe data, mode (semua/terbaru), mulai tarik.
  3. Data List (list.php) — Cari, filter, sortir data.
  4. Export Excel (export.php) — Download data ke Excel.
  5. Ganti API — Dropdown navbar untuk pilih KFA v2 atau v3.
  6. Ganti Tema — Klik tombol sun/moon di navbar.

API Version Support

Versi Method Endpoint Tipe Data
KFA v1 GET /kfa/farmalkes-price-jkn Hanya harga JKN (tidak support bulk fetch)
KFA v2 GET /kfa-v2/products/all Obat, Alkes, BMHP
KFA v3 POST /kfa-v3/alkes/products Alkes, BMHP

Lisensi

Dikembangkan oleh IT RSU Martha Friska Multatuli © 2026.
Open source — bebas digunakan, dimodifikasi, dan dikembangkan oleh pihak lain.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages