update: foster care history entity and controller

This commit is contained in:
wayanrivan
2026-05-05 10:54:26 +07:00
parent 31af7f8f0b
commit 516dbeb31f

View File

@ -2,29 +2,145 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateCol
import { Status } from "../types/status"; import { Status } from "../types/status";
interface ResultsCriteria {
group: number;
name: string;
}
interface Causes {
group: string;
name: string;
}
interface RelatedClinicalCondition {
name: string;
}
@Entity("foster_care_history") @Entity("foster_care_history")
export class FosterCareHistory { export class FosterCareHistory {
@PrimaryGeneratedColumn("uuid") @PrimaryGeneratedColumn("uuid")
id: string; id: string;
@Column({ @Column({
nullable: false, nullable: true,
length: 256, length: 256,
}) })
diagnosis: string; diagnosis: string;
@Column({ @Column({
nullable: false, nullable: true,
length: 128, length: 128,
}) })
code: string; code: string;
@Column({ @Column({
nullable: false, nullable: true,
length: 64, length: 64,
}) })
status: Status; status: Status;
@Column({
nullable: true,
length: 128,
})
category: string;
@Column({
nullable: true,
length: 128,
})
subcategory: string;
@Column({
nullable: true,
length: 128,
})
definition: string;
@Column({
nullable: true,
length: 128,
})
objective: string;
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
result_criteria: ResultsCriteria[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
causes: Causes[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
related_clinical_condition: RelatedClinicalCondition[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
subjective_major: Causes[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
objectitve_major: Causes[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
subjective_minor: Causes[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
objective_minor: Causes[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
observation: RelatedClinicalCondition[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
therapeutic: RelatedClinicalCondition[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
education: RelatedClinicalCondition[];
@Column({
nullable: true,
type: 'jsonb',
default: [],
})
colaboration: RelatedClinicalCondition[];
@CreateDateColumn() @CreateDateColumn()
created_at: Date; created_at: Date;