Merge pull request #212 from dikstub-rssa/feat/encounter-adjustment-163
Enhancement SEP
This commit is contained in:
No files matched your search
@@ -13,6 +13,9 @@ import { genDoctor, type Doctor } from '~/models/doctor'
|
||||
// Stores
|
||||
import { useUserStore } from '~/stores/user'
|
||||
|
||||
// Handlers
|
||||
import { uploadAttachmentCustom } from '~/handlers/supporting-document.handler'
|
||||
|
||||
// Services
|
||||
import {
|
||||
getList as getSpecialistList,
|
||||
@@ -26,7 +29,6 @@ import {
|
||||
} from '~/services/encounter.service'
|
||||
import { getList as getMemberList } from '~/services/vclaim-member.service'
|
||||
import { getList as getSepList } from '~/services/vclaim-sep.service'
|
||||
import { uploadAttachment } from '~/services/supporting-document.service'
|
||||
|
||||
// Handlers
|
||||
import {
|
||||
@@ -468,6 +470,19 @@ export function useEncounterEntry(props: {
|
||||
if (formData.subSpecialistId) {
|
||||
await handleFetchDoctors(formData.subSpecialistId)
|
||||
}
|
||||
if (encounter.encounterDocuments && Array.isArray(encounter.encounterDocuments)) {
|
||||
let sepFileReview = {}
|
||||
let sippFileReview = {}
|
||||
for (const doc of encounter.encounterDocuments) {
|
||||
if (doc.type_code === 'vclaim-sep') {
|
||||
sepFileReview = { id: doc.id, fileName: doc.fileName, filePath: doc.filePath, type: doc.type_code }
|
||||
} else if (doc.type_code === 'vclaim-sipp') {
|
||||
sippFileReview = { id: doc.id, fileName: doc.fileName, filePath: doc.filePath, type: doc.type_code }
|
||||
}
|
||||
}
|
||||
formData.sepFileReview = sepFileReview
|
||||
formData.sippFileReview = sippFileReview
|
||||
}
|
||||
|
||||
formObjects.value = { ...formData }
|
||||
}
|
||||
@@ -501,6 +516,8 @@ export function useEncounterEntry(props: {
|
||||
const visitDateValue = formValues.visitDate || formValues.registeredAt || formValues.registerDate || ''
|
||||
const memberNumber = formValues.member_number ?? formValues.cardNumber ?? formValues.memberNumber ?? null
|
||||
const refNumber = formValues.ref_number ?? formValues.sepNumber ?? formValues.refNumber ?? null
|
||||
sepFile.value = formValues.sepFile || null
|
||||
sippFile.value = formValues.sippFile || null
|
||||
|
||||
let paymentMethodCode = formValues.paymentMethod_code ?? null
|
||||
if (!paymentMethodCode) {
|
||||
@@ -517,7 +534,7 @@ export function useEncounterEntry(props: {
|
||||
|
||||
const payload: any = {
|
||||
patient_id: patientId,
|
||||
appointment_doctor_code: formValues.doctorId || null,
|
||||
appointment_doctor_code: formValues.doctor_code || null,
|
||||
class_code: props.classCode || '',
|
||||
subClass_code: props.subClassCode || '',
|
||||
infra_id: formValues.infra_id ?? null,
|
||||
@@ -545,18 +562,21 @@ export function useEncounterEntry(props: {
|
||||
if (paymentMethodCode) {
|
||||
payload.paymentMethod_code = paymentMethodCode
|
||||
}
|
||||
if (!payload.vclaimReference) {
|
||||
payload.vclaimReference = {
|
||||
noSep: refNumber,
|
||||
}
|
||||
}
|
||||
|
||||
if (paymentMethodCode === 'insurance') {
|
||||
payload.insuranceCompany_id = formValues.insuranceCompany_id ?? null
|
||||
if (memberNumber) payload.member_number = memberNumber
|
||||
// if (refNumber) payload.ref_number = refNumber
|
||||
if (formValues.refTypeCode) payload.refTypeCode = formValues.refTypeCode
|
||||
if (formValues.vclaimReference) payload.vclaimReference = formValues.vclaimReference
|
||||
} else {
|
||||
if (paymentMethodCode === 'membership' && memberNumber) {
|
||||
payload.member_number = memberNumber
|
||||
}
|
||||
// if (refNumber) payload.ref_number = refNumber
|
||||
}
|
||||
|
||||
if (isAdmin && props.classCode === 'ambulatory') {
|
||||
@@ -573,16 +593,26 @@ export function useEncounterEntry(props: {
|
||||
}
|
||||
|
||||
if (result.success) {
|
||||
console.log(result)
|
||||
console.log(sepFile.value)
|
||||
console.log(sippFile.value)
|
||||
// const encounterId = isEditMode.value ? props.id : result.body?.data?.id
|
||||
if (patientId) {
|
||||
const encounterId = isEditMode.value ? props.id : result.body?.data?.id
|
||||
|
||||
if (encounterId) {
|
||||
if (sepFile.value) {
|
||||
await uploadAttachment(sepFile.value, patientId, 'vclaim-sep')
|
||||
await uploadAttachmentCustom({
|
||||
id: isEditMode.value && formValues.sepFileReview ? formValues.sepFileReview.id : null,
|
||||
file: sepFile.value,
|
||||
refId: encounterId,
|
||||
entityTypeCode: 'encounter',
|
||||
type: 'vclaim-sep',
|
||||
})
|
||||
}
|
||||
if (sippFile.value) {
|
||||
await uploadAttachment(sippFile.value, patientId, 'vclaim-sipp')
|
||||
await uploadAttachmentCustom({
|
||||
id: isEditMode.value && formValues.sippFileReview ? formValues.sippFileReview.id : null,
|
||||
file: sippFile.value,
|
||||
refId: encounterId,
|
||||
entityTypeCode: 'encounter',
|
||||
type: 'vclaim-sipp',
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -620,8 +650,6 @@ export function useEncounterEntry(props: {
|
||||
paymentsList,
|
||||
sepsList,
|
||||
sepNumber,
|
||||
sepFile,
|
||||
sippFile,
|
||||
participantGroupsList,
|
||||
specialistsTree,
|
||||
doctorsList,
|
||||
|
||||
@@ -256,6 +256,8 @@ export function useIntegrationSepEntry() {
|
||||
},
|
||||
]
|
||||
} else {
|
||||
const destA = lettersRaw?.rujukan?.provPerujuk?.Kode
|
||||
const destB = lettersRaw?.rujukan?.provPerujuk?.kode
|
||||
letters.value = [
|
||||
{
|
||||
letterNumber: lettersRaw?.rujukan?.noKunjungan || '',
|
||||
@@ -276,7 +278,7 @@ export function useIntegrationSepEntry() {
|
||||
patientName: lettersRaw?.rujukan?.peserta?.nama || '',
|
||||
patientPhone: lettersRaw?.rujukan?.peserta?.mr?.noTelepon || '',
|
||||
medicalRecordNumber: lettersRaw?.rujukan?.peserta?.mr?.noMR || '',
|
||||
destination: lettersRaw?.rujukan?.provPerujuk?.kode || '',
|
||||
destination: destA || destB || '',
|
||||
},
|
||||
},
|
||||
]
|
||||
@@ -480,7 +482,7 @@ export function useIntegrationSepEntry() {
|
||||
}
|
||||
|
||||
if (!value.destinationClinic) {
|
||||
mappedValues.destinationClinic = selectedObjects.value['destination'] || ''
|
||||
mappedValues.referralTo = selectedObjects.value['destination'] || ''
|
||||
}
|
||||
if (!value.clinicExcecutive) {
|
||||
mappedValues.clinicExcecutive = 'no'
|
||||
|
||||
@@ -22,3 +22,17 @@ export const {
|
||||
update,
|
||||
remove,
|
||||
})
|
||||
|
||||
export async function uploadAttachmentCustom(payload: any) {
|
||||
const { user } = useUserStore()
|
||||
|
||||
const formData = new FormData()
|
||||
formData.append('content', payload.file)
|
||||
formData.append('entityType_code', payload.entityTypeCode)
|
||||
formData.append('type_code', payload.type)
|
||||
formData.append('ref_id', payload.refId)
|
||||
formData.append('upload_employee_id', user.employee_id)
|
||||
|
||||
const response = payload.id ? await update(payload.id, formData) : await create(formData)
|
||||
return response?.body?.data
|
||||
}
|
||||
Reference in New Issue
Block a user