This commit is contained in:
2026-04-29 20:48:39 +07:00
parent 107f8b795e
commit 735bf4f3f6
5 changed files with 105 additions and 34 deletions

View File

@ -0,0 +1,46 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm";
import { User } from "../users";
import { EmrBoardingRoom } from "./emr_boarding_rooms";
@Entity("emr_boarding_room_doctor_amls", { schema: "emr" })
export class EmrBoardingRoomDoctorAml {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" })
@JoinColumn()
boarding_room: EmrBoardingRoom;
@ManyToOne(() => User, { onDelete: "NO ACTION" })
@JoinColumn()
doctor: User;
@Column({
nullable: false,
})
note: number;
@Column({ nullable: false })
change_at: Date;
@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

@ -1,39 +1,19 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm";
import { EmrPatient } from "./emr_patient"; import { EmrRegistration } from "./emr_registration";
import { EmrDiagnosis } from "./emr_diagnosis";
import { User } from "../users"; import { User } from "../users";
import { InpatientRoom } from "../inpatient_rooms";
@Entity("emr_boarding_rooms", { schema: "emr" }) @Entity("emr_boarding_rooms", { schema: "emr" })
export class EmrBoardingRoom { export class EmrBoardingRoom {
@PrimaryGeneratedColumn("uuid") @PrimaryGeneratedColumn("uuid")
id: string; id: string;
@ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION" })
@JoinColumn() @JoinColumn()
patient: EmrPatient; registration: EmrRegistration;
@ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" })
@JoinColumn()
diagnosis: EmrDiagnosis;
@ManyToOne(() => User, { onDelete: "NO ACTION" }) @ManyToOne(() => User, { onDelete: "NO ACTION" })
@JoinColumn() @JoinColumn()
user: User; doctor: User;
@ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION" })
@JoinColumn()
inpatient_room: InpatientRoom;
@Column({
nullable: true,
})
no_reg: string;
@Column({
nullable: true,
})
mrn: string;
@Column({ nullable: false }) @Column({ nullable: false })
boarding_at: Date; boarding_at: Date;

View File

@ -2,12 +2,14 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateCol
import { EmrRegistration } from "./emr_registration"; import { EmrRegistration } from "./emr_registration";
import { Room } from "../room"; import { Room } from "../room";
import { EmrBoardingRoom } from "./emr_boarding_rooms"; import { InpatientRoom } from "../inpatient_rooms";
import { EmrPatient } from "./emr_patient";
import { InpatientRoomBed } from "../inpatient_room_beds";
import { Province } from "../province";
import { City } from "../city";
import { Subdistrict } from "../subdistrict";
import { Ward } from "../ward";
/**
* Detail registrasi rawat inap (inpatient).
* Form spesifik: ruangan, tempat tidur, tgl masuk, rencana pulang, dll.
*/
@Entity("emr_registration_inpatient", { schema: "emr" }) @Entity("emr_registration_inpatient", { schema: "emr" })
export class EmrRegistrationInpatient { export class EmrRegistrationInpatient {
@PrimaryGeneratedColumn("uuid") @PrimaryGeneratedColumn("uuid")
@ -17,19 +19,61 @@ export class EmrRegistrationInpatient {
@JoinColumn() @JoinColumn()
registration: EmrRegistration; registration: EmrRegistration;
@ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) @ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION" })
@JoinColumn() @JoinColumn()
boarding_room: EmrBoardingRoom; inpatient_room: InpatientRoom;
@ManyToOne(() => InpatientRoomBed, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
inpatient_room_bed: InpatientRoomBed | null;
@ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" })
@JoinColumn()
patient: EmrPatient;
@Column({ nullable: true })
registration_number: string;
@Column({ nullable: true, length: 32 })
bed_number: string;
@Column({ type: "date", nullable: false }) @Column({ type: "date", nullable: false })
admission_date: Date; admission_date: Date;
@Column({ type: "date", nullable: true })
planned_discharge_date: Date;
@Column({ type: "text", nullable: true }) @Column({ type: "text", nullable: true })
admission_notes: string; admission_notes: string;
@Column({ nullable: true, type: "text" })
responsible_fullname: string;
@Column({ nullable: true, type: "text" })
responsible_relation: string;
@Column({ nullable: true, type: "text" })
responsible_idnumber: string;
@Column({ nullable: true, type: "text" })
responsible_phone: string;
@Column({ nullable: true, type: "text" })
responsible_address: string;
@ManyToOne(() => Province, { onDelete: "NO ACTION", nullable: true })
@JoinColumn({ referencedColumnName: "code" })
responsible_province: Province | null;
@ManyToOne(() => City, { onDelete: "NO ACTION", nullable: true })
@JoinColumn({ referencedColumnName: "code" })
responsible_city: City | null;
@ManyToOne(() => Subdistrict, { onDelete: "NO ACTION", nullable: true })
@JoinColumn({ referencedColumnName: "code" })
responsible_subdistrict: Subdistrict | null;
@ManyToOne(() => Ward, { onDelete: "NO ACTION", nullable: true })
@JoinColumn({ referencedColumnName: "code" })
responsible_ward: Ward | null;
@Column() @Column()
@CreateDateColumn() @CreateDateColumn()
created_at: Date; created_at: Date;

View File

@ -9,6 +9,7 @@ export * from "../entity/emr/emr_vital_signs";
export * from "../entity/emr/emr_physical_examination"; export * from "../entity/emr/emr_physical_examination";
export * from "../entity/emr/emr_diet"; 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_amls";
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";