diff --git a/src/entity/emr/emr_hemodialysis_visit_detail.ts b/src/entity/emr/emr_hemodialysis_visit_detail.ts new file mode 100644 index 0000000..fcd7d09 --- /dev/null +++ b/src/entity/emr/emr_hemodialysis_visit_detail.ts @@ -0,0 +1,57 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + OneToOne, + JoinColumn, +} from "typeorm"; +import { HemodialysisVisit } from "./emr_hemodialysis_visit"; + +export enum HemodialysisVisitDetailStatus { + DRAFT = "DRAFT", + IN_PROGRESS = "IN_PROGRESS", + COMPLETED = "COMPLETED", +} + +@Entity("emr_hemodialysis_visit_details", { schema: "emr" }) +export class HemodialysisVisitDetail { + @PrimaryGeneratedColumn("uuid") + id: string; + + @OneToOne(() => HemodialysisVisit, { onDelete: "CASCADE", nullable: false }) + @JoinColumn({ name: "visit_id" }) + visit: HemodialysisVisit; + + @Column({ type: "jsonb", nullable: true }) + nursing_form: Record | null; + + @Column({ type: "jsonb", nullable: true }) + assessment_form: Record | null; + + @Column({ type: "jsonb", nullable: true }) + monitoring_form: Record | null; + + @Column({ + type: "enum", + enum: HemodialysisVisitDetailStatus, + default: HemodialysisVisitDetailStatus.DRAFT, + }) + status: HemodialysisVisitDetailStatus; + + @Column({ nullable: true, length: 256 }) + completed_by: string | null; + + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; +} diff --git a/src/schema/emr.ts b/src/schema/emr.ts index cdd6a26..0121b2e 100644 --- a/src/schema/emr.ts +++ b/src/schema/emr.ts @@ -8,6 +8,7 @@ export * from "../entity/emr/emr_hemodialysis_settings"; export * from "../entity/emr/emr_hemodialysis_plan"; export * from "../entity/emr/emr_hemodialysis_schedule"; export * from "../entity/emr/emr_hemodialysis_visit"; +export * from "../entity/emr/emr_hemodialysis_visit_detail"; export * from "../entity/emr/emr_anamnesis"; export * from "../entity/emr/emr_vital_signs"; export * from "../entity/emr/emr_physical_examination";