From 617fcce9b27099491597e46e95e0431ed1c1c492 Mon Sep 17 00:00:00 2001 From: Iki Date: Mon, 15 Jun 2026 12:38:43 +0900 Subject: [PATCH] feat: add emr_patient_past_medical_documents --- .../emr/emr_patient_past_medical_document.ts | 60 +++++++++++++++++++ src/schema/emr.ts | 1 + 2 files changed, 61 insertions(+) create mode 100644 src/entity/emr/emr_patient_past_medical_document.ts diff --git a/src/entity/emr/emr_patient_past_medical_document.ts b/src/entity/emr/emr_patient_past_medical_document.ts new file mode 100644 index 0000000..07837d4 --- /dev/null +++ b/src/entity/emr/emr_patient_past_medical_document.ts @@ -0,0 +1,60 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + ManyToOne, + JoinColumn, + Index, +} from "typeorm"; + +import { EmrPatient } from "./emr_patient"; + +@Entity("patient_past_medical_document", { schema: "emr" }) +@Index("idx_patient_past_medical_document_patient", ["patient"]) +export class PatientPastMedicalDocument { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) + @JoinColumn({ name: "patient_id" }) + patient: EmrPatient; + + @Column({ nullable: true, length: 256 }) + name: string | null; + + @Column({ nullable: true, type: "date" }) + date: Date | null; + + @Column({ length: 512 }) + file_name: string; + + @Column({ length: 512 }) + file_path: string; + + @Column({ type: "int8", nullable: true }) + file_size: number | null; + + @Column({ nullable: true, length: 128 }) + mime_type: string | null; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/schema/emr.ts b/src/schema/emr.ts index a741bab..43eebb8 100644 --- a/src/schema/emr.ts +++ b/src/schema/emr.ts @@ -56,6 +56,7 @@ export * from "../entity/treatment/treatment_plan_session"; export * from "../entity/emr/emr_registration_treatment"; export * from "../entity/emr/emr_ancillary_service_order"; export * from "../entity/emr/emr_observation_record"; +export * from "../entity/emr/emr_patient_past_medical_document"; export * from "../types/registration_type"; export * from "../types/registration_status";