From 5e309801edc197cc7e7eb8c8fb18e155cd0182cb Mon Sep 17 00:00:00 2001 From: riefive Date: Sun, 9 Nov 2025 18:36:15 +0700 Subject: [PATCH] feat(encounter): update encounter permissions and enhance entry form handling --- app/components/content/encounter/entry.vue | 11 +++++---- app/lib/page-permission.ts | 24 +++++++++++++++++++ .../(features)/emergency/encounter/add.vue | 2 +- .../(features)/emergency/encounter/index.vue | 2 +- .../(features)/inpatient/encounter/add.vue | 2 +- .../(features)/inpatient/encounter/index.vue | 2 +- .../(features)/outpatient/encounter/add.vue | 2 +- .../(features)/outpatient/encounter/index.vue | 2 +- 8 files changed, 37 insertions(+), 10 deletions(-) diff --git a/app/components/content/encounter/entry.vue b/app/components/content/encounter/entry.vue index 16069c0c..c0446952 100644 --- a/app/components/content/encounter/entry.vue +++ b/app/components/content/encounter/entry.vue @@ -128,17 +128,20 @@ async function handleSaveEncounter(formValues: any) { visitDate: formatDate(formValues.registerDate), class_code: props.classCode || '', subClass_code: props.subClassCode || '', - infra_id: 0, - unit_id: 0, + infra_id: null, + unit_id: null, appointment_doctor_id: Number(formValues.doctorId), responsible_doctor_id: Number(formValues.doctorId), paymentType: formValues.paymentType, cardNumber: formValues.cardNumber, - adm_employee_id: employeeId, refSource_name: '', appointment_id: null, } + if (employeeId && employeeId > 0) { + payload.adm_employee_id = employeeId + } + // Add specialist_id and subspecialist_id if available if (specialist_id) { payload.specialist_id = specialist_id @@ -149,7 +152,7 @@ async function handleSaveEncounter(formValues: any) { if (formValues.paymentType === 'jkn') { payload.paymentMethod_code = 'insurance' - payload.insuranceCompany_id = 0 + payload.insuranceCompany_id = null payload.member_number = formValues.cardNumber payload.ref_number = formValues.sepNumber } diff --git a/app/lib/page-permission.ts b/app/lib/page-permission.ts index c527a8cc..1b70af31 100644 --- a/app/lib/page-permission.ts +++ b/app/lib/page-permission.ts @@ -25,6 +25,30 @@ export const PAGE_PERMISSIONS = { billing: ['R'], management: ['R'], }, + '/outpatient/encounter': { + doctor: ['C', 'R', 'U', 'D'], + nurse: ['C', 'R', 'U', 'D'], + admisi: ['R'], + pharmacy: ['R'], + billing: ['R'], + management: ['R'], + }, + '/emergency/encounter': { + doctor: ['C', 'R', 'U', 'D'], + nurse: ['C', 'R', 'U', 'D'], + admisi: ['R'], + pharmacy: ['R'], + billing: ['R'], + management: ['R'], + }, + '/inpatient/encounter': { + doctor: ['C', 'R', 'U', 'D'], + nurse: ['C', 'R', 'U', 'D'], + admisi: ['R'], + pharmacy: ['R'], + billing: ['R'], + management: ['R'], + }, '/rehab/encounter': { doctor: ['C', 'R', 'U', 'D'], nurse: ['R'], diff --git a/app/pages/(features)/emergency/encounter/add.vue b/app/pages/(features)/emergency/encounter/add.vue index dcca3fe3..aa382643 100644 --- a/app/pages/(features)/emergency/encounter/add.vue +++ b/app/pages/(features)/emergency/encounter/add.vue @@ -16,7 +16,7 @@ useHead({ title: () => `${route.meta.title}`, // backtick to avoid the ts-plugin(2322) warning }) -const roleAccess: PagePermission = PAGE_PERMISSIONS['/rehab/encounter'] +const roleAccess: PagePermission = PAGE_PERMISSIONS['/emergency/encounter'] const { checkRole, hasCreateAccess } = useRBAC() diff --git a/app/pages/(features)/emergency/encounter/index.vue b/app/pages/(features)/emergency/encounter/index.vue index f849062e..ed05c25e 100644 --- a/app/pages/(features)/emergency/encounter/index.vue +++ b/app/pages/(features)/emergency/encounter/index.vue @@ -16,7 +16,7 @@ useHead({ title: () => route.meta.title as string, }) -const roleAccess: PagePermission = PAGE_PERMISSIONS['/rehab/encounter'] +const roleAccess: PagePermission = PAGE_PERMISSIONS['/emergency/encounter'] const { checkRole, hasReadAccess } = useRBAC() diff --git a/app/pages/(features)/inpatient/encounter/add.vue b/app/pages/(features)/inpatient/encounter/add.vue index be9fe9c5..bd827f79 100644 --- a/app/pages/(features)/inpatient/encounter/add.vue +++ b/app/pages/(features)/inpatient/encounter/add.vue @@ -16,7 +16,7 @@ useHead({ title: () => `${route.meta.title}`, // backtick to avoid the ts-plugin(2322) warning }) -const roleAccess: PagePermission = PAGE_PERMISSIONS['/rehab/encounter'] +const roleAccess: PagePermission = PAGE_PERMISSIONS['/inpatient/encounter'] const { checkRole, hasCreateAccess } = useRBAC() diff --git a/app/pages/(features)/inpatient/encounter/index.vue b/app/pages/(features)/inpatient/encounter/index.vue index 55f256f9..7c9d1ac5 100644 --- a/app/pages/(features)/inpatient/encounter/index.vue +++ b/app/pages/(features)/inpatient/encounter/index.vue @@ -16,7 +16,7 @@ useHead({ title: () => route.meta.title as string, }) -const roleAccess: PagePermission = PAGE_PERMISSIONS['/rehab/encounter'] +const roleAccess: PagePermission = PAGE_PERMISSIONS['/inpatient/encounter'] const { checkRole, hasReadAccess } = useRBAC() diff --git a/app/pages/(features)/outpatient/encounter/add.vue b/app/pages/(features)/outpatient/encounter/add.vue index e1c82094..948b16c6 100644 --- a/app/pages/(features)/outpatient/encounter/add.vue +++ b/app/pages/(features)/outpatient/encounter/add.vue @@ -16,7 +16,7 @@ useHead({ title: () => `${route.meta.title}`, // backtick to avoid the ts-plugin(2322) warning }) -const roleAccess: PagePermission = PAGE_PERMISSIONS['/rehab/encounter'] +const roleAccess: PagePermission = PAGE_PERMISSIONS['/outpatient/encounter'] const { checkRole, hasCreateAccess } = useRBAC() diff --git a/app/pages/(features)/outpatient/encounter/index.vue b/app/pages/(features)/outpatient/encounter/index.vue index ad0badfa..e8dfb708 100644 --- a/app/pages/(features)/outpatient/encounter/index.vue +++ b/app/pages/(features)/outpatient/encounter/index.vue @@ -16,7 +16,7 @@ useHead({ title: () => route.meta.title as string, }) -const roleAccess: PagePermission = PAGE_PERMISSIONS['/rehab/encounter'] +const roleAccess: PagePermission = PAGE_PERMISSIONS['/outpatient/encounter'] const { checkRole, hasReadAccess } = useRBAC()