diff --git a/src/entity/emr/emr_soap_notes.ts b/src/entity/emr/emr_soap_notes.ts new file mode 100644 index 0000000..8b70b13 --- /dev/null +++ b/src/entity/emr/emr_soap_notes.ts @@ -0,0 +1,66 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + ManyToOne, + JoinColumn, +} from "typeorm"; + +import { EmrPatient } from "./emr_patient"; +import { EmrRegistration } from "./emr_registration"; +import { User } from "../users"; + +@Entity("emr_soap_notes") +export class EmrSoapNotes { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) + @JoinColumn() + registration: EmrRegistration; + + @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) + @JoinColumn() + patient: EmrPatient; + + @ManyToOne(() => User, { onDelete: "SET NULL", nullable: true }) + @JoinColumn() + doctor: User | null; + + @Column({ nullable: true, type: "timestamp" }) + input_date: Date | null; + + @Column({ nullable: true, type: "text" }) + subjective: string | null; + + @Column({ nullable: true, type: "text" }) + objective: string | null; + + @Column({ nullable: true, type: "text" }) + assessment: string | null; + + @Column({ nullable: true, type: "text" }) + plan: string | null; + + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @UpdateDateColumn({ nullable: true }) + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @DeleteDateColumn({ nullable: true }) + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} + diff --git a/src/schema/emr.ts b/src/schema/emr.ts index 3078531..69bdd49 100644 --- a/src/schema/emr.ts +++ b/src/schema/emr.ts @@ -43,6 +43,7 @@ export * from "../entity/emr/emr_doctor_order_emergency"; export * from "../entity/emr/emr_atenatal_care"; export * from "../entity/emr/emr_nursing_assesment"; export * from "../entity/emr/emr_patient_education"; +export * from "../entity/emr/emr_soap_notes"; export * from "../types/registration_type"; export * from "../types/registration_status";