@blackcode_sa/metaestetics-api 1.5.2 → 1.5.4

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 (32) hide show
  1. package/dist/backoffice/index.d.mts +1306 -63
  2. package/dist/backoffice/index.d.ts +1306 -63
  3. package/dist/backoffice/index.js +35 -26
  4. package/dist/backoffice/index.mjs +35 -26
  5. package/dist/index.d.mts +30 -16
  6. package/dist/index.d.ts +30 -16
  7. package/dist/index.js +81 -1
  8. package/dist/index.mjs +81 -1
  9. package/package.json +1 -1
  10. package/src/backoffice/services/brand.service.ts +2 -4
  11. package/src/backoffice/services/category.service.ts +2 -7
  12. package/src/backoffice/services/product.service.ts +5 -7
  13. package/src/backoffice/services/requirement.service.ts +6 -7
  14. package/src/backoffice/services/subcategory.service.ts +11 -8
  15. package/src/backoffice/services/technology.service.ts +6 -11
  16. package/src/backoffice/types/brand.types.ts +5 -0
  17. package/src/backoffice/types/category.types.ts +5 -0
  18. package/src/backoffice/types/documentation-templates.types.ts +4 -0
  19. package/src/backoffice/types/product.types.ts +5 -0
  20. package/src/backoffice/types/requirement.types.ts +5 -0
  21. package/src/backoffice/types/subcategory.types.ts +5 -0
  22. package/src/backoffice/types/technology.types.ts +10 -0
  23. package/src/backoffice/validations/schemas.ts +2 -0
  24. package/src/errors/auth.errors.ts +7 -0
  25. package/src/services/auth.service.ts +94 -0
  26. package/src/services/documentation-templates/documentation-template.service.ts +4 -1
  27. package/src/services/procedure/procedure.service.ts +238 -0
  28. package/src/types/documentation-templates/index.ts +5 -0
  29. package/src/types/index.ts +3 -3
  30. package/src/types/procedure/index.ts +104 -0
  31. package/src/validations/procedure.schema.ts +58 -0
  32. package/src/validations/schemas.ts +9 -3
@@ -293,69 +293,6 @@ interface CertificationRequirement {
293
293
  requiredSpecialties?: CertificationSpecialty[];
294
294
  }
295
295
 
296
- /**
297
- * Zahtevi koji su povezani sa tehnologijom
298
- * @property pre - Lista zahteva koji se moraju ispuniti pre procedure
299
- * @property post - Lista zahteva koji se moraju ispuniti posle procedure
300
- */
301
- interface TechnologyRequirements {
302
- pre: Requirement[];
303
- post: Requirement[];
304
- }
305
- /**
306
- * Technology used in medical procedures
307
- * Technologies are the third level of hierarchy, belonging to a specific subcategory
308
- * and represent a specific method or approach to treatment
309
- *
310
- * @property id - Unique identifier of the technology
311
- * @property name - Name of the technology
312
- * @property description - Detailed description of the technology and its application
313
- * @property subcategoryId - ID of the subcategory this technology belongs to
314
- * @property technicalDetails - Technical specifications and details
315
- * @property requirements - List of pre and post procedure requirements
316
- * @property blockingConditions - List of conditions that prevent the procedure
317
- * @property contraindications - List of conditions requiring special attention
318
- * @property benefits - List of expected benefits from the procedure
319
- * @property certificationRequirement - Required certification level and specialties
320
- * @property isActive - Whether the technology is active in the system
321
- * @property createdAt - Creation date
322
- * @property updatedAt - Last update date
323
- */
324
- interface Technology {
325
- /** Jedinstveni identifikator tehnologije (automatski generisan od strane Firestore) */
326
- id?: string;
327
- /** Naziv tehnologije */
328
- name: string;
329
- /** Detaljan opis tehnologije */
330
- description: string;
331
- /** ID potkategorije kojoj tehnologija pripada */
332
- subcategoryId: string;
333
- /** Tehnički detalji i specifikacije */
334
- technicalDetails?: string;
335
- /** Zahtevi pre i posle tretmana */
336
- requirements: {
337
- pre: Requirement[];
338
- post: Requirement[];
339
- };
340
- /** Apsolutne kontraindikacije koje sprečavaju tretman */
341
- blockingConditions: BlockingCondition[];
342
- /** Relativne kontraindikacije koje zahtevaju posebnu pažnju */
343
- contraindications: Contraindication[];
344
- /** Očekivane dobrobiti tretmana */
345
- benefits: TreatmentBenefit[];
346
- /** Potrebna sertifikacija za korišćenje tehnologije */
347
- certificationRequirement: CertificationRequirement;
348
- /** Da li je tehnologija trenutno aktivna */
349
- isActive: boolean;
350
- /** Datum kreiranja */
351
- createdAt: Date;
352
- /** Datum poslednjeg ažuriranja */
353
- updatedAt: Date;
354
- }
355
-
356
- /**
357
- * Types for the Medical Documentation Templating System
358
- */
359
296
  /**
360
297
  * Enum for element types in documentation templates
361
298
  */
@@ -552,6 +489,69 @@ interface UpdateDocumentTemplateData {
552
489
  isActive?: boolean;
553
490
  }
554
491
 
492
+ /**
493
+ * Zahtevi koji su povezani sa tehnologijom
494
+ * @property pre - Lista zahteva koji se moraju ispuniti pre procedure
495
+ * @property post - Lista zahteva koji se moraju ispuniti posle procedure
496
+ */
497
+ interface TechnologyRequirements {
498
+ pre: Requirement[];
499
+ post: Requirement[];
500
+ }
501
+ /**
502
+ * Technology used in medical procedures
503
+ * Technologies are the third level of hierarchy, belonging to a specific subcategory
504
+ * and represent a specific method or approach to treatment
505
+ *
506
+ * @property id - Unique identifier of the technology
507
+ * @property name - Name of the technology
508
+ * @property description - Detailed description of the technology and its application
509
+ * @property subcategoryId - ID of the subcategory this technology belongs to
510
+ * @property technicalDetails - Technical specifications and details
511
+ * @property requirements - List of pre and post procedure requirements
512
+ * @property blockingConditions - List of conditions that prevent the procedure
513
+ * @property contraindications - List of conditions requiring special attention
514
+ * @property benefits - List of expected benefits from the procedure
515
+ * @property certificationRequirement - Required certification level and specialties
516
+ * @property documentationTemplates - List of documentation templates required for this technology
517
+ * @property isActive - Whether the technology is active in the system
518
+ * @property createdAt - Creation date
519
+ * @property updatedAt - Last update date
520
+ */
521
+ interface Technology {
522
+ /** Jedinstveni identifikator tehnologije (automatski generisan od strane Firestore) */
523
+ id?: string;
524
+ /** Naziv tehnologije */
525
+ name: string;
526
+ /** Detaljan opis tehnologije */
527
+ description: string;
528
+ /** ID potkategorije kojoj tehnologija pripada */
529
+ subcategoryId: string;
530
+ /** Tehnički detalji i specifikacije */
531
+ technicalDetails?: string;
532
+ /** Zahtevi pre i posle tretmana */
533
+ requirements: {
534
+ pre: Requirement[];
535
+ post: Requirement[];
536
+ };
537
+ /** Apsolutne kontraindikacije koje sprečavaju tretman */
538
+ blockingConditions: BlockingCondition[];
539
+ /** Relativne kontraindikacije koje zahtevaju posebnu pažnju */
540
+ contraindications: Contraindication[];
541
+ /** Očekivane dobrobiti tretmana */
542
+ benefits: TreatmentBenefit[];
543
+ /** Potrebna sertifikacija za korišćenje tehnologije */
544
+ certificationRequirement: CertificationRequirement;
545
+ /** Dokumentacioni šabloni potrebni za ovu tehnologiju */
546
+ documentationTemplates?: DocumentTemplate[];
547
+ /** Da li je tehnologija trenutno aktivna */
548
+ isActive: boolean;
549
+ /** Datum kreiranja */
550
+ createdAt: Date;
551
+ /** Datum poslednjeg ažuriranja */
552
+ updatedAt: Date;
553
+ }
554
+
555
555
  /**
556
556
  * Default vrednosti za sertifikaciju
557
557
  * Svaka nova tehnologija će imati ove vrednosti ako se ne specificira drugačije
@@ -2705,6 +2705,449 @@ declare const technologySchema: z.ZodObject<{
2705
2705
  }>>;
2706
2706
  blockingConditions: z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">;
2707
2707
  contraindications: z.ZodArray<z.ZodNativeEnum<typeof Contraindication>, "many">;
2708
+ documentationTemplates: z.ZodArray<z.ZodObject<{
2709
+ id: z.ZodString;
2710
+ title: z.ZodString;
2711
+ description: z.ZodOptional<z.ZodString>;
2712
+ createdAt: z.ZodNumber;
2713
+ updatedAt: z.ZodNumber;
2714
+ createdBy: z.ZodString;
2715
+ elements: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
2716
+ id: z.ZodOptional<z.ZodString>;
2717
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2718
+ required: z.ZodOptional<z.ZodBoolean>;
2719
+ }, {
2720
+ type: z.ZodLiteral<DocumentElementType.HEADING>;
2721
+ text: z.ZodString;
2722
+ level: z.ZodNativeEnum<typeof HeadingLevel>;
2723
+ }>, "strip", z.ZodTypeAny, {
2724
+ type: DocumentElementType.HEADING;
2725
+ text: string;
2726
+ level: HeadingLevel;
2727
+ id?: string | undefined;
2728
+ required?: boolean | undefined;
2729
+ }, {
2730
+ type: DocumentElementType.HEADING;
2731
+ text: string;
2732
+ level: HeadingLevel;
2733
+ id?: string | undefined;
2734
+ required?: boolean | undefined;
2735
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2736
+ id: z.ZodOptional<z.ZodString>;
2737
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2738
+ required: z.ZodOptional<z.ZodBoolean>;
2739
+ }, {
2740
+ type: z.ZodLiteral<DocumentElementType.PARAGRAPH>;
2741
+ text: z.ZodString;
2742
+ }>, "strip", z.ZodTypeAny, {
2743
+ type: DocumentElementType.PARAGRAPH;
2744
+ text: string;
2745
+ id?: string | undefined;
2746
+ required?: boolean | undefined;
2747
+ }, {
2748
+ type: DocumentElementType.PARAGRAPH;
2749
+ text: string;
2750
+ id?: string | undefined;
2751
+ required?: boolean | undefined;
2752
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2753
+ id: z.ZodOptional<z.ZodString>;
2754
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2755
+ required: z.ZodOptional<z.ZodBoolean>;
2756
+ }, {
2757
+ type: z.ZodLiteral<DocumentElementType.LIST>;
2758
+ items: z.ZodArray<z.ZodString, "many">;
2759
+ listType: z.ZodNativeEnum<typeof ListType>;
2760
+ }>, "strip", z.ZodTypeAny, {
2761
+ type: DocumentElementType.LIST;
2762
+ items: string[];
2763
+ listType: ListType;
2764
+ id?: string | undefined;
2765
+ required?: boolean | undefined;
2766
+ }, {
2767
+ type: DocumentElementType.LIST;
2768
+ items: string[];
2769
+ listType: ListType;
2770
+ id?: string | undefined;
2771
+ required?: boolean | undefined;
2772
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2773
+ id: z.ZodOptional<z.ZodString>;
2774
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2775
+ required: z.ZodOptional<z.ZodBoolean>;
2776
+ }, {
2777
+ type: z.ZodLiteral<DocumentElementType.DYNAMIC_TEXT>;
2778
+ text: z.ZodString;
2779
+ }>, "strip", z.ZodTypeAny, {
2780
+ type: DocumentElementType.DYNAMIC_TEXT;
2781
+ text: string;
2782
+ id?: string | undefined;
2783
+ required?: boolean | undefined;
2784
+ }, {
2785
+ type: DocumentElementType.DYNAMIC_TEXT;
2786
+ text: string;
2787
+ id?: string | undefined;
2788
+ required?: boolean | undefined;
2789
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2790
+ id: z.ZodOptional<z.ZodString>;
2791
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2792
+ required: z.ZodOptional<z.ZodBoolean>;
2793
+ }, {
2794
+ type: z.ZodLiteral<DocumentElementType.BINARY_CHOICE>;
2795
+ question: z.ZodString;
2796
+ defaultValue: z.ZodOptional<z.ZodBoolean>;
2797
+ }>, "strip", z.ZodTypeAny, {
2798
+ type: DocumentElementType.BINARY_CHOICE;
2799
+ question: string;
2800
+ id?: string | undefined;
2801
+ required?: boolean | undefined;
2802
+ defaultValue?: boolean | undefined;
2803
+ }, {
2804
+ type: DocumentElementType.BINARY_CHOICE;
2805
+ question: string;
2806
+ id?: string | undefined;
2807
+ required?: boolean | undefined;
2808
+ defaultValue?: boolean | undefined;
2809
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2810
+ id: z.ZodOptional<z.ZodString>;
2811
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2812
+ required: z.ZodOptional<z.ZodBoolean>;
2813
+ }, {
2814
+ type: z.ZodLiteral<DocumentElementType.MULTIPLE_CHOICE>;
2815
+ question: z.ZodString;
2816
+ options: z.ZodArray<z.ZodString, "many">;
2817
+ defaultValues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2818
+ }>, "strip", z.ZodTypeAny, {
2819
+ type: DocumentElementType.MULTIPLE_CHOICE;
2820
+ question: string;
2821
+ options: string[];
2822
+ id?: string | undefined;
2823
+ required?: boolean | undefined;
2824
+ defaultValues?: string[] | undefined;
2825
+ }, {
2826
+ type: DocumentElementType.MULTIPLE_CHOICE;
2827
+ question: string;
2828
+ options: string[];
2829
+ id?: string | undefined;
2830
+ required?: boolean | undefined;
2831
+ defaultValues?: string[] | undefined;
2832
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2833
+ id: z.ZodOptional<z.ZodString>;
2834
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2835
+ required: z.ZodOptional<z.ZodBoolean>;
2836
+ }, {
2837
+ type: z.ZodLiteral<DocumentElementType.SINGLE_CHOICE>;
2838
+ question: z.ZodString;
2839
+ options: z.ZodArray<z.ZodString, "many">;
2840
+ defaultValue: z.ZodOptional<z.ZodString>;
2841
+ }>, "strip", z.ZodTypeAny, {
2842
+ type: DocumentElementType.SINGLE_CHOICE;
2843
+ question: string;
2844
+ options: string[];
2845
+ id?: string | undefined;
2846
+ required?: boolean | undefined;
2847
+ defaultValue?: string | undefined;
2848
+ }, {
2849
+ type: DocumentElementType.SINGLE_CHOICE;
2850
+ question: string;
2851
+ options: string[];
2852
+ id?: string | undefined;
2853
+ required?: boolean | undefined;
2854
+ defaultValue?: string | undefined;
2855
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2856
+ id: z.ZodOptional<z.ZodString>;
2857
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2858
+ required: z.ZodOptional<z.ZodBoolean>;
2859
+ }, {
2860
+ type: z.ZodLiteral<DocumentElementType.RATING_SCALE>;
2861
+ question: z.ZodString;
2862
+ min: z.ZodNumber;
2863
+ max: z.ZodNumber;
2864
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2865
+ defaultValue: z.ZodOptional<z.ZodNumber>;
2866
+ }>, "strip", z.ZodTypeAny, {
2867
+ type: DocumentElementType.RATING_SCALE;
2868
+ question: string;
2869
+ min: number;
2870
+ max: number;
2871
+ id?: string | undefined;
2872
+ required?: boolean | undefined;
2873
+ defaultValue?: number | undefined;
2874
+ labels?: Record<string, string> | undefined;
2875
+ }, {
2876
+ type: DocumentElementType.RATING_SCALE;
2877
+ question: string;
2878
+ min: number;
2879
+ max: number;
2880
+ id?: string | undefined;
2881
+ required?: boolean | undefined;
2882
+ defaultValue?: number | undefined;
2883
+ labels?: Record<string, string> | undefined;
2884
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2885
+ id: z.ZodOptional<z.ZodString>;
2886
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2887
+ required: z.ZodOptional<z.ZodBoolean>;
2888
+ }, {
2889
+ type: z.ZodLiteral<DocumentElementType.TEXT_INPUT>;
2890
+ label: z.ZodString;
2891
+ placeholder: z.ZodOptional<z.ZodString>;
2892
+ multiline: z.ZodOptional<z.ZodBoolean>;
2893
+ defaultValue: z.ZodOptional<z.ZodString>;
2894
+ }>, "strip", z.ZodTypeAny, {
2895
+ type: DocumentElementType.TEXT_INPUT;
2896
+ label: string;
2897
+ id?: string | undefined;
2898
+ required?: boolean | undefined;
2899
+ defaultValue?: string | undefined;
2900
+ placeholder?: string | undefined;
2901
+ multiline?: boolean | undefined;
2902
+ }, {
2903
+ type: DocumentElementType.TEXT_INPUT;
2904
+ label: string;
2905
+ id?: string | undefined;
2906
+ required?: boolean | undefined;
2907
+ defaultValue?: string | undefined;
2908
+ placeholder?: string | undefined;
2909
+ multiline?: boolean | undefined;
2910
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2911
+ id: z.ZodOptional<z.ZodString>;
2912
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2913
+ required: z.ZodOptional<z.ZodBoolean>;
2914
+ }, {
2915
+ type: z.ZodLiteral<DocumentElementType.DATE_PICKER>;
2916
+ label: z.ZodString;
2917
+ defaultValue: z.ZodOptional<z.ZodString>;
2918
+ }>, "strip", z.ZodTypeAny, {
2919
+ type: DocumentElementType.DATE_PICKER;
2920
+ label: string;
2921
+ id?: string | undefined;
2922
+ required?: boolean | undefined;
2923
+ defaultValue?: string | undefined;
2924
+ }, {
2925
+ type: DocumentElementType.DATE_PICKER;
2926
+ label: string;
2927
+ id?: string | undefined;
2928
+ required?: boolean | undefined;
2929
+ defaultValue?: string | undefined;
2930
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2931
+ id: z.ZodOptional<z.ZodString>;
2932
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2933
+ required: z.ZodOptional<z.ZodBoolean>;
2934
+ }, {
2935
+ type: z.ZodLiteral<DocumentElementType.SIGNATURE>;
2936
+ label: z.ZodString;
2937
+ }>, "strip", z.ZodTypeAny, {
2938
+ type: DocumentElementType.SIGNATURE;
2939
+ label: string;
2940
+ id?: string | undefined;
2941
+ required?: boolean | undefined;
2942
+ }, {
2943
+ type: DocumentElementType.SIGNATURE;
2944
+ label: string;
2945
+ id?: string | undefined;
2946
+ required?: boolean | undefined;
2947
+ }>, z.ZodObject<z.objectUtil.extendShape<{
2948
+ id: z.ZodOptional<z.ZodString>;
2949
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
2950
+ required: z.ZodOptional<z.ZodBoolean>;
2951
+ }, {
2952
+ type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
2953
+ label: z.ZodString;
2954
+ allowedFileTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2955
+ maxFileSizeMB: z.ZodOptional<z.ZodNumber>;
2956
+ }>, "strip", z.ZodTypeAny, {
2957
+ type: DocumentElementType.FILE_UPLOAD;
2958
+ label: string;
2959
+ id?: string | undefined;
2960
+ required?: boolean | undefined;
2961
+ allowedFileTypes?: string[] | undefined;
2962
+ maxFileSizeMB?: number | undefined;
2963
+ }, {
2964
+ type: DocumentElementType.FILE_UPLOAD;
2965
+ label: string;
2966
+ id?: string | undefined;
2967
+ required?: boolean | undefined;
2968
+ allowedFileTypes?: string[] | undefined;
2969
+ maxFileSizeMB?: number | undefined;
2970
+ }>]>, "many">;
2971
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2972
+ version: z.ZodNumber;
2973
+ isActive: z.ZodBoolean;
2974
+ }, "strip", z.ZodTypeAny, {
2975
+ id: string;
2976
+ title: string;
2977
+ elements: ({
2978
+ type: DocumentElementType.HEADING;
2979
+ text: string;
2980
+ level: HeadingLevel;
2981
+ id?: string | undefined;
2982
+ required?: boolean | undefined;
2983
+ } | {
2984
+ type: DocumentElementType.PARAGRAPH;
2985
+ text: string;
2986
+ id?: string | undefined;
2987
+ required?: boolean | undefined;
2988
+ } | {
2989
+ type: DocumentElementType.LIST;
2990
+ items: string[];
2991
+ listType: ListType;
2992
+ id?: string | undefined;
2993
+ required?: boolean | undefined;
2994
+ } | {
2995
+ type: DocumentElementType.DYNAMIC_TEXT;
2996
+ text: string;
2997
+ id?: string | undefined;
2998
+ required?: boolean | undefined;
2999
+ } | {
3000
+ type: DocumentElementType.BINARY_CHOICE;
3001
+ question: string;
3002
+ id?: string | undefined;
3003
+ required?: boolean | undefined;
3004
+ defaultValue?: boolean | undefined;
3005
+ } | {
3006
+ type: DocumentElementType.MULTIPLE_CHOICE;
3007
+ question: string;
3008
+ options: string[];
3009
+ id?: string | undefined;
3010
+ required?: boolean | undefined;
3011
+ defaultValues?: string[] | undefined;
3012
+ } | {
3013
+ type: DocumentElementType.SINGLE_CHOICE;
3014
+ question: string;
3015
+ options: string[];
3016
+ id?: string | undefined;
3017
+ required?: boolean | undefined;
3018
+ defaultValue?: string | undefined;
3019
+ } | {
3020
+ type: DocumentElementType.RATING_SCALE;
3021
+ question: string;
3022
+ min: number;
3023
+ max: number;
3024
+ id?: string | undefined;
3025
+ required?: boolean | undefined;
3026
+ defaultValue?: number | undefined;
3027
+ labels?: Record<string, string> | undefined;
3028
+ } | {
3029
+ type: DocumentElementType.TEXT_INPUT;
3030
+ label: string;
3031
+ id?: string | undefined;
3032
+ required?: boolean | undefined;
3033
+ defaultValue?: string | undefined;
3034
+ placeholder?: string | undefined;
3035
+ multiline?: boolean | undefined;
3036
+ } | {
3037
+ type: DocumentElementType.DATE_PICKER;
3038
+ label: string;
3039
+ id?: string | undefined;
3040
+ required?: boolean | undefined;
3041
+ defaultValue?: string | undefined;
3042
+ } | {
3043
+ type: DocumentElementType.SIGNATURE;
3044
+ label: string;
3045
+ id?: string | undefined;
3046
+ required?: boolean | undefined;
3047
+ } | {
3048
+ type: DocumentElementType.FILE_UPLOAD;
3049
+ label: string;
3050
+ id?: string | undefined;
3051
+ required?: boolean | undefined;
3052
+ allowedFileTypes?: string[] | undefined;
3053
+ maxFileSizeMB?: number | undefined;
3054
+ })[];
3055
+ isActive: boolean;
3056
+ createdAt: number;
3057
+ updatedAt: number;
3058
+ createdBy: string;
3059
+ version: number;
3060
+ description?: string | undefined;
3061
+ tags?: string[] | undefined;
3062
+ }, {
3063
+ id: string;
3064
+ title: string;
3065
+ elements: ({
3066
+ type: DocumentElementType.HEADING;
3067
+ text: string;
3068
+ level: HeadingLevel;
3069
+ id?: string | undefined;
3070
+ required?: boolean | undefined;
3071
+ } | {
3072
+ type: DocumentElementType.PARAGRAPH;
3073
+ text: string;
3074
+ id?: string | undefined;
3075
+ required?: boolean | undefined;
3076
+ } | {
3077
+ type: DocumentElementType.LIST;
3078
+ items: string[];
3079
+ listType: ListType;
3080
+ id?: string | undefined;
3081
+ required?: boolean | undefined;
3082
+ } | {
3083
+ type: DocumentElementType.DYNAMIC_TEXT;
3084
+ text: string;
3085
+ id?: string | undefined;
3086
+ required?: boolean | undefined;
3087
+ } | {
3088
+ type: DocumentElementType.BINARY_CHOICE;
3089
+ question: string;
3090
+ id?: string | undefined;
3091
+ required?: boolean | undefined;
3092
+ defaultValue?: boolean | undefined;
3093
+ } | {
3094
+ type: DocumentElementType.MULTIPLE_CHOICE;
3095
+ question: string;
3096
+ options: string[];
3097
+ id?: string | undefined;
3098
+ required?: boolean | undefined;
3099
+ defaultValues?: string[] | undefined;
3100
+ } | {
3101
+ type: DocumentElementType.SINGLE_CHOICE;
3102
+ question: string;
3103
+ options: string[];
3104
+ id?: string | undefined;
3105
+ required?: boolean | undefined;
3106
+ defaultValue?: string | undefined;
3107
+ } | {
3108
+ type: DocumentElementType.RATING_SCALE;
3109
+ question: string;
3110
+ min: number;
3111
+ max: number;
3112
+ id?: string | undefined;
3113
+ required?: boolean | undefined;
3114
+ defaultValue?: number | undefined;
3115
+ labels?: Record<string, string> | undefined;
3116
+ } | {
3117
+ type: DocumentElementType.TEXT_INPUT;
3118
+ label: string;
3119
+ id?: string | undefined;
3120
+ required?: boolean | undefined;
3121
+ defaultValue?: string | undefined;
3122
+ placeholder?: string | undefined;
3123
+ multiline?: boolean | undefined;
3124
+ } | {
3125
+ type: DocumentElementType.DATE_PICKER;
3126
+ label: string;
3127
+ id?: string | undefined;
3128
+ required?: boolean | undefined;
3129
+ defaultValue?: string | undefined;
3130
+ } | {
3131
+ type: DocumentElementType.SIGNATURE;
3132
+ label: string;
3133
+ id?: string | undefined;
3134
+ required?: boolean | undefined;
3135
+ } | {
3136
+ type: DocumentElementType.FILE_UPLOAD;
3137
+ label: string;
3138
+ id?: string | undefined;
3139
+ required?: boolean | undefined;
3140
+ allowedFileTypes?: string[] | undefined;
3141
+ maxFileSizeMB?: number | undefined;
3142
+ })[];
3143
+ isActive: boolean;
3144
+ createdAt: number;
3145
+ updatedAt: number;
3146
+ createdBy: string;
3147
+ version: number;
3148
+ description?: string | undefined;
3149
+ tags?: string[] | undefined;
3150
+ }>, "many">;
2708
3151
  benefits: z.ZodArray<z.ZodNativeEnum<typeof TreatmentBenefit>, "many">;
2709
3152
  certificationRequirement: z.ZodObject<{
2710
3153
  minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
@@ -2749,6 +3192,95 @@ declare const technologySchema: z.ZodObject<{
2749
3192
  };
2750
3193
  blockingConditions: BlockingCondition[];
2751
3194
  contraindications: Contraindication[];
3195
+ documentationTemplates: {
3196
+ id: string;
3197
+ title: string;
3198
+ elements: ({
3199
+ type: DocumentElementType.HEADING;
3200
+ text: string;
3201
+ level: HeadingLevel;
3202
+ id?: string | undefined;
3203
+ required?: boolean | undefined;
3204
+ } | {
3205
+ type: DocumentElementType.PARAGRAPH;
3206
+ text: string;
3207
+ id?: string | undefined;
3208
+ required?: boolean | undefined;
3209
+ } | {
3210
+ type: DocumentElementType.LIST;
3211
+ items: string[];
3212
+ listType: ListType;
3213
+ id?: string | undefined;
3214
+ required?: boolean | undefined;
3215
+ } | {
3216
+ type: DocumentElementType.DYNAMIC_TEXT;
3217
+ text: string;
3218
+ id?: string | undefined;
3219
+ required?: boolean | undefined;
3220
+ } | {
3221
+ type: DocumentElementType.BINARY_CHOICE;
3222
+ question: string;
3223
+ id?: string | undefined;
3224
+ required?: boolean | undefined;
3225
+ defaultValue?: boolean | undefined;
3226
+ } | {
3227
+ type: DocumentElementType.MULTIPLE_CHOICE;
3228
+ question: string;
3229
+ options: string[];
3230
+ id?: string | undefined;
3231
+ required?: boolean | undefined;
3232
+ defaultValues?: string[] | undefined;
3233
+ } | {
3234
+ type: DocumentElementType.SINGLE_CHOICE;
3235
+ question: string;
3236
+ options: string[];
3237
+ id?: string | undefined;
3238
+ required?: boolean | undefined;
3239
+ defaultValue?: string | undefined;
3240
+ } | {
3241
+ type: DocumentElementType.RATING_SCALE;
3242
+ question: string;
3243
+ min: number;
3244
+ max: number;
3245
+ id?: string | undefined;
3246
+ required?: boolean | undefined;
3247
+ defaultValue?: number | undefined;
3248
+ labels?: Record<string, string> | undefined;
3249
+ } | {
3250
+ type: DocumentElementType.TEXT_INPUT;
3251
+ label: string;
3252
+ id?: string | undefined;
3253
+ required?: boolean | undefined;
3254
+ defaultValue?: string | undefined;
3255
+ placeholder?: string | undefined;
3256
+ multiline?: boolean | undefined;
3257
+ } | {
3258
+ type: DocumentElementType.DATE_PICKER;
3259
+ label: string;
3260
+ id?: string | undefined;
3261
+ required?: boolean | undefined;
3262
+ defaultValue?: string | undefined;
3263
+ } | {
3264
+ type: DocumentElementType.SIGNATURE;
3265
+ label: string;
3266
+ id?: string | undefined;
3267
+ required?: boolean | undefined;
3268
+ } | {
3269
+ type: DocumentElementType.FILE_UPLOAD;
3270
+ label: string;
3271
+ id?: string | undefined;
3272
+ required?: boolean | undefined;
3273
+ allowedFileTypes?: string[] | undefined;
3274
+ maxFileSizeMB?: number | undefined;
3275
+ })[];
3276
+ isActive: boolean;
3277
+ createdAt: number;
3278
+ updatedAt: number;
3279
+ createdBy: string;
3280
+ version: number;
3281
+ description?: string | undefined;
3282
+ tags?: string[] | undefined;
3283
+ }[];
2752
3284
  benefits: TreatmentBenefit[];
2753
3285
  certificationRequirement: {
2754
3286
  minimumLevel: CertificationLevel;
@@ -2761,6 +3293,95 @@ declare const technologySchema: z.ZodObject<{
2761
3293
  subcategoryId: string;
2762
3294
  blockingConditions: BlockingCondition[];
2763
3295
  contraindications: Contraindication[];
3296
+ documentationTemplates: {
3297
+ id: string;
3298
+ title: string;
3299
+ elements: ({
3300
+ type: DocumentElementType.HEADING;
3301
+ text: string;
3302
+ level: HeadingLevel;
3303
+ id?: string | undefined;
3304
+ required?: boolean | undefined;
3305
+ } | {
3306
+ type: DocumentElementType.PARAGRAPH;
3307
+ text: string;
3308
+ id?: string | undefined;
3309
+ required?: boolean | undefined;
3310
+ } | {
3311
+ type: DocumentElementType.LIST;
3312
+ items: string[];
3313
+ listType: ListType;
3314
+ id?: string | undefined;
3315
+ required?: boolean | undefined;
3316
+ } | {
3317
+ type: DocumentElementType.DYNAMIC_TEXT;
3318
+ text: string;
3319
+ id?: string | undefined;
3320
+ required?: boolean | undefined;
3321
+ } | {
3322
+ type: DocumentElementType.BINARY_CHOICE;
3323
+ question: string;
3324
+ id?: string | undefined;
3325
+ required?: boolean | undefined;
3326
+ defaultValue?: boolean | undefined;
3327
+ } | {
3328
+ type: DocumentElementType.MULTIPLE_CHOICE;
3329
+ question: string;
3330
+ options: string[];
3331
+ id?: string | undefined;
3332
+ required?: boolean | undefined;
3333
+ defaultValues?: string[] | undefined;
3334
+ } | {
3335
+ type: DocumentElementType.SINGLE_CHOICE;
3336
+ question: string;
3337
+ options: string[];
3338
+ id?: string | undefined;
3339
+ required?: boolean | undefined;
3340
+ defaultValue?: string | undefined;
3341
+ } | {
3342
+ type: DocumentElementType.RATING_SCALE;
3343
+ question: string;
3344
+ min: number;
3345
+ max: number;
3346
+ id?: string | undefined;
3347
+ required?: boolean | undefined;
3348
+ defaultValue?: number | undefined;
3349
+ labels?: Record<string, string> | undefined;
3350
+ } | {
3351
+ type: DocumentElementType.TEXT_INPUT;
3352
+ label: string;
3353
+ id?: string | undefined;
3354
+ required?: boolean | undefined;
3355
+ defaultValue?: string | undefined;
3356
+ placeholder?: string | undefined;
3357
+ multiline?: boolean | undefined;
3358
+ } | {
3359
+ type: DocumentElementType.DATE_PICKER;
3360
+ label: string;
3361
+ id?: string | undefined;
3362
+ required?: boolean | undefined;
3363
+ defaultValue?: string | undefined;
3364
+ } | {
3365
+ type: DocumentElementType.SIGNATURE;
3366
+ label: string;
3367
+ id?: string | undefined;
3368
+ required?: boolean | undefined;
3369
+ } | {
3370
+ type: DocumentElementType.FILE_UPLOAD;
3371
+ label: string;
3372
+ id?: string | undefined;
3373
+ required?: boolean | undefined;
3374
+ allowedFileTypes?: string[] | undefined;
3375
+ maxFileSizeMB?: number | undefined;
3376
+ })[];
3377
+ isActive: boolean;
3378
+ createdAt: number;
3379
+ updatedAt: number;
3380
+ createdBy: string;
3381
+ version: number;
3382
+ description?: string | undefined;
3383
+ tags?: string[] | undefined;
3384
+ }[];
2764
3385
  benefits: TreatmentBenefit[];
2765
3386
  certificationRequirement: {
2766
3387
  minimumLevel: CertificationLevel;
@@ -3012,6 +3633,449 @@ declare const technologyUpdateSchema: z.ZodObject<{
3012
3633
  }>>>;
3013
3634
  blockingConditions: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">>;
3014
3635
  contraindications: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Contraindication>, "many">>;
3636
+ documentationTemplates: z.ZodOptional<z.ZodArray<z.ZodObject<{
3637
+ id: z.ZodString;
3638
+ title: z.ZodString;
3639
+ description: z.ZodOptional<z.ZodString>;
3640
+ createdAt: z.ZodNumber;
3641
+ updatedAt: z.ZodNumber;
3642
+ createdBy: z.ZodString;
3643
+ elements: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
3644
+ id: z.ZodOptional<z.ZodString>;
3645
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3646
+ required: z.ZodOptional<z.ZodBoolean>;
3647
+ }, {
3648
+ type: z.ZodLiteral<DocumentElementType.HEADING>;
3649
+ text: z.ZodString;
3650
+ level: z.ZodNativeEnum<typeof HeadingLevel>;
3651
+ }>, "strip", z.ZodTypeAny, {
3652
+ type: DocumentElementType.HEADING;
3653
+ text: string;
3654
+ level: HeadingLevel;
3655
+ id?: string | undefined;
3656
+ required?: boolean | undefined;
3657
+ }, {
3658
+ type: DocumentElementType.HEADING;
3659
+ text: string;
3660
+ level: HeadingLevel;
3661
+ id?: string | undefined;
3662
+ required?: boolean | undefined;
3663
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3664
+ id: z.ZodOptional<z.ZodString>;
3665
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3666
+ required: z.ZodOptional<z.ZodBoolean>;
3667
+ }, {
3668
+ type: z.ZodLiteral<DocumentElementType.PARAGRAPH>;
3669
+ text: z.ZodString;
3670
+ }>, "strip", z.ZodTypeAny, {
3671
+ type: DocumentElementType.PARAGRAPH;
3672
+ text: string;
3673
+ id?: string | undefined;
3674
+ required?: boolean | undefined;
3675
+ }, {
3676
+ type: DocumentElementType.PARAGRAPH;
3677
+ text: string;
3678
+ id?: string | undefined;
3679
+ required?: boolean | undefined;
3680
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3681
+ id: z.ZodOptional<z.ZodString>;
3682
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3683
+ required: z.ZodOptional<z.ZodBoolean>;
3684
+ }, {
3685
+ type: z.ZodLiteral<DocumentElementType.LIST>;
3686
+ items: z.ZodArray<z.ZodString, "many">;
3687
+ listType: z.ZodNativeEnum<typeof ListType>;
3688
+ }>, "strip", z.ZodTypeAny, {
3689
+ type: DocumentElementType.LIST;
3690
+ items: string[];
3691
+ listType: ListType;
3692
+ id?: string | undefined;
3693
+ required?: boolean | undefined;
3694
+ }, {
3695
+ type: DocumentElementType.LIST;
3696
+ items: string[];
3697
+ listType: ListType;
3698
+ id?: string | undefined;
3699
+ required?: boolean | undefined;
3700
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3701
+ id: z.ZodOptional<z.ZodString>;
3702
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3703
+ required: z.ZodOptional<z.ZodBoolean>;
3704
+ }, {
3705
+ type: z.ZodLiteral<DocumentElementType.DYNAMIC_TEXT>;
3706
+ text: z.ZodString;
3707
+ }>, "strip", z.ZodTypeAny, {
3708
+ type: DocumentElementType.DYNAMIC_TEXT;
3709
+ text: string;
3710
+ id?: string | undefined;
3711
+ required?: boolean | undefined;
3712
+ }, {
3713
+ type: DocumentElementType.DYNAMIC_TEXT;
3714
+ text: string;
3715
+ id?: string | undefined;
3716
+ required?: boolean | undefined;
3717
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3718
+ id: z.ZodOptional<z.ZodString>;
3719
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3720
+ required: z.ZodOptional<z.ZodBoolean>;
3721
+ }, {
3722
+ type: z.ZodLiteral<DocumentElementType.BINARY_CHOICE>;
3723
+ question: z.ZodString;
3724
+ defaultValue: z.ZodOptional<z.ZodBoolean>;
3725
+ }>, "strip", z.ZodTypeAny, {
3726
+ type: DocumentElementType.BINARY_CHOICE;
3727
+ question: string;
3728
+ id?: string | undefined;
3729
+ required?: boolean | undefined;
3730
+ defaultValue?: boolean | undefined;
3731
+ }, {
3732
+ type: DocumentElementType.BINARY_CHOICE;
3733
+ question: string;
3734
+ id?: string | undefined;
3735
+ required?: boolean | undefined;
3736
+ defaultValue?: boolean | undefined;
3737
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3738
+ id: z.ZodOptional<z.ZodString>;
3739
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3740
+ required: z.ZodOptional<z.ZodBoolean>;
3741
+ }, {
3742
+ type: z.ZodLiteral<DocumentElementType.MULTIPLE_CHOICE>;
3743
+ question: z.ZodString;
3744
+ options: z.ZodArray<z.ZodString, "many">;
3745
+ defaultValues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3746
+ }>, "strip", z.ZodTypeAny, {
3747
+ type: DocumentElementType.MULTIPLE_CHOICE;
3748
+ question: string;
3749
+ options: string[];
3750
+ id?: string | undefined;
3751
+ required?: boolean | undefined;
3752
+ defaultValues?: string[] | undefined;
3753
+ }, {
3754
+ type: DocumentElementType.MULTIPLE_CHOICE;
3755
+ question: string;
3756
+ options: string[];
3757
+ id?: string | undefined;
3758
+ required?: boolean | undefined;
3759
+ defaultValues?: string[] | undefined;
3760
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3761
+ id: z.ZodOptional<z.ZodString>;
3762
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3763
+ required: z.ZodOptional<z.ZodBoolean>;
3764
+ }, {
3765
+ type: z.ZodLiteral<DocumentElementType.SINGLE_CHOICE>;
3766
+ question: z.ZodString;
3767
+ options: z.ZodArray<z.ZodString, "many">;
3768
+ defaultValue: z.ZodOptional<z.ZodString>;
3769
+ }>, "strip", z.ZodTypeAny, {
3770
+ type: DocumentElementType.SINGLE_CHOICE;
3771
+ question: string;
3772
+ options: string[];
3773
+ id?: string | undefined;
3774
+ required?: boolean | undefined;
3775
+ defaultValue?: string | undefined;
3776
+ }, {
3777
+ type: DocumentElementType.SINGLE_CHOICE;
3778
+ question: string;
3779
+ options: string[];
3780
+ id?: string | undefined;
3781
+ required?: boolean | undefined;
3782
+ defaultValue?: string | undefined;
3783
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3784
+ id: z.ZodOptional<z.ZodString>;
3785
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3786
+ required: z.ZodOptional<z.ZodBoolean>;
3787
+ }, {
3788
+ type: z.ZodLiteral<DocumentElementType.RATING_SCALE>;
3789
+ question: z.ZodString;
3790
+ min: z.ZodNumber;
3791
+ max: z.ZodNumber;
3792
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3793
+ defaultValue: z.ZodOptional<z.ZodNumber>;
3794
+ }>, "strip", z.ZodTypeAny, {
3795
+ type: DocumentElementType.RATING_SCALE;
3796
+ question: string;
3797
+ min: number;
3798
+ max: number;
3799
+ id?: string | undefined;
3800
+ required?: boolean | undefined;
3801
+ defaultValue?: number | undefined;
3802
+ labels?: Record<string, string> | undefined;
3803
+ }, {
3804
+ type: DocumentElementType.RATING_SCALE;
3805
+ question: string;
3806
+ min: number;
3807
+ max: number;
3808
+ id?: string | undefined;
3809
+ required?: boolean | undefined;
3810
+ defaultValue?: number | undefined;
3811
+ labels?: Record<string, string> | undefined;
3812
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3813
+ id: z.ZodOptional<z.ZodString>;
3814
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3815
+ required: z.ZodOptional<z.ZodBoolean>;
3816
+ }, {
3817
+ type: z.ZodLiteral<DocumentElementType.TEXT_INPUT>;
3818
+ label: z.ZodString;
3819
+ placeholder: z.ZodOptional<z.ZodString>;
3820
+ multiline: z.ZodOptional<z.ZodBoolean>;
3821
+ defaultValue: z.ZodOptional<z.ZodString>;
3822
+ }>, "strip", z.ZodTypeAny, {
3823
+ type: DocumentElementType.TEXT_INPUT;
3824
+ label: string;
3825
+ id?: string | undefined;
3826
+ required?: boolean | undefined;
3827
+ defaultValue?: string | undefined;
3828
+ placeholder?: string | undefined;
3829
+ multiline?: boolean | undefined;
3830
+ }, {
3831
+ type: DocumentElementType.TEXT_INPUT;
3832
+ label: string;
3833
+ id?: string | undefined;
3834
+ required?: boolean | undefined;
3835
+ defaultValue?: string | undefined;
3836
+ placeholder?: string | undefined;
3837
+ multiline?: boolean | undefined;
3838
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3839
+ id: z.ZodOptional<z.ZodString>;
3840
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3841
+ required: z.ZodOptional<z.ZodBoolean>;
3842
+ }, {
3843
+ type: z.ZodLiteral<DocumentElementType.DATE_PICKER>;
3844
+ label: z.ZodString;
3845
+ defaultValue: z.ZodOptional<z.ZodString>;
3846
+ }>, "strip", z.ZodTypeAny, {
3847
+ type: DocumentElementType.DATE_PICKER;
3848
+ label: string;
3849
+ id?: string | undefined;
3850
+ required?: boolean | undefined;
3851
+ defaultValue?: string | undefined;
3852
+ }, {
3853
+ type: DocumentElementType.DATE_PICKER;
3854
+ label: string;
3855
+ id?: string | undefined;
3856
+ required?: boolean | undefined;
3857
+ defaultValue?: string | undefined;
3858
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3859
+ id: z.ZodOptional<z.ZodString>;
3860
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3861
+ required: z.ZodOptional<z.ZodBoolean>;
3862
+ }, {
3863
+ type: z.ZodLiteral<DocumentElementType.SIGNATURE>;
3864
+ label: z.ZodString;
3865
+ }>, "strip", z.ZodTypeAny, {
3866
+ type: DocumentElementType.SIGNATURE;
3867
+ label: string;
3868
+ id?: string | undefined;
3869
+ required?: boolean | undefined;
3870
+ }, {
3871
+ type: DocumentElementType.SIGNATURE;
3872
+ label: string;
3873
+ id?: string | undefined;
3874
+ required?: boolean | undefined;
3875
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3876
+ id: z.ZodOptional<z.ZodString>;
3877
+ type: z.ZodNativeEnum<typeof DocumentElementType>;
3878
+ required: z.ZodOptional<z.ZodBoolean>;
3879
+ }, {
3880
+ type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
3881
+ label: z.ZodString;
3882
+ allowedFileTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3883
+ maxFileSizeMB: z.ZodOptional<z.ZodNumber>;
3884
+ }>, "strip", z.ZodTypeAny, {
3885
+ type: DocumentElementType.FILE_UPLOAD;
3886
+ label: string;
3887
+ id?: string | undefined;
3888
+ required?: boolean | undefined;
3889
+ allowedFileTypes?: string[] | undefined;
3890
+ maxFileSizeMB?: number | undefined;
3891
+ }, {
3892
+ type: DocumentElementType.FILE_UPLOAD;
3893
+ label: string;
3894
+ id?: string | undefined;
3895
+ required?: boolean | undefined;
3896
+ allowedFileTypes?: string[] | undefined;
3897
+ maxFileSizeMB?: number | undefined;
3898
+ }>]>, "many">;
3899
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3900
+ version: z.ZodNumber;
3901
+ isActive: z.ZodBoolean;
3902
+ }, "strip", z.ZodTypeAny, {
3903
+ id: string;
3904
+ title: string;
3905
+ elements: ({
3906
+ type: DocumentElementType.HEADING;
3907
+ text: string;
3908
+ level: HeadingLevel;
3909
+ id?: string | undefined;
3910
+ required?: boolean | undefined;
3911
+ } | {
3912
+ type: DocumentElementType.PARAGRAPH;
3913
+ text: string;
3914
+ id?: string | undefined;
3915
+ required?: boolean | undefined;
3916
+ } | {
3917
+ type: DocumentElementType.LIST;
3918
+ items: string[];
3919
+ listType: ListType;
3920
+ id?: string | undefined;
3921
+ required?: boolean | undefined;
3922
+ } | {
3923
+ type: DocumentElementType.DYNAMIC_TEXT;
3924
+ text: string;
3925
+ id?: string | undefined;
3926
+ required?: boolean | undefined;
3927
+ } | {
3928
+ type: DocumentElementType.BINARY_CHOICE;
3929
+ question: string;
3930
+ id?: string | undefined;
3931
+ required?: boolean | undefined;
3932
+ defaultValue?: boolean | undefined;
3933
+ } | {
3934
+ type: DocumentElementType.MULTIPLE_CHOICE;
3935
+ question: string;
3936
+ options: string[];
3937
+ id?: string | undefined;
3938
+ required?: boolean | undefined;
3939
+ defaultValues?: string[] | undefined;
3940
+ } | {
3941
+ type: DocumentElementType.SINGLE_CHOICE;
3942
+ question: string;
3943
+ options: string[];
3944
+ id?: string | undefined;
3945
+ required?: boolean | undefined;
3946
+ defaultValue?: string | undefined;
3947
+ } | {
3948
+ type: DocumentElementType.RATING_SCALE;
3949
+ question: string;
3950
+ min: number;
3951
+ max: number;
3952
+ id?: string | undefined;
3953
+ required?: boolean | undefined;
3954
+ defaultValue?: number | undefined;
3955
+ labels?: Record<string, string> | undefined;
3956
+ } | {
3957
+ type: DocumentElementType.TEXT_INPUT;
3958
+ label: string;
3959
+ id?: string | undefined;
3960
+ required?: boolean | undefined;
3961
+ defaultValue?: string | undefined;
3962
+ placeholder?: string | undefined;
3963
+ multiline?: boolean | undefined;
3964
+ } | {
3965
+ type: DocumentElementType.DATE_PICKER;
3966
+ label: string;
3967
+ id?: string | undefined;
3968
+ required?: boolean | undefined;
3969
+ defaultValue?: string | undefined;
3970
+ } | {
3971
+ type: DocumentElementType.SIGNATURE;
3972
+ label: string;
3973
+ id?: string | undefined;
3974
+ required?: boolean | undefined;
3975
+ } | {
3976
+ type: DocumentElementType.FILE_UPLOAD;
3977
+ label: string;
3978
+ id?: string | undefined;
3979
+ required?: boolean | undefined;
3980
+ allowedFileTypes?: string[] | undefined;
3981
+ maxFileSizeMB?: number | undefined;
3982
+ })[];
3983
+ isActive: boolean;
3984
+ createdAt: number;
3985
+ updatedAt: number;
3986
+ createdBy: string;
3987
+ version: number;
3988
+ description?: string | undefined;
3989
+ tags?: string[] | undefined;
3990
+ }, {
3991
+ id: string;
3992
+ title: string;
3993
+ elements: ({
3994
+ type: DocumentElementType.HEADING;
3995
+ text: string;
3996
+ level: HeadingLevel;
3997
+ id?: string | undefined;
3998
+ required?: boolean | undefined;
3999
+ } | {
4000
+ type: DocumentElementType.PARAGRAPH;
4001
+ text: string;
4002
+ id?: string | undefined;
4003
+ required?: boolean | undefined;
4004
+ } | {
4005
+ type: DocumentElementType.LIST;
4006
+ items: string[];
4007
+ listType: ListType;
4008
+ id?: string | undefined;
4009
+ required?: boolean | undefined;
4010
+ } | {
4011
+ type: DocumentElementType.DYNAMIC_TEXT;
4012
+ text: string;
4013
+ id?: string | undefined;
4014
+ required?: boolean | undefined;
4015
+ } | {
4016
+ type: DocumentElementType.BINARY_CHOICE;
4017
+ question: string;
4018
+ id?: string | undefined;
4019
+ required?: boolean | undefined;
4020
+ defaultValue?: boolean | undefined;
4021
+ } | {
4022
+ type: DocumentElementType.MULTIPLE_CHOICE;
4023
+ question: string;
4024
+ options: string[];
4025
+ id?: string | undefined;
4026
+ required?: boolean | undefined;
4027
+ defaultValues?: string[] | undefined;
4028
+ } | {
4029
+ type: DocumentElementType.SINGLE_CHOICE;
4030
+ question: string;
4031
+ options: string[];
4032
+ id?: string | undefined;
4033
+ required?: boolean | undefined;
4034
+ defaultValue?: string | undefined;
4035
+ } | {
4036
+ type: DocumentElementType.RATING_SCALE;
4037
+ question: string;
4038
+ min: number;
4039
+ max: number;
4040
+ id?: string | undefined;
4041
+ required?: boolean | undefined;
4042
+ defaultValue?: number | undefined;
4043
+ labels?: Record<string, string> | undefined;
4044
+ } | {
4045
+ type: DocumentElementType.TEXT_INPUT;
4046
+ label: string;
4047
+ id?: string | undefined;
4048
+ required?: boolean | undefined;
4049
+ defaultValue?: string | undefined;
4050
+ placeholder?: string | undefined;
4051
+ multiline?: boolean | undefined;
4052
+ } | {
4053
+ type: DocumentElementType.DATE_PICKER;
4054
+ label: string;
4055
+ id?: string | undefined;
4056
+ required?: boolean | undefined;
4057
+ defaultValue?: string | undefined;
4058
+ } | {
4059
+ type: DocumentElementType.SIGNATURE;
4060
+ label: string;
4061
+ id?: string | undefined;
4062
+ required?: boolean | undefined;
4063
+ } | {
4064
+ type: DocumentElementType.FILE_UPLOAD;
4065
+ label: string;
4066
+ id?: string | undefined;
4067
+ required?: boolean | undefined;
4068
+ allowedFileTypes?: string[] | undefined;
4069
+ maxFileSizeMB?: number | undefined;
4070
+ })[];
4071
+ isActive: boolean;
4072
+ createdAt: number;
4073
+ updatedAt: number;
4074
+ createdBy: string;
4075
+ version: number;
4076
+ description?: string | undefined;
4077
+ tags?: string[] | undefined;
4078
+ }>, "many">>;
3015
4079
  benefits: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof TreatmentBenefit>, "many">>;
3016
4080
  certificationRequirement: z.ZodOptional<z.ZodObject<{
3017
4081
  minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
@@ -3058,6 +4122,95 @@ declare const technologyUpdateSchema: z.ZodObject<{
3058
4122
  } | undefined;
3059
4123
  blockingConditions?: BlockingCondition[] | undefined;
3060
4124
  contraindications?: Contraindication[] | undefined;
4125
+ documentationTemplates?: {
4126
+ id: string;
4127
+ title: string;
4128
+ elements: ({
4129
+ type: DocumentElementType.HEADING;
4130
+ text: string;
4131
+ level: HeadingLevel;
4132
+ id?: string | undefined;
4133
+ required?: boolean | undefined;
4134
+ } | {
4135
+ type: DocumentElementType.PARAGRAPH;
4136
+ text: string;
4137
+ id?: string | undefined;
4138
+ required?: boolean | undefined;
4139
+ } | {
4140
+ type: DocumentElementType.LIST;
4141
+ items: string[];
4142
+ listType: ListType;
4143
+ id?: string | undefined;
4144
+ required?: boolean | undefined;
4145
+ } | {
4146
+ type: DocumentElementType.DYNAMIC_TEXT;
4147
+ text: string;
4148
+ id?: string | undefined;
4149
+ required?: boolean | undefined;
4150
+ } | {
4151
+ type: DocumentElementType.BINARY_CHOICE;
4152
+ question: string;
4153
+ id?: string | undefined;
4154
+ required?: boolean | undefined;
4155
+ defaultValue?: boolean | undefined;
4156
+ } | {
4157
+ type: DocumentElementType.MULTIPLE_CHOICE;
4158
+ question: string;
4159
+ options: string[];
4160
+ id?: string | undefined;
4161
+ required?: boolean | undefined;
4162
+ defaultValues?: string[] | undefined;
4163
+ } | {
4164
+ type: DocumentElementType.SINGLE_CHOICE;
4165
+ question: string;
4166
+ options: string[];
4167
+ id?: string | undefined;
4168
+ required?: boolean | undefined;
4169
+ defaultValue?: string | undefined;
4170
+ } | {
4171
+ type: DocumentElementType.RATING_SCALE;
4172
+ question: string;
4173
+ min: number;
4174
+ max: number;
4175
+ id?: string | undefined;
4176
+ required?: boolean | undefined;
4177
+ defaultValue?: number | undefined;
4178
+ labels?: Record<string, string> | undefined;
4179
+ } | {
4180
+ type: DocumentElementType.TEXT_INPUT;
4181
+ label: string;
4182
+ id?: string | undefined;
4183
+ required?: boolean | undefined;
4184
+ defaultValue?: string | undefined;
4185
+ placeholder?: string | undefined;
4186
+ multiline?: boolean | undefined;
4187
+ } | {
4188
+ type: DocumentElementType.DATE_PICKER;
4189
+ label: string;
4190
+ id?: string | undefined;
4191
+ required?: boolean | undefined;
4192
+ defaultValue?: string | undefined;
4193
+ } | {
4194
+ type: DocumentElementType.SIGNATURE;
4195
+ label: string;
4196
+ id?: string | undefined;
4197
+ required?: boolean | undefined;
4198
+ } | {
4199
+ type: DocumentElementType.FILE_UPLOAD;
4200
+ label: string;
4201
+ id?: string | undefined;
4202
+ required?: boolean | undefined;
4203
+ allowedFileTypes?: string[] | undefined;
4204
+ maxFileSizeMB?: number | undefined;
4205
+ })[];
4206
+ isActive: boolean;
4207
+ createdAt: number;
4208
+ updatedAt: number;
4209
+ createdBy: string;
4210
+ version: number;
4211
+ description?: string | undefined;
4212
+ tags?: string[] | undefined;
4213
+ }[] | undefined;
3061
4214
  benefits?: TreatmentBenefit[] | undefined;
3062
4215
  certificationRequirement?: {
3063
4216
  minimumLevel: CertificationLevel;
@@ -3097,6 +4250,95 @@ declare const technologyUpdateSchema: z.ZodObject<{
3097
4250
  } | undefined;
3098
4251
  blockingConditions?: BlockingCondition[] | undefined;
3099
4252
  contraindications?: Contraindication[] | undefined;
4253
+ documentationTemplates?: {
4254
+ id: string;
4255
+ title: string;
4256
+ elements: ({
4257
+ type: DocumentElementType.HEADING;
4258
+ text: string;
4259
+ level: HeadingLevel;
4260
+ id?: string | undefined;
4261
+ required?: boolean | undefined;
4262
+ } | {
4263
+ type: DocumentElementType.PARAGRAPH;
4264
+ text: string;
4265
+ id?: string | undefined;
4266
+ required?: boolean | undefined;
4267
+ } | {
4268
+ type: DocumentElementType.LIST;
4269
+ items: string[];
4270
+ listType: ListType;
4271
+ id?: string | undefined;
4272
+ required?: boolean | undefined;
4273
+ } | {
4274
+ type: DocumentElementType.DYNAMIC_TEXT;
4275
+ text: string;
4276
+ id?: string | undefined;
4277
+ required?: boolean | undefined;
4278
+ } | {
4279
+ type: DocumentElementType.BINARY_CHOICE;
4280
+ question: string;
4281
+ id?: string | undefined;
4282
+ required?: boolean | undefined;
4283
+ defaultValue?: boolean | undefined;
4284
+ } | {
4285
+ type: DocumentElementType.MULTIPLE_CHOICE;
4286
+ question: string;
4287
+ options: string[];
4288
+ id?: string | undefined;
4289
+ required?: boolean | undefined;
4290
+ defaultValues?: string[] | undefined;
4291
+ } | {
4292
+ type: DocumentElementType.SINGLE_CHOICE;
4293
+ question: string;
4294
+ options: string[];
4295
+ id?: string | undefined;
4296
+ required?: boolean | undefined;
4297
+ defaultValue?: string | undefined;
4298
+ } | {
4299
+ type: DocumentElementType.RATING_SCALE;
4300
+ question: string;
4301
+ min: number;
4302
+ max: number;
4303
+ id?: string | undefined;
4304
+ required?: boolean | undefined;
4305
+ defaultValue?: number | undefined;
4306
+ labels?: Record<string, string> | undefined;
4307
+ } | {
4308
+ type: DocumentElementType.TEXT_INPUT;
4309
+ label: string;
4310
+ id?: string | undefined;
4311
+ required?: boolean | undefined;
4312
+ defaultValue?: string | undefined;
4313
+ placeholder?: string | undefined;
4314
+ multiline?: boolean | undefined;
4315
+ } | {
4316
+ type: DocumentElementType.DATE_PICKER;
4317
+ label: string;
4318
+ id?: string | undefined;
4319
+ required?: boolean | undefined;
4320
+ defaultValue?: string | undefined;
4321
+ } | {
4322
+ type: DocumentElementType.SIGNATURE;
4323
+ label: string;
4324
+ id?: string | undefined;
4325
+ required?: boolean | undefined;
4326
+ } | {
4327
+ type: DocumentElementType.FILE_UPLOAD;
4328
+ label: string;
4329
+ id?: string | undefined;
4330
+ required?: boolean | undefined;
4331
+ allowedFileTypes?: string[] | undefined;
4332
+ maxFileSizeMB?: number | undefined;
4333
+ })[];
4334
+ isActive: boolean;
4335
+ createdAt: number;
4336
+ updatedAt: number;
4337
+ createdBy: string;
4338
+ version: number;
4339
+ description?: string | undefined;
4340
+ tags?: string[] | undefined;
4341
+ }[] | undefined;
3100
4342
  benefits?: TreatmentBenefit[] | undefined;
3101
4343
  certificationRequirement?: {
3102
4344
  minimumLevel: CertificationLevel;
@@ -3335,6 +4577,7 @@ declare class TechnologyService extends BaseService {
3335
4577
  };
3336
4578
  blockingConditions: BlockingCondition[];
3337
4579
  contraindications: Contraindication[];
4580
+ documentationTemplates?: DocumentTemplate[] | undefined;
3338
4581
  benefits: TreatmentBenefit[];
3339
4582
  certificationRequirement: CertificationRequirement;
3340
4583
  id: string;