From ea8f602fdf576db7f4d2384d488ed2e94a7f0394 Mon Sep 17 00:00:00 2001 From: Sony Surahmn Date: Wed, 6 May 2026 14:47:55 +0700 Subject: [PATCH] feat(emr_boarding_room_discharge): add entity to store discharge information for inpatient boarding rooms with relevant fields and relationships --- src/entity/emr/emr_boarding_room_discharge.ts | 54 +++++++++++++++++++ src/schema/emr.ts | 1 + 2 files changed, 55 insertions(+) create mode 100644 src/entity/emr/emr_boarding_room_discharge.ts diff --git a/src/entity/emr/emr_boarding_room_discharge.ts b/src/entity/emr/emr_boarding_room_discharge.ts new file mode 100644 index 0000000..f36904d --- /dev/null +++ b/src/entity/emr/emr_boarding_room_discharge.ts @@ -0,0 +1,54 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + OneToOne, + JoinColumn, +} from "typeorm"; +import { EmrBoardingRoom } from "./emr_boarding_rooms"; + +/** Stores discharge information for inpatient boarding rooms. */ +@Entity("emr_boarding_room_discharge", { schema: "emr" }) +export class EmrBoardingRoomDischarge { + @PrimaryGeneratedColumn("uuid") + id: string; + + @OneToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) + @JoinColumn() + boarding_room: EmrBoardingRoom; + + @Column({ nullable: true }) + discharge_at: Date; + + /** pulang | dirujuk | pulang-paksa */ + @Column({ nullable: true, length: 64 }) + discharge_status: string; + + /** berobat-jalan | lain-lain */ + @Column({ nullable: true, length: 64 }) + discharge_condition: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/schema/emr.ts b/src/schema/emr.ts index 420280a..4e62939 100644 --- a/src/schema/emr.ts +++ b/src/schema/emr.ts @@ -12,6 +12,7 @@ export * from "../entity/emr/emr_boarding_rooms"; export * from "../entity/emr/emr_boarding_room_doctor_histories"; export * from "../entity/emr/emr_boarding_room_bed_histories"; export * from "../entity/emr/emr_boarding_room_deceased"; +export * from "../entity/emr/emr_boarding_room_discharge"; export * from "../entity/emr/emr_diagnosis"; export * from "../entity/emr/emr_diagnostic_procedure"; export * from "../entity/emr/emr_doctor_procedure";