73 lines
3.2 KiB
TypeScript
73 lines
3.2 KiB
TypeScript
import { z } from 'zod'
|
|
|
|
const ERROR_MESSAGES = {
|
|
required: {
|
|
sepDate: 'Tanggal wajib diisi',
|
|
admissionType: 'Jenis Pendaftaran wajib diisi',
|
|
bpjsNumber: 'No. Kartu BPJS wajib diisi',
|
|
nationalId: 'Nomor ID wajib diisi',
|
|
medicalRecordNumber: 'Nomor Rekam Medis wajib diisi',
|
|
patientName: 'Nama wajib diisi',
|
|
phoneNumber: 'Nomor Telepon wajib diisi',
|
|
referralLetterNumber: 'Nomor Surat Kontrol wajib diisi',
|
|
referralLetterDate: 'Tanggal Surat Kontrol wajib diisi',
|
|
destinationClinic: 'Klinik Tujuan wajib diisi',
|
|
attendingDoctor: 'Dokter wajib diisi',
|
|
initialDiagnosis: 'Diagnosa Awal wajib diisi',
|
|
cob: 'COB wajib diisi',
|
|
cataract: 'Katarak wajib diisi',
|
|
procedureType: 'Jenis Prosedur wajib diisi',
|
|
supportCode: 'Kode Penunjang wajib diisi',
|
|
},
|
|
}
|
|
|
|
const IntegrationBpjsSchema = z.object({
|
|
sepDate: z.string({ required_error: ERROR_MESSAGES.required.sepDate }).min(1, ERROR_MESSAGES.required.sepDate),
|
|
admissionType: z
|
|
.string({ required_error: ERROR_MESSAGES.required.admissionType })
|
|
.min(1, ERROR_MESSAGES.required.admissionType),
|
|
bpjsNumber: z
|
|
.string({ required_error: ERROR_MESSAGES.required.bpjsNumber })
|
|
.min(1, ERROR_MESSAGES.required.bpjsNumber),
|
|
nationalId: z
|
|
.string({ required_error: ERROR_MESSAGES.required.nationalId })
|
|
.min(1, ERROR_MESSAGES.required.nationalId),
|
|
medicalRecordNumber: z
|
|
.string({ required_error: ERROR_MESSAGES.required.medicalRecordNumber })
|
|
.min(1, ERROR_MESSAGES.required.medicalRecordNumber),
|
|
patientName: z
|
|
.string({ required_error: ERROR_MESSAGES.required.patientName })
|
|
.min(1, ERROR_MESSAGES.required.patientName),
|
|
phoneNumber: z
|
|
.string({ required_error: ERROR_MESSAGES.required.phoneNumber })
|
|
.min(1, ERROR_MESSAGES.required.phoneNumber),
|
|
referralLetterNumber: z
|
|
.string({ required_error: ERROR_MESSAGES.required.referralLetterNumber })
|
|
.min(1, ERROR_MESSAGES.required.referralLetterNumber),
|
|
referralLetterDate: z
|
|
.string({ required_error: ERROR_MESSAGES.required.referralLetterDate })
|
|
.min(1, ERROR_MESSAGES.required.referralLetterDate),
|
|
destinationClinic: z
|
|
.string({ required_error: ERROR_MESSAGES.required.destinationClinic })
|
|
.min(1, ERROR_MESSAGES.required.destinationClinic),
|
|
attendingDoctor: z
|
|
.string({ required_error: ERROR_MESSAGES.required.attendingDoctor })
|
|
.min(1, ERROR_MESSAGES.required.attendingDoctor),
|
|
initialDiagnosis: z
|
|
.string({ required_error: ERROR_MESSAGES.required.initialDiagnosis })
|
|
.min(1, ERROR_MESSAGES.required.initialDiagnosis),
|
|
cob: z.string({ required_error: ERROR_MESSAGES.required.cob }).min(1, ERROR_MESSAGES.required.cob),
|
|
cataract: z.string({ required_error: ERROR_MESSAGES.required.cataract }).min(1, ERROR_MESSAGES.required.cataract),
|
|
procedureType: z
|
|
.string({ required_error: ERROR_MESSAGES.required.procedureType })
|
|
.min(1, ERROR_MESSAGES.required.procedureType),
|
|
supportCode: z
|
|
.string({ required_error: ERROR_MESSAGES.required.supportCode })
|
|
.min(1, ERROR_MESSAGES.required.supportCode),
|
|
})
|
|
|
|
type IntegrationBpjsFormData = z.infer<typeof IntegrationBpjsSchema>
|
|
|
|
export { IntegrationBpjsSchema }
|
|
export type { IntegrationBpjsFormData }
|