Files
simrsx-fe/app/services/vclaim-sep.service.ts
T
2025-10-23 16:15:04 +07:00

97 lines
2.8 KiB
TypeScript

// Base
import * as base from './_crud-base'
// Types
import type { IntegrationBpjsFormData } from '~/schemas/integration-bpjs.schema'
const path = '/api/vclaim/sep'
const name = 'sep'
export function create(data: any) {
return base.create(path, data, name)
}
export function makeSepData(
data: IntegrationBpjsFormData & {
referralFrom?: string
referralTo?: string
referralLetterDate?: string
referralLetterNumber?: string
},
) {
const content = {
noKartu: '0002084879801', // data.bpjsNumber || '',
tglSep: data.sepDate,
ppkPelayanan: '1323R001', // data.serviceType || '',
jnsPelayanan: data.admissionType ? String(data.admissionType) : '1',
noMR: data.medicalRecordNumber || '',
catatan: data.note || '',
diagAwal: data.initialDiagnosis || '',
// poli: {
// tujuan: data.destinationClinic || '',
// eksekutif: data.clinicExcecutive === 'yes' ? '1' : '0',
// },
poli: {
tujuan: 'URO',
eksekutif: '0',
},
cob: {
cob: data.cob === 'yes' ? '1' : '0',
},
katarak: {
katarak: data.cataract === 'yes' ? '1' : '0',
},
tujuanKunj: data.purposeOfVisit || '',
flagProcedure: data.procedureType || '',
kdPenunjang: data.supportCode || '',
assesmentPel: data.serviceAssessment || '',
skdp: {
noSurat: '', // data.admissionType === '3' ? data.referralLetterNumber : '',
kodeDPJP: '', // data.admissionType === '3' ? data.attendingDoctor : '',
},
// rujukan: {
// asalRujukan: data?.referralFrom || '',
// tglRujukan: '', // data?.referralLetterDate || '',
// noRujukan: '', // data?.referralLetterNumber || '',
// ppkRujukan: data?.referralTo || '',
// },
rujukan: {
noRujukan: '0212R0300625B000006',
ppkRujukan: '0212R030',
tglRujukan: '2025-06-26',
asalRujukan: '2',
},
klsRawat: {
klsRawatHak: data.classLevel || '',
klsRawatNaik: data.classLevelUpgrade || '',
pembiayaan: data.classPaySource || '',
penanggungJawab: data.responsiblePerson || '',
},
dpjpLayan: '28080', // data.attendingDoctor || '',
noTelp: data.phoneNumber || '',
user: data.patientName || '',
jaminan: {
lakaLantas: data.trafficAccident || '0',
noLP: data.lpNumber || '',
penjamin: {
tglKejadian: data.accidentDate || '',
keterangan: data.accidentNote || '',
suplesi: {
suplesi: data.suplesi === 'yes' ? '1' : '0',
noSepSuplesi: data.suplesiNumber || '',
lokasiLaka: {
kdPropinsi: data.accidentProvince || '',
kdKabupaten: data.accidentCity || '',
kdKecamatan: data.accidentDistrict || '',
},
},
},
},
}
return {
request: {
t_sep: content,
},
}
}