================================================
File: README.md
================================================
## **Product Requirements Document: Patient Self-Registration Kiosk**

| | |
| :--- | :--- |
| **Project:** | Anjungan Pasien Mandiri (Patient Self-Registration Kiosk) |
| **Client:** | Rumah Sakit Pelita Insani, Martapura |
| **Author:** | Anjungan Pasien Mandiri (Lead System Analyst) |
| **Version:** | **2.0 (Final Draft)** |
| **Date:** | July 9, 2025 |

### **1. Introduction & Vision**

This document outlines the product requirements for a touch-screen Patient Self-Registration Kiosk. The vision is to create a smart, efficient queuing and check-in system that streamlines the initial patient touchpoint. The kiosk will serve as a digital gateway to differentiate patient journeys based on their payment type and registration status, significantly reducing manual sorting, queue times, and staff workload.

### **2. The Problem**

The manual patient registration and check-in process creates operational bottlenecks. Patients face long, undifferentiated queues, while staff bear a heavy administrative burden. This leads to extended wait times, potential data entry errors, and a diminished patient experience. The kiosk will solve this by automating patient identification, check-in, and queue allocation.

### **3. Goals & Success Metrics**

| Goal | Success Metric |
| :--- | :--- |
| Streamline patient flow | Decrease average wait time for the main registration counters by 40%. |
| Increase operational efficiency | Achieve a 70% adoption rate for kiosk usage by all eligible returning patients. |
| Enhance the BPJS patient experience | Successfully process 90% of eligible existing BPJS patients via the automated FRISTA biometric flow. |

### **4. Feature Requirements (V1.0 Scope)**

#### **Epic 1: Kiosk Main Interface & New Patient Queuing**
* **Story 1.1:** As a user, I want to see a clear Home Screen with two options (`BPJS` and `Umum & Asuransi`) so I can self-identify my payment type.
* **Story 1.2:** As a **new patient**, upon selecting my payment type (`BPJS` or `Asuransi`), I want the kiosk to immediately print the correct queue ticket (`A` for Insurance, `B` for BPJS) directing me to the appropriate manual registration counter.
* **Story 1.3:** As a hospital administrator, I want the kiosk to display an Idle Screen with promotional content after 3 minutes of inactivity. Any touch will return it to the Home Screen.

#### **Epic 2: Existing BPJS Patient Check-in Flow**
* **Story 2.1:** As an existing BPJS patient, I want to input my Medical Record number (`No. RM`) to initiate my check-in process.
* **Story 2.2:** The system must validate my control letter (`surkon`). Upon successful validation, it will prompt me for biometric validation.
* **Story 2.3:** The kiosk must integrate with **face and fingerprint scanners** to perform biometric validation using the **BPJS FRISTA** service and create an SEP.
* **Story 2.4:** Upon successful biometric validation, the system will print my queue ticket for the designated polyclinic.

#### **Epic 3: Existing General & Insurance Patient Check-in Flow**
* **Story 3.1:** As an existing General/Insurance patient, I want to input my `No. RM` to find my record.
* **Story 3.2:** The system will first check for a pre-booked appointment for the current day. If found, it will display the appointment details for my confirmation.
* **Story 3.3:** If no appointment is found, the system will allow me to manually select a Polyclinic and then a Doctor from a list.
* **Story 3.4:** Upon confirmation (either of a pre-booked appointment or a manual selection), the system will print the appropriate queue ticket (`A` for Insurance or `U` for General).

#### **Epic 4: System Error & Exception Handling**
* **Story 4.1:** If I enter a `No. RM` that is not found, the system will display a message advising me to try again or to register as a new patient by returning to the Home Screen.
* **Story 4.2:** If my BPJS control letter (`surkon`) is invalid, the system will display a clear error message with an "OK" button that, when pressed, returns to the Home Screen.
* **Story 4.3:** If the kiosk cannot connect to the external BPJS FRISTA service, it will cancel the biometric step and print a special "Gagal Validasi Biometrik" ticket, instructing me to proceed to the BPJS counter.

### **5. Hardware & Integration Requirements**
* **Must-have:** High-resolution Touch Screen, Thermal Receipt Printer, Face Scanner, Fingerprint Scanner.
* **Integration:** Must connect to the Hospital Information System (HIS/SIMRS) for patient data and the external BPJS FRISTA service via a stable internet connection.

### **6. Document History**

| Version | Date | Author | Changes |
| :--- | :--- | :--- | :--- |
| 1.0 | July 9, 2025 | Anjungan Pasien Mandiri | Initial draft created to elicit requirements. |
| **2.0** | **July 9, 2025** | **Anjungan Pasien Mandiri** | **Final Draft. Incorporated all decisions from stakeholder refinement workshop. Clarified all user flows and defined error-handling scenarios.** |


what's your tho about that PRD?