feature: Phase 2- splitting the treatment schema into TreatmentDetail and LabCase.

This commit is contained in:
2026-06-28 15:34:56 +03:30
parent dc965b2528
commit 8b4ef6195d
12 changed files with 749 additions and 232 deletions

View File

@@ -12,7 +12,7 @@ import { Type } from 'class-transformer';
const TREATMENT_TYPES = ['consultation', 'filling', 'endo', 'visit', 'hygiene'] as const;
export class SaveTreatmentCaseDto {
export class SaveTreatmentDetailDto {
@IsString()
@MaxLength(64)
clientId: string;
@@ -43,15 +43,39 @@ export class SaveTreatmentDraftDto {
@IsArray()
@ArrayMinSize(1)
@ValidateNested({ each: true })
@Type(() => SaveTreatmentCaseDto)
cases: SaveTreatmentCaseDto[];
@Type(() => SaveTreatmentDetailDto)
details: SaveTreatmentDetailDto[];
}
export class SendTreatmentCaseDto {
export class SaveLabCaseDto {
@IsString()
@MaxLength(64)
clientId: string;
@IsOptional()
@IsUUID()
id?: string;
@IsOptional()
@IsUUID()
destinationOrganizationId?: string;
@IsOptional()
@IsString()
@MaxLength(5000)
labComment?: string;
@IsArray()
@ArrayMinSize(1)
@IsUUID(undefined, { each: true })
organizationIds: string[];
treatmentDetailIds: string[];
}
export class SaveTreatmentLabCasesDto {
@IsArray()
@ValidateNested({ each: true })
@Type(() => SaveLabCaseDto)
labCases: SaveLabCaseDto[];
}
export class ListPatientTreatmentHistoryDto {