Skip to content

Repository files navigation

SmartQueue AI — Machine Learning & CDSS Service

LicenseStatusPythonFastAPI

Deskripsi Proyek

SmartQueue AI adalah layanan machine learning berbasis REST API yang dikembangkan sebagai bagian dari Capstone Project Coding Camp DBS Foundation 2025. Layanan ini menyediakan dua fitur utama berbasis AI:

  1. Prediksi Waktu Tunggu Pasien — model deep learning yang memproyeksikan estimasi waktu tunggu berdasarkan kondisi antrian dan profil pasien.
  2. Clinical Decision Support System (CDSS) — sistem rekomendasi diagnosis yang menganalisis gejala klinis dan memberikan kandidat penyakit beserta saran pemeriksaan lanjutan, didukung oleh Google Gemini AI.

Fitur Utama

  • 🧠 Prediksi Waktu Tunggu (Deep Learning): Model neural network dengan arsitektur Residual Dense Block yang memprediksi waktu tunggu pasien secara real-time berdasarkan jumlah antrian, poli, jam kedatangan, dan faktor lainnya.
  • 🩺 CDSS berbasis Gemini AI: Analisis gejala pasien dan menghasilkan hingga 3 kandidat diagnosis dengan tingkat urgensi, confidence score, departemen rujukan, dan pemeriksaan lanjutan yang direkomendasikan.
  • Auto Model Fallback: Sistem tahan banting terhadap batas kuota Gemini API — jika model utama gagal, sistem otomatis beralih ke model cadangan tanpa downtime.
  • 🔌 REST API siap integrasi: Dibangun dengan FastAPI, dilengkapi dokumentasi Swagger interaktif dan CORS support.

Arsitektur & Teknologi

Tech Stack yang Digunakan:

  • API Framework: Python, FastAPI, Uvicorn, Gunicorn
  • Deep Learning: TensorFlow 2.x, Keras
  • ML Utilities: Scikit-learn, Pandas, NumPy, Joblib
  • AI / LLM: Google Gemini API (google-generativeai)
  • Deployment: Cloud VPS / Azure App Service
  • Tools: Git, GitHub, Postman

Link Model Ai : https://drive.google.com/drive/folders/1N48kWDc9rZ1_6FGKqeHNw5USVE4DrLY5?usp=drive_link

Panduan Instalasi & Setup

Prasyarat:

  • Python versi 3.11 (TensorFlow tidak kompatibel dengan Python 3.13+)
  • Git
  • Conda(direkomendasikan) atau venv

Langkah-langkah:

  1. Clone repositori ini:

    git clone <url-repo-ini>cd ml
  2. Setup environment Python:

    # Opsi A — conda (direkomendasikan)
    conda create -n smartqueue python=3.11
    conda activate smartqueue
    # Opsi B — venv
    python -m venv venv
    source venv/bin/activate # Mac/Linux# venv\Scripts\activate # Windows
    pip install -r requirements.txt
  3. Konfigurasi environment variable:

    Buat file .env di root proyek:

    GEMINI_API_KEY=isi_dengan_api_key_asliGEMINI_MODEL=gemini-2.5-flash

    Dapatkan API key gratis di Google AI Studio.

Menjalankan Aplikasi

uvicorn app.app:app --reload
  • API berjalan di: http://127.0.0.1:8000
  • Dokumentasi Swagger: http://127.0.0.1:8000/docs

Endpoint API

MethodEndpointDeskripsi
GET/Status API
GET/healthHealth check (termasuk status model)
POST/predict/Prediksi waktu tunggu pasien
POST/predict/debugDebug nilai fitur yang masuk ke model
POST/cdss/recommendRekomendasi diagnosis berdasarkan gejala
GET/cdss/healthStatus konektivitas Gemini API

Contoh Request /predict/:

{
"umur": 45,
"jumlah_antrian": 10,
"jam_kedatangan": 9,
"asuransi": "bpjs",
"prioritas": "normal",
"nama_poli": "umum",
"tanggal": "2025-06-01"
}

Contoh Request /cdss/recommend:

{
"gejala": "demam tinggi sudah 3 hari, batuk kering, sesak napas",
"umur": 45,
"jenis_kelamin": "L"
}

Tim Pengembang (CC25-CF042)

IDNamaPeranStatus
CFCC223D6Y2279Bintang Wishnu PradanaFull-Stack Web DeveloperAktif
CFCC559D6Y0373Muhammad Fais Avriody DaffaFull-Stack Web DeveloperAktif
CDCC223D6Y0280M. Alan DaulayData ScientistAktif
CDCC223D6Y2250Galih Fathurahman ArdiansyahData ScientistAktif
CACC559D6Y1659Khairul AnuarAI EngineerAktif
CACC223D6Y0439Sulthon Aqthoris SamaAI EngineerAktif

⚠️ Disclaimer: Fitur CDSS merupakan alat bantu berbasis AI dan BUKAN pengganti diagnosis medis. Keputusan klinis tetap sepenuhnya berada di tangan dokter yang merawat.


Lisensi

Proyek ini dilisensikan di bawah Lisensi MIT.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages