diff --git a/app/components/app/encounter/quick-info.vue b/app/components/app/encounter/quick-info.vue index 56f40e79..49d81926 100644 --- a/app/components/app/encounter/quick-info.vue +++ b/app/components/app/encounter/quick-info.vue @@ -7,7 +7,7 @@ defineProps<{ - + {{ 'data.patient.person.name' }} - {{ 'data.patient.number' }} diff --git a/app/components/app/soapi/early-rehab-entry.vue b/app/components/app/soapi/early-rehab-entry.vue index 991a7c73..61beb0f3 100644 --- a/app/components/app/soapi/early-rehab-entry.vue +++ b/app/components/app/soapi/early-rehab-entry.vue @@ -1,5 +1,4 @@ - - - - Keluhan Utama - - - - + + + + Pemeriksaan Fisiatrik + Anamnesa + + + + + Keluhan Utama + + + + + - - - Keluhan Tambahan - - - - + + + Diagnosa Medis + + + + - - - Riwayat Penyakit Sekarang - - - - + + Rencana Awal Medis + + + + - - - Riwayat Penyakit Dahulu - - - - + + Terapi + + + + + + + - - - Riwayat Penyakit Keluarga - - - - + + Pemeriksaan Fisik + Status Generalis + - - - Riwayat Alergi - - - - + + + + Tekanan Darah + + + + + - - - Reaksi Alergi - - - - + + Nadi + + + + - - - Riwayat Pengobatan - - - - + + GCS + + + + + + + + RR + + + + - - - Golongan Darah - - - - - + + Ambulasi + + + + + Dependent + + + + Independen + + + + + + + Gait + + + + + + + + + Status Neurologis + + + + + + N. Cranialis + + + + + + + Sensoris + + + + + + + Reflek Fisilogis + + + + + + + + Reflek Patologis + + + + + + Saraf Otonom + + + + + + + + + Status Muskuloskeletal - ROM + + + + + + Leher + + + + + + Batang Tubuh + + + + + + + + AGA + + + + + + AGB + + + + + + + + + Status Muskuloskeletal - MMT + + + + + + Leher + + + + + + Batang Tubuh + + + + + + + + AGA + + + + + + AGB + + + + + + + + + Statu Lokalis + + + + + Deskripsi Temuan Fisik + + + + + + + + + + Pemeriksaan Penunjang + + + + + Catatan Pemeriksaan Penunjang + + + + + + + + + + Daftar Masalah + + + + + Masalah Medik + + + + + + Masalah Rehabilitasi Medik + + + + + + + + + + Diagnosa Fungsional (ICD-X) + + + + + + + + Program Rehabilitasi + + + + + + Modalitas Fisik + + + + + + + Latihan + + + + + + + Ortesa Protesa + + + + + + + + Edukasi + + + + + + Lain-Lain + + + + + + + + diff --git a/app/components/app/soapi/function-entry.vue b/app/components/app/soapi/function-entry.vue index a2fad36a..98d35663 100644 --- a/app/components/app/soapi/function-entry.vue +++ b/app/components/app/soapi/function-entry.vue @@ -1,172 +1,486 @@ - - Sudah Vaksin - - - - - - - Kasus - - - - - - - Kunjungan - - - - - - - + Keluhan Utama - - - - - - Riwayat Penyakit - - - - - - - SpO₂ - - - - - - - Tekanan Darah Sistol - - - - - - - Tekanan Darah Diastol - - - - - - - Respirasi - - - - - - - Nadi - - - - - - - Temperatur - - - - - - - Berat Badan - - - - - - - Tinggi Badan - - - - - - - Golongan Darah - - - - - - - Pemeriksaan Fisik (Yang Mendukung) - - - - - - - - Diagnosa (ICD-X) - - + Pilih Diagnosa - - - - - Diagnosa (ICD-X) - - + Pilih Diagnosa - - - - - Diagnosa Medis - - - - Rencana Awal Medis - - - - - - - Terapi - - - - + + + + + Riwayat Penyakit Dahulu + + + + + + + Riwayat Penyakit Sekarang + + + + + + + + + Pemeriksaan Fisik + + + + + Umum + + + + + + + + Tanda Vital + + + + + + Kesadaran (GCS) + + + + + + + + Pernapasan + + + + + + + Jenis + + + + + + + + Nadi + + + + + + Jenis + + + + + + + + Tekanan Darah Lengan Kanan + + + + + + Tekanan Darah Lengan Kiri + + + + + + + + Suhu Aksila + + + + + + Suhu Rektal + + + + + + + + + Pemeriksaan Badan + + + + + + Kulit + + + + + + + + + + + Kepala + + + + + + Telinga + + + + + + Hidung + + + + + + + + + Rongga Mulut/Tenggorokan + + + + + + Mata + + + + + + Lain-Lain + + + + + + + + + + + Leher + + + + + + Kelenjar Tiroid + + + + + + Lain-Lain + + + + + + + + + + + Thorax + + + + + + Jantung + + + + + + Paru-Paru + + + + + + + + Lain-Lain + + + + + + + + + + + Abdomen + + + + + + Hati + + + + + + Lien + + + + + + + + Lain-Lain + + + + + + + + + + + Punggung + + + + + + Ekstremitas + + + + + + Kelamin + + + + + + + + Rectum + + + + + + System Syaraf + + + + + + + + + + Neuromoskuloskeletal + + + + + + Kardiorespirasi + + + + + + + + + + Pemeriksaan Penunjang + + + + + Pencitraan + + + + + + Laboratorium + + + + + + + + + Diagnosa Medis (ICD-X) + + + Pilih Prosedur + + + + + Diagnosa Medis (ICD-X) + + + Pilih Prosedur + + + + + Diagnosa Medis (ICD-X) + + + Pilih Prosedur + + + + + + + + Gangguan Fungsi + + + + + {{ opt }} + + + + + + + Kesimpulan Didapatkan Gangguan Fungsi + * + + + + + + + + + + Rekomendasi Terapi Tindakan Yang Diperlukan + + + + + {{ opt }} + + + + + diff --git a/app/components/content/encounter/list.vue b/app/components/content/encounter/list.vue index 088bf482..f218444a 100644 --- a/app/components/content/encounter/list.vue +++ b/app/components/content/encounter/list.vue @@ -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).data } diff --git a/app/components/content/encounter/process.vue b/app/components/content/encounter/process.vue index e7c0ffc4..67e71ddd 100644 --- a/app/components/content/encounter/process.vue +++ b/app/components/content/encounter/process.vue @@ -7,9 +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 Status from '~/components/app/encounter/status.vue' +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 EarlyMedicalRehabList from '~/components/content/soapi/entry.vue' const route = useRoute() const router = useRouter() @@ -22,6 +28,9 @@ const activeTab = computed({ }, }) +const id = typeof route.params.id == 'string' ? parseInt(route.params.id) : 0 +const encounter = ref((await getDetail(id)) as Encounter) + const data = { noRm: 'RM21123', nama: 'Ahmad Sutanto', @@ -38,13 +47,17 @@ const data = { const tabs: TabItem[] = [ { value: 'status', label: 'Status Masuk/Keluar', component: Status }, { value: 'early-medical-assessment', label: 'Pengkajian Awal Medis', component: EarlyMedicalAssesmentList }, - { value: 'rehab-medical-assessment', label: 'Pengkajian Awal Medis Rehabilitasi Medis' }, + { + value: 'rehab-medical-assessment', + label: 'Pengkajian Awal Medis Rehabilitasi Medis', + component: EarlyMedicalRehabList, + }, { value: 'function-assessment', label: 'Asesmen Fungsi', component: AssesmentFunctionList }, { value: 'therapy-protocol', label: 'Protokol Terapi' }, { 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' }, @@ -66,6 +79,10 @@ const tabs: TabItem[] = [ - + diff --git a/app/components/content/soapi/entry.vue b/app/components/content/soapi/entry.vue index 05c25ec7..42800d8f 100644 --- a/app/components/content/soapi/entry.vue +++ b/app/components/content/soapi/entry.vue @@ -1,16 +1,38 @@ - - + + + diff --git a/app/components/content/soapi/form-function.vue b/app/components/content/soapi/form-function.vue new file mode 100644 index 00000000..d76e192f --- /dev/null +++ b/app/components/content/soapi/form-function.vue @@ -0,0 +1,45 @@ + + + + + + + diff --git a/app/components/content/soapi/form-rehab.vue b/app/components/content/soapi/form-rehab.vue new file mode 100644 index 00000000..f0255022 --- /dev/null +++ b/app/components/content/soapi/form-rehab.vue @@ -0,0 +1,45 @@ + + + + + + + diff --git a/app/components/pub/my-ui/combobox/combobox.vue b/app/components/pub/my-ui/combobox/combobox.vue index e0bda02d..4c0c5bb5 100644 --- a/app/components/pub/my-ui/combobox/combobox.vue +++ b/app/components/pub/my-ui/combobox/combobox.vue @@ -74,10 +74,10 @@ function onSelect(item: Item) { :aria-describedby="`${props.id}-search`" :class=" cn( - 'w-full justify-between border md:text-xs 2xl:text-sm font-normal rounded-md px-3 py-2 focus:outline-none focus:ring-1 focus:ring-black dark:focus:ring-white', + 'w-full justify-between border dark:!border-slate-400 h-8 2xl:h-9 md:text-xs 2xl:text-sm font-normal rounded-md px-3 focus:outline-none focus:ring-1 focus:ring-black dark:focus:ring-white', { 'cursor-not-allowed bg-gray-100 opacity-50 border-gray-300 text-gray-500': props.isDisabled, - 'bg-white text-black dark:bg-gray-800 dark:text-white dark:border-gray-600 border-gray-400 hover:bg-gray-50 dark:hover:bg-gray-700': !props.isDisabled, + 'bg-white text-black dark:bg-slate-950 dark:text-white dark:border-gray-600 border-gray-400 hover:bg-gray-50 dark:hover:bg-gray-700': !props.isDisabled, 'text-gray-400 dark:text-gray-500': !modelValue && !props.isDisabled, }, props.class, diff --git a/app/components/pub/my-ui/comp-tab/comp-tab.vue b/app/components/pub/my-ui/comp-tab/comp-tab.vue index e60fd10d..de045bce 100644 --- a/app/components/pub/my-ui/comp-tab/comp-tab.vue +++ b/app/components/pub/my-ui/comp-tab/comp-tab.vue @@ -19,7 +19,7 @@ function changeTab(value: string) { - + { '[&_.label]:md:w-44 [&_.label]:xl:w-52', ][getLabelSizeIdx(props.labelSize)] } else { - cls += ' [&_.label]:pb-1 '; + cls += ' [&_.label]:pb-1 [&_.label]:!pt-0 '; } cls += ' [&:not(.preview)_.height-default]:pt-2 [&:not(.preview)_.height-default]:2xl:!pt-1.5 [&:not(.preview)_.height-compact]:!pt-1 ' cls += '[&_textarea]:text-xs [&_textarea]:2xl:!text-sm ' diff --git a/app/components/pub/ui/table/TableCell.vue b/app/components/pub/ui/table/TableCell.vue index 288cef77..7955b08f 100644 --- a/app/components/pub/ui/table/TableCell.vue +++ b/app/components/pub/ui/table/TableCell.vue @@ -11,7 +11,7 @@ const props = defineProps<{