From 8c665181272087052f75b943499ea152a6f08066 Mon Sep 17 00:00:00 2001 From: avicenan Date: Wed, 11 Mar 2026 11:00:00 +0700 Subject: [PATCH 1/2] fix(db): map physical exam to outpatient registration use outpatient registration as the linked record for physical examinations and enforce a one-to-one relationship. rename the relation field to registration_outpatient for clarity --- src/entity/emr/emr_physical_examination.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/entity/emr/emr_physical_examination.ts b/src/entity/emr/emr_physical_examination.ts index 39b4090..5754322 100644 --- a/src/entity/emr/emr_physical_examination.ts +++ b/src/entity/emr/emr_physical_examination.ts @@ -5,25 +5,25 @@ import { CreateDateColumn, UpdateDateColumn, DeleteDateColumn, - ManyToOne, JoinColumn, + OneToOne, } from "typeorm"; -import { EmrRegistration } from "./emr_registration"; +import { EmrRegistrationOutpatient } from "./emr_registration_outpatient"; @Entity("emr_physical_examination", { schema: "emr" }) export class EmrPhysicalExamination { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) + @OneToOne(() => EmrRegistrationOutpatient, { onDelete: "CASCADE" }) @JoinColumn() - registration: EmrRegistration; + registration_outpatient: EmrRegistrationOutpatient; - @Column({ nullable: true, type: "text" }) + @Column({ nullable: true, type: "text" }) internal_status: string; - @Column({ nullable: true, type: "text" }) + @Column({ nullable: true, type: "text" }) findings: string; @Column() From 411de0440686e548bc6f3ac50ad74f8190f15e36 Mon Sep 17 00:00:00 2001 From: avicenan Date: Wed, 11 Mar 2026 13:34:58 +0700 Subject: [PATCH 2/2] fix emr diet --- src/entity/emr/emr_diet.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/entity/emr/emr_diet.ts b/src/entity/emr/emr_diet.ts index c3f39a3..ea517e2 100644 --- a/src/entity/emr/emr_diet.ts +++ b/src/entity/emr/emr_diet.ts @@ -5,22 +5,27 @@ import { CreateDateColumn, UpdateDateColumn, DeleteDateColumn, - ManyToOne, OneToOne, JoinColumn, + ManyToOne, } from "typeorm"; -import { EmrRegistration } from "./emr_registration"; +import { EmrRegistrationOutpatient } from "./emr_registration_outpatient"; +import { EmrPatient } from "./emr_patient"; @Entity("emr_diet", { schema: "emr" }) export class EmrDiet { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) + @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) @JoinColumn() - registration: EmrRegistration; + patient: EmrPatient; - @Column({ nullable: true, type: "text" }) + @OneToOne(() => EmrRegistrationOutpatient, { onDelete: "CASCADE" }) + @JoinColumn() + registration_outpatient: EmrRegistrationOutpatient; + + @Column({ nullable: true, type: "text" }) diet: string; @Column()