From 3a4822d5cf683499f253204b6adfb61b9d4bb2fb Mon Sep 17 00:00:00 2001 From: riefive Date: Wed, 26 Nov 2025 15:54:46 +0700 Subject: [PATCH] feat: refactor payload structure in encounter entry handler for improved clarity and functionality --- app/handlers/encounter-entry.handler.ts | 62 +++++++++++-------------- 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/app/handlers/encounter-entry.handler.ts b/app/handlers/encounter-entry.handler.ts index 772c7cd9..71594ebf 100644 --- a/app/handlers/encounter-entry.handler.ts +++ b/app/handlers/encounter-entry.handler.ts @@ -451,39 +451,6 @@ export function useEncounterEntry(props: { const registeredAtValue = formValues.registeredAt || formValues.registerDate || '' const visitDateValue = formValues.visitDate || formValues.registeredAt || formValues.registerDate || '' - - const payload: any = { - patient_id: patientId, - registeredAt: formatDate(registeredAtValue), - visitDate: formatDate(visitDateValue), - class_code: formValues.class_code || props.classCode || '', - subClass_code: formValues.subClass_code || props.subClassCode || '', - infra_id: formValues.infra_id ?? null, - unit_id: formValues.unit_id ?? null, - unit_code: formValues.unit_code ?? null, - appointment_doctor_code: formValues.appointment_doctor_code || null, - appointment_doctor_id: - formValues.appointment_doctor_id ?? (formValues.doctorId ? Number(formValues.doctorId) : null), - responsible_doctor_id: - formValues.responsible_doctor_id ?? (formValues.doctorId ? Number(formValues.doctorId) : null), - appointment_id: formValues.appointment_id ?? null, - refSource_name: formValues.refSource_name ?? '', - refTypeCode: formValues.refTypeCode ?? formValues.ref_type_code ?? null, - vclaimReference: vclaimReference ?? null, - paymentType: formValues.paymentType, - } - - if (employeeId && employeeId > 0) { - payload.adm_employee_id = employeeId - } - - if (specialist_id) { - payload.specialist_id = specialist_id - } - if (subspecialist_id) { - payload.subspecialist_id = subspecialist_id - } - const memberNumber = formValues.member_number ?? formValues.cardNumber ?? formValues.memberNumber ?? null const refNumber = formValues.ref_number ?? formValues.sepNumber ?? formValues.refNumber ?? null @@ -500,10 +467,37 @@ export function useEncounterEntry(props: { } } + const payload: any = { + patient_id: patientId, + appointment_doctor_code: formValues.doctorId || null, + class_code: props.classCode || '', + subClass_code: props.subClassCode || '', + infra_id: formValues.infra_id ?? null, + unit_code: userStore?.user?.unit_code ?? null, + refSource_name: formValues.refSource_name ?? 'RSSA', + refTypeCode: formValues.paymentType === 'jkn' ? 'bpjs' : '', + vclaimReference: vclaimReference.value ?? null, + paymentType: formValues.paymentType, + registeredAt: formatDate(registeredAtValue), + visitDate: formatDate(visitDateValue), + } + + if (props.classCode !== 'inpatient') { + delete payload.infra_id + } + if (employeeId && employeeId > 0) { + payload.adm_employee_id = employeeId + } + if (specialist_id) { + payload.specialist_id = specialist_id + } + if (subspecialist_id) { + payload.subspecialist_id = subspecialist_id + } if (paymentMethodCode) { payload.paymentMethod_code = paymentMethodCode } - + if (paymentMethodCode === 'insurance') { payload.insuranceCompany_id = formValues.insuranceCompany_id ?? null if (memberNumber) payload.member_number = memberNumber