96 lines
2.8 KiB
TypeScript
96 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-swagger/sep'
|
|
const name = 'sep'
|
|
|
|
export function create(data: any) {
|
|
return base.create(path, data, name)
|
|
}
|
|
|
|
export function getList(params: any = null) {
|
|
let url = path
|
|
if (params?.number) {
|
|
url += `/${params.number}`
|
|
delete params.number
|
|
}
|
|
return base.getList(url, params, name)
|
|
}
|
|
|
|
export function makeSepData(
|
|
data: IntegrationBpjsFormData & {
|
|
referralFrom?: string
|
|
referralTo?: string
|
|
referralLetterDate?: string
|
|
referralLetterNumber?: string
|
|
},
|
|
) {
|
|
const content = {
|
|
noKartu: data.cardNumber || '',
|
|
tglSep: data.sepDate,
|
|
ppkPelayanan: data.fromClinic || '',
|
|
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',
|
|
},
|
|
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: ['3'].includes(data.admissionType) ? data.referralLetterNumber : '',
|
|
kodeDPJP: ['3'].includes(data.admissionType)? data.attendingDoctor : '',
|
|
},
|
|
rujukan: {
|
|
asalRujukan: ['2'].includes(data.admissionType) ? data?.referralFrom || '' : '',
|
|
tglRujukan: ['2'].includes(data.admissionType) ? data?.referralLetterDate || '' : '',
|
|
noRujukan: ['2'].includes(data.admissionType) ? data?.referralLetterNumber || '' : '',
|
|
ppkRujukan: ['2'].includes(data.admissionType) ? data?.referralTo || '' : '',
|
|
},
|
|
klsRawat: {
|
|
klsRawatHak: data.classLevel || '',
|
|
klsRawatNaik: data.classLevelUpgrade || '',
|
|
pembiayaan: data.classPaySource || '',
|
|
penanggungJawab: data.responsiblePerson || '',
|
|
},
|
|
dpjpLayan: 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,
|
|
},
|
|
}
|
|
}
|