From 086db37261af1469540fbe6c05fb39e9c7f4f2e4 Mon Sep 17 00:00:00 2001 From: Sony Surahmn Date: Tue, 19 May 2026 00:39:41 +0700 Subject: [PATCH] feat(emr): add EmrSurgerySchedule entity and update schema export --- src/entity/emr/emr_surgery_schedules.ts | 56 +++++++++++++++++++++++++ src/schema/emr.ts | 1 + 2 files changed, 57 insertions(+) create mode 100644 src/entity/emr/emr_surgery_schedules.ts diff --git a/src/entity/emr/emr_surgery_schedules.ts b/src/entity/emr/emr_surgery_schedules.ts new file mode 100644 index 0000000..b548531 --- /dev/null +++ b/src/entity/emr/emr_surgery_schedules.ts @@ -0,0 +1,56 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + ManyToOne, + JoinColumn, +} from "typeorm"; +import { SurgeryRoom } from "../surgery_room"; +import { EmrPatient } from "./emr_patient"; + +@Entity("emr_surgery_schedules", { schema: "emr" }) +export class EmrSurgerySchedule { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => SurgeryRoom, { onDelete: "NO ACTION" }) + @JoinColumn() + surgery_room: SurgeryRoom; + + @Column({ type: "date", nullable: false }) + schedule_date: Date; + + @Column({ nullable: true, length: 256 }) + patient_name: string; + + @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + patient: EmrPatient | null; + + @Column({ nullable: false, length: 32, default: "scheduled" }) + status: string; + + @Column({ nullable: true, type: "text" }) + notes: string; + + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @UpdateDateColumn({ nullable: true }) + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @DeleteDateColumn({ nullable: true }) + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/schema/emr.ts b/src/schema/emr.ts index d91ae38..b76efc6 100644 --- a/src/schema/emr.ts +++ b/src/schema/emr.ts @@ -44,6 +44,7 @@ export * from "../entity/emr/emr_atenatal_care"; export * from "../entity/emr/emr_nursing_assesment"; export * from "../entity/emr/emr_patient_education"; export * from "../entity/emr/emr_soap_notes"; +export * from "../entity/emr/emr_surgery_schedules"; export * from "../types/registration_type"; export * from "../types/registration_status";