This commit is contained in:
2026-05-29 16:00:27 +07:00
parent d0c2411514
commit dfa3ee24e7
4 changed files with 92 additions and 8 deletions

View File

@ -0,0 +1,41 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm";
import { EmrEmergencyTransfer } from "./emr_emergency_transfers";
import { User } from "../users";
@Entity("emr_emergency_transfer_additional_attending_physicians", { schema: "emr" })
export class EmrEmergencyTransferAdditionalAttendingPhysician {
// Primary key DPJP tambahan (rawat bersama)
@PrimaryGeneratedColumn("uuid")
id: string;
// Relasi ke data transfer antar unit
@ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION" })
@JoinColumn()
emergency_transfer: EmrEmergencyTransfer;
// Dokter DPJP tambahan
@ManyToOne(() => User, { onDelete: "NO ACTION" })
@JoinColumn()
doctor: User;
@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

@ -0,0 +1,41 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm";
import { EmrEmergencyTransfer } from "./emr_emergency_transfers";
import { EmrDiagnosis } from "./emr_diagnosis";
@Entity("emr_emergency_transfer_secondary_diagnoses", { schema: "emr" })
export class EmrEmergencyTransferSecondaryDiagnosis {
// Primary key diagnosis sekunder
@PrimaryGeneratedColumn("uuid")
id: string;
// Relasi ke data transfer antar unit
@ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION" })
@JoinColumn()
emergency_transfer: EmrEmergencyTransfer;
// Diagnosis sekunder
@ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" })
@JoinColumn()
diagnosis: EmrDiagnosis;
@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

@ -9,6 +9,8 @@ import { User } from "../users";
import { EmrDiagnosis } from "./emr_diagnosis"; import { EmrDiagnosis } from "./emr_diagnosis";
import { TransferMethodType, TransferRiskType } from "../../types/emr"; import { TransferMethodType, TransferRiskType } from "../../types/emr";
import { EmrEmergencyTransferAttachedDevice } from "./emr_emergency_transfer_attached_devices"; import { EmrEmergencyTransferAttachedDevice } from "./emr_emergency_transfer_attached_devices";
import { EmrEmergencyTransferAdditionalAttendingPhysician } from "./emr_emergency_transfer_additional_attending_physicians";
import { EmrEmergencyTransferSecondaryDiagnosis } from "./emr_emergency_transfer_secondary_diagnoses";
import { EmrRegistration } from "./emr_registration"; import { EmrRegistration } from "./emr_registration";
import { InpatientRoom } from "../inpatient_rooms"; import { InpatientRoom } from "../inpatient_rooms";
import { InpatientRoomBed } from "../inpatient_room_beds"; import { InpatientRoomBed } from "../inpatient_room_beds";
@ -56,20 +58,18 @@ export class EmrEmergencyTransfer {
@JoinColumn() @JoinColumn()
primary_attending_physician: User; primary_attending_physician: User;
// DPJP tambahan (rawat bersama) // DPJP tambahan (rawat bersama) - bisa lebih dari satu
@ManyToOne(() => User, { onDelete: "NO ACTION" }) @OneToMany(() => EmrEmergencyTransferAdditionalAttendingPhysician, (physician: EmrEmergencyTransferAdditionalAttendingPhysician) => physician.emergency_transfer)
@JoinColumn() additional_attending_physicians: EmrEmergencyTransferAdditionalAttendingPhysician[];
additional_attending_physicians: User;
// Diagnosis utama // Diagnosis utama
@ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" }) @ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" })
@JoinColumn() @JoinColumn()
primary_diagnosis: EmrDiagnosis; primary_diagnosis: EmrDiagnosis;
// Diagnosis sekunder // Diagnosis sekunder - bisa lebih dari satu
@ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" }) @OneToMany(() => EmrEmergencyTransferSecondaryDiagnosis, (diagnosis: EmrEmergencyTransferSecondaryDiagnosis) => diagnosis.emergency_transfer)
@JoinColumn() secondary_diagnoses: EmrEmergencyTransferSecondaryDiagnosis[];
secondary_diagnosis: EmrDiagnosis;
// Alasan pemindahan: kondisi memburuk / tidak stabil // Alasan pemindahan: kondisi memburuk / tidak stabil
@Column({ nullable: true, type: "boolean", default: false }) @Column({ nullable: true, type: "boolean", default: false })

View File

@ -40,6 +40,8 @@ export * from "../entity/emr/emr_emergency_transfer_attached_devices";
export * from "../entity/emr/emr_emergency_transfer_diagnostics"; export * from "../entity/emr/emr_emergency_transfer_diagnostics";
export * from "../entity/emr/emr_emergency_transfer_clinical_interventions"; export * from "../entity/emr/emr_emergency_transfer_clinical_interventions";
export * from "../entity/emr/emr_emergency_transfer_patient_conditions"; export * from "../entity/emr/emr_emergency_transfer_patient_conditions";
export * from "../entity/emr/emr_emergency_transfer_additional_attending_physicians";
export * from "../entity/emr/emr_emergency_transfer_secondary_diagnoses";
export * from "../entity/emr/emr_physical_examination_emergency"; export * from "../entity/emr/emr_physical_examination_emergency";
export * from "../entity/emr/emr_doctor_order_emergency"; export * from "../entity/emr/emr_doctor_order_emergency";
export * from "../entity/emr/emr_atenatal_care"; export * from "../entity/emr/emr_atenatal_care";