fix: adjust payload sep

This commit is contained in:
riefive
2025-11-18 14:32:25 +07:00
parent a41df17d86
commit a6ff2499ee
3 changed files with 26 additions and 8 deletions
+11 -3
View File
@@ -55,6 +55,7 @@ import {
getPatientByIdentifierSearch,
} from '~/handlers/patient.handler'
const userStore = useUserStore()
const route = useRoute()
const openPatient = ref(false)
const openLetter = ref(false)
@@ -290,8 +291,13 @@ function mapLetterDataToForm(formValues: any): any {
}
// response.rujukan.provPerujuk.kode → fromClinic (rujukan.ppkRujukan)
if (info.ppkRujukan) {
mappedValues.referralTo = info.ppkRujukan
if (info.destination) {
mappedValues.referralTo = info.destination
}
// response.rujukan.poliRujukan.kode → polyCode
if (info.poly) {
mappedValues.polyCode = info.poly
}
// response.asalFaskes → asalRujukan (1 = Faskes 1, 2 = Faskes RS)
@@ -387,7 +393,7 @@ async function handleEvent(menu: string, value: any) {
})
if (resultControl && resultControl.success && resultControl.body) {
const resultData = resultControl.body?.response?.list || []
const resultUnique = [...new Map(resultData.map((item: any) => [item.kode, item])).values()]
const resultUnique = [...new Map(resultData.map((item: any) => [item.kodeDokter, item])).values()]
const controlLetters = resultUnique.map((item: any) => ({
value: item.kodeDokter ? String(item.kodeDokter) : '',
label: `${item.kodeDokter} - ${item.namaDokter} - ${item.jadwalPraktek} (${item.kapasitas})`,
@@ -477,6 +483,8 @@ async function handleEvent(menu: string, value: any) {
mappedValues.clinicExcecutive = 'no'
}
mappedValues.userName = userStore.user?.user_name || ''
createSep(makeSepData(mappedValues))
.then((res) => {
const body = res?.body
+2 -1
View File
@@ -185,6 +185,7 @@ async function handleRemove() {
console.log('Data dihapus:', sepData)
const result = await removeSepData(makeSepDataForRemove({ ...sepData.value, userName: userStore.user?.user_name }))
if (result && result.success && result.body) {
await getSepList()
toast({ title: 'Berhasil', description: 'Data berhasil dihapus', variant: 'default' })
} else {
toast({ title: 'Gagal', description: 'Gagal menghapus data', variant: 'destructive' })
@@ -301,7 +302,7 @@ provide('table_data_loader', isLoading)
</DialogHeader>
<DialogDescription class="text-gray-700">Apakah anda yakin ingin menghapus SEP dengan data:</DialogDescription>
<div class="mt-4 space-y-2 text-sm">
<p><strong>>No. SEP:</strong> {{ sepData.sepNumber }}</p>
<p><strong>No. SEP:</strong> {{ sepData.sepNumber }}</p>
<p><strong>No. Kartu BPJS:</strong> {{ sepData.cardNumber }}</p>
<p><strong>Nama Pasien:</strong> {{ sepData.patientName }}</p>
</div>
+13 -4
View File
@@ -7,6 +7,9 @@ import type { IntegrationBpjsFormData } from '~/schemas/integration-bpjs.schema'
const path = '/api/vclaim-swagger/sep'
const name = 'sep'
// TODO: temporary destinationClinic
const destinationClinic = '1323R001'
export function create(data: any) {
return base.create(path, data, name)
}
@@ -20,6 +23,10 @@ export function getList(params: any = null) {
return base.getList(url, params, name)
}
export function getDetail(id: number | string) {
return base.getDetail(path, id, name)
}
export function remove(payload: any) {
const url = `${path}`
return base.removeCustom(url, payload, name)
@@ -27,6 +34,8 @@ export function remove(payload: any) {
export function makeSepData(
data: IntegrationBpjsFormData & {
userName: string
polyCode?: string
referralFrom?: string
referralTo?: string
referralLetterDate?: string
@@ -36,13 +45,13 @@ export function makeSepData(
const content = {
noKartu: data.cardNumber || '',
tglSep: data.sepDate,
ppkPelayanan: data.fromClinic || '',
ppkPelayanan: destinationClinic || data.fromClinic || '',
jnsPelayanan: data.serviceType ? String(data.serviceType) : '2',
noMR: data.medicalRecordNumber || '',
catatan: data.note || '',
diagAwal: data.initialDiagnosis || '',
poli: {
tujuan: data.destinationClinic || '',
tujuan: data.polyCode || '',
eksekutif: data.clinicExcecutive === 'yes' ? '1' : '0',
},
cob: {
@@ -51,7 +60,7 @@ export function makeSepData(
katarak: {
katarak: data.cataract === 'yes' ? '1' : '0',
},
tujuanKunj: data.purposeOfVisit || '',
tujuanKunj: data.purposeOfVisit || '0',
flagProcedure: data.procedureType || '',
kdPenunjang: data.supportCode || '',
assesmentPel: data.serviceAssessment || '',
@@ -75,7 +84,7 @@ export function makeSepData(
},
dpjpLayan: data.attendingDoctor || '',
noTelp: data.phoneNumber || '',
user: data.patientName || '',
user: data.userName || '',
jaminan: {
lakaLantas: data.trafficAccident || '0',
noLP: data.lpNumber || '',