+
+
diff --git a/app/components/app/encounter/assesment-function/list-cfg.ts b/app/components/app/encounter/assesment-function/list-cfg.ts
new file mode 100644
index 00000000..24cc80d1
--- /dev/null
+++ b/app/components/app/encounter/assesment-function/list-cfg.ts
@@ -0,0 +1,112 @@
+import type { Col, KeyLabel, RecComponent, RecStrFuncComponent, RecStrFuncUnknown, Th } from '~/components/pub/custom-ui/data/types'
+import { defineAsyncComponent } from 'vue'
+
+type SmallDetailDto = any
+
+const action = defineAsyncComponent(() => import('~/components/pub/custom-ui/data/dropdown-action-dud.vue'))
+
+export const cols: Col[] = [
+ {},
+ {},
+ {},
+ { width: 100 },
+ { width: 120 },
+ {},
+ {},
+ {},
+ { width: 100 },
+ { width: 100 },
+ {},
+ { width: 50 },
+]
+
+export const header: Th[][] = [
+ [
+ { label: 'Nama' },
+ { label: 'Rekam Medis' },
+ { label: 'KTP' },
+ { label: 'Tgl Lahir' },
+ { label: 'Umur' },
+ { label: 'JK' },
+ { label: 'Pendidikan' },
+ { label: 'Status' },
+ { label: '' },
+ ],
+]
+
+export const keys = [
+ 'name',
+ 'medicalRecord_number',
+ 'identity_number',
+ 'birth_date',
+ 'patient_age',
+ 'gender',
+ 'education',
+ 'status',
+ 'action',
+]
+
+export const delKeyNames: KeyLabel[] = [
+ { key: 'code', label: 'Kode' },
+ { key: 'name', label: 'Nama' },
+]
+
+export const funcParsed: RecStrFuncUnknown = {
+ name: (rec: unknown): unknown => {
+ const recX = rec as SmallDetailDto
+ return `${recX.firstName} ${recX.middleName || ''} ${recX.lastName || ''}`
+ },
+ identity_number: (rec: unknown): unknown => {
+ const recX = rec as SmallDetailDto
+ if (recX.identity_number?.substring(0, 5) === 'BLANK') {
+ return '(TANPA NIK)'
+ }
+ return recX.identity_number
+ },
+ birth_date: (rec: unknown): unknown => {
+ const recX = rec as SmallDetailDto
+ if (typeof recX.birth_date == 'object' && recX.birth_date) {
+ return (recX.birth_date as Date).toLocaleDateString()
+ } else if (typeof recX.birth_date == 'string') {
+ return (recX.birth_date as string).substring(0, 10)
+ }
+ return recX.birth_date
+ },
+ patient_age: (rec: unknown): unknown => {
+ const recX = rec as SmallDetailDto
+ return recX.birth_date?.split('T')[0]
+ },
+ gender: (rec: unknown): unknown => {
+ const recX = rec as SmallDetailDto
+ if (typeof recX?.gender_code !== 'number' && recX?.gender_code !== '') {
+ return 'Tidak Diketahui'
+ }
+ return recX.gender_code
+ },
+ education: (rec: unknown): unknown => {
+ const recX = rec as SmallDetailDto
+ if (typeof recX.education_code == 'number' && recX.education_code >= 0) {
+ return recX.education_code
+ } else if (typeof recX.education_code) {
+ return recX.education_code
+ }
+ return '-'
+ },
+}
+
+export const funcComponent: RecStrFuncComponent = {
+ action(rec, idx) {
+ const res: RecComponent = {
+ idx,
+ rec: rec as object,
+ component: action,
+ }
+ return res
+ },
+}
+
+export const funcHtml: RecStrFuncUnknown = {
+ patient_address(_rec) {
+ return '-'
+ },
+}
diff --git a/app/components/app/encounter/assesment-function/list.vue b/app/components/app/encounter/assesment-function/list.vue
new file mode 100644
index 00000000..5b8778d9
--- /dev/null
+++ b/app/components/app/encounter/assesment-function/list.vue
@@ -0,0 +1,19 @@
+
+
+