feat: Implement item management module and add encounter initialization handler.
This commit is contained in:
No files matched your search
@@ -56,211 +56,248 @@ const VaccineDataListAsync = defineAsyncComponent(() => import('~/components/con
|
||||
const InitialNursingStudyAsync = defineAsyncComponent(() => import('~/components/content/initial-nursing/entry.vue'))
|
||||
|
||||
const defaultKeys: Record<string, any> = {
|
||||
status: 'status',
|
||||
earlyNurseryAssessment: 'early-nursery-assessment',
|
||||
earlyMedicalAssessment: 'early-medical-assessment',
|
||||
earlyMedicalRehabAssessment: 'early-medical-rehab-assessment',
|
||||
functionAssessment: 'function-assessment',
|
||||
therapyProtocol: 'therapy-protocol',
|
||||
chemotherapyProtocol: 'chemotherapy-protocol',
|
||||
chemotherapyMedicine: 'chemotherapy-medicine',
|
||||
educationAssessment: 'education-assessment',
|
||||
generalConsent: 'general-consent',
|
||||
patientAmbNote: 'patient-amb-note',
|
||||
patientDevNote: 'patient-dev-note',
|
||||
prescription: 'prescription',
|
||||
deviceOrder: 'device-order',
|
||||
radiologyOrder: 'radiology-order',
|
||||
cpLabOrder: 'cp-lab-order',
|
||||
microLabOrder: 'micro-lab-order',
|
||||
paLabOrder: 'pa-lab-order',
|
||||
procedureRoomOrder: 'procedure-room-order',
|
||||
mcuResult: 'mcu-result',
|
||||
actionReport: 'action-report',
|
||||
surgeryReport: 'surgery-report',
|
||||
vaccineData: 'vaccine-data',
|
||||
consultation: 'consultation',
|
||||
controlLetter: 'control-letter',
|
||||
inpatientLetter: 'inpatient-letter',
|
||||
kfr: 'kfr',
|
||||
refBack: 'reference-back',
|
||||
screening: 'screening',
|
||||
supportingDocument: 'supporting-document',
|
||||
resume: 'resume',
|
||||
ambResume: 'amb-resume',
|
||||
priceList: 'price-list',
|
||||
initialNursingStudy: 'initial-nursing-study',
|
||||
}
|
||||
|
||||
const defaultMenus: Record<string, any> = {
|
||||
status: {
|
||||
id: 'status',
|
||||
id: defaultKeys.status,
|
||||
title: 'Status Masuk/Keluar',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
earlyNurseryAssessment: {
|
||||
id: 'early-nursery-assessment',
|
||||
id: defaultKeys.earlyNurseryAssessment,
|
||||
title: 'Pengkajian Awal Keperawatan',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
earlyMedicalAssessment: {
|
||||
id: 'early-medical-assessment',
|
||||
id: defaultKeys.earlyMedicalAssessment,
|
||||
title: 'Pengkajian Awal Medis',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
earlyMedicalRehabAssessment: {
|
||||
id: 'rehab-medical-assessment',
|
||||
id: defaultKeys.earlyMedicalRehabAssessment,
|
||||
title: 'Pengkajian Awal Medis Rehabilitasi Medis',
|
||||
classCode: ['ambulatory'],
|
||||
unit: 'rehab',
|
||||
afterId: 'early-medical-assessment',
|
||||
afterId: defaultKeys.earlyMedicalAssessment,
|
||||
},
|
||||
functionAssessment: {
|
||||
id: 'function-assessment',
|
||||
id: defaultKeys.functionAssessment,
|
||||
title: 'Asesmen Fungsi',
|
||||
classCode: ['ambulatory'],
|
||||
unit: 'rehab',
|
||||
afterId: 'rehab-medical-assessment',
|
||||
afterId: defaultKeys.rehabMedicalAssessment,
|
||||
},
|
||||
therapyProtocol: {
|
||||
id: 'therapy-protocol',
|
||||
id: defaultKeys.therapyProtocol,
|
||||
classCode: ['ambulatory'],
|
||||
title: 'Protokol Terapi',
|
||||
unit: 'rehab',
|
||||
afterId: 'function-assessment',
|
||||
afterId: defaultKeys.functionAssessment,
|
||||
},
|
||||
chemotherapyProtocol: {
|
||||
id: 'chemotherapy-protocol',
|
||||
id: defaultKeys.chemotherapyProtocol,
|
||||
title: 'Protokol Kemoterapi',
|
||||
classCode: ['ambulatory'],
|
||||
unit: 'chemo',
|
||||
afterId: 'early-medical-assessment',
|
||||
afterId: defaultKeys.earlyMedicalAssessment,
|
||||
},
|
||||
chemotherapyMedicine: {
|
||||
id: 'chemotherapy-medicine',
|
||||
title: 'Protokol Obat Kemoterapi',
|
||||
classCode: ['ambulatory'],
|
||||
unit: 'chemo',
|
||||
afterId: 'chemotherapy-protocol',
|
||||
afterId: defaultKeys.chemotherapyProtocol,
|
||||
},
|
||||
educationAssessment: {
|
||||
id: 'education-assessment',
|
||||
id: defaultKeys.educationAssessment,
|
||||
title: 'Asesmen Kebutuhan Edukasi',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
generalConsent: {
|
||||
id: 'general-consent',
|
||||
id: defaultKeys.generalConsent,
|
||||
title: 'General Consent',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
patientAmbNote: {
|
||||
id: 'patient-amb-note',
|
||||
id: defaultKeys.patientAmbNote,
|
||||
title: 'CPRJ',
|
||||
classCode: ['ambulatory', 'emergency'],
|
||||
unit: 'all',
|
||||
},
|
||||
patientDevNote: {
|
||||
id: 'patient-dev-note',
|
||||
id: defaultKeys.patientDevNote,
|
||||
title: 'CPP',
|
||||
classCode: ['inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
prescription: {
|
||||
id: 'prescription',
|
||||
id: defaultKeys.prescription,
|
||||
title: 'Order Obat',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
deviceOrder: {
|
||||
id: 'device-order',
|
||||
id: defaultKeys.deviceOrder,
|
||||
title: 'Order Alkes',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
radiologyOrder: {
|
||||
id: 'radiology-order',
|
||||
id: defaultKeys.radiologyOrder,
|
||||
title: 'Order Radiologi',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
cpLabOrder: {
|
||||
id: 'cp-lab-order',
|
||||
id: defaultKeys.cpLabOrder,
|
||||
title: 'Order Lab PK',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
microLabOrder: {
|
||||
id: 'micro-lab-order',
|
||||
id: defaultKeys.microLabOrder,
|
||||
title: 'Order Lab Mikro',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
paLabOrder: {
|
||||
id: 'pa-lab-order',
|
||||
id: defaultKeys.paLabOrder,
|
||||
title: 'Order Lab PA',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
procedureRoomOrder: {
|
||||
id: 'procedure-room-order',
|
||||
id: defaultKeys.procedureRoomOrder,
|
||||
title: 'Order Ruang Tindakan',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
mcuResult: {
|
||||
id: 'mcu-result',
|
||||
id: defaultKeys.mcuResult,
|
||||
title: 'Hasil Penunjang',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
actionReport: {
|
||||
id: 'action-report',
|
||||
id: defaultKeys.actionReport,
|
||||
title: 'Laporan Tindakan',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
surgeryReport: {
|
||||
id: 'surgery-report',
|
||||
id: defaultKeys.surgeryReport,
|
||||
title: 'Laporan Operasi',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
vaccineData: {
|
||||
id: 'vaccine-data',
|
||||
id: defaultKeys.vaccineData,
|
||||
title: 'Data Vaksin',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
consultation: {
|
||||
id: 'consultation',
|
||||
id: defaultKeys.consultation,
|
||||
title: 'Konsultasi',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
controlLetter: {
|
||||
id: 'control-letter',
|
||||
id: defaultKeys.controlLetter,
|
||||
title: 'Surat Kontrol',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
inpatientLetter: {
|
||||
id: 'inpatient-letter',
|
||||
id: defaultKeys.inpatientLetter,
|
||||
title: 'SPRI',
|
||||
classCode: ['ambulatory', 'emergency'],
|
||||
unit: 'all',
|
||||
},
|
||||
kfr: {
|
||||
id: 'kfr',
|
||||
id: defaultKeys.kfr,
|
||||
title: 'KFR',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
refBack: {
|
||||
id: 'reference-back',
|
||||
id: defaultKeys.refBack,
|
||||
title: 'PRB',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
screening: {
|
||||
id: 'screening',
|
||||
id: defaultKeys.screening,
|
||||
title: 'Skrinning MPP',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
supportingDocument: {
|
||||
id: 'supporting-document',
|
||||
id: defaultKeys.supportingDocument,
|
||||
title: 'Upload Dokumen Pendukung',
|
||||
classCode: ['ambulatory'],
|
||||
unit: 'all',
|
||||
},
|
||||
resume: {
|
||||
id: 'resume',
|
||||
id: defaultKeys.resume,
|
||||
title: 'Resume',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
ambResume: {
|
||||
id: 'amb-resume',
|
||||
id: defaultKeys.ambResume,
|
||||
title: 'Resume Medis Rawat Jalan',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
priceList: {
|
||||
id: 'price-list',
|
||||
id: defaultKeys.priceList,
|
||||
title: 'Tarif Tindakan',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
},
|
||||
initialNursingStudy: {
|
||||
id: 'initial-nursing-study',
|
||||
id: defaultKeys.initialNursingStudy,
|
||||
title: 'Kajian Awal Keperawatan',
|
||||
classCode: ['ambulatory', 'emergency', 'inpatient'],
|
||||
unit: 'all',
|
||||
@@ -298,7 +335,7 @@ export function insertItemByAfterId(id: string, items: EncounterItem[], newItem:
|
||||
}
|
||||
|
||||
export function injectComponents(id: string | number, data: EncounterListData, meta: EncounterListData) {
|
||||
const currentKeys = { ...defaultKeys }
|
||||
const currentKeys = { ...defaultMenus }
|
||||
if (currentKeys?.status) {
|
||||
currentKeys.status['component'] = StatusAsync
|
||||
currentKeys.status['props'] = { encounter: data?.encounter }
|
||||
|
||||
Reference in New Issue
Block a user