# Task: Refactor Workflow Klinik untuk SATUSEHAT Readiness Saat ini alur klinik: Registrasi → Screening → Pemeriksaan Dokter → Kasir Pada menu dokter terdapat: - Anamnesa - Pemeriksaan Tanda Vital - Pemeriksaan Fisik - Pemeriksaan Penunjang - Diagnosis - Tindakan Medis - Resep - Saran Target sistem: - Klinik Umum - Vaksinasi - Khitan - Integrasi SATUSEHAT ## Perubahan yang harus dibuat ### 1. Master Poli Buat tabel: m_clinic_unit Fields: - id - code - name - description - satusehat_location_id - is_active Data awal: - POLI_UMUM - POLI_VAKSINASI - POLI_KHITAN - POLI_MCU Registrasi harus memilih poli. --- ### 2. Template Screening Buat sistem screening dinamis. Table: m_screening_template - id - code - name m_screening_question - id - template_id - question - question_type - sort_order - is_required t_screening_answer - id - registration_id - question_id - answer Template awal: RAWAT_JALAN - Kesadaran - Pernapasan - Nyeri Dada - Skala Nyeri - Risiko Jatuh - Batuk > 2 Minggu VAKSINASI - Demam > 38 - Sedang sakit akut - Riwayat anafilaksis - Alergi vaksin - Layak vaksin KHITAN - Gangguan pembekuan darah - Alergi anestesi - Diabetes - Layak tindakan MCU - gunakan template kosong terlebih dahulu Poli menentukan template screening yang digunakan. --- ### 3. Pisahkan TTV dari Menu Dokter Buat modul baru: t_vital_sign Fields: - registration_id - systolic - diastolic - pulse - respiratory_rate - temperature - weight - height - bmi - created_by - created_at Workflow: Registrasi → Screening → TTV → Dokter Dokter hanya membaca hasil TTV. --- ### 4. Modul Vaksinasi Buat tabel: m_vaccine - id - code - name - kfa_code - manufacturer t_vaccination - id - registration_id - vaccine_id - batch_number - expired_date - dose_number - route - injection_site - administered_by - administration_datetime - adverse_event_note Data ini nantinya akan menjadi SATUSEHAT Immunization Resource. --- ### 5. Tindakan Medis Terstruktur Buat: m_procedure - id - code - name - snomed_code t_medical_procedure - id - registration_id - procedure_id - performer_id - note Contoh master: - Khitan Klem - Khitan Laser - Khitan Stapler - Khitan Konvensional Data ini nantinya menjadi SATUSEHAT Procedure Resource. --- ### 6. Master Tenaga Kesehatan Buat: m_practitioner - id - employee_id - profession - name - satusehat_practitioner_id Profesi: - Dokter - Perawat - Bidan Vaksinasi dan tindakan tidak selalu dilakukan dokter. --- ### 7. SATUSEHAT Mapping Preparation Tambahkan kolom mapping: ICD10 SNOMED KFA untuk: - diagnosis - tindakan - vaksin - obat Belum perlu integrasi API SATUSEHAT. Fokus pada kesiapan data terlebih dahulu. --- Output yang diharapkan: - Migration SQL - ERD - Repository - Service Layer - API Endpoint - DTO Request/Response - Unit Test