@blackcode_sa/metaestetics-api 1.10.0 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/admin/index.d.mts +337 -319
  2. package/dist/admin/index.d.ts +337 -319
  3. package/dist/admin/index.js +98 -79
  4. package/dist/admin/index.mjs +98 -79
  5. package/dist/backoffice/index.d.mts +284 -67
  6. package/dist/backoffice/index.d.ts +284 -67
  7. package/dist/backoffice/index.js +114 -6
  8. package/dist/backoffice/index.mjs +112 -6
  9. package/dist/index.d.mts +3145 -3065
  10. package/dist/index.d.ts +3145 -3065
  11. package/dist/index.js +460 -141
  12. package/dist/index.mjs +463 -143
  13. package/package.json +3 -1
  14. package/src/admin/booking/booking.admin.ts +2 -0
  15. package/src/admin/booking/booking.calculator.ts +121 -117
  16. package/src/admin/booking/booking.types.ts +3 -0
  17. package/src/backoffice/expo-safe/index.ts +2 -0
  18. package/src/backoffice/services/README.md +40 -0
  19. package/src/backoffice/services/constants.service.ts +268 -0
  20. package/src/backoffice/services/technology.service.ts +122 -10
  21. package/src/backoffice/types/admin-constants.types.ts +69 -0
  22. package/src/backoffice/types/index.ts +1 -0
  23. package/src/backoffice/types/product.types.ts +3 -1
  24. package/src/backoffice/types/technology.types.ts +4 -4
  25. package/src/backoffice/validations/schemas.ts +35 -9
  26. package/src/services/appointment/appointment.service.ts +0 -5
  27. package/src/services/appointment/utils/appointment.utils.ts +124 -113
  28. package/src/services/clinic/clinic.service.ts +163 -82
  29. package/src/services/procedure/procedure.service.ts +435 -234
  30. package/src/types/appointment/index.ts +9 -3
  31. package/src/types/clinic/index.ts +3 -6
  32. package/src/types/patient/medical-info.types.ts +3 -3
  33. package/src/types/procedure/index.ts +20 -17
  34. package/src/validations/appointment.schema.ts +2 -0
  35. package/src/validations/clinic.schema.ts +3 -6
  36. package/src/validations/patient/medical-info.schema.ts +7 -2
  37. package/src/validations/procedure.schema.ts +8 -10
  38. package/src/backoffice/services/__tests__/brand.service.test.ts +0 -196
  39. package/src/backoffice/services/__tests__/category.service.test.ts +0 -201
  40. package/src/backoffice/services/__tests__/product.service.test.ts +0 -358
  41. package/src/backoffice/services/__tests__/requirement.service.test.ts +0 -226
  42. package/src/backoffice/services/__tests__/subcategory.service.test.ts +0 -181
  43. package/src/backoffice/services/__tests__/technology.service.test.ts +0 -1097
@@ -498,6 +498,68 @@ declare class DocumentationTemplateServiceBackoffice {
498
498
  getTemplateVersions(templateId: string): Promise<DocumentTemplate[]>;
499
499
  }
500
500
 
501
+ /**
502
+ * @file Defines types for dynamically managed administrative constants,
503
+ * such as treatment benefits and contraindications. These are stored in
504
+ * the 'admin-constants' collection in Firestore.
505
+ */
506
+ /**
507
+ * Represents a single dynamic treatment benefit.
508
+ * These are positive effects or results a patient can expect from a treatment.
509
+ */
510
+ interface TreatmentBenefitDynamic {
511
+ /**
512
+ * A unique identifier for the benefit, typically in snake_case.
513
+ * @example "wrinkle_reduction"
514
+ */
515
+ id: string;
516
+ /**
517
+ * A human-readable name for the treatment benefit.
518
+ * @example "Wrinkle Reduction"
519
+ */
520
+ name: string;
521
+ /**
522
+ * A detailed description of the benefit.
523
+ */
524
+ description?: string;
525
+ }
526
+ /**
527
+ * Defines the structure of the document storing all treatment benefits
528
+ * in the 'admin-constants' collection.
529
+ * The document ID for this type should be 'treatment-benefits'.
530
+ */
531
+ interface TreatmentBenefitsDocument {
532
+ benefits: TreatmentBenefitDynamic[];
533
+ }
534
+ /**
535
+ * Represents a single dynamic contraindication.
536
+ * These are conditions or factors that can affect a procedure and require special attention.
537
+ */
538
+ interface ContraindicationDynamic {
539
+ /**
540
+ * A unique identifier for the contraindication, typically in snake_case.
541
+ * @example "sensitive_skin"
542
+ */
543
+ id: string;
544
+ /**
545
+ * A human-readable name for the contraindication.
546
+ * @example "Sensitive Skin"
547
+ */
548
+ name: string;
549
+ /**
550
+ * A detailed description of the contraindication.
551
+ */
552
+ description?: string;
553
+ }
554
+ /**
555
+ * Defines the structure of the document storing all contraindications
556
+ * in the 'admin-constants' collection.
557
+ * The document ID for this type should be 'contraindications'.
558
+ */
559
+ interface ContraindicationsDocument {
560
+ contraindications: ContraindicationDynamic[];
561
+ }
562
+
501
563
  /**
502
564
  * Product used in procedures
503
565
  * Can be consumables, equipment, or any other product needed for performing procedures
@@ -533,7 +595,7 @@ interface Product {
533
595
  dosage?: string;
534
596
  composition?: string;
535
597
  indications?: string[];
536
- contraindications?: string[];
598
+ contraindications?: ContraindicationDynamic[];
537
599
  }
538
600
  /**
539
601
  * Collection in Firestore database where products are stored
@@ -865,47 +927,6 @@ declare enum BlockingCondition {
865
927
  EPILEPSY = "epilepsy"
866
928
  }
867
929
 
868
- /**
869
- * Kontraindikacije koje mogu uticati na proceduru
870
- * Ovi uslovi predstavljaju relativne kontraindikacije koje zahtevaju posebnu pažnju
871
- */
872
- declare enum Contraindication {
873
- SENSITIVE_SKIN = "sensitive_skin",
874
- RECENT_TANNING = "recent_tanning",
875
- RECENT_BOTOX = "recent_botox",
876
- RECENT_FILLERS = "recent_fillers",
877
- SKIN_ALLERGIES = "skin_allergies",
878
- MEDICATIONS = "medications",
879
- RECENT_CHEMICAL_PEEL = "recent_chemical_peel",
880
- RECENT_LASER = "recent_laser",
881
- SKIN_INFLAMMATION = "skin_inflammation",
882
- OPEN_WOUNDS = "open_wounds",
883
- HERPES_SIMPLEX = "herpes_simplex",
884
- COLD_SORES = "cold_sores"
885
- }
886
-
887
- /**
888
- * Benefiti koji se mogu očekivati od procedure
889
- * Lista mogućih pozitivnih efekata i rezultata tretmana
890
- */
891
- declare enum TreatmentBenefit {
892
- WRINKLE_REDUCTION = "wrinkle_reduction",
893
- SKIN_TIGHTENING = "skin_tightening",
894
- COLLAGEN_PRODUCTION = "collagen_production",
895
- ACNE_REDUCTION = "acne_reduction",
896
- SCAR_REDUCTION = "scar_reduction",
897
- PIGMENTATION_IMPROVEMENT = "pigmentation_improvement",
898
- HAIR_REMOVAL = "hair_removal",
899
- MUSCLE_TONING = "muscle_toning",
900
- FAT_REDUCTION = "fat_reduction",
901
- CELLULITE_REDUCTION = "cellulite_reduction",
902
- SKIN_REJUVENATION = "skin_rejuvenation",
903
- PORE_REDUCTION = "pore_reduction",
904
- TEXTURE_IMPROVEMENT = "texture_improvement",
905
- HYDRATION_BOOST = "hydration_boost",
906
- CIRCULATION_IMPROVEMENT = "circulation_improvement"
907
- }
908
-
909
930
  /**
910
931
  * Nivoi sertifikacije medicinskog osoblja, poređani od najnižeg do najvišeg
911
932
  */
@@ -999,8 +1020,8 @@ interface Technology {
999
1020
  post: Requirement[];
1000
1021
  };
1001
1022
  blockingConditions: BlockingCondition[];
1002
- contraindications: Contraindication[];
1003
- benefits: TreatmentBenefit[];
1023
+ contraindications: ContraindicationDynamic[];
1024
+ benefits: TreatmentBenefitDynamic[];
1004
1025
  certificationRequirement: CertificationRequirement;
1005
1026
  documentationTemplates?: TechnologyDocumentationTemplate[];
1006
1027
  isActive: boolean;
@@ -1027,6 +1048,25 @@ interface PractitionerReviewInfo {
1027
1048
  recommendationPercentage: number;
1028
1049
  }
1029
1050
 
1051
+ /**
1052
+ * Kontraindikacije koje mogu uticati na proceduru
1053
+ * Ovi uslovi predstavljaju relativne kontraindikacije koje zahtevaju posebnu pažnju
1054
+ */
1055
+ declare enum Contraindication {
1056
+ SENSITIVE_SKIN = "sensitive_skin",
1057
+ RECENT_TANNING = "recent_tanning",
1058
+ RECENT_BOTOX = "recent_botox",
1059
+ RECENT_FILLERS = "recent_fillers",
1060
+ SKIN_ALLERGIES = "skin_allergies",
1061
+ MEDICATIONS = "medications",
1062
+ RECENT_CHEMICAL_PEEL = "recent_chemical_peel",
1063
+ RECENT_LASER = "recent_laser",
1064
+ SKIN_INFLAMMATION = "skin_inflammation",
1065
+ OPEN_WOUNDS = "open_wounds",
1066
+ HERPES_SIMPLEX = "herpes_simplex",
1067
+ COLD_SORES = "cold_sores"
1068
+ }
1069
+
1030
1070
  declare enum PricingMeasure {
1031
1071
  PER_ML = "per_ml",
1032
1072
  PER_ZONE = "per_zone",
@@ -1043,6 +1083,28 @@ declare enum Currency {
1043
1083
  AUD = "AUD"
1044
1084
  }
1045
1085
 
1086
+ /**
1087
+ * Benefiti koji se mogu očekivati od procedure
1088
+ * Lista mogućih pozitivnih efekata i rezultata tretmana
1089
+ */
1090
+ declare enum TreatmentBenefit {
1091
+ WRINKLE_REDUCTION = "wrinkle_reduction",
1092
+ SKIN_TIGHTENING = "skin_tightening",
1093
+ COLLAGEN_PRODUCTION = "collagen_production",
1094
+ ACNE_REDUCTION = "acne_reduction",
1095
+ SCAR_REDUCTION = "scar_reduction",
1096
+ PIGMENTATION_IMPROVEMENT = "pigmentation_improvement",
1097
+ HAIR_REMOVAL = "hair_removal",
1098
+ MUSCLE_TONING = "muscle_toning",
1099
+ FAT_REDUCTION = "fat_reduction",
1100
+ CELLULITE_REDUCTION = "cellulite_reduction",
1101
+ SKIN_REJUVENATION = "skin_rejuvenation",
1102
+ PORE_REDUCTION = "pore_reduction",
1103
+ TEXTURE_IMPROVEMENT = "texture_improvement",
1104
+ HYDRATION_BOOST = "hydration_boost",
1105
+ CIRCULATION_IMPROVEMENT = "circulation_improvement"
1106
+ }
1107
+
1046
1108
  /**
1047
1109
  * Type that allows a field to be either a URL string or a File object
1048
1110
  */
@@ -1093,6 +1155,7 @@ interface ClinicLocation {
1093
1155
  latitude: number;
1094
1156
  longitude: number;
1095
1157
  geohash?: string | null;
1158
+ tz?: string | null;
1096
1159
  }
1097
1160
 
1098
1161
  /**
@@ -1245,7 +1308,7 @@ declare class TechnologyService extends BaseService {
1245
1308
  description: string;
1246
1309
  family: ProcedureFamily;
1247
1310
  technicalDetails?: string | undefined;
1248
- contraindications: Contraindication[];
1311
+ contraindications: ContraindicationDynamic[];
1249
1312
  blockingConditions: BlockingCondition[];
1250
1313
  categoryId: string;
1251
1314
  subcategoryId: string;
@@ -1253,7 +1316,7 @@ declare class TechnologyService extends BaseService {
1253
1316
  pre: Requirement[];
1254
1317
  post: Requirement[];
1255
1318
  };
1256
- benefits: TreatmentBenefit[];
1319
+ benefits: TreatmentBenefitDynamic[];
1257
1320
  certificationRequirement: CertificationRequirement;
1258
1321
  documentationTemplates?: TechnologyDocumentationTemplate[] | undefined;
1259
1322
  id: string;
@@ -1348,28 +1411,44 @@ declare class TechnologyService extends BaseService {
1348
1411
  * @param contraindication - Kontraindikacija koja se dodaje
1349
1412
  * @returns Ažurirana tehnologija
1350
1413
  */
1351
- addContraindication(technologyId: string, contraindication: Contraindication): Promise<Technology | null>;
1414
+ addContraindication(technologyId: string, contraindication: ContraindicationDynamic): Promise<Technology | null>;
1352
1415
  /**
1353
1416
  * Uklanja kontraindikaciju iz tehnologije
1354
1417
  * @param technologyId - ID tehnologije
1355
1418
  * @param contraindication - Kontraindikacija koja se uklanja
1356
1419
  * @returns Ažurirana tehnologija
1357
1420
  */
1358
- removeContraindication(technologyId: string, contraindication: Contraindication): Promise<Technology | null>;
1421
+ removeContraindication(technologyId: string, contraindication: ContraindicationDynamic): Promise<Technology | null>;
1422
+ /**
1423
+ * Updates an existing contraindication in a technology's list.
1424
+ * If the contraindication does not exist, it will not be added.
1425
+ * @param technologyId - ID of the technology
1426
+ * @param contraindication - The updated contraindication object
1427
+ * @returns The updated technology
1428
+ */
1429
+ updateContraindication(technologyId: string, contraindication: ContraindicationDynamic): Promise<Technology | null>;
1359
1430
  /**
1360
1431
  * Dodaje benefit tehnologiji
1361
1432
  * @param technologyId - ID tehnologije
1362
1433
  * @param benefit - Benefit koji se dodaje
1363
1434
  * @returns Ažurirana tehnologija
1364
1435
  */
1365
- addBenefit(technologyId: string, benefit: TreatmentBenefit): Promise<Technology | null>;
1436
+ addBenefit(technologyId: string, benefit: TreatmentBenefitDynamic): Promise<Technology | null>;
1366
1437
  /**
1367
1438
  * Uklanja benefit iz tehnologije
1368
1439
  * @param technologyId - ID tehnologije
1369
1440
  * @param benefit - Benefit koji se uklanja
1370
1441
  * @returns Ažurirana tehnologija
1371
1442
  */
1372
- removeBenefit(technologyId: string, benefit: TreatmentBenefit): Promise<Technology | null>;
1443
+ removeBenefit(technologyId: string, benefit: TreatmentBenefitDynamic): Promise<Technology | null>;
1444
+ /**
1445
+ * Updates an existing benefit in a technology's list.
1446
+ * If the benefit does not exist, it will not be added.
1447
+ * @param technologyId - ID of the technology
1448
+ * @param benefit - The updated benefit object
1449
+ * @returns The updated technology
1450
+ */
1451
+ updateBenefit(technologyId: string, benefit: TreatmentBenefitDynamic): Promise<Technology | null>;
1373
1452
  /**
1374
1453
  * Vraća sve blokirajuće uslove za tehnologiju
1375
1454
  * @param technologyId - ID tehnologije
@@ -1381,13 +1460,13 @@ declare class TechnologyService extends BaseService {
1381
1460
  * @param technologyId - ID tehnologije
1382
1461
  * @returns Lista kontraindikacija
1383
1462
  */
1384
- getContraindications(technologyId: string): Promise<Contraindication[]>;
1463
+ getContraindications(technologyId: string): Promise<ContraindicationDynamic[]>;
1385
1464
  /**
1386
1465
  * Vraća sve benefite za tehnologiju
1387
1466
  * @param technologyId - ID tehnologije
1388
1467
  * @returns Lista benefita
1389
1468
  */
1390
- getBenefits(technologyId: string): Promise<TreatmentBenefit[]>;
1469
+ getBenefits(technologyId: string): Promise<TreatmentBenefitDynamic[]>;
1391
1470
  /**
1392
1471
  * Ažurira zahteve sertifikacije za tehnologiju
1393
1472
  * @param technologyId - ID tehnologije
@@ -3208,12 +3287,70 @@ declare const documentTemplateSchema: z.ZodObject<{
3208
3287
  sortingOrder?: number | undefined;
3209
3288
  }>;
3210
3289
 
3290
+ /**
3291
+ * Zod validation schema for a single dynamic contraindication.
3292
+ * @see ContraindicationDynamic in admin-constants.types.ts
3293
+ */
3294
+ declare const contraindicationDynamicSchema: z.ZodObject<{
3295
+ id: z.ZodString;
3296
+ name: z.ZodString;
3297
+ description: z.ZodOptional<z.ZodString>;
3298
+ }, "strip", z.ZodTypeAny, {
3299
+ id: string;
3300
+ name: string;
3301
+ description?: string | undefined;
3302
+ }, {
3303
+ id: string;
3304
+ name: string;
3305
+ description?: string | undefined;
3306
+ }>;
3307
+ /**
3308
+ * Zod validation schema for a single dynamic treatment benefit.
3309
+ * @see TreatmentBenefitDynamic in admin-constants.types.ts
3310
+ */
3311
+ declare const treatmentBenefitDynamicSchema: z.ZodObject<{
3312
+ id: z.ZodString;
3313
+ name: z.ZodString;
3314
+ description: z.ZodOptional<z.ZodString>;
3315
+ }, "strip", z.ZodTypeAny, {
3316
+ id: string;
3317
+ name: string;
3318
+ description?: string | undefined;
3319
+ }, {
3320
+ id: string;
3321
+ name: string;
3322
+ description?: string | undefined;
3323
+ }>;
3211
3324
  /**
3212
3325
  * Base validation schemas for enums
3213
3326
  */
3214
3327
  declare const blockingConditionSchemaBackoffice: z.ZodNativeEnum<typeof BlockingCondition>;
3215
- declare const contraindicationSchemaBackoffice: z.ZodNativeEnum<typeof Contraindication>;
3216
- declare const treatmentBenefitSchemaBackoffice: z.ZodNativeEnum<typeof TreatmentBenefit>;
3328
+ declare const contraindicationSchemaBackoffice: z.ZodObject<{
3329
+ id: z.ZodString;
3330
+ name: z.ZodString;
3331
+ description: z.ZodOptional<z.ZodString>;
3332
+ }, "strip", z.ZodTypeAny, {
3333
+ id: string;
3334
+ name: string;
3335
+ description?: string | undefined;
3336
+ }, {
3337
+ id: string;
3338
+ name: string;
3339
+ description?: string | undefined;
3340
+ }>;
3341
+ declare const treatmentBenefitSchemaBackoffice: z.ZodObject<{
3342
+ id: z.ZodString;
3343
+ name: z.ZodString;
3344
+ description: z.ZodOptional<z.ZodString>;
3345
+ }, "strip", z.ZodTypeAny, {
3346
+ id: string;
3347
+ name: string;
3348
+ description?: string | undefined;
3349
+ }, {
3350
+ id: string;
3351
+ name: string;
3352
+ description?: string | undefined;
3353
+ }>;
3217
3354
  declare const procedureFamilySchemaBackoffice: z.ZodNativeEnum<typeof ProcedureFamily>;
3218
3355
  declare const timeUnitSchemaBackoffice: z.ZodNativeEnum<typeof TimeUnit>;
3219
3356
  declare const requirementTypeSchema: z.ZodNativeEnum<typeof RequirementType>;
@@ -3579,7 +3716,19 @@ declare const technologySchema: z.ZodObject<{
3579
3716
  }[];
3580
3717
  }>>;
3581
3718
  blockingConditions: z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">;
3582
- contraindications: z.ZodArray<z.ZodNativeEnum<typeof Contraindication>, "many">;
3719
+ contraindications: z.ZodArray<z.ZodObject<{
3720
+ id: z.ZodString;
3721
+ name: z.ZodString;
3722
+ description: z.ZodOptional<z.ZodString>;
3723
+ }, "strip", z.ZodTypeAny, {
3724
+ id: string;
3725
+ name: string;
3726
+ description?: string | undefined;
3727
+ }, {
3728
+ id: string;
3729
+ name: string;
3730
+ description?: string | undefined;
3731
+ }>, "many">;
3583
3732
  documentationTemplates: z.ZodArray<z.ZodObject<{
3584
3733
  id: z.ZodString;
3585
3734
  title: z.ZodString;
@@ -4046,7 +4195,19 @@ declare const technologySchema: z.ZodObject<{
4046
4195
  isRequired?: boolean | undefined;
4047
4196
  sortingOrder?: number | undefined;
4048
4197
  }>, "many">;
4049
- benefits: z.ZodArray<z.ZodNativeEnum<typeof TreatmentBenefit>, "many">;
4198
+ benefits: z.ZodArray<z.ZodObject<{
4199
+ id: z.ZodString;
4200
+ name: z.ZodString;
4201
+ description: z.ZodOptional<z.ZodString>;
4202
+ }, "strip", z.ZodTypeAny, {
4203
+ id: string;
4204
+ name: string;
4205
+ description?: string | undefined;
4206
+ }, {
4207
+ id: string;
4208
+ name: string;
4209
+ description?: string | undefined;
4210
+ }>, "many">;
4050
4211
  certificationRequirement: z.ZodObject<{
4051
4212
  minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
4052
4213
  requiredSpecialties: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CertificationSpecialty>, "many">>;
@@ -4062,7 +4223,11 @@ declare const technologySchema: z.ZodObject<{
4062
4223
  name: string;
4063
4224
  isActive: boolean;
4064
4225
  family: ProcedureFamily;
4065
- contraindications: Contraindication[];
4226
+ contraindications: {
4227
+ id: string;
4228
+ name: string;
4229
+ description?: string | undefined;
4230
+ }[];
4066
4231
  blockingConditions: BlockingCondition[];
4067
4232
  categoryId: string;
4068
4233
  subcategoryId: string;
@@ -4092,7 +4257,11 @@ declare const technologySchema: z.ZodObject<{
4092
4257
  importance: "low" | "medium" | "high";
4093
4258
  }[];
4094
4259
  };
4095
- benefits: TreatmentBenefit[];
4260
+ benefits: {
4261
+ id: string;
4262
+ name: string;
4263
+ description?: string | undefined;
4264
+ }[];
4096
4265
  certificationRequirement: {
4097
4266
  minimumLevel: CertificationLevel;
4098
4267
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -4199,11 +4368,19 @@ declare const technologySchema: z.ZodObject<{
4199
4368
  }, {
4200
4369
  name: string;
4201
4370
  family: ProcedureFamily;
4202
- contraindications: Contraindication[];
4371
+ contraindications: {
4372
+ id: string;
4373
+ name: string;
4374
+ description?: string | undefined;
4375
+ }[];
4203
4376
  blockingConditions: BlockingCondition[];
4204
4377
  categoryId: string;
4205
4378
  subcategoryId: string;
4206
- benefits: TreatmentBenefit[];
4379
+ benefits: {
4380
+ id: string;
4381
+ name: string;
4382
+ description?: string | undefined;
4383
+ }[];
4207
4384
  certificationRequirement: {
4208
4385
  minimumLevel: CertificationLevel;
4209
4386
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -4552,7 +4729,19 @@ declare const technologyUpdateSchema: z.ZodObject<{
4552
4729
  }[];
4553
4730
  }>>>;
4554
4731
  blockingConditions: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">>;
4555
- contraindications: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Contraindication>, "many">>;
4732
+ contraindications: z.ZodOptional<z.ZodArray<z.ZodObject<{
4733
+ id: z.ZodString;
4734
+ name: z.ZodString;
4735
+ description: z.ZodOptional<z.ZodString>;
4736
+ }, "strip", z.ZodTypeAny, {
4737
+ id: string;
4738
+ name: string;
4739
+ description?: string | undefined;
4740
+ }, {
4741
+ id: string;
4742
+ name: string;
4743
+ description?: string | undefined;
4744
+ }>, "many">>;
4556
4745
  documentationTemplates: z.ZodOptional<z.ZodArray<z.ZodObject<{
4557
4746
  id: z.ZodString;
4558
4747
  title: z.ZodString;
@@ -5019,7 +5208,19 @@ declare const technologyUpdateSchema: z.ZodObject<{
5019
5208
  isRequired?: boolean | undefined;
5020
5209
  sortingOrder?: number | undefined;
5021
5210
  }>, "many">>;
5022
- benefits: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof TreatmentBenefit>, "many">>;
5211
+ benefits: z.ZodOptional<z.ZodArray<z.ZodObject<{
5212
+ id: z.ZodString;
5213
+ name: z.ZodString;
5214
+ description: z.ZodOptional<z.ZodString>;
5215
+ }, "strip", z.ZodTypeAny, {
5216
+ id: string;
5217
+ name: string;
5218
+ description?: string | undefined;
5219
+ }, {
5220
+ id: string;
5221
+ name: string;
5222
+ description?: string | undefined;
5223
+ }>, "many">>;
5023
5224
  certificationRequirement: z.ZodOptional<z.ZodObject<{
5024
5225
  minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
5025
5226
  requiredSpecialties: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CertificationSpecialty>, "many">>;
@@ -5037,7 +5238,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5037
5238
  description?: string | undefined;
5038
5239
  family?: ProcedureFamily | undefined;
5039
5240
  technicalDetails?: string | undefined;
5040
- contraindications?: Contraindication[] | undefined;
5241
+ contraindications?: {
5242
+ id: string;
5243
+ name: string;
5244
+ description?: string | undefined;
5245
+ }[] | undefined;
5041
5246
  blockingConditions?: BlockingCondition[] | undefined;
5042
5247
  categoryId?: string | undefined;
5043
5248
  subcategoryId?: string | undefined;
@@ -5067,7 +5272,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5067
5272
  importance: "low" | "medium" | "high";
5068
5273
  }[];
5069
5274
  } | undefined;
5070
- benefits?: TreatmentBenefit[] | undefined;
5275
+ benefits?: {
5276
+ id: string;
5277
+ name: string;
5278
+ description?: string | undefined;
5279
+ }[] | undefined;
5071
5280
  certificationRequirement?: {
5072
5281
  minimumLevel: CertificationLevel;
5073
5282
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -5175,7 +5384,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5175
5384
  description?: string | undefined;
5176
5385
  family?: ProcedureFamily | undefined;
5177
5386
  technicalDetails?: string | undefined;
5178
- contraindications?: Contraindication[] | undefined;
5387
+ contraindications?: {
5388
+ id: string;
5389
+ name: string;
5390
+ description?: string | undefined;
5391
+ }[] | undefined;
5179
5392
  blockingConditions?: BlockingCondition[] | undefined;
5180
5393
  categoryId?: string | undefined;
5181
5394
  subcategoryId?: string | undefined;
@@ -5205,7 +5418,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5205
5418
  isActive?: boolean | undefined;
5206
5419
  }[];
5207
5420
  } | undefined;
5208
- benefits?: TreatmentBenefit[] | undefined;
5421
+ benefits?: {
5422
+ id: string;
5423
+ name: string;
5424
+ description?: string | undefined;
5425
+ }[] | undefined;
5209
5426
  certificationRequirement?: {
5210
5427
  minimumLevel: CertificationLevel;
5211
5428
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -5445,4 +5662,4 @@ declare class InvalidTreatmentBenefitError extends TreatmentBenefitError {
5445
5662
  constructor(benefit: string);
5446
5663
  }
5447
5664
 
5448
- export { BRANDS_COLLECTION, BackofficeError, BlockingCondition, BlockingConditionError, type Brand, BrandService, CATEGORIES_COLLECTION, type Category, CategoryError, CategoryNotFoundError, CategoryService, CertificationLevel, type CertificationRequirement, CertificationSpecialty, CircularReferenceError, Contraindication, ContraindicationError, type CreateDocumentTemplateData, Currency, DEFAULT_CERTIFICATION_REQUIREMENT, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateServiceBackoffice, DynamicVariable, FILLED_DOCUMENTS_COLLECTION, HeadingLevel, type IProductService, InvalidBlockingConditionError, InvalidCategoryDataError, InvalidContraindicationError, InvalidHierarchyError, InvalidRequirementDataError, InvalidSubcategoryDataError, InvalidTechnologyDataError, InvalidTimeframeError, InvalidTreatmentBenefitError, ListType, PRODUCTS_COLLECTION, PricingMeasure, ProcedureFamily, type Product, ProductService, REQUIREMENTS_COLLECTION, RelationshipError, type Requirement, RequirementError, type RequirementImportance, RequirementNotFoundError, RequirementService, RequirementType, SUBCATEGORIES_COLLECTION, type Subcategory, SubcategoryError, SubcategoryNotFoundError, SubcategoryService, TECHNOLOGIES_COLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyError, TechnologyNotFoundError, type TechnologyRequirements, TechnologyService, type TimeFrame, TimeUnit, TreatmentBenefit, TreatmentBenefitError, type UpdateDocumentTemplateData, blockingConditionSchemaBackoffice, categorySchema, categoryUpdateSchema, certificationLevelSchema, certificationRequirementSchema, certificationSpecialtySchema, contraindicationSchemaBackoffice, createDocumentTemplateSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, procedureFamilySchemaBackoffice, requirementSchema, requirementTypeSchema, requirementUpdateSchema, subcategorySchema, subcategoryUpdateSchema, technologyRequirementsSchema, technologySchema, technologyUpdateSchema, timeUnitSchemaBackoffice, timeframeSchema, treatmentBenefitSchemaBackoffice, updateDocumentTemplateSchema };
5665
+ export { BRANDS_COLLECTION, BackofficeError, BlockingCondition, BlockingConditionError, type Brand, BrandService, CATEGORIES_COLLECTION, type Category, CategoryError, CategoryNotFoundError, CategoryService, CertificationLevel, type CertificationRequirement, CertificationSpecialty, CircularReferenceError, Contraindication, type ContraindicationDynamic, ContraindicationError, type ContraindicationsDocument, type CreateDocumentTemplateData, Currency, DEFAULT_CERTIFICATION_REQUIREMENT, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateServiceBackoffice, DynamicVariable, FILLED_DOCUMENTS_COLLECTION, HeadingLevel, type IProductService, InvalidBlockingConditionError, InvalidCategoryDataError, InvalidContraindicationError, InvalidHierarchyError, InvalidRequirementDataError, InvalidSubcategoryDataError, InvalidTechnologyDataError, InvalidTimeframeError, InvalidTreatmentBenefitError, ListType, PRODUCTS_COLLECTION, PricingMeasure, ProcedureFamily, type Product, ProductService, REQUIREMENTS_COLLECTION, RelationshipError, type Requirement, RequirementError, type RequirementImportance, RequirementNotFoundError, RequirementService, RequirementType, SUBCATEGORIES_COLLECTION, type Subcategory, SubcategoryError, SubcategoryNotFoundError, SubcategoryService, TECHNOLOGIES_COLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyError, TechnologyNotFoundError, type TechnologyRequirements, TechnologyService, type TimeFrame, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, TreatmentBenefitError, type TreatmentBenefitsDocument, type UpdateDocumentTemplateData, blockingConditionSchemaBackoffice, categorySchema, categoryUpdateSchema, certificationLevelSchema, certificationRequirementSchema, certificationSpecialtySchema, contraindicationDynamicSchema, contraindicationSchemaBackoffice, createDocumentTemplateSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, procedureFamilySchemaBackoffice, requirementSchema, requirementTypeSchema, requirementUpdateSchema, subcategorySchema, subcategoryUpdateSchema, technologyRequirementsSchema, technologySchema, technologyUpdateSchema, timeUnitSchemaBackoffice, timeframeSchema, treatmentBenefitDynamicSchema, treatmentBenefitSchemaBackoffice, updateDocumentTemplateSchema };