Merge pull request #110 from dikstub-rssa/feat/encounter
Feat/encounter
This commit is contained in:
@@ -7,7 +7,7 @@ defineProps<{
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<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 -->
|
<!-- Data Pasien -->
|
||||||
<h2 class="mb-2 md:text-base 2xl:text-lg font-semibold">{{ 'data.patient.person.name' }} - {{ 'data.patient.number' }}</h2>
|
<h2 class="mb-2 md:text-base 2xl:text-lg font-semibold">{{ 'data.patient.person.name' }} - {{ 'data.patient.number' }}</h2>
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ const refSearchNav: RefSearchNav = {
|
|||||||
|
|
||||||
async function getPatientList() {
|
async function getPatientList() {
|
||||||
isLoading.isTableLoading = true
|
isLoading.isTableLoading = true
|
||||||
const resp = await xfetch('/api/v1/patient')
|
const resp = await xfetch('/api/v1/encounter')
|
||||||
if (resp.success) {
|
if (resp.success) {
|
||||||
data.value = (resp.body as Record<string, any>).data
|
data.value = (resp.body as Record<string, any>).data
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,15 @@ import { useRoute, useRouter } from 'vue-router'
|
|||||||
import CompTab from '~/components/pub/my-ui/comp-tab/comp-tab.vue'
|
import CompTab from '~/components/pub/my-ui/comp-tab/comp-tab.vue'
|
||||||
import type { TabItem } from '~/components/pub/my-ui/comp-tab/type'
|
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 Status from '~/components/app/encounter/status.vue'
|
||||||
// import AssesmentFunctionList from '~/components/content/assesment-function/list.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 EarlyMedicalRehabList from '~/components/content/soapi/entry.vue'
|
||||||
import AssesmentFunctionList from '~/components/content/soapi/entry.vue'
|
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
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 = {
|
const data = {
|
||||||
noRm: 'RM21123',
|
noRm: 'RM21123',
|
||||||
nama: 'Ahmad Sutanto',
|
nama: 'Ahmad Sutanto',
|
||||||
@@ -50,7 +57,7 @@ const tabs: TabItem[] = [
|
|||||||
{ value: 'education-assessment', label: 'Asesmen Kebutuhan Edukasi' },
|
{ value: 'education-assessment', label: 'Asesmen Kebutuhan Edukasi' },
|
||||||
{ value: 'consent', label: 'General Consent' },
|
{ value: 'consent', label: 'General Consent' },
|
||||||
{ value: 'patient-note', label: 'CPRJ' },
|
{ value: 'patient-note', label: 'CPRJ' },
|
||||||
{ value: 'prescription', label: 'Order Obat' },
|
{ value: 'prescription', label: 'Order Obat', component: PrescriptionList },
|
||||||
{ value: 'device', label: 'Order Alkes' },
|
{ value: 'device', label: 'Order Alkes' },
|
||||||
{ value: 'mcu-radiology', label: 'Order Radiologi' },
|
{ value: 'mcu-radiology', label: 'Order Radiologi' },
|
||||||
{ value: 'mcu-lab-pc', label: 'Order Lab PK' },
|
{ value: 'mcu-lab-pc', label: 'Order Lab PK' },
|
||||||
|
|||||||
@@ -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,
|
||||||
|
})
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import { type Doctor, genDoctor } from "./doctor"
|
import { type Doctor, genDoctor } from "./doctor"
|
||||||
|
import { genEmployee, type Employee } from "./employee"
|
||||||
|
|
||||||
export interface Encounter {
|
export interface Encounter {
|
||||||
id: number
|
id: number
|
||||||
@@ -9,6 +10,8 @@ export interface Encounter {
|
|||||||
specialist_id?: number
|
specialist_id?: number
|
||||||
subspecialist_id?: number
|
subspecialist_id?: number
|
||||||
visitdate: string
|
visitdate: string
|
||||||
|
adm_employee_id: number
|
||||||
|
adm_employee: Employee
|
||||||
appointment_doctor_id: number
|
appointment_doctor_id: number
|
||||||
appointment_doctor: Doctor
|
appointment_doctor: Doctor
|
||||||
responsible_doctor_id?: number
|
responsible_doctor_id?: number
|
||||||
@@ -31,9 +34,16 @@ export function genEncounter(): Encounter {
|
|||||||
class_code: '',
|
class_code: '',
|
||||||
unit_id: 0,
|
unit_id: 0,
|
||||||
visitdate: '',
|
visitdate: '',
|
||||||
|
adm_employee_id: 0,
|
||||||
|
adm_employee: genEmployee(),
|
||||||
appointment_doctor_id: 0,
|
appointment_doctor_id: 0,
|
||||||
appointment_doctor: genDoctor(),
|
appointment_doctor: genDoctor(),
|
||||||
medicalDischargeEducation: '',
|
medicalDischargeEducation: '',
|
||||||
status_code: ''
|
status_code: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface EncounterCheckInDto {
|
||||||
|
responsible_doctor_id: number
|
||||||
|
responsibleArea_employee_id: number
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user