From 89b051b883dbd4a647dc4a516ea94c78264bbe1f Mon Sep 17 00:00:00 2001 From: Andrian Roshandy Date: Sun, 12 Oct 2025 13:18:46 +0700 Subject: [PATCH] feat/encounter-status-107: wip --- .../app/encounter/checkin-entry.vue | 85 ++++++++++++ .../app/encounter/checkout-entry.vue | 125 ++++++++++++++++++ app/components/app/encounter/status.vue | 40 +++++- app/components/content/encounter/status.vue | 78 +++++++++++ app/lib/constants.ts | 14 +- app/schemas/encounter.schema.ts | 23 ++++ 6 files changed, 362 insertions(+), 3 deletions(-) create mode 100644 app/components/app/encounter/checkin-entry.vue create mode 100644 app/components/app/encounter/checkout-entry.vue create mode 100644 app/components/content/encounter/status.vue create mode 100644 app/schemas/encounter.schema.ts diff --git a/app/components/app/encounter/checkin-entry.vue b/app/components/app/encounter/checkin-entry.vue new file mode 100644 index 00000000..0fa69b01 --- /dev/null +++ b/app/components/app/encounter/checkin-entry.vue @@ -0,0 +1,85 @@ + + + + + \ No newline at end of file diff --git a/app/components/app/encounter/checkout-entry.vue b/app/components/app/encounter/checkout-entry.vue new file mode 100644 index 00000000..60e5c982 --- /dev/null +++ b/app/components/app/encounter/checkout-entry.vue @@ -0,0 +1,125 @@ + + + + + \ No newline at end of file diff --git a/app/components/app/encounter/status.vue b/app/components/app/encounter/status.vue index e45c0a78..1dcd2ea6 100644 --- a/app/components/app/encounter/status.vue +++ b/app/components/app/encounter/status.vue @@ -1,6 +1,44 @@ \ No newline at end of file diff --git a/app/components/content/encounter/status.vue b/app/components/content/encounter/status.vue new file mode 100644 index 00000000..e280d03e --- /dev/null +++ b/app/components/content/encounter/status.vue @@ -0,0 +1,78 @@ + + + \ No newline at end of file diff --git a/app/lib/constants.ts b/app/lib/constants.ts index 05213784..e2a49ef9 100644 --- a/app/lib/constants.ts +++ b/app/lib/constants.ts @@ -67,8 +67,18 @@ export const timeUnitCodes: Record = { } export const dischargeMethodCodes: Record = { - home: 'Home', - 'home-request': 'Home Request', + home: "Pulang", + "home-request": "Pulang Atas Permintaan Sendiri", + "consul-back": "Konsultasi Balik / Lanjutan", + "consul-poly": "Konsultasi Poliklinik Lain", + "consul-executive": "Konsultasi Antar Dokter Eksekutif", + "consul-ch-day": "Konsultasi Hari Lain", + emergency: "Rujuk IGD", + "emergency-covid": "Rujuk IGD Covid", + inpatient: "Rujuk Rawat Inap", + external: "Rujuk Faskes Lain", + death: "Meninggal", + "death-on-arrival": "Meninggal Saat Tiba" } export const genderCodes: Record = { diff --git a/app/schemas/encounter.schema.ts b/app/schemas/encounter.schema.ts new file mode 100644 index 00000000..96302993 --- /dev/null +++ b/app/schemas/encounter.schema.ts @@ -0,0 +1,23 @@ +import { z } from 'zod' + +// Check In +const CheckInSchema = z.object({ + registeredAt: z.string({ required_error: 'Tanggal masuk harus diisi' }), + responsible_doctor_id: z.number({ required_error: 'Dokter harus diisi' }).gt(0, 'Dokter harus diisi'), + adm_employee_id: z.number({ required_error: 'PJA harus diisi' }).gt(0, 'PJA harus diisi'), +}) +type CheckInFormData = z.infer + +export { CheckInSchema } +export type { CheckInFormData } + +// Check Out +const CheckOutSchema = z.object({ + dischargeMethod_code: z.string({ required_error: 'Metode pulang harus diisi' }), + unit_id: z.number(), + responsible_doctor_id: z.number(), +}) +type CheckOutFormData = z.infer + +export { CheckOutSchema } +export type { CheckOutFormData }