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 { TransferMethodType, TransferRiskType } from "../../types/emr";
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 { InpatientRoom } from "../inpatient_rooms";
import { InpatientRoomBed } from "../inpatient_room_beds";
@ -56,20 +58,18 @@ export class EmrEmergencyTransfer {
@JoinColumn()
primary_attending_physician: User;
// DPJP tambahan (rawat bersama)
@ManyToOne(() => User, { onDelete: "NO ACTION" })
@JoinColumn()
additional_attending_physicians: User;
// DPJP tambahan (rawat bersama) - bisa lebih dari satu
@OneToMany(() => EmrEmergencyTransferAdditionalAttendingPhysician, (physician: EmrEmergencyTransferAdditionalAttendingPhysician) => physician.emergency_transfer)
additional_attending_physicians: EmrEmergencyTransferAdditionalAttendingPhysician[];
// Diagnosis utama
@ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" })
@JoinColumn()
primary_diagnosis: EmrDiagnosis;
// Diagnosis sekunder
@ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" })
@JoinColumn()
secondary_diagnosis: EmrDiagnosis;
// Diagnosis sekunder - bisa lebih dari satu
@OneToMany(() => EmrEmergencyTransferSecondaryDiagnosis, (diagnosis: EmrEmergencyTransferSecondaryDiagnosis) => diagnosis.emergency_transfer)
secondary_diagnoses: EmrEmergencyTransferSecondaryDiagnosis[];
// Alasan pemindahan: kondisi memburuk / tidak stabil
@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_clinical_interventions";
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_doctor_order_emergency";
export * from "../entity/emr/emr_atenatal_care";