Merge pull request #110 from dikstub-rssa/feat/encounter

Feat/encounter
This commit is contained in:
Munawwirul Jamal
2025-10-12 16:15:48 +07:00
committed by GitHub
5 changed files with 48 additions and 6 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ defineProps<{
</script>
<template>
<div class="w-full rounded-md border bg-white p-4 shadow-sm">
<div class="w-full rounded-md border bg-white dark:bg-neutral-950 p-4 shadow-sm">
<!-- Data Pasien -->
<h2 class="mb-2 md:text-base 2xl:text-lg font-semibold">{{ 'data.patient.person.name' }} - {{ 'data.patient.number' }}</h2>
+1 -1
View File
@@ -49,7 +49,7 @@ const refSearchNav: RefSearchNav = {
async function getPatientList() {
isLoading.isTableLoading = true
const resp = await xfetch('/api/v1/patient')
const resp = await xfetch('/api/v1/encounter')
if (resp.success) {
data.value = (resp.body as Record<string, any>).data
}
+10 -3
View File
@@ -7,11 +7,15 @@ import { useRoute, useRouter } from 'vue-router'
import CompTab from '~/components/pub/my-ui/comp-tab/comp-tab.vue'
import type { TabItem } from '~/components/pub/my-ui/comp-tab/type'
import { getDetail } from '~/services/encounter.service'
import AssesmentFunctionList from '~/components/content/assesment-function/list.vue'
import EarlyMedicalAssesmentList from '~/components/content/soapi/entry.vue'
import PrescriptionList from '~/components/content/prescription/list.vue'
import type { Encounter } from '~/models/encounter'
import Status from '~/components/app/encounter/status.vue'
// import AssesmentFunctionList from '~/components/content/assesment-function/list.vue'
import EarlyMedicalAssesmentList from '~/components/content/soapi/entry.vue'
import EarlyMedicalRehabList from '~/components/content/soapi/entry.vue'
import AssesmentFunctionList from '~/components/content/soapi/entry.vue'
const route = useRoute()
const router = useRouter()
@@ -24,6 +28,9 @@ const activeTab = computed({
},
})
const id = typeof route.params.id == 'string' ? parseInt(route.params.id) : 0
const encounter = ref<Encounter>((await getDetail(id)) as Encounter)
const data = {
noRm: 'RM21123',
nama: 'Ahmad Sutanto',
@@ -50,7 +57,7 @@ const tabs: TabItem[] = [
{ value: 'education-assessment', label: 'Asesmen Kebutuhan Edukasi' },
{ value: 'consent', label: 'General Consent' },
{ value: 'patient-note', label: 'CPRJ' },
{ value: 'prescription', label: 'Order Obat' },
{ value: 'prescription', label: 'Order Obat', component: PrescriptionList },
{ value: 'device', label: 'Order Alkes' },
{ value: 'mcu-radiology', label: 'Order Radiologi' },
{ value: 'mcu-lab-pc', label: 'Order Lab PK' },
+25
View File
@@ -0,0 +1,25 @@
// Handlers
import { genCrudHandler } from '~/handlers/_handler'
// Services
import { create, update, remove } from '~/services/encounter.service'
export const {
recId,
recAction,
recItem,
isReadonly,
isProcessing,
isFormEntryDialogOpen,
isRecordConfirmationOpen,
onResetState,
handleActionSave,
handleActionEdit,
handleActionRemove,
handleCancelForm,
} = genCrudHandler({
create,
update,
remove,
})
+11 -1
View File
@@ -1,4 +1,5 @@
import { type Doctor, genDoctor } from "./doctor"
import { genEmployee, type Employee } from "./employee"
export interface Encounter {
id: number
@@ -9,6 +10,8 @@ export interface Encounter {
specialist_id?: number
subspecialist_id?: number
visitdate: string
adm_employee_id: number
adm_employee: Employee
appointment_doctor_id: number
appointment_doctor: Doctor
responsible_doctor_id?: number
@@ -31,9 +34,16 @@ export function genEncounter(): Encounter {
class_code: '',
unit_id: 0,
visitdate: '',
adm_employee_id: 0,
adm_employee: genEmployee(),
appointment_doctor_id: 0,
appointment_doctor: genDoctor(),
medicalDischargeEducation: '',
status_code: ''
}
}
}
export interface EncounterCheckInDto {
responsible_doctor_id: number
responsibleArea_employee_id: number
}