feat/page-cleaning: adjust add encounter
This commit is contained in:
No files matched your search
@@ -2,10 +2,12 @@ import { z } from 'zod'
|
||||
|
||||
const ERROR_MESSAGES = {
|
||||
required: {
|
||||
doctorId: 'Dokter wajib diisi',
|
||||
doctor_code: 'Dokter wajib diisi',
|
||||
registerDate: 'Tanggal Daftar wajib diisi',
|
||||
paymentType: 'Jenis Pembayaran wajib diisi',
|
||||
subSpecialistId: 'Subspesialis wajib diisi',
|
||||
paymentMethod_code: 'Jenis Pembayaran wajib diisi',
|
||||
unit_code: 'Spesialis wajib diisi',
|
||||
// specialist_code: 'Spesialis wajib diisi',
|
||||
// subSpecialist_code: 'Subspesialis wajib diisi',
|
||||
patientCategory: 'Kelompok Peserta wajib diisi',
|
||||
cardNumber: 'No. Kartu BPJS wajib diisi',
|
||||
sepType: 'Jenis SEP wajib diisi',
|
||||
@@ -21,22 +23,22 @@ const IntegrationEncounterSchema = z
|
||||
patientName: z.string().optional(),
|
||||
nationalIdentity: z.string().optional(),
|
||||
medicalRecordNumber: z.string().optional(),
|
||||
|
||||
|
||||
// Visit data
|
||||
doctorId: z
|
||||
.string({ required_error: ERROR_MESSAGES.required.doctorId })
|
||||
.min(1, ERROR_MESSAGES.required.doctorId),
|
||||
subSpecialistId: z
|
||||
.string({ required_error: ERROR_MESSAGES.required.subSpecialistId })
|
||||
.min(1, ERROR_MESSAGES.required.subSpecialistId)
|
||||
doctor_code: z
|
||||
.string({ required_error: ERROR_MESSAGES.required.doctor_code })
|
||||
.min(1, ERROR_MESSAGES.required.doctor_code),
|
||||
unit_code: z
|
||||
.string({ required_error: ERROR_MESSAGES.required.unit_code })
|
||||
.min(1, ERROR_MESSAGES.required.unit_code)
|
||||
.optional(),
|
||||
registerDate: z
|
||||
.string({ required_error: ERROR_MESSAGES.required.registerDate })
|
||||
.min(1, ERROR_MESSAGES.required.registerDate),
|
||||
paymentType: z
|
||||
.string({ required_error: ERROR_MESSAGES.required.paymentType })
|
||||
.min(1, ERROR_MESSAGES.required.paymentType),
|
||||
|
||||
paymentMethod_code: z
|
||||
.string({ required_error: ERROR_MESSAGES.required.paymentMethod_code })
|
||||
.min(1, ERROR_MESSAGES.required.paymentMethod_code),
|
||||
|
||||
// BPJS related fields
|
||||
patientCategory: z
|
||||
.string()
|
||||
@@ -54,7 +56,7 @@ const IntegrationEncounterSchema = z
|
||||
.string()
|
||||
.min(1, ERROR_MESSAGES.required.sepNumber)
|
||||
.optional(),
|
||||
|
||||
|
||||
// File uploads
|
||||
sepFile: z
|
||||
.any()
|
||||
@@ -76,7 +78,7 @@ const IntegrationEncounterSchema = z
|
||||
.refine(
|
||||
(data) => {
|
||||
// If payment type is jkn, then patient category is required
|
||||
if (data.paymentType === 'jkn') {
|
||||
if (data.paymentMethod_code === 'jkn') {
|
||||
return data.patientCategory && data.patientCategory.trim() !== ''
|
||||
}
|
||||
return true
|
||||
@@ -89,7 +91,7 @@ const IntegrationEncounterSchema = z
|
||||
.refine(
|
||||
(data) => {
|
||||
// If payment type is jkn, then card number is required
|
||||
if (data.paymentType === 'jkn') {
|
||||
if (data.paymentMethod_code === 'jkn') {
|
||||
return data.cardNumber && data.cardNumber.trim() !== ''
|
||||
}
|
||||
return true
|
||||
@@ -102,7 +104,7 @@ const IntegrationEncounterSchema = z
|
||||
.refine(
|
||||
(data) => {
|
||||
// If payment type is jkn, then SEP type is required
|
||||
if (data.paymentType === 'jkn') {
|
||||
if (data.paymentMethod_code === 'jkn') {
|
||||
return data.sepType && data.sepType.trim() !== ''
|
||||
}
|
||||
return true
|
||||
@@ -115,7 +117,7 @@ const IntegrationEncounterSchema = z
|
||||
.refine(
|
||||
(data) => {
|
||||
// If payment type is jkn and SEP type is selected, then SEP number is required
|
||||
if (data.paymentType === 'jkn' && data.sepType && data.sepType.trim() !== '') {
|
||||
if (data.paymentMethod_code === 'jkn' && data.sepType && data.sepType.trim() !== '') {
|
||||
return data.sepNumber && data.sepNumber.trim() !== ''
|
||||
}
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user