{ "POST /patient": [ { "case": "valid_create", "body": { "name": "Jane Doe", "medical_record_number": "MRN-20260001", "phone_number": "+628123456789", "gender": "F", "birth_date": "1990-05-20T00:00:00Z", "address": "Jl. Merdeka 1", "parent": 0, "active": true, "fk_sd_provinsi_id": 1, "fk_sd_kabupaten_kota_id": 10, "fk_sd_kecamatan_id": 100, "fk_sd_kelurahan_id": 1000, "ds_sd_provinsi": "Provinsi X", "ds_sd_kabupaten_kota": "Kota Y", "ds_sd_kecamatan": "Kecamatan Z", "ds_sd_kelurahan": "Kelurahan A" } }, { "case": "missing_medical_record_number", "body": { "name": "No MRN", "phone_number": "08123456789", "gender": "M" } }, { "case": "duplicate_medical_record_number", "body": { "name": "Copy MRN", "medical_record_number": "MRN-20260001", "phone_number": "081000000", "gender": "F" } }, { "case": "very_long_name", "body": { "name": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "medical_record_number": "MRN-LONG-1", "phone_number": "08123456789", "gender": "F" } }, { "case": "invalid_types_fixed", "body": { "name": "Valid User", "medical_record_number": "MRN-20260002", "phone_number": "+628111111111", "gender": "M" } } ], "PUT /patient/{medical_record_number}": [ { "case": "valid_update", "body": { "name": "Jane Doe Updated", "phone_number": "+628987654321", "address": "Jl. Baru 2", "active": false, "birth_date": "1990-05-20T00:00:00Z" } }, { "case": "update_change_mrn_to_existing", "body": { "medical_record_number": "MRN-20260001" } }, { "case": "invalid_field", "body": { "unknown_field": "value" } } ], "GET /patient": [ { "case": "basic_list", "query": "?limit=10&offset=0" }, { "case": "search_and_active", "query": "?search=Jane&active=true&include_summary=true" }, { "case": "bad_limit", "query": "?limit=1000" } ], "POST /patient/detail (demographics)": [ { "case": "valid_demographics", "body": { "name": "Jane Doe", "phone_number": "+628123456789", "gender": "F" } }, { "case": "missing_fields", "body": { "name": "", "phone_number": "", "gender": "" } } ], "POST /patient/scan": [ { "case": "valid_visit_code", "body": { "visit_code": 26011500013 } }, { "case": "invalid_visit_code_type", "body": { "visit_code": 26011500014 } } ], "POST /patient/check-phone": [ { "case": "registered_phone", "body": { "phone_number": "+628123456789" } }, { "case": "unregistered_phone", "body": { "phone_number": "+620000000000" } }, { "case": "invalid_format", "body": { "phone_number": "abcdef" } } ], "POST /patient/verify-otp": [ { "case": "valid_dummy_otp", "body": { "phone_number": "+628123456789", "otp": "123456" } }, { "case": "invalid_otp", "body": { "phone_number": "+628123456789", "otp": "000000" } } ], "POST /patient/payment-types": [ { "case": "valid_add_payments_by_medrec", "body": { "medical_record_number": "MRN-20260001", "payments": [ { "name": "BPJS", "number": "1234567890", "active": true, "fk_ref_payment_type": 2 }, { "name": "Umum", "number": "", "active": true, "fk_ref_payment_type": 1 } ] } }, { "case": "missing_patient_identifier", "body": { "payments": [] } } ], "POST /patient/identifiers": [ { "case": "valid_identifiers_and_attachments", "body": { "medical_record_number": "MRN-20260001", "identifiers": [ { "identifier_type": "KTP", "number": "3210987654321001", "active": true }, { "identifier_type": "KK", "number": "KK-0001", "active": true } ], "attachments": [ { "name": "KTP Scan", "file_name": "ktp.jpg", "directory": "/uploads/ktp", "active": true } ] } }, { "case": "duplicate_identifier_in_batch", "body": { "medical_record_number": "MRN-20260001", "identifiers": [ { "identifier_type": "KTP", "number": "3210987654321001", "active": true }, { "identifier_type": "KTP", "number": "3210987654321001", "active": true } ] } } ], "PUT /patient/payment-types": [ { "case": "update_existing_payments_by_id", "body": { "patient_id": 123, "payment_types": [ { "id": 10, "name": "BPJS Updated", "number": "999999", "active": true } ] } } ], "PUT /patient/identifiers": [ { "case": "update_identifier_and_attachment", "body": { "medical_record_number": "MRN-20260001", "identifiers": [ { "id": 5, "identifier_type": "KTP", "number": "3210987654321001", "active": true } ], "attachments": [ { "id": 3, "name": "Updated KTP", "file_name": "ktp_v2.jpg", "directory": "/uploads/ktp" } ] } } ], "DELETE /patient/{id}": [ { "case": "soft_delete_patient_all_children", "body": { "visit_ids": [], "attachment_ids": [], "payment_type_ids": [], "identifier_ids": [] } }, { "case": "delete_specific_children", "body": { "visit_ids": [200,201], "attachment_ids": [50], "payment_type_ids": [12], "identifier_ids": [5] } } ], "GET /visit": [ { "case": "list_visits", "query": "?limit=20&offset=0" }, { "case": "search_visit_code", "query": "?search=26011500013" } ], "GET /visit/{id}": [ { "case": "get_visit_by_id", "query": "" } ], "POST /visit/code": [ { "case": "valid_visit_code_post", "body": { "visit_code": 26011500013 } }, { "case": "invalid_visit_code_string", "body": { "visit_code": 26011500014 } } ], "GET /visit/stats": [ { "case": "default_stats", "query": "" }, { "case": "range_stats", "query": "?from=2026-01-01&to=2026-01-31&service_code=KL1" } ], "GET /visit/queue-status": [ { "case": "by_klinik_id_today", "query": "?klinik_id=1" }, { "case": "with_date_and_filters", "query": "?klinik_id=1&date=2026-02-11&loket_id=2&sub_healthcare_service_id=5" } ], "POST /visit/loket": [ { "case": "create_loket_ticket_minimal", "body": { "patient_id": 345, "service_date": "2026-02-11", "healthcare_service_id": 10, "payment_type_id": 2, "visit_status_id": [1], "visit_type_id": 1, "registration_counter_id": 3, "healthcare_type_id": 1, "service_type_id": 1 } }, { "case": "missing_visit_or_patient", "body": { "patient_id": 0, "service_date": "2026-02-11", "healthcare_service_id": 10, "payment_type_id": 2, "visit_status_id": [1], "visit_type_id": 1, "healthcare_type_id": 1, "service_type_id": 1 } } ], "POST /visit/ticket/klinik": [ { "case": "create_klinik_ticket", "body": { "visit_code": 26011500013, "healthcare_service_id": 10, "sub_healthcare_service_id": 5, "payment_type_id": 2, "visit_status_id": [2], "visit_type_id": 1, "healthcare_type_id": 1, "service_type_id": 1 } }, { "case": "duplicate_klinik_ticket_attempt", "body": { "visit_code": 26011500013, "healthcare_service_id": 10, "sub_healthcare_service_id": 5, "payment_type_id": 2, "visit_status_id": [2], "visit_type_id": 1, "healthcare_type_id": 1, "service_type_id": 1 } } ], "POST /visit/ticket/checkin": [ { "case": "checkin_by_ticket", "body": { "ticket": "L10-00012", "visit_status_id": [3] } }, { "case": "checkin_by_visit_code", "body": { "visit_code": 26011500013, "visit_status_id": [3] } } ], "GET /visit/quota-status": [ { "case": "quota_for_service_today", "query": "?healthcare_service_id=10" }, { "case": "quota_for_subservice_date", "query": "?healthcare_service_id=10&sub_healthcare_service_id=5&date=2026-02-11" } ], "POST /visit/status": [ { "case": "add_visit_status_by_hs_id", "body": { "patient_visit_healthcare_service_id": 9001, "visit_status_id": [4] } }, { "case": "add_visit_status_by_code", "body": { "visit_code": 26011500013, "visit_status_id": [4,5] } } ], "POST /visit/status/finish": [ { "case": "finish_visit_by_hs_id", "body": { "patient_visit_healthcare_service_id": 9001, "visit_status_id": [6] } }, { "case": "finish_visit_by_code", "body": { "visit_code": 26011500013, "visit_status_id": [6] } } ] }