feat(emr_boarding_room_deceased): add entity to track deceased patients in boarding rooms with relevant fields and relationships

This commit is contained in:
Sony Surahmn
2026-05-05 01:04:38 +07:00
parent 8244b80117
commit 31af7f8f0b
2 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,72 @@
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
DeleteDateColumn,
ManyToOne,
JoinColumn,
OneToOne,
} from "typeorm";
import { EmrBoardingRoom } from "./emr_boarding_rooms";
import { User } from "../users";
@Entity("emr_boarding_room_deceased", { schema: "emr" })
export class EmrBoardingRoomDeceased {
@PrimaryGeneratedColumn("uuid")
id: string;
@OneToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" })
@JoinColumn()
boarding_room: EmrBoardingRoom;
@Column({ nullable: true })
deceased_at: Date;
/** meninggal-kurang-48-jam | meninggal-lebih-48-jam | iufd */
@Column({ nullable: true, length: 64 })
discharge_status: string;
/** meninggal-kurang-48-jam | meninggal-lebih-48-jam */
@Column({ nullable: true, length: 64 })
discharge_condition: string;
@ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
declaring_doctor: User;
/** diagnosa-akhir | diagnosa-tambahan */
@Column({ nullable: true, length: 64 })
diagnosis_type: string;
@Column({ nullable: true, length: 256 })
final_diagnosis_code: string;
@Column({ nullable: true, type: "text" })
final_diagnosis_name: string;
@Column({ nullable: true, type: "text" })
death_chronology: 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;
}

View File

@ -11,6 +11,7 @@ export * from "../entity/emr/emr_diet";
export * from "../entity/emr/emr_boarding_rooms"; export * from "../entity/emr/emr_boarding_rooms";
export * from "../entity/emr/emr_boarding_room_doctor_histories"; 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_bed_histories";
export * from "../entity/emr/emr_boarding_room_deceased";
export * from "../entity/emr/emr_diagnosis"; export * from "../entity/emr/emr_diagnosis";
export * from "../entity/emr/emr_diagnostic_procedure"; export * from "../entity/emr/emr_diagnostic_procedure";
export * from "../entity/emr/emr_doctor_procedure"; export * from "../entity/emr/emr_doctor_procedure";