feat/encounter: done

This commit is contained in:
Andrian Roshandy
2025-10-21 22:48:34 +07:00
parent d8c861d60c
commit 3f77d927b6
14 changed files with 484 additions and 194 deletions

No files matched your search

+33 -16
View File
@@ -1,31 +1,48 @@
import { z } from 'zod'
import { InternalReferenceSchema } from './internal-reference.schema'
// Check In
const CheckInSchema = z.object({
registeredAt: z.string({ required_error: 'Tanggal masuk harus diisi' }),
// 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<typeof CheckInSchema>
// Check Out Consul Polis
const ConsulPoliesSchema = z.object({
unit_id: z.number(),
responsible_doctor_id: z.number(),
})
type ConsulPoliesFormData = z.infer<typeof ConsulPoliesSchema>
// Checkout
const CheckOutSchema = z.object({
dischargeMethod_code: z.string({ required_error: 'Metode pulang harus diisi' }),
// unit_id: z.number(),
consulPolies: z.array(ConsulPoliesSchema),
responsible_doctor_id: z.number(),
discharge_method_code: z.string({ required_error: 'Metode pulang harus diisi' }),
discharge_date: z.string({ required_error: 'Tanggal pulang harus diisi' }),
})
type CheckOutFormData = z.infer<typeof CheckOutSchema>
// CheckoutDeath
const CheckOutDeathSchema = z.object({
discharge_method_code: z.string({ required_error: 'Metode pulang harus diisi' }),
discharge_date: z.string({ required_error: 'Tanggal pulang harus diisi' }),
death_cause: z.array(z.string()).nonempty(),
})
type CheckOutDeathFormData = z.infer<typeof CheckOutDeathSchema>
// CheckoutDeath
const CheckOutInternalReferenceSchema = z.object({
discharge_method_code: z.string({ required_error: 'Metode pulang harus diisi' }),
discharge_date: z.string({ required_error: 'Tanggal pulang harus diisi' }),
internalReferences: z.array(InternalReferenceSchema).nonempty(),
})
type CheckOutInternalReferenceFormData = z.infer<typeof CheckOutInternalReferenceSchema>
// Exports
export { CheckInSchema, CheckOutSchema }
export type { CheckInFormData, CheckOutFormData, ConsulPoliesFormData }
export {
CheckInSchema,
CheckOutSchema,
CheckOutDeathSchema,
CheckOutInternalReferenceSchema
}
export type {
CheckInFormData,
CheckOutFormData,
CheckOutDeathFormData,
CheckOutInternalReferenceFormData
}
+12
View File
@@ -0,0 +1,12 @@
import { z } from 'zod'
import type { InternalReference } from '~/models/internal-reference'
const InternalReferenceSchema = z.object({
'unit_id': z.number({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimum 1 karakter'),
'doctor_id': z.number({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimum 1 karakter'),
})
type InternalReferenceFormData = z.infer<typeof InternalReferenceSchema> & Partial<InternalReference>
export { InternalReferenceSchema }
export type { InternalReferenceFormData }