diff --git a/src/entity/emr/emr_discharge_status_emergency.ts b/src/entity/emr/emr_discharge_status_emergency.ts new file mode 100644 index 0000000..2db6429 --- /dev/null +++ b/src/entity/emr/emr_discharge_status_emergency.ts @@ -0,0 +1,82 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + OneToOne, + JoinColumn, + ManyToOne, +} from "typeorm"; + +import { EmrRegistrationEmergency } from "./emr_registration_emergency"; +import { User } from "../users"; + +@Entity("emr_discharge_status_emergency", { schema: "emr" }) +export class DischargeStatusEmergency { + @PrimaryGeneratedColumn("uuid") + id: string; + + @OneToOne(() => EmrRegistrationEmergency, (discharge) => discharge.discharge_status, { onDelete: "CASCADE" }) + @JoinColumn() + discharge_status: EmrRegistrationEmergency; + + @Column({ nullable: true, type: "text" }) + patient_discharge_status: string; + + @ManyToOne(() => User, { onDelete: "CASCADE" }) + @JoinColumn() + inpatient_attending_phyisician: User; + + @Column({ nullable: true, type: "text" }) + gender_responsible_person: string; + + @Column({ nullable: true, type: "text" }) + fullname_responsible_person: string; + + @Column({ nullable: true, type: "int" }) + age_responsible_person: number; + + @Column({ nullable: true, type: "text" }) + reason_discharge: string; + + @Column({ nullable: true, type: "text" }) + doctor_signature: string; + + @Column({ nullable: true, type: "text" }) + patient_signature: string; + + @Column({ nullable: true, type: "text" }) + witness_signature: string; + + @Column({ nullable: true, type: "text" }) + cause_of_death: string; + + @Column({ nullable: true, type: "text" }) + diagnosis: string; + + @Column({ nullable: true, type: "text" }) + description: 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/entity/emr/emr_registration_emergency.ts b/src/entity/emr/emr_registration_emergency.ts index 1164aa9..30d61ec 100644 --- a/src/entity/emr/emr_registration_emergency.ts +++ b/src/entity/emr/emr_registration_emergency.ts @@ -13,6 +13,7 @@ import { import { EmrRegistration } from "./emr_registration"; import { User } from "../users"; import { Diagnosis } from "../diagnosis"; +import { DischargeStatusEmergency } from "./emr_discharge_status_emergency"; @Entity("emr_registration_emergency", { schema: "emr" }) export class EmrRegistrationEmergency { @@ -23,6 +24,10 @@ export class EmrRegistrationEmergency { @JoinColumn() registration: EmrRegistration; + @ManyToOne(() => DischargeStatusEmergency, { onDelete: "CASCADE" }) + @JoinColumn() + discharge_status: DischargeStatusEmergency; + @ManyToOne(() => Diagnosis, { onDelete: "CASCADE" }) @JoinColumn() diagnosis: Diagnosis; diff --git a/src/schema/emr.ts b/src/schema/emr.ts index 5eb5d8c..9b24ca5 100644 --- a/src/schema/emr.ts +++ b/src/schema/emr.ts @@ -25,6 +25,7 @@ export * from "../entity/emr/emr_external_consultation"; export * from "../entity/emr/emr_pharmacy_order"; export * from "../entity/emr/emr_pharmacy_order_activity"; export * from "../entity/emr/emr_registration_emergency_responsible"; +export * from "../entity/emr/emr_discharge_status_emergency"; export * from "../types/registration_type"; export * from "../types/registration_status";