Squashed commit of the following:
commit9f5ede3aeaMerge:16858dcdbe8e34Author: Munawwirul Jamal <[email protected]> Date: Fri Dec 5 09:26:33 2025 +0700 Merge pull request #213 from dikstub-rssa/feat/things-munaja Feat/things munaja commitdbe8e34d07Author: Munawwirul Jamal <[email protected]> Date: Fri Dec 5 09:26:00 2025 +0700 feat/things-munaja: fix enc status commit786107ddd9Author: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 22:57:33 2025 +0700 feat/things-munaja: content switcher commit4450cb943eMerge:913609316858dcAuthor: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 19:31:30 2025 +0700 Merge branch 'dev' into feat/things-munaja commit9136093fd6Author: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 18:02:14 2025 +0700 feat/things-munaja: cleaning commit16858dc2a0Merge:82e33c667a5154Author: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 14:30:35 2025 +0700 Merge pull request #212 from dikstub-rssa/feat/encounter-adjustment-163 Enhancement SEP commit67a515478cAuthor: riefive <[email protected]> Date: Thu Dec 4 13:39:36 2025 +0700 fix: save sep commit82e33c6dbfMerge:f96cbdbeba740aAuthor: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 13:21:37 2025 +0700 Merge pull request #209 from dikstub-rssa/feat/move-kai-ui-to-sidebar-195 Feat/move kai UI to sidebar 195 commite6b74a4949Author: riefive <[email protected]> Date: Thu Dec 4 12:36:53 2025 +0700 fix: encounter update form commit434f8471ceAuthor: riefive <[email protected]> Date: Thu Dec 4 12:20:07 2025 +0700 fix: update save again commitbae087aa6dAuthor: riefive <[email protected]> Date: Thu Dec 4 12:19:37 2025 +0700 fix: update save commitf96cbdb173Merge:5de005762556a5Author: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 12:07:25 2025 +0700 Merge pull request #210 from dikstub-rssa/feat/procedure-room-order Feat/procedure room order commit62556a5c7dMerge:93a294d5de0057Author: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 12:07:18 2025 +0700 Merge branch 'dev' into feat/procedure-room-order commit5da439720fAuthor: riefive <[email protected]> Date: Thu Dec 4 11:59:37 2025 +0700 feat: implement encounter entry form for patient, doctor, payment, and SEP management commit5de0057278Merge:71ca7f9782034cAuthor: Andsky <[email protected]> Date: Thu Dec 4 11:56:31 2025 +0700 Merge pull request #211 from dikstub-rssa/feat/micro-lab-order-50 Feat/micro lab order 50 commit93a294d8d0Merge:6c2636726365bbAuthor: Andrian Roshandy <[email protected]> Date: Thu Dec 4 11:18:49 2025 +0700 Merge branch 'dev' into feat/procedure-room-order commit26365bbd2eMerge:b6b56d1e7cab6cAuthor: Andrian Roshandy <[email protected]> Date: Thu Dec 4 11:18:33 2025 +0700 Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into dev commit6c26367c1dAuthor: Andrian Roshandy <[email protected]> Date: Thu Dec 4 10:51:40 2025 +0700 feat/procedure-room-order: added item commitd2ceda37bfAuthor: riefive <[email protected]> Date: Thu Dec 4 10:58:16 2025 +0700 feat: Implement encounter list management with search, date range filtering, and record actions. commita0dfd214e5Author: Andrian Roshandy <[email protected]> Date: Thu Dec 4 10:25:50 2025 +0700 feat/procedure-room-order: finishing commitacb573e279Author: Andrian Roshandy <[email protected]> Date: Thu Dec 4 10:25:35 2025 +0700 feat/procedure-room-order: adjust procedure-room-order commit9adb77d10bAuthor: Andrian Roshandy <[email protected]> Date: Thu Dec 4 10:24:52 2025 +0700 feat/procedure-room-order: adjust material-package commit52454a019eMerge:0a0fb73b6b56d1Author: Andrian Roshandy <[email protected]> Date: Thu Dec 4 10:23:14 2025 +0700 Merge branch 'dev' into feat/procedure-room-order commitb6b56d186dAuthor: Munawwirul Jamal <[email protected]> Date: Thu Dec 4 10:17:16 2025 +0700 dev: hotfix, cleaning some pubs commitacc45b205fAuthor: riefive <[email protected]> Date: Wed Dec 3 16:25:15 2025 +0700 fix: upload sep + sipp file commit0a0fb73483Author: Munawwirul Jamal <[email protected]> Date: Wed Dec 3 14:33:13 2025 +0700 feat/procedure-room-order: flow for procedure room commit7b4b4eecf9Merge:9f72e1db172125Author: Andrian Roshandy <[email protected]> Date: Wed Dec 3 10:18:15 2025 +0700 Merge branch 'feat/mcu-order' into feat/procedure-room-order commit782034c2b1Merge:bae0a22b80ee5aAuthor: Andrian Roshandy <[email protected]> Date: Wed Dec 3 10:16:45 2025 +0700 Merge branch 'dev' into feat/micro-lab-order-50 commit9f72e1df47Merge:fa0ae98b80ee5aAuthor: Andrian Roshandy <[email protected]> Date: Wed Dec 3 10:02:57 2025 +0700 Merge branch 'dev' into feat/procedure-room-order commitfa0ae9866eAuthor: Andrian Roshandy <[email protected]> Date: Wed Dec 3 09:44:33 2025 +0700 feat/procedure-room-order: wip #3 commitce93f996d9Author: Andrian Roshandy <[email protected]> Date: Wed Dec 3 09:43:36 2025 +0700 feat/procedure-room-order: wip #2 + procedure-room commit4444e87cb3Author: Andrian Roshandy <[email protected]> Date: Wed Dec 3 09:42:31 2025 +0700 feat/procedure-room-order: wip #1 + material-package + material-package-item commitb172125d99Merge:b2d3c149b7a719Author: Andrian Roshandy <[email protected]> Date: Mon Dec 1 20:41:58 2025 +0700 Merge branch 'feat/page-cleaning' into feat/mcu-order commitbae0a222b8Author: Andrian Roshandy <[email protected]> Date: Mon Dec 1 01:51:04 2025 +0700 feat/micro-lab-order-50: adjust for antibiotic commit1ee0f39e7dAuthor: Andrian Roshandy <[email protected]> Date: Mon Dec 1 01:50:39 2025 +0700 feat/micro-lab-order-50: added antibiotic commit95e27a8b6fAuthor: Andrian Roshandy <[email protected]> Date: Sun Nov 30 13:00:04 2025 +0700 feat/micro-lab-order-50: wip commita002ef6c6eMerge:fb2f01bb2d3c14Author: Andrian Roshandy <[email protected]> Date: Sun Nov 30 12:50:31 2025 +0700 Merge branch 'feat/mcu-order' into feat/micro-lab-order-50 commitb2d3c14ddcAuthor: Andrian Roshandy <[email protected]> Date: Sun Nov 30 12:48:11 2025 +0700 feat/mcu-order: adjustment commitfb2f01bd36Merge:9a481fe5c92f8bAuthor: Andrian Roshandy <[email protected]> Date: Sun Nov 30 12:43:11 2025 +0700 Merge branch 'feat/mcu-order' into feat/micro-lab-order-50 commit5c92f8b946Author: Andrian Roshandy <[email protected]> Date: Sun Nov 30 12:30:19 2025 +0700 feat/mcu-order: added the components commit9a481fec14Merge:425123978fc289Author: Andrian Roshandy <[email protected]> Date: Fri Nov 28 21:18:10 2025 +0700 Merge branch 'dev' into feat/micro-lab-order-50 commit4251239f7cAuthor: Andrian Roshandy <[email protected]> Date: Fri Nov 28 21:17:18 2025 +0700 feat/micro-lab-order-50: wip commitcf5789549eAuthor: Munawwirul Jamal <[email protected]> Date: Sun Nov 23 15:56:31 2025 +0700 feat/mcu: improved wip commita40eac35f8Merge:3211972baf6ab1Author: Andrian Roshandy <[email protected]> Date: Wed Nov 19 22:23:18 2025 +0700 Merge branch 'dev' into feat/radiology-order-54 commit3211972a84Merge:e3fc1e4ccabe01Author: Andrian Roshandy <[email protected]> Date: Sat Nov 15 20:15:07 2025 +0700 Merge branch 'dev' into feat/radiology-order-54 commite3fc1e4ab9Author: Andrian Roshandy <[email protected]> Date: Sat Nov 15 20:14:38 2025 +0700 feat/radiology-order-54: adjust wip
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,
|
||||
|
||||
@@ -62,17 +62,19 @@ const defaultKeys: Record<string, any> = {
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
earlyNurseryAssessment: {
|
||||
id: 'early-nursery-assessment',
|
||||
title: 'Pengkajian Awal Keperawatan',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
// NOTE : HIDDEN UNTIL IT IS READY
|
||||
// earlyNurseryAssessment: {
|
||||
// id: 'early-nursery-assessment',
|
||||
// title: 'Pengkajian Awal Keperawatan',
|
||||
// classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
// unit: 'all',
|
||||
// },
|
||||
earlyMedicalAssessment: {
|
||||
id: 'early-medical-assessment',
|
||||
title: 'Pengkajian Awal Medis',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
afterId: 'early-medical-assessment',
|
||||
},
|
||||
earlyMedicalRehabAssessment: {
|
||||
id: 'rehab-medical-assessment',
|
||||
@@ -81,20 +83,27 @@ const defaultKeys: Record<string, any> = {
|
||||
unit: 'rehab',
|
||||
afterId: 'early-medical-assessment',
|
||||
},
|
||||
functionAssessment: {
|
||||
id: 'function-assessment',
|
||||
title: 'Asesmen Fungsi',
|
||||
classCode: ['ambulatory'],
|
||||
unit: 'rehab',
|
||||
afterId: 'rehab-medical-assessment',
|
||||
},
|
||||
therapyProtocol: {
|
||||
id: 'therapy-protocol',
|
||||
classCode: ['ambulatory'],
|
||||
title: 'Protokol Terapi',
|
||||
unit: 'rehab',
|
||||
afterId: 'function-assessment',
|
||||
fkr: {
|
||||
id: 'fkr',
|
||||
title: 'FKR',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
// NOTE: Replaced by FRK
|
||||
// functionAssessment: {
|
||||
// id: 'function-assessment',
|
||||
// title: 'Asesmen Fungsi',
|
||||
// classCode: ['ambulatory'],
|
||||
// unit: 'rehab',
|
||||
// afterId: 'rehab-medical-assessment',
|
||||
// },
|
||||
// therapyProtocol: {
|
||||
// id: 'therapy-protocol',
|
||||
// classCode: ['ambulatory'],
|
||||
// title: 'Protokol Terapi',
|
||||
// unit: 'rehab',
|
||||
// afterId: 'function-assessment',
|
||||
// },
|
||||
chemotherapyProtocol: {
|
||||
id: 'chemotherapy-protocol',
|
||||
title: 'Protokol Kemoterapi',
|
||||
@@ -216,13 +225,7 @@ const defaultKeys: Record<string, any> = {
|
||||
title: 'SPRI',
|
||||
classCode: ['ambulatory', 'emergency'],
|
||||
unit: 'all',
|
||||
},
|
||||
kfr: {
|
||||
id: 'kfr',
|
||||
title: 'KFR',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
},
|
||||
refBack: {
|
||||
id: 'reference-back',
|
||||
title: 'PRB',
|
||||
@@ -412,9 +415,9 @@ export function injectComponents(id: string | number, data: EncounterListData, m
|
||||
currentKeys.refBack['component'] = PrbListAsync
|
||||
currentKeys.refBack['props'] = { encounter: data?.encounter }
|
||||
}
|
||||
if (currentKeys?.kfr) {
|
||||
currentKeys.kfr['component'] = KfrListAsync
|
||||
currentKeys.kfr['props'] = { encounter: data?.encounter }
|
||||
if (currentKeys?.fkr) {
|
||||
currentKeys.fkr['component'] = KfrListAsync
|
||||
currentKeys.fkr['props'] = { encounter: data?.encounter }
|
||||
}
|
||||
if (currentKeys?.screening) {
|
||||
// TODO: add component for screening
|
||||
@@ -499,9 +502,12 @@ export function mapResponseToEncounter(result: any): any {
|
||||
? result.visitDate
|
||||
: result.registeredAt || result.patient?.registeredAt || null,
|
||||
adm_employee_id: result.adm_employee_id || 0,
|
||||
appointment_doctor_id: result.appointment_doctor_id || null,
|
||||
responsible_doctor_id: result.responsible_doctor_id || null,
|
||||
adm_employee: result.adm_employee || null,
|
||||
responsible_nurse_code: result.responsible_nurse_code || null,
|
||||
responsible_nurse: result.responsible_nurse || null,
|
||||
appointment_doctor_code: result.appointment_doctor_code || null,
|
||||
appointment_doctor: result.appointment_doctor || null,
|
||||
responsible_doctor_code: result.responsible_doctor_id || null,
|
||||
responsible_doctor: result.responsible_doctor || null,
|
||||
refSource_name: result.refSource_name || null,
|
||||
appointment_id: result.appointment_id || null,
|
||||
|
||||
@@ -9,7 +9,11 @@ export async function getEncounterData(id: string | number) {
|
||||
try {
|
||||
const dataRes = await getDetail(id, {
|
||||
includes:
|
||||
'patient,patient-person,patient-person-addresses,unit,Appointment_Doctor,Appointment_Doctor-employee,Appointment_Doctor-employee-person,Responsible_Doctor,Responsible_Doctor-employee,Responsible_Doctor-employee-person',
|
||||
'patient,patient-person,patient-person-addresses,unit,' +
|
||||
'Adm_Employee,Adm_Employee,Adm_Employee-Person,' +
|
||||
'Responsible_Nurse,Responsible_Nurse-Employee,Responsible_Nurse-Employee-Person,' +
|
||||
'Appointment_Doctor,Appointment_Doctor-employee,Appointment_Doctor-employee-person,' +
|
||||
'Responsible_Doctor,Responsible_Doctor-employee,Responsible_Doctor-employee-person',
|
||||
})
|
||||
const dataResBody = dataRes.body ?? null
|
||||
const result = dataResBody?.data ?? null
|
||||
@@ -29,4 +33,4 @@ export async function getEncounterData(id: string | number) {
|
||||
data = null
|
||||
}
|
||||
return data
|
||||
}
|
||||
}
|
||||
@@ -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