diff --git a/app/components/app/cprj/entry.vue b/app/components/app/cprj/entry.vue new file mode 100644 index 00000000..d03bbf77 --- /dev/null +++ b/app/components/app/cprj/entry.vue @@ -0,0 +1,146 @@ + + + + + + + Data Petugas + + + + + + PPA + + + + + + + Nama PPA + + + + + + + + + Data S.O.A.P + + + + + + Subjektif + + + + + + + Objektif + + + + + + + + Assesmen + + + + + + + Plan + + + + + + + + Review + + + + + + + + + + diff --git a/app/components/app/cprj/list.cfg.ts b/app/components/app/cprj/list.cfg.ts new file mode 100644 index 00000000..a394e81d --- /dev/null +++ b/app/components/app/cprj/list.cfg.ts @@ -0,0 +1,56 @@ +import type { Config, RecComponent, RecStrFuncComponent, RecStrFuncUnknown } from '~/components/pub/my-ui/data-table' +import { defineAsyncComponent } from 'vue' +import type { GeneralConsent } from '~/models/general-consent' + +type SmallDetailDto = any + +const action = defineAsyncComponent(() => import('~/components/pub/my-ui/data/dropdown-action-ud.vue')) +export const config: Config = { + cols: [{ width: 100 }, {}, {}, {}, { width: 50 }], + headers: [ + [ + { label: 'Tanggal' }, + { label: 'PPA' }, + { label: 'Hasil' }, + { label: 'Review & Verifikasi' }, + { label: 'Status' }, + { label: 'Aksi' }, + ], + ], + keys: ['date', 'ppa', 'result', 'review', 'status', 'action'], + delKeyNames: [ + { key: 'data', label: 'Tanggal' }, + { key: 'dstDoctor.name', label: 'Dokter' }, + ], + parses: { + action(rec, idx) { + const res: RecComponent = { + idx, + rec: rec as object, + component: action, + props: { + size: 'sm', + }, + } + return res + }, + date(rec) { + const recX = rec as GeneralConsent + return recX.date?.substring(0, 10) || '-' + }, + }, + components: { + action(rec, idx) { + const res: RecComponent = { + idx, + rec: rec as object, + component: action, + props: { + size: 'sm', + }, + } + return res + }, + } as RecStrFuncComponent, + htmls: {} as RecStrFuncUnknown, +} diff --git a/app/components/app/cprj/list.vue b/app/components/app/cprj/list.vue new file mode 100644 index 00000000..46f595f5 --- /dev/null +++ b/app/components/app/cprj/list.vue @@ -0,0 +1,34 @@ + + + + + + + + + diff --git a/app/components/content/cprj/entry.vue b/app/components/content/cprj/entry.vue new file mode 100644 index 00000000..5769e967 --- /dev/null +++ b/app/components/content/cprj/entry.vue @@ -0,0 +1,36 @@ + + + + + + + + diff --git a/app/components/content/cprj/form.vue b/app/components/content/cprj/form.vue new file mode 100644 index 00000000..e24418a8 --- /dev/null +++ b/app/components/content/cprj/form.vue @@ -0,0 +1,74 @@ + + + + + + + diff --git a/app/components/content/cprj/list.vue b/app/components/content/cprj/list.vue new file mode 100644 index 00000000..fcc3dbfa --- /dev/null +++ b/app/components/content/cprj/list.vue @@ -0,0 +1,175 @@ + + + + + + + + + handleActionRemove(recId, getMyList, toast)" + @cancel="" + > + + + + ID: + {{ record?.id }} + + + Nama: + {{ record.name }} + + + Kode: + {{ record.code }} + + + + + diff --git a/app/components/content/encounter/assesment-function/add.vue b/app/components/content/encounter/assesment-function/add.vue deleted file mode 100644 index 128cf74a..00000000 --- a/app/components/content/encounter/assesment-function/add.vue +++ /dev/null @@ -1,3 +0,0 @@ - - halo - diff --git a/app/components/content/encounter/assesment-function/list.vue b/app/components/content/encounter/assesment-function/list.vue deleted file mode 100644 index 48d50bc9..00000000 --- a/app/components/content/encounter/assesment-function/list.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - diff --git a/app/components/content/encounter/process.vue b/app/components/content/encounter/process.vue index 71c7fe3d..d7f79064 100644 --- a/app/components/content/encounter/process.vue +++ b/app/components/content/encounter/process.vue @@ -16,6 +16,7 @@ import EarlyMedicalAssesmentList from '~/components/content/soapi/entry.vue' import EarlyMedicalRehabList from '~/components/content/soapi/entry.vue' import PrescriptionList from '~/components/content/prescription/list.vue' import Consultation from '~/components/content/consultation/list.vue' +import Cprj from '~/components/content/cprj/entry.vue' const route = useRoute() const router = useRouter() @@ -48,7 +49,7 @@ const tabs: TabItem[] = [ { value: 'therapy-protocol', label: 'Protokol Terapi' }, { value: 'education-assessment', label: 'Asesmen Kebutuhan Edukasi' }, { value: 'consent', label: 'General Consent' }, - { value: 'patient-note', label: 'CPRJ' }, + { value: 'patient-note', label: 'CPRJ', component: Cprj, props: { encounter: data } }, { value: 'prescription', label: 'Order Obat', component: PrescriptionList }, { value: 'device', label: 'Order Alkes' }, { value: 'mcu-radiology', label: 'Order Radiologi' }, diff --git a/app/components/content/soapi/list.vue b/app/components/content/soapi/list.vue index a240a65f..b1198fcc 100644 --- a/app/components/content/soapi/list.vue +++ b/app/components/content/soapi/list.vue @@ -1,7 +1,7 @@ - + - + diff --git a/app/schemas/soapi.schema.ts b/app/schemas/soapi.schema.ts index 50ade93e..2f5f8667 100644 --- a/app/schemas/soapi.schema.ts +++ b/app/schemas/soapi.schema.ts @@ -179,6 +179,14 @@ const InstructionSchema = z.object({ other: z.string().default(''), }) +export const CprjSoapiSchema = z.object({ + subjective: z.string().default(''), + objective: z.string().default(''), + assesment: z.string().default(''), + plan: z.string().default(''), + review: z.string().default(''), +}) + export const SoapSchema = z.object({ subject: SubjectSchema, object: ObjectSchema,
+ ID: + {{ record?.id }} +
+ Nama: + {{ record.name }} +
+ Kode: + {{ record.code }} +