feat(sep): modify schema

This commit is contained in:
riefive
2025-10-16 13:02:18 +07:00
parent 9a0a9f68bf
commit d7e4ed9345
4 changed files with 167 additions and 122 deletions

No files matched your search

+63 -16
View File
@@ -1,22 +1,69 @@
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({
tanggalSep: z.string().min(1, 'Tanggal SEP wajib diisi'),
jalur: z.string().min(1, 'Pilih jalur'),
noBpjs: z.string({ required_error: 'No. Kartu BPJS wajib diisi' }).min(1, 'No. Kartu BPJS wajib diisi'),
noKtp: z.string().min(1, 'No. KTP wajib diisi'),
noRm: z.string().min(1, 'No. RM wajib diisi'),
namaPasien: z.string().min(1, 'Nama pasien wajib diisi'),
noTelp: z.string().min(1, 'Nomor telepon wajib diisi'),
noSuratKontrol: z.string().min(1, 'No. Surat Kontrol wajib diisi'),
tglSuratKontrol: z.string().min(1, 'Tanggal Surat Kontrol wajib diisi'),
klinikTujuan: z.string().min(1, 'Klinik tujuan wajib diisi'),
dpjp: z.string().min(1, 'DPJP wajib diisi'),
diagnosaAwal: z.string().min(1, 'Diagnosa awal wajib diisi'),
cob: z.string().min(1, 'COB wajib diisi'),
katarak: z.string().min(1, 'Katarak wajib diisi'),
jenisProsedur: z.string().min(1, 'Jenis prosedur wajib diisi'),
kodePenunjang: z.string().min(1, 'Kode penunjang wajib diisi'),
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>