@blackcode_sa/metaestetics-api 1.11.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 (35) hide show
  1. package/dist/admin/index.d.mts +328 -319
  2. package/dist/admin/index.d.ts +328 -319
  3. package/dist/backoffice/index.d.mts +283 -67
  4. package/dist/backoffice/index.d.ts +283 -67
  5. package/dist/backoffice/index.js +114 -6
  6. package/dist/backoffice/index.mjs +112 -6
  7. package/dist/index.d.mts +3872 -3806
  8. package/dist/index.d.ts +3872 -3806
  9. package/dist/index.js +369 -123
  10. package/dist/index.mjs +369 -124
  11. package/package.json +1 -1
  12. package/src/backoffice/expo-safe/index.ts +2 -0
  13. package/src/backoffice/services/README.md +40 -0
  14. package/src/backoffice/services/constants.service.ts +268 -0
  15. package/src/backoffice/services/technology.service.ts +122 -10
  16. package/src/backoffice/types/admin-constants.types.ts +69 -0
  17. package/src/backoffice/types/index.ts +1 -0
  18. package/src/backoffice/types/product.types.ts +3 -1
  19. package/src/backoffice/types/technology.types.ts +4 -4
  20. package/src/backoffice/validations/schemas.ts +35 -9
  21. package/src/services/appointment/appointment.service.ts +0 -5
  22. package/src/services/appointment/utils/appointment.utils.ts +124 -113
  23. package/src/services/procedure/procedure.service.ts +434 -234
  24. package/src/types/appointment/index.ts +5 -3
  25. package/src/types/clinic/index.ts +1 -6
  26. package/src/types/patient/medical-info.types.ts +3 -3
  27. package/src/types/procedure/index.ts +20 -17
  28. package/src/validations/clinic.schema.ts +1 -6
  29. package/src/validations/patient/medical-info.schema.ts +7 -2
  30. package/src/backoffice/services/__tests__/brand.service.test.ts +0 -196
  31. package/src/backoffice/services/__tests__/category.service.test.ts +0 -201
  32. package/src/backoffice/services/__tests__/product.service.test.ts +0 -358
  33. package/src/backoffice/services/__tests__/requirement.service.test.ts +0 -226
  34. package/src/backoffice/services/__tests__/subcategory.service.test.ts +0 -181
  35. 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
  */
@@ -1246,7 +1308,7 @@ declare class TechnologyService extends BaseService {
1246
1308
  description: string;
1247
1309
  family: ProcedureFamily;
1248
1310
  technicalDetails?: string | undefined;
1249
- contraindications: Contraindication[];
1311
+ contraindications: ContraindicationDynamic[];
1250
1312
  blockingConditions: BlockingCondition[];
1251
1313
  categoryId: string;
1252
1314
  subcategoryId: string;
@@ -1254,7 +1316,7 @@ declare class TechnologyService extends BaseService {
1254
1316
  pre: Requirement[];
1255
1317
  post: Requirement[];
1256
1318
  };
1257
- benefits: TreatmentBenefit[];
1319
+ benefits: TreatmentBenefitDynamic[];
1258
1320
  certificationRequirement: CertificationRequirement;
1259
1321
  documentationTemplates?: TechnologyDocumentationTemplate[] | undefined;
1260
1322
  id: string;
@@ -1349,28 +1411,44 @@ declare class TechnologyService extends BaseService {
1349
1411
  * @param contraindication - Kontraindikacija koja se dodaje
1350
1412
  * @returns Ažurirana tehnologija
1351
1413
  */
1352
- addContraindication(technologyId: string, contraindication: Contraindication): Promise<Technology | null>;
1414
+ addContraindication(technologyId: string, contraindication: ContraindicationDynamic): Promise<Technology | null>;
1353
1415
  /**
1354
1416
  * Uklanja kontraindikaciju iz tehnologije
1355
1417
  * @param technologyId - ID tehnologije
1356
1418
  * @param contraindication - Kontraindikacija koja se uklanja
1357
1419
  * @returns Ažurirana tehnologija
1358
1420
  */
1359
- 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>;
1360
1430
  /**
1361
1431
  * Dodaje benefit tehnologiji
1362
1432
  * @param technologyId - ID tehnologije
1363
1433
  * @param benefit - Benefit koji se dodaje
1364
1434
  * @returns Ažurirana tehnologija
1365
1435
  */
1366
- addBenefit(technologyId: string, benefit: TreatmentBenefit): Promise<Technology | null>;
1436
+ addBenefit(technologyId: string, benefit: TreatmentBenefitDynamic): Promise<Technology | null>;
1367
1437
  /**
1368
1438
  * Uklanja benefit iz tehnologije
1369
1439
  * @param technologyId - ID tehnologije
1370
1440
  * @param benefit - Benefit koji se uklanja
1371
1441
  * @returns Ažurirana tehnologija
1372
1442
  */
1373
- 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>;
1374
1452
  /**
1375
1453
  * Vraća sve blokirajuće uslove za tehnologiju
1376
1454
  * @param technologyId - ID tehnologije
@@ -1382,13 +1460,13 @@ declare class TechnologyService extends BaseService {
1382
1460
  * @param technologyId - ID tehnologije
1383
1461
  * @returns Lista kontraindikacija
1384
1462
  */
1385
- getContraindications(technologyId: string): Promise<Contraindication[]>;
1463
+ getContraindications(technologyId: string): Promise<ContraindicationDynamic[]>;
1386
1464
  /**
1387
1465
  * Vraća sve benefite za tehnologiju
1388
1466
  * @param technologyId - ID tehnologije
1389
1467
  * @returns Lista benefita
1390
1468
  */
1391
- getBenefits(technologyId: string): Promise<TreatmentBenefit[]>;
1469
+ getBenefits(technologyId: string): Promise<TreatmentBenefitDynamic[]>;
1392
1470
  /**
1393
1471
  * Ažurira zahteve sertifikacije za tehnologiju
1394
1472
  * @param technologyId - ID tehnologije
@@ -3209,12 +3287,70 @@ declare const documentTemplateSchema: z.ZodObject<{
3209
3287
  sortingOrder?: number | undefined;
3210
3288
  }>;
3211
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
+ }>;
3212
3324
  /**
3213
3325
  * Base validation schemas for enums
3214
3326
  */
3215
3327
  declare const blockingConditionSchemaBackoffice: z.ZodNativeEnum<typeof BlockingCondition>;
3216
- declare const contraindicationSchemaBackoffice: z.ZodNativeEnum<typeof Contraindication>;
3217
- 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
+ }>;
3218
3354
  declare const procedureFamilySchemaBackoffice: z.ZodNativeEnum<typeof ProcedureFamily>;
3219
3355
  declare const timeUnitSchemaBackoffice: z.ZodNativeEnum<typeof TimeUnit>;
3220
3356
  declare const requirementTypeSchema: z.ZodNativeEnum<typeof RequirementType>;
@@ -3580,7 +3716,19 @@ declare const technologySchema: z.ZodObject<{
3580
3716
  }[];
3581
3717
  }>>;
3582
3718
  blockingConditions: z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">;
3583
- 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">;
3584
3732
  documentationTemplates: z.ZodArray<z.ZodObject<{
3585
3733
  id: z.ZodString;
3586
3734
  title: z.ZodString;
@@ -4047,7 +4195,19 @@ declare const technologySchema: z.ZodObject<{
4047
4195
  isRequired?: boolean | undefined;
4048
4196
  sortingOrder?: number | undefined;
4049
4197
  }>, "many">;
4050
- 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">;
4051
4211
  certificationRequirement: z.ZodObject<{
4052
4212
  minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
4053
4213
  requiredSpecialties: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CertificationSpecialty>, "many">>;
@@ -4063,7 +4223,11 @@ declare const technologySchema: z.ZodObject<{
4063
4223
  name: string;
4064
4224
  isActive: boolean;
4065
4225
  family: ProcedureFamily;
4066
- contraindications: Contraindication[];
4226
+ contraindications: {
4227
+ id: string;
4228
+ name: string;
4229
+ description?: string | undefined;
4230
+ }[];
4067
4231
  blockingConditions: BlockingCondition[];
4068
4232
  categoryId: string;
4069
4233
  subcategoryId: string;
@@ -4093,7 +4257,11 @@ declare const technologySchema: z.ZodObject<{
4093
4257
  importance: "low" | "medium" | "high";
4094
4258
  }[];
4095
4259
  };
4096
- benefits: TreatmentBenefit[];
4260
+ benefits: {
4261
+ id: string;
4262
+ name: string;
4263
+ description?: string | undefined;
4264
+ }[];
4097
4265
  certificationRequirement: {
4098
4266
  minimumLevel: CertificationLevel;
4099
4267
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -4200,11 +4368,19 @@ declare const technologySchema: z.ZodObject<{
4200
4368
  }, {
4201
4369
  name: string;
4202
4370
  family: ProcedureFamily;
4203
- contraindications: Contraindication[];
4371
+ contraindications: {
4372
+ id: string;
4373
+ name: string;
4374
+ description?: string | undefined;
4375
+ }[];
4204
4376
  blockingConditions: BlockingCondition[];
4205
4377
  categoryId: string;
4206
4378
  subcategoryId: string;
4207
- benefits: TreatmentBenefit[];
4379
+ benefits: {
4380
+ id: string;
4381
+ name: string;
4382
+ description?: string | undefined;
4383
+ }[];
4208
4384
  certificationRequirement: {
4209
4385
  minimumLevel: CertificationLevel;
4210
4386
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -4553,7 +4729,19 @@ declare const technologyUpdateSchema: z.ZodObject<{
4553
4729
  }[];
4554
4730
  }>>>;
4555
4731
  blockingConditions: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">>;
4556
- 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">>;
4557
4745
  documentationTemplates: z.ZodOptional<z.ZodArray<z.ZodObject<{
4558
4746
  id: z.ZodString;
4559
4747
  title: z.ZodString;
@@ -5020,7 +5208,19 @@ declare const technologyUpdateSchema: z.ZodObject<{
5020
5208
  isRequired?: boolean | undefined;
5021
5209
  sortingOrder?: number | undefined;
5022
5210
  }>, "many">>;
5023
- 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">>;
5024
5224
  certificationRequirement: z.ZodOptional<z.ZodObject<{
5025
5225
  minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
5026
5226
  requiredSpecialties: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CertificationSpecialty>, "many">>;
@@ -5038,7 +5238,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5038
5238
  description?: string | undefined;
5039
5239
  family?: ProcedureFamily | undefined;
5040
5240
  technicalDetails?: string | undefined;
5041
- contraindications?: Contraindication[] | undefined;
5241
+ contraindications?: {
5242
+ id: string;
5243
+ name: string;
5244
+ description?: string | undefined;
5245
+ }[] | undefined;
5042
5246
  blockingConditions?: BlockingCondition[] | undefined;
5043
5247
  categoryId?: string | undefined;
5044
5248
  subcategoryId?: string | undefined;
@@ -5068,7 +5272,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5068
5272
  importance: "low" | "medium" | "high";
5069
5273
  }[];
5070
5274
  } | undefined;
5071
- benefits?: TreatmentBenefit[] | undefined;
5275
+ benefits?: {
5276
+ id: string;
5277
+ name: string;
5278
+ description?: string | undefined;
5279
+ }[] | undefined;
5072
5280
  certificationRequirement?: {
5073
5281
  minimumLevel: CertificationLevel;
5074
5282
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -5176,7 +5384,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5176
5384
  description?: string | undefined;
5177
5385
  family?: ProcedureFamily | undefined;
5178
5386
  technicalDetails?: string | undefined;
5179
- contraindications?: Contraindication[] | undefined;
5387
+ contraindications?: {
5388
+ id: string;
5389
+ name: string;
5390
+ description?: string | undefined;
5391
+ }[] | undefined;
5180
5392
  blockingConditions?: BlockingCondition[] | undefined;
5181
5393
  categoryId?: string | undefined;
5182
5394
  subcategoryId?: string | undefined;
@@ -5206,7 +5418,11 @@ declare const technologyUpdateSchema: z.ZodObject<{
5206
5418
  isActive?: boolean | undefined;
5207
5419
  }[];
5208
5420
  } | undefined;
5209
- benefits?: TreatmentBenefit[] | undefined;
5421
+ benefits?: {
5422
+ id: string;
5423
+ name: string;
5424
+ description?: string | undefined;
5425
+ }[] | undefined;
5210
5426
  certificationRequirement?: {
5211
5427
  minimumLevel: CertificationLevel;
5212
5428
  requiredSpecialties?: CertificationSpecialty[] | undefined;
@@ -5446,4 +5662,4 @@ declare class InvalidTreatmentBenefitError extends TreatmentBenefitError {
5446
5662
  constructor(benefit: string);
5447
5663
  }
5448
5664
 
5449
- 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 };