@blackcode_sa/metaestetics-api 1.8.5 → 1.8.7

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.
package/dist/index.d.ts CHANGED
@@ -185,10 +185,6 @@ interface Category {
185
185
  /** Flag koji označava da li je kategorija aktivna */
186
186
  isActive: boolean;
187
187
  }
188
- /**
189
- * Kolekcija u Firestore bazi gde se čuvaju kategorije
190
- */
191
- declare const CATEGORIES_COLLECTION = "backoffice_categories";
192
188
 
193
189
  /**
194
190
  * Podkategorija procedura
@@ -219,10 +215,6 @@ interface Subcategory {
219
215
  /** Datum poslednjeg ažuriranja podkategorije */
220
216
  updatedAt: Date;
221
217
  }
222
- /**
223
- * Kolekcija u Firestore bazi gde se čuvaju podkategorije
224
- */
225
- declare const SUBCATEGORIES_COLLECTION = "subcategories";
226
218
 
227
219
  /**
228
220
  * Jedinica mere za vremenski period
@@ -278,10 +270,6 @@ interface Requirement {
278
270
  createdAt: Date;
279
271
  updatedAt: Date;
280
272
  }
281
- /**
282
- * Kolekcija u Firestore bazi gde se čuvaju globalni zahtevi
283
- */
284
- declare const REQUIREMENTS_COLLECTION = "backoffice_requirements";
285
273
 
286
274
  /**
287
275
  * Blokirajući uslovi koji mogu sprečiti proceduru
@@ -395,15 +383,6 @@ interface TechnologyDocumentationTemplate {
395
383
  isRequired: boolean;
396
384
  sortingOrder: number;
397
385
  }
398
- /**
399
- * Zahtevi koji su povezani sa tehnologijom
400
- * @property pre - Lista zahteva koji se moraju ispuniti pre procedure
401
- * @property post - Lista zahteva koji se moraju ispuniti posle procedure
402
- */
403
- interface TechnologyRequirements {
404
- pre: Requirement[];
405
- post: Requirement[];
406
- }
407
386
  /**
408
387
  * Technology used in medical procedures
409
388
  * Technologies are now a top-level collection that reference their full path in the hierarchy
@@ -447,10 +426,6 @@ interface Technology {
447
426
  createdAt: Date;
448
427
  updatedAt: Date;
449
428
  }
450
- /**
451
- * Collection in Firestore database where technologies are stored
452
- */
453
- declare const TECHNOLOGIES_COLLECTION = "technologies";
454
429
 
455
430
  /**
456
431
  * Product used in procedures
@@ -489,10 +464,6 @@ interface Product {
489
464
  indications?: string[];
490
465
  contraindications?: string[];
491
466
  }
492
- /**
493
- * Collection in Firestore database where products are stored
494
- */
495
- declare const PRODUCTS_COLLECTION = "products";
496
467
  /**
497
468
  * Interface for the ProductService class
498
469
  */
@@ -2306,10 +2277,6 @@ interface Brand {
2306
2277
  website?: string;
2307
2278
  description?: string;
2308
2279
  }
2309
- /**
2310
- * Kolekcija u Firestore bazi gde se čuvaju brendovi
2311
- */
2312
- declare const BRANDS_COLLECTION = "brands";
2313
2280
 
2314
2281
  declare class BrandService extends BaseService {
2315
2282
  /**
@@ -2410,91 +2377,6 @@ declare class CategoryService extends BaseService {
2410
2377
  getById(id: string): Promise<Category | null>;
2411
2378
  }
2412
2379
 
2413
- /**
2414
- * Service for managing documentation templates in the backoffice
2415
- */
2416
- declare class DocumentationTemplateServiceBackoffice {
2417
- private apiService;
2418
- /**
2419
- * Constructor for DocumentationTemplateService
2420
- * @param db - Firestore instance
2421
- * @param auth - Firebase Auth instance
2422
- * @param app - Firebase App instance
2423
- */
2424
- constructor(db: Firestore, auth: Auth, app: FirebaseApp);
2425
- /**
2426
- * Create a new document template
2427
- * @param data - Template data
2428
- * @param userId - ID of the user creating the template
2429
- * @returns The created template
2430
- */
2431
- createTemplate(data: CreateDocumentTemplateData, userId: string): Promise<DocumentTemplate>;
2432
- /**
2433
- * Get a document template by ID
2434
- * @param templateId - ID of the template to retrieve
2435
- * @param version - Optional version number to retrieve (defaults to latest version)
2436
- * @returns The template or null if not found
2437
- */
2438
- getTemplateById(templateId: string, version?: number): Promise<DocumentTemplate | null>;
2439
- /**
2440
- * Update an existing document template
2441
- * @param templateId - ID of the template to update
2442
- * @param data - Updated template data
2443
- * @returns The updated template
2444
- */
2445
- updateTemplate(templateId: string, data: UpdateDocumentTemplateData): Promise<DocumentTemplate>;
2446
- /**
2447
- * Delete a document template
2448
- * @param templateId - ID of the template to delete
2449
- */
2450
- deleteTemplate(templateId: string): Promise<void>;
2451
- /**
2452
- * Get all active templates
2453
- * @param pageSize - Number of templates to retrieve
2454
- * @param lastDoc - Last document from previous page for pagination
2455
- * @returns Array of templates and the last document for pagination
2456
- */
2457
- getActiveTemplates(pageSize?: number, lastDoc?: QueryDocumentSnapshot<DocumentTemplate>): Promise<{
2458
- templates: DocumentTemplate[];
2459
- lastDoc: QueryDocumentSnapshot<DocumentTemplate> | null;
2460
- }>;
2461
- /**
2462
- * Get templates by tags
2463
- * @param tags - Tags to filter by
2464
- * @param pageSize - Number of templates to retrieve
2465
- * @param lastDoc - Last document from previous page for pagination
2466
- * @returns Array of templates and the last document for pagination
2467
- */
2468
- getTemplatesByTags(tags: string[], pageSize?: number, lastDoc?: QueryDocumentSnapshot<DocumentTemplate>): Promise<{
2469
- templates: DocumentTemplate[];
2470
- lastDoc: QueryDocumentSnapshot<DocumentTemplate> | null;
2471
- }>;
2472
- /**
2473
- * Get templates created by a specific user
2474
- * @param userId - ID of the user who created the templates
2475
- * @param pageSize - Number of templates to retrieve
2476
- * @param lastDoc - Last document from previous page for pagination
2477
- * @returns Array of templates and the last document for pagination
2478
- */
2479
- getTemplatesByCreator(userId: string, pageSize?: number, lastDoc?: QueryDocumentSnapshot<DocumentTemplate>): Promise<{
2480
- templates: DocumentTemplate[];
2481
- lastDoc: QueryDocumentSnapshot<DocumentTemplate> | null;
2482
- }>;
2483
- /**
2484
- * Get a specific version of a template
2485
- * @param templateId - ID of the template
2486
- * @param versionNumber - Version number to retrieve
2487
- * @returns The template version or null if not found
2488
- */
2489
- getTemplateVersion(templateId: string, versionNumber: number): Promise<DocumentTemplate | null>;
2490
- /**
2491
- * Get all versions of a template
2492
- * @param templateId - ID of the template
2493
- * @returns Array of template versions
2494
- */
2495
- getTemplateVersions(templateId: string): Promise<DocumentTemplate[]>;
2496
- }
2497
-
2498
2380
  declare class ProductService extends BaseService implements IProductService {
2499
2381
  /**
2500
2382
  * Gets reference to products collection under a technology
@@ -2528,79 +2410,6 @@ declare class ProductService extends BaseService implements IProductService {
2528
2410
  getById(technologyId: string, productId: string): Promise<Product | null>;
2529
2411
  }
2530
2412
 
2531
- /**
2532
- * Servis za upravljanje globalnim zahtevima.
2533
- * Zahtevi se mogu kreirati globalno i zatim povezati sa različitim tehnologijama.
2534
- * Ovo omogućava ponovno korišćenje istih zahteva za različite tehnologije.
2535
- *
2536
- * @example
2537
- * const requirementService = new RequirementService();
2538
- *
2539
- * // Kreiranje globalnog zahteva
2540
- * const requirement = await requirementService.create({
2541
- * type: "pre",
2542
- * name: "Stay Hydrated",
2543
- * description: "Drink plenty of water",
2544
- * timeframe: {
2545
- * duration: 2,
2546
- * unit: "hours",
2547
- * notifyAt: [2, 1]
2548
- * },
2549
- * importance: "high"
2550
- * });
2551
- */
2552
- declare class RequirementService extends BaseService {
2553
- /**
2554
- * Referenca na Firestore kolekciju zahteva
2555
- */
2556
- private get requirementsRef();
2557
- /**
2558
- * Kreira novi globalni zahtev
2559
- * @param requirement - Podaci za novi zahtev
2560
- * @returns Kreirani zahtev sa generisanim ID-em
2561
- */
2562
- create(requirement: Omit<Requirement, "id" | "createdAt" | "updatedAt">): Promise<{
2563
- type: RequirementType;
2564
- createdAt: Date;
2565
- updatedAt: Date;
2566
- name: string;
2567
- isActive: boolean;
2568
- description: string;
2569
- timeframe: TimeFrame;
2570
- importance: RequirementImportance;
2571
- id: string;
2572
- }>;
2573
- /**
2574
- * Vraća sve aktivne zahteve
2575
- * @returns Lista aktivnih zahteva
2576
- */
2577
- getAll(): Promise<Requirement[]>;
2578
- /**
2579
- * Vraća sve aktivne zahteve određenog tipa
2580
- * @param type - Tip zahteva (pre/post)
2581
- * @returns Lista zahteva određenog tipa
2582
- */
2583
- getAllByType(type: RequirementType): Promise<Requirement[]>;
2584
- /**
2585
- * Ažurira postojeći zahtev
2586
- * @param id - ID zahteva koji se ažurira
2587
- * @param requirement - Novi podaci za zahtev
2588
- * @returns Ažurirani zahtev
2589
- */
2590
- update(id: string, requirement: Partial<Omit<Requirement, "id" | "createdAt">>): Promise<Requirement | null>;
2591
- /**
2592
- * Soft delete zahteva (postavlja isActive na false)
2593
- * @param id - ID zahteva koji se briše
2594
- */
2595
- delete(id: string): Promise<void>;
2596
- /**
2597
- * Vraća zahtev po ID-u
2598
- * @param id - ID traženog zahteva
2599
- * @returns Zahtev ili null ako ne postoji
2600
- */
2601
- getById(id: string): Promise<Requirement | null>;
2602
- }
2603
-
2604
2413
  /**
2605
2414
  * Servis za upravljanje podkategorijama procedura.
2606
2415
  * Podkategorije su drugi nivo organizacije i pripadaju određenoj kategoriji.
@@ -4817,2337 +4626,74 @@ declare const updateFilledDocumentDataSchema: z.ZodObject<{
4817
4626
  }>;
4818
4627
 
4819
4628
  /**
4820
- * Base validation schemas for enums
4629
+ * Enum defining the possible statuses of an appointment.
4821
4630
  */
4822
- declare const blockingConditionSchemaBackoffice: z.ZodNativeEnum<typeof BlockingCondition>;
4823
- declare const contraindicationSchemaBackoffice: z.ZodNativeEnum<typeof Contraindication>;
4824
- declare const treatmentBenefitSchemaBackoffice: z.ZodNativeEnum<typeof TreatmentBenefit>;
4825
- declare const procedureFamilySchemaBackoffice: z.ZodNativeEnum<typeof ProcedureFamily>;
4826
- declare const timeUnitSchemaBackoffice: z.ZodNativeEnum<typeof TimeUnit>;
4827
- declare const requirementTypeSchema: z.ZodNativeEnum<typeof RequirementType>;
4828
- declare const certificationLevelSchema: z.ZodNativeEnum<typeof CertificationLevel>;
4829
- declare const certificationSpecialtySchema: z.ZodNativeEnum<typeof CertificationSpecialty>;
4631
+ declare enum AppointmentStatus {
4632
+ PENDING = "pending",// Initial state after booking, before confirmation (if applicable)
4633
+ CONFIRMED = "confirmed",// Confirmed by clinic/practitioner
4634
+ CHECKED_IN = "checked_in",// Patient has arrived
4635
+ IN_PROGRESS = "in_progress",// Procedure has started
4636
+ COMPLETED = "completed",// Procedure finished successfully
4637
+ CANCELED_PATIENT = "canceled_patient",// Canceled by the patient
4638
+ CANCELED_PATIENT_RESCHEDULED = "canceled_patient_rescheduled",// Canceled by the patient and rescheduled by the clinic
4639
+ CANCELED_CLINIC = "canceled_clinic",// Canceled by the clinic/practitioner
4640
+ NO_SHOW = "no_show",// Patient did not attend
4641
+ RESCHEDULED_BY_CLINIC = "rescheduled_by_clinic"
4642
+ }
4830
4643
  /**
4831
- * Certification requirement validation schema
4644
+ * Enum defining the payment status of an appointment.
4832
4645
  */
4833
- declare const certificationRequirementSchema: z.ZodObject<{
4834
- minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
4835
- requiredSpecialties: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CertificationSpecialty>, "many">>;
4836
- }, "strip", z.ZodTypeAny, {
4837
- minimumLevel: CertificationLevel;
4838
- requiredSpecialties?: CertificationSpecialty[] | undefined;
4839
- }, {
4840
- minimumLevel: CertificationLevel;
4841
- requiredSpecialties?: CertificationSpecialty[] | undefined;
4842
- }>;
4646
+ declare enum PaymentStatus {
4647
+ UNPAID = "unpaid",
4648
+ PAID = "paid",
4649
+ PARTIALLY_PAID = "partially_paid",
4650
+ REFUNDED = "refunded",
4651
+ NOT_APPLICABLE = "not_applicable"
4652
+ }
4843
4653
  /**
4844
- * Timeframe validation schema
4654
+ * Enum for different types of media that can be attached to an appointment.
4845
4655
  */
4846
- declare const timeframeSchema: z.ZodObject<{
4847
- duration: z.ZodNumber;
4848
- unit: z.ZodNativeEnum<typeof TimeUnit>;
4849
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
4850
- }, "strip", z.ZodTypeAny, {
4851
- duration: number;
4852
- unit: TimeUnit;
4853
- notifyAt: number[];
4854
- }, {
4855
- duration: number;
4856
- unit: TimeUnit;
4857
- notifyAt: number[];
4858
- }>;
4656
+ declare enum MediaType {
4657
+ BEFORE_PHOTO = "before_photo",
4658
+ AFTER_PHOTO = "after_photo",
4659
+ CONSENT_SCAN = "consent_scan",
4660
+ OTHER_DOCUMENT = "other_document"
4661
+ }
4859
4662
  /**
4860
- * Requirement validation schema
4663
+ * Interface to describe a media file linked to an appointment.
4861
4664
  */
4862
- declare const requirementSchema: z.ZodObject<{
4863
- name: z.ZodString;
4864
- description: z.ZodString;
4865
- type: z.ZodNativeEnum<typeof RequirementType>;
4866
- timeframe: z.ZodObject<{
4867
- duration: z.ZodNumber;
4868
- unit: z.ZodNativeEnum<typeof TimeUnit>;
4869
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
4870
- }, "strip", z.ZodTypeAny, {
4871
- duration: number;
4872
- unit: TimeUnit;
4873
- notifyAt: number[];
4874
- }, {
4875
- duration: number;
4876
- unit: TimeUnit;
4877
- notifyAt: number[];
4878
- }>;
4879
- importance: z.ZodEnum<["low", "medium", "high"]>;
4880
- isActive: z.ZodDefault<z.ZodBoolean>;
4881
- }, "strip", z.ZodTypeAny, {
4882
- type: RequirementType;
4883
- name: string;
4884
- isActive: boolean;
4885
- description: string;
4886
- timeframe: {
4887
- duration: number;
4888
- unit: TimeUnit;
4889
- notifyAt: number[];
4890
- };
4891
- importance: "low" | "medium" | "high";
4892
- }, {
4893
- type: RequirementType;
4665
+ interface AppointmentMediaItem {
4666
+ id: string;
4667
+ type: MediaType;
4668
+ url: string;
4669
+ fileName?: string;
4670
+ uploadedAt: Timestamp;
4671
+ uploadedBy: string;
4672
+ description?: string;
4673
+ }
4674
+ /**
4675
+ * Interface for procedure-specific information
4676
+ */
4677
+ interface ProcedureExtendedInfo {
4678
+ id: string;
4894
4679
  name: string;
4895
4680
  description: string;
4896
- timeframe: {
4897
- duration: number;
4898
- unit: TimeUnit;
4899
- notifyAt: number[];
4900
- };
4901
- importance: "low" | "medium" | "high";
4902
- isActive?: boolean | undefined;
4903
- }>;
4681
+ cost: number;
4682
+ duration: number;
4683
+ procedureFamily: ProcedureFamily;
4684
+ procedureCategoryId: string;
4685
+ procedureCategoryName: string;
4686
+ procedureSubCategoryId: string;
4687
+ procedureSubCategoryName: string;
4688
+ procedureTechnologyId: string;
4689
+ procedureTechnologyName: string;
4690
+ procedureProductBrandId: string;
4691
+ procedureProductBrandName: string;
4692
+ procedureProductId: string;
4693
+ procedureProductName: string;
4694
+ }
4904
4695
  /**
4905
- * Technology requirements validation schema
4906
- */
4907
- declare const technologyRequirementsSchema: z.ZodObject<{
4908
- pre: z.ZodArray<z.ZodObject<{
4909
- name: z.ZodString;
4910
- description: z.ZodString;
4911
- type: z.ZodNativeEnum<typeof RequirementType>;
4912
- timeframe: z.ZodObject<{
4913
- duration: z.ZodNumber;
4914
- unit: z.ZodNativeEnum<typeof TimeUnit>;
4915
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
4916
- }, "strip", z.ZodTypeAny, {
4917
- duration: number;
4918
- unit: TimeUnit;
4919
- notifyAt: number[];
4920
- }, {
4921
- duration: number;
4922
- unit: TimeUnit;
4923
- notifyAt: number[];
4924
- }>;
4925
- importance: z.ZodEnum<["low", "medium", "high"]>;
4926
- isActive: z.ZodDefault<z.ZodBoolean>;
4927
- }, "strip", z.ZodTypeAny, {
4928
- type: RequirementType;
4929
- name: string;
4930
- isActive: boolean;
4931
- description: string;
4932
- timeframe: {
4933
- duration: number;
4934
- unit: TimeUnit;
4935
- notifyAt: number[];
4936
- };
4937
- importance: "low" | "medium" | "high";
4938
- }, {
4939
- type: RequirementType;
4940
- name: string;
4941
- description: string;
4942
- timeframe: {
4943
- duration: number;
4944
- unit: TimeUnit;
4945
- notifyAt: number[];
4946
- };
4947
- importance: "low" | "medium" | "high";
4948
- isActive?: boolean | undefined;
4949
- }>, "many">;
4950
- post: z.ZodArray<z.ZodObject<{
4951
- name: z.ZodString;
4952
- description: z.ZodString;
4953
- type: z.ZodNativeEnum<typeof RequirementType>;
4954
- timeframe: z.ZodObject<{
4955
- duration: z.ZodNumber;
4956
- unit: z.ZodNativeEnum<typeof TimeUnit>;
4957
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
4958
- }, "strip", z.ZodTypeAny, {
4959
- duration: number;
4960
- unit: TimeUnit;
4961
- notifyAt: number[];
4962
- }, {
4963
- duration: number;
4964
- unit: TimeUnit;
4965
- notifyAt: number[];
4966
- }>;
4967
- importance: z.ZodEnum<["low", "medium", "high"]>;
4968
- isActive: z.ZodDefault<z.ZodBoolean>;
4969
- }, "strip", z.ZodTypeAny, {
4970
- type: RequirementType;
4971
- name: string;
4972
- isActive: boolean;
4973
- description: string;
4974
- timeframe: {
4975
- duration: number;
4976
- unit: TimeUnit;
4977
- notifyAt: number[];
4978
- };
4979
- importance: "low" | "medium" | "high";
4980
- }, {
4981
- type: RequirementType;
4982
- name: string;
4983
- description: string;
4984
- timeframe: {
4985
- duration: number;
4986
- unit: TimeUnit;
4987
- notifyAt: number[];
4988
- };
4989
- importance: "low" | "medium" | "high";
4990
- isActive?: boolean | undefined;
4991
- }>, "many">;
4992
- }, "strip", z.ZodTypeAny, {
4993
- pre: {
4994
- type: RequirementType;
4995
- name: string;
4996
- isActive: boolean;
4997
- description: string;
4998
- timeframe: {
4999
- duration: number;
5000
- unit: TimeUnit;
5001
- notifyAt: number[];
5002
- };
5003
- importance: "low" | "medium" | "high";
5004
- }[];
5005
- post: {
5006
- type: RequirementType;
5007
- name: string;
5008
- isActive: boolean;
5009
- description: string;
5010
- timeframe: {
5011
- duration: number;
5012
- unit: TimeUnit;
5013
- notifyAt: number[];
5014
- };
5015
- importance: "low" | "medium" | "high";
5016
- }[];
5017
- }, {
5018
- pre: {
5019
- type: RequirementType;
5020
- name: string;
5021
- description: string;
5022
- timeframe: {
5023
- duration: number;
5024
- unit: TimeUnit;
5025
- notifyAt: number[];
5026
- };
5027
- importance: "low" | "medium" | "high";
5028
- isActive?: boolean | undefined;
5029
- }[];
5030
- post: {
5031
- type: RequirementType;
5032
- name: string;
5033
- description: string;
5034
- timeframe: {
5035
- duration: number;
5036
- unit: TimeUnit;
5037
- notifyAt: number[];
5038
- };
5039
- importance: "low" | "medium" | "high";
5040
- isActive?: boolean | undefined;
5041
- }[];
5042
- }>;
5043
- /**
5044
- * Technology validation schema
5045
- */
5046
- declare const technologySchema: z.ZodObject<{
5047
- name: z.ZodString;
5048
- description: z.ZodOptional<z.ZodString>;
5049
- technicalDetails: z.ZodOptional<z.ZodString>;
5050
- family: z.ZodNativeEnum<typeof ProcedureFamily>;
5051
- categoryId: z.ZodString;
5052
- subcategoryId: z.ZodString;
5053
- requirements: z.ZodDefault<z.ZodObject<{
5054
- pre: z.ZodArray<z.ZodObject<{
5055
- name: z.ZodString;
5056
- description: z.ZodString;
5057
- type: z.ZodNativeEnum<typeof RequirementType>;
5058
- timeframe: z.ZodObject<{
5059
- duration: z.ZodNumber;
5060
- unit: z.ZodNativeEnum<typeof TimeUnit>;
5061
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
5062
- }, "strip", z.ZodTypeAny, {
5063
- duration: number;
5064
- unit: TimeUnit;
5065
- notifyAt: number[];
5066
- }, {
5067
- duration: number;
5068
- unit: TimeUnit;
5069
- notifyAt: number[];
5070
- }>;
5071
- importance: z.ZodEnum<["low", "medium", "high"]>;
5072
- isActive: z.ZodDefault<z.ZodBoolean>;
5073
- }, "strip", z.ZodTypeAny, {
5074
- type: RequirementType;
5075
- name: string;
5076
- isActive: boolean;
5077
- description: string;
5078
- timeframe: {
5079
- duration: number;
5080
- unit: TimeUnit;
5081
- notifyAt: number[];
5082
- };
5083
- importance: "low" | "medium" | "high";
5084
- }, {
5085
- type: RequirementType;
5086
- name: string;
5087
- description: string;
5088
- timeframe: {
5089
- duration: number;
5090
- unit: TimeUnit;
5091
- notifyAt: number[];
5092
- };
5093
- importance: "low" | "medium" | "high";
5094
- isActive?: boolean | undefined;
5095
- }>, "many">;
5096
- post: z.ZodArray<z.ZodObject<{
5097
- name: z.ZodString;
5098
- description: z.ZodString;
5099
- type: z.ZodNativeEnum<typeof RequirementType>;
5100
- timeframe: z.ZodObject<{
5101
- duration: z.ZodNumber;
5102
- unit: z.ZodNativeEnum<typeof TimeUnit>;
5103
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
5104
- }, "strip", z.ZodTypeAny, {
5105
- duration: number;
5106
- unit: TimeUnit;
5107
- notifyAt: number[];
5108
- }, {
5109
- duration: number;
5110
- unit: TimeUnit;
5111
- notifyAt: number[];
5112
- }>;
5113
- importance: z.ZodEnum<["low", "medium", "high"]>;
5114
- isActive: z.ZodDefault<z.ZodBoolean>;
5115
- }, "strip", z.ZodTypeAny, {
5116
- type: RequirementType;
5117
- name: string;
5118
- isActive: boolean;
5119
- description: string;
5120
- timeframe: {
5121
- duration: number;
5122
- unit: TimeUnit;
5123
- notifyAt: number[];
5124
- };
5125
- importance: "low" | "medium" | "high";
5126
- }, {
5127
- type: RequirementType;
5128
- name: string;
5129
- description: string;
5130
- timeframe: {
5131
- duration: number;
5132
- unit: TimeUnit;
5133
- notifyAt: number[];
5134
- };
5135
- importance: "low" | "medium" | "high";
5136
- isActive?: boolean | undefined;
5137
- }>, "many">;
5138
- }, "strip", z.ZodTypeAny, {
5139
- pre: {
5140
- type: RequirementType;
5141
- name: string;
5142
- isActive: boolean;
5143
- description: string;
5144
- timeframe: {
5145
- duration: number;
5146
- unit: TimeUnit;
5147
- notifyAt: number[];
5148
- };
5149
- importance: "low" | "medium" | "high";
5150
- }[];
5151
- post: {
5152
- type: RequirementType;
5153
- name: string;
5154
- isActive: boolean;
5155
- description: string;
5156
- timeframe: {
5157
- duration: number;
5158
- unit: TimeUnit;
5159
- notifyAt: number[];
5160
- };
5161
- importance: "low" | "medium" | "high";
5162
- }[];
5163
- }, {
5164
- pre: {
5165
- type: RequirementType;
5166
- name: string;
5167
- description: string;
5168
- timeframe: {
5169
- duration: number;
5170
- unit: TimeUnit;
5171
- notifyAt: number[];
5172
- };
5173
- importance: "low" | "medium" | "high";
5174
- isActive?: boolean | undefined;
5175
- }[];
5176
- post: {
5177
- type: RequirementType;
5178
- name: string;
5179
- description: string;
5180
- timeframe: {
5181
- duration: number;
5182
- unit: TimeUnit;
5183
- notifyAt: number[];
5184
- };
5185
- importance: "low" | "medium" | "high";
5186
- isActive?: boolean | undefined;
5187
- }[];
5188
- }>>;
5189
- blockingConditions: z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">;
5190
- contraindications: z.ZodArray<z.ZodNativeEnum<typeof Contraindication>, "many">;
5191
- documentationTemplates: z.ZodArray<z.ZodObject<{
5192
- id: z.ZodString;
5193
- title: z.ZodString;
5194
- description: z.ZodOptional<z.ZodString>;
5195
- createdAt: z.ZodNumber;
5196
- updatedAt: z.ZodNumber;
5197
- createdBy: z.ZodString;
5198
- elements: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
5199
- id: z.ZodOptional<z.ZodString>;
5200
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5201
- required: z.ZodOptional<z.ZodBoolean>;
5202
- }, {
5203
- type: z.ZodLiteral<DocumentElementType.HEADING>;
5204
- text: z.ZodString;
5205
- level: z.ZodNativeEnum<typeof HeadingLevel>;
5206
- }>, "strip", z.ZodTypeAny, {
5207
- type: DocumentElementType.HEADING;
5208
- text: string;
5209
- level: HeadingLevel;
5210
- id?: string | undefined;
5211
- required?: boolean | undefined;
5212
- }, {
5213
- type: DocumentElementType.HEADING;
5214
- text: string;
5215
- level: HeadingLevel;
5216
- id?: string | undefined;
5217
- required?: boolean | undefined;
5218
- }>, z.ZodObject<z.objectUtil.extendShape<{
5219
- id: z.ZodOptional<z.ZodString>;
5220
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5221
- required: z.ZodOptional<z.ZodBoolean>;
5222
- }, {
5223
- type: z.ZodLiteral<DocumentElementType.PARAGRAPH>;
5224
- text: z.ZodString;
5225
- }>, "strip", z.ZodTypeAny, {
5226
- type: DocumentElementType.PARAGRAPH;
5227
- text: string;
5228
- id?: string | undefined;
5229
- required?: boolean | undefined;
5230
- }, {
5231
- type: DocumentElementType.PARAGRAPH;
5232
- text: string;
5233
- id?: string | undefined;
5234
- required?: boolean | undefined;
5235
- }>, z.ZodObject<z.objectUtil.extendShape<{
5236
- id: z.ZodOptional<z.ZodString>;
5237
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5238
- required: z.ZodOptional<z.ZodBoolean>;
5239
- }, {
5240
- type: z.ZodLiteral<DocumentElementType.LIST>;
5241
- items: z.ZodArray<z.ZodString, "many">;
5242
- listType: z.ZodNativeEnum<typeof ListType>;
5243
- }>, "strip", z.ZodTypeAny, {
5244
- type: DocumentElementType.LIST;
5245
- items: string[];
5246
- listType: ListType;
5247
- id?: string | undefined;
5248
- required?: boolean | undefined;
5249
- }, {
5250
- type: DocumentElementType.LIST;
5251
- items: string[];
5252
- listType: ListType;
5253
- id?: string | undefined;
5254
- required?: boolean | undefined;
5255
- }>, z.ZodObject<z.objectUtil.extendShape<{
5256
- id: z.ZodOptional<z.ZodString>;
5257
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5258
- required: z.ZodOptional<z.ZodBoolean>;
5259
- }, {
5260
- type: z.ZodLiteral<DocumentElementType.DYNAMIC_TEXT>;
5261
- text: z.ZodString;
5262
- }>, "strip", z.ZodTypeAny, {
5263
- type: DocumentElementType.DYNAMIC_TEXT;
5264
- text: string;
5265
- id?: string | undefined;
5266
- required?: boolean | undefined;
5267
- }, {
5268
- type: DocumentElementType.DYNAMIC_TEXT;
5269
- text: string;
5270
- id?: string | undefined;
5271
- required?: boolean | undefined;
5272
- }>, z.ZodObject<z.objectUtil.extendShape<{
5273
- id: z.ZodOptional<z.ZodString>;
5274
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5275
- required: z.ZodOptional<z.ZodBoolean>;
5276
- }, {
5277
- type: z.ZodLiteral<DocumentElementType.BINARY_CHOICE>;
5278
- question: z.ZodString;
5279
- defaultValue: z.ZodOptional<z.ZodBoolean>;
5280
- }>, "strip", z.ZodTypeAny, {
5281
- type: DocumentElementType.BINARY_CHOICE;
5282
- question: string;
5283
- id?: string | undefined;
5284
- required?: boolean | undefined;
5285
- defaultValue?: boolean | undefined;
5286
- }, {
5287
- type: DocumentElementType.BINARY_CHOICE;
5288
- question: string;
5289
- id?: string | undefined;
5290
- required?: boolean | undefined;
5291
- defaultValue?: boolean | undefined;
5292
- }>, z.ZodObject<z.objectUtil.extendShape<{
5293
- id: z.ZodOptional<z.ZodString>;
5294
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5295
- required: z.ZodOptional<z.ZodBoolean>;
5296
- }, {
5297
- type: z.ZodLiteral<DocumentElementType.MULTIPLE_CHOICE>;
5298
- question: z.ZodString;
5299
- options: z.ZodArray<z.ZodString, "many">;
5300
- defaultValues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5301
- }>, "strip", z.ZodTypeAny, {
5302
- type: DocumentElementType.MULTIPLE_CHOICE;
5303
- question: string;
5304
- options: string[];
5305
- id?: string | undefined;
5306
- required?: boolean | undefined;
5307
- defaultValues?: string[] | undefined;
5308
- }, {
5309
- type: DocumentElementType.MULTIPLE_CHOICE;
5310
- question: string;
5311
- options: string[];
5312
- id?: string | undefined;
5313
- required?: boolean | undefined;
5314
- defaultValues?: string[] | undefined;
5315
- }>, z.ZodObject<z.objectUtil.extendShape<{
5316
- id: z.ZodOptional<z.ZodString>;
5317
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5318
- required: z.ZodOptional<z.ZodBoolean>;
5319
- }, {
5320
- type: z.ZodLiteral<DocumentElementType.SINGLE_CHOICE>;
5321
- question: z.ZodString;
5322
- options: z.ZodArray<z.ZodString, "many">;
5323
- defaultValue: z.ZodOptional<z.ZodString>;
5324
- }>, "strip", z.ZodTypeAny, {
5325
- type: DocumentElementType.SINGLE_CHOICE;
5326
- question: string;
5327
- options: string[];
5328
- id?: string | undefined;
5329
- required?: boolean | undefined;
5330
- defaultValue?: string | undefined;
5331
- }, {
5332
- type: DocumentElementType.SINGLE_CHOICE;
5333
- question: string;
5334
- options: string[];
5335
- id?: string | undefined;
5336
- required?: boolean | undefined;
5337
- defaultValue?: string | undefined;
5338
- }>, z.ZodObject<z.objectUtil.extendShape<{
5339
- id: z.ZodOptional<z.ZodString>;
5340
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5341
- required: z.ZodOptional<z.ZodBoolean>;
5342
- }, {
5343
- type: z.ZodLiteral<DocumentElementType.RATING_SCALE>;
5344
- question: z.ZodString;
5345
- min: z.ZodNumber;
5346
- max: z.ZodNumber;
5347
- labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
5348
- defaultValue: z.ZodOptional<z.ZodNumber>;
5349
- }>, "strip", z.ZodTypeAny, {
5350
- type: DocumentElementType.RATING_SCALE;
5351
- question: string;
5352
- min: number;
5353
- max: number;
5354
- id?: string | undefined;
5355
- required?: boolean | undefined;
5356
- defaultValue?: number | undefined;
5357
- labels?: Record<string, string> | undefined;
5358
- }, {
5359
- type: DocumentElementType.RATING_SCALE;
5360
- question: string;
5361
- min: number;
5362
- max: number;
5363
- id?: string | undefined;
5364
- required?: boolean | undefined;
5365
- defaultValue?: number | undefined;
5366
- labels?: Record<string, string> | undefined;
5367
- }>, z.ZodObject<z.objectUtil.extendShape<{
5368
- id: z.ZodOptional<z.ZodString>;
5369
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5370
- required: z.ZodOptional<z.ZodBoolean>;
5371
- }, {
5372
- type: z.ZodLiteral<DocumentElementType.TEXT_INPUT>;
5373
- label: z.ZodString;
5374
- placeholder: z.ZodOptional<z.ZodString>;
5375
- multiline: z.ZodOptional<z.ZodBoolean>;
5376
- defaultValue: z.ZodOptional<z.ZodString>;
5377
- }>, "strip", z.ZodTypeAny, {
5378
- type: DocumentElementType.TEXT_INPUT;
5379
- label: string;
5380
- id?: string | undefined;
5381
- required?: boolean | undefined;
5382
- defaultValue?: string | undefined;
5383
- placeholder?: string | undefined;
5384
- multiline?: boolean | undefined;
5385
- }, {
5386
- type: DocumentElementType.TEXT_INPUT;
5387
- label: string;
5388
- id?: string | undefined;
5389
- required?: boolean | undefined;
5390
- defaultValue?: string | undefined;
5391
- placeholder?: string | undefined;
5392
- multiline?: boolean | undefined;
5393
- }>, z.ZodObject<z.objectUtil.extendShape<{
5394
- id: z.ZodOptional<z.ZodString>;
5395
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5396
- required: z.ZodOptional<z.ZodBoolean>;
5397
- }, {
5398
- type: z.ZodLiteral<DocumentElementType.DATE_PICKER>;
5399
- label: z.ZodString;
5400
- defaultValue: z.ZodOptional<z.ZodString>;
5401
- }>, "strip", z.ZodTypeAny, {
5402
- type: DocumentElementType.DATE_PICKER;
5403
- label: string;
5404
- id?: string | undefined;
5405
- required?: boolean | undefined;
5406
- defaultValue?: string | undefined;
5407
- }, {
5408
- type: DocumentElementType.DATE_PICKER;
5409
- label: string;
5410
- id?: string | undefined;
5411
- required?: boolean | undefined;
5412
- defaultValue?: string | undefined;
5413
- }>, z.ZodObject<z.objectUtil.extendShape<{
5414
- id: z.ZodOptional<z.ZodString>;
5415
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5416
- required: z.ZodOptional<z.ZodBoolean>;
5417
- }, {
5418
- type: z.ZodLiteral<DocumentElementType.SIGNATURE>;
5419
- label: z.ZodString;
5420
- }>, "strip", z.ZodTypeAny, {
5421
- type: DocumentElementType.SIGNATURE;
5422
- label: string;
5423
- id?: string | undefined;
5424
- required?: boolean | undefined;
5425
- }, {
5426
- type: DocumentElementType.SIGNATURE;
5427
- label: string;
5428
- id?: string | undefined;
5429
- required?: boolean | undefined;
5430
- }>, z.ZodObject<z.objectUtil.extendShape<{
5431
- id: z.ZodOptional<z.ZodString>;
5432
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5433
- required: z.ZodOptional<z.ZodBoolean>;
5434
- }, {
5435
- type: z.ZodLiteral<DocumentElementType.DITIGAL_SIGNATURE>;
5436
- label: z.ZodString;
5437
- }>, "strip", z.ZodTypeAny, {
5438
- type: DocumentElementType.DITIGAL_SIGNATURE;
5439
- label: string;
5440
- id?: string | undefined;
5441
- required?: boolean | undefined;
5442
- }, {
5443
- type: DocumentElementType.DITIGAL_SIGNATURE;
5444
- label: string;
5445
- id?: string | undefined;
5446
- required?: boolean | undefined;
5447
- }>, z.ZodObject<z.objectUtil.extendShape<{
5448
- id: z.ZodOptional<z.ZodString>;
5449
- type: z.ZodNativeEnum<typeof DocumentElementType>;
5450
- required: z.ZodOptional<z.ZodBoolean>;
5451
- }, {
5452
- type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
5453
- label: z.ZodString;
5454
- allowedFileTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5455
- maxFileSizeMB: z.ZodOptional<z.ZodNumber>;
5456
- }>, "strip", z.ZodTypeAny, {
5457
- type: DocumentElementType.FILE_UPLOAD;
5458
- label: string;
5459
- id?: string | undefined;
5460
- required?: boolean | undefined;
5461
- allowedFileTypes?: string[] | undefined;
5462
- maxFileSizeMB?: number | undefined;
5463
- }, {
5464
- type: DocumentElementType.FILE_UPLOAD;
5465
- label: string;
5466
- id?: string | undefined;
5467
- required?: boolean | undefined;
5468
- allowedFileTypes?: string[] | undefined;
5469
- maxFileSizeMB?: number | undefined;
5470
- }>]>, "many">;
5471
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5472
- version: z.ZodNumber;
5473
- isActive: z.ZodBoolean;
5474
- isUserForm: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
5475
- isRequired: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
5476
- sortingOrder: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
5477
- }, "strip", z.ZodTypeAny, {
5478
- id: string;
5479
- createdAt: number;
5480
- updatedAt: number;
5481
- isActive: boolean;
5482
- title: string;
5483
- elements: ({
5484
- type: DocumentElementType.HEADING;
5485
- text: string;
5486
- level: HeadingLevel;
5487
- id?: string | undefined;
5488
- required?: boolean | undefined;
5489
- } | {
5490
- type: DocumentElementType.PARAGRAPH;
5491
- text: string;
5492
- id?: string | undefined;
5493
- required?: boolean | undefined;
5494
- } | {
5495
- type: DocumentElementType.LIST;
5496
- items: string[];
5497
- listType: ListType;
5498
- id?: string | undefined;
5499
- required?: boolean | undefined;
5500
- } | {
5501
- type: DocumentElementType.DYNAMIC_TEXT;
5502
- text: string;
5503
- id?: string | undefined;
5504
- required?: boolean | undefined;
5505
- } | {
5506
- type: DocumentElementType.BINARY_CHOICE;
5507
- question: string;
5508
- id?: string | undefined;
5509
- required?: boolean | undefined;
5510
- defaultValue?: boolean | undefined;
5511
- } | {
5512
- type: DocumentElementType.MULTIPLE_CHOICE;
5513
- question: string;
5514
- options: string[];
5515
- id?: string | undefined;
5516
- required?: boolean | undefined;
5517
- defaultValues?: string[] | undefined;
5518
- } | {
5519
- type: DocumentElementType.SINGLE_CHOICE;
5520
- question: string;
5521
- options: string[];
5522
- id?: string | undefined;
5523
- required?: boolean | undefined;
5524
- defaultValue?: string | undefined;
5525
- } | {
5526
- type: DocumentElementType.RATING_SCALE;
5527
- question: string;
5528
- min: number;
5529
- max: number;
5530
- id?: string | undefined;
5531
- required?: boolean | undefined;
5532
- defaultValue?: number | undefined;
5533
- labels?: Record<string, string> | undefined;
5534
- } | {
5535
- type: DocumentElementType.TEXT_INPUT;
5536
- label: string;
5537
- id?: string | undefined;
5538
- required?: boolean | undefined;
5539
- defaultValue?: string | undefined;
5540
- placeholder?: string | undefined;
5541
- multiline?: boolean | undefined;
5542
- } | {
5543
- type: DocumentElementType.DATE_PICKER;
5544
- label: string;
5545
- id?: string | undefined;
5546
- required?: boolean | undefined;
5547
- defaultValue?: string | undefined;
5548
- } | {
5549
- type: DocumentElementType.SIGNATURE;
5550
- label: string;
5551
- id?: string | undefined;
5552
- required?: boolean | undefined;
5553
- } | {
5554
- type: DocumentElementType.DITIGAL_SIGNATURE;
5555
- label: string;
5556
- id?: string | undefined;
5557
- required?: boolean | undefined;
5558
- } | {
5559
- type: DocumentElementType.FILE_UPLOAD;
5560
- label: string;
5561
- id?: string | undefined;
5562
- required?: boolean | undefined;
5563
- allowedFileTypes?: string[] | undefined;
5564
- maxFileSizeMB?: number | undefined;
5565
- })[];
5566
- isUserForm: boolean;
5567
- isRequired: boolean;
5568
- sortingOrder: number;
5569
- createdBy: string;
5570
- version: number;
5571
- description?: string | undefined;
5572
- tags?: string[] | undefined;
5573
- }, {
5574
- id: string;
5575
- createdAt: number;
5576
- updatedAt: number;
5577
- isActive: boolean;
5578
- title: string;
5579
- elements: ({
5580
- type: DocumentElementType.HEADING;
5581
- text: string;
5582
- level: HeadingLevel;
5583
- id?: string | undefined;
5584
- required?: boolean | undefined;
5585
- } | {
5586
- type: DocumentElementType.PARAGRAPH;
5587
- text: string;
5588
- id?: string | undefined;
5589
- required?: boolean | undefined;
5590
- } | {
5591
- type: DocumentElementType.LIST;
5592
- items: string[];
5593
- listType: ListType;
5594
- id?: string | undefined;
5595
- required?: boolean | undefined;
5596
- } | {
5597
- type: DocumentElementType.DYNAMIC_TEXT;
5598
- text: string;
5599
- id?: string | undefined;
5600
- required?: boolean | undefined;
5601
- } | {
5602
- type: DocumentElementType.BINARY_CHOICE;
5603
- question: string;
5604
- id?: string | undefined;
5605
- required?: boolean | undefined;
5606
- defaultValue?: boolean | undefined;
5607
- } | {
5608
- type: DocumentElementType.MULTIPLE_CHOICE;
5609
- question: string;
5610
- options: string[];
5611
- id?: string | undefined;
5612
- required?: boolean | undefined;
5613
- defaultValues?: string[] | undefined;
5614
- } | {
5615
- type: DocumentElementType.SINGLE_CHOICE;
5616
- question: string;
5617
- options: string[];
5618
- id?: string | undefined;
5619
- required?: boolean | undefined;
5620
- defaultValue?: string | undefined;
5621
- } | {
5622
- type: DocumentElementType.RATING_SCALE;
5623
- question: string;
5624
- min: number;
5625
- max: number;
5626
- id?: string | undefined;
5627
- required?: boolean | undefined;
5628
- defaultValue?: number | undefined;
5629
- labels?: Record<string, string> | undefined;
5630
- } | {
5631
- type: DocumentElementType.TEXT_INPUT;
5632
- label: string;
5633
- id?: string | undefined;
5634
- required?: boolean | undefined;
5635
- defaultValue?: string | undefined;
5636
- placeholder?: string | undefined;
5637
- multiline?: boolean | undefined;
5638
- } | {
5639
- type: DocumentElementType.DATE_PICKER;
5640
- label: string;
5641
- id?: string | undefined;
5642
- required?: boolean | undefined;
5643
- defaultValue?: string | undefined;
5644
- } | {
5645
- type: DocumentElementType.SIGNATURE;
5646
- label: string;
5647
- id?: string | undefined;
5648
- required?: boolean | undefined;
5649
- } | {
5650
- type: DocumentElementType.DITIGAL_SIGNATURE;
5651
- label: string;
5652
- id?: string | undefined;
5653
- required?: boolean | undefined;
5654
- } | {
5655
- type: DocumentElementType.FILE_UPLOAD;
5656
- label: string;
5657
- id?: string | undefined;
5658
- required?: boolean | undefined;
5659
- allowedFileTypes?: string[] | undefined;
5660
- maxFileSizeMB?: number | undefined;
5661
- })[];
5662
- createdBy: string;
5663
- version: number;
5664
- description?: string | undefined;
5665
- tags?: string[] | undefined;
5666
- isUserForm?: boolean | undefined;
5667
- isRequired?: boolean | undefined;
5668
- sortingOrder?: number | undefined;
5669
- }>, "many">;
5670
- benefits: z.ZodArray<z.ZodNativeEnum<typeof TreatmentBenefit>, "many">;
5671
- certificationRequirement: z.ZodObject<{
5672
- minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
5673
- requiredSpecialties: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CertificationSpecialty>, "many">>;
5674
- }, "strip", z.ZodTypeAny, {
5675
- minimumLevel: CertificationLevel;
5676
- requiredSpecialties?: CertificationSpecialty[] | undefined;
5677
- }, {
5678
- minimumLevel: CertificationLevel;
5679
- requiredSpecialties?: CertificationSpecialty[] | undefined;
5680
- }>;
5681
- isActive: z.ZodDefault<z.ZodBoolean>;
5682
- }, "strip", z.ZodTypeAny, {
5683
- name: string;
5684
- isActive: boolean;
5685
- contraindications: Contraindication[];
5686
- family: ProcedureFamily;
5687
- categoryId: string;
5688
- subcategoryId: string;
5689
- requirements: {
5690
- pre: {
5691
- type: RequirementType;
5692
- name: string;
5693
- isActive: boolean;
5694
- description: string;
5695
- timeframe: {
5696
- duration: number;
5697
- unit: TimeUnit;
5698
- notifyAt: number[];
5699
- };
5700
- importance: "low" | "medium" | "high";
5701
- }[];
5702
- post: {
5703
- type: RequirementType;
5704
- name: string;
5705
- isActive: boolean;
5706
- description: string;
5707
- timeframe: {
5708
- duration: number;
5709
- unit: TimeUnit;
5710
- notifyAt: number[];
5711
- };
5712
- importance: "low" | "medium" | "high";
5713
- }[];
5714
- };
5715
- blockingConditions: BlockingCondition[];
5716
- benefits: TreatmentBenefit[];
5717
- certificationRequirement: {
5718
- minimumLevel: CertificationLevel;
5719
- requiredSpecialties?: CertificationSpecialty[] | undefined;
5720
- };
5721
- documentationTemplates: {
5722
- id: string;
5723
- createdAt: number;
5724
- updatedAt: number;
5725
- isActive: boolean;
5726
- title: string;
5727
- elements: ({
5728
- type: DocumentElementType.HEADING;
5729
- text: string;
5730
- level: HeadingLevel;
5731
- id?: string | undefined;
5732
- required?: boolean | undefined;
5733
- } | {
5734
- type: DocumentElementType.PARAGRAPH;
5735
- text: string;
5736
- id?: string | undefined;
5737
- required?: boolean | undefined;
5738
- } | {
5739
- type: DocumentElementType.LIST;
5740
- items: string[];
5741
- listType: ListType;
5742
- id?: string | undefined;
5743
- required?: boolean | undefined;
5744
- } | {
5745
- type: DocumentElementType.DYNAMIC_TEXT;
5746
- text: string;
5747
- id?: string | undefined;
5748
- required?: boolean | undefined;
5749
- } | {
5750
- type: DocumentElementType.BINARY_CHOICE;
5751
- question: string;
5752
- id?: string | undefined;
5753
- required?: boolean | undefined;
5754
- defaultValue?: boolean | undefined;
5755
- } | {
5756
- type: DocumentElementType.MULTIPLE_CHOICE;
5757
- question: string;
5758
- options: string[];
5759
- id?: string | undefined;
5760
- required?: boolean | undefined;
5761
- defaultValues?: string[] | undefined;
5762
- } | {
5763
- type: DocumentElementType.SINGLE_CHOICE;
5764
- question: string;
5765
- options: string[];
5766
- id?: string | undefined;
5767
- required?: boolean | undefined;
5768
- defaultValue?: string | undefined;
5769
- } | {
5770
- type: DocumentElementType.RATING_SCALE;
5771
- question: string;
5772
- min: number;
5773
- max: number;
5774
- id?: string | undefined;
5775
- required?: boolean | undefined;
5776
- defaultValue?: number | undefined;
5777
- labels?: Record<string, string> | undefined;
5778
- } | {
5779
- type: DocumentElementType.TEXT_INPUT;
5780
- label: string;
5781
- id?: string | undefined;
5782
- required?: boolean | undefined;
5783
- defaultValue?: string | undefined;
5784
- placeholder?: string | undefined;
5785
- multiline?: boolean | undefined;
5786
- } | {
5787
- type: DocumentElementType.DATE_PICKER;
5788
- label: string;
5789
- id?: string | undefined;
5790
- required?: boolean | undefined;
5791
- defaultValue?: string | undefined;
5792
- } | {
5793
- type: DocumentElementType.SIGNATURE;
5794
- label: string;
5795
- id?: string | undefined;
5796
- required?: boolean | undefined;
5797
- } | {
5798
- type: DocumentElementType.DITIGAL_SIGNATURE;
5799
- label: string;
5800
- id?: string | undefined;
5801
- required?: boolean | undefined;
5802
- } | {
5803
- type: DocumentElementType.FILE_UPLOAD;
5804
- label: string;
5805
- id?: string | undefined;
5806
- required?: boolean | undefined;
5807
- allowedFileTypes?: string[] | undefined;
5808
- maxFileSizeMB?: number | undefined;
5809
- })[];
5810
- isUserForm: boolean;
5811
- isRequired: boolean;
5812
- sortingOrder: number;
5813
- createdBy: string;
5814
- version: number;
5815
- description?: string | undefined;
5816
- tags?: string[] | undefined;
5817
- }[];
5818
- description?: string | undefined;
5819
- technicalDetails?: string | undefined;
5820
- }, {
5821
- name: string;
5822
- contraindications: Contraindication[];
5823
- family: ProcedureFamily;
5824
- categoryId: string;
5825
- subcategoryId: string;
5826
- blockingConditions: BlockingCondition[];
5827
- benefits: TreatmentBenefit[];
5828
- certificationRequirement: {
5829
- minimumLevel: CertificationLevel;
5830
- requiredSpecialties?: CertificationSpecialty[] | undefined;
5831
- };
5832
- documentationTemplates: {
5833
- id: string;
5834
- createdAt: number;
5835
- updatedAt: number;
5836
- isActive: boolean;
5837
- title: string;
5838
- elements: ({
5839
- type: DocumentElementType.HEADING;
5840
- text: string;
5841
- level: HeadingLevel;
5842
- id?: string | undefined;
5843
- required?: boolean | undefined;
5844
- } | {
5845
- type: DocumentElementType.PARAGRAPH;
5846
- text: string;
5847
- id?: string | undefined;
5848
- required?: boolean | undefined;
5849
- } | {
5850
- type: DocumentElementType.LIST;
5851
- items: string[];
5852
- listType: ListType;
5853
- id?: string | undefined;
5854
- required?: boolean | undefined;
5855
- } | {
5856
- type: DocumentElementType.DYNAMIC_TEXT;
5857
- text: string;
5858
- id?: string | undefined;
5859
- required?: boolean | undefined;
5860
- } | {
5861
- type: DocumentElementType.BINARY_CHOICE;
5862
- question: string;
5863
- id?: string | undefined;
5864
- required?: boolean | undefined;
5865
- defaultValue?: boolean | undefined;
5866
- } | {
5867
- type: DocumentElementType.MULTIPLE_CHOICE;
5868
- question: string;
5869
- options: string[];
5870
- id?: string | undefined;
5871
- required?: boolean | undefined;
5872
- defaultValues?: string[] | undefined;
5873
- } | {
5874
- type: DocumentElementType.SINGLE_CHOICE;
5875
- question: string;
5876
- options: string[];
5877
- id?: string | undefined;
5878
- required?: boolean | undefined;
5879
- defaultValue?: string | undefined;
5880
- } | {
5881
- type: DocumentElementType.RATING_SCALE;
5882
- question: string;
5883
- min: number;
5884
- max: number;
5885
- id?: string | undefined;
5886
- required?: boolean | undefined;
5887
- defaultValue?: number | undefined;
5888
- labels?: Record<string, string> | undefined;
5889
- } | {
5890
- type: DocumentElementType.TEXT_INPUT;
5891
- label: string;
5892
- id?: string | undefined;
5893
- required?: boolean | undefined;
5894
- defaultValue?: string | undefined;
5895
- placeholder?: string | undefined;
5896
- multiline?: boolean | undefined;
5897
- } | {
5898
- type: DocumentElementType.DATE_PICKER;
5899
- label: string;
5900
- id?: string | undefined;
5901
- required?: boolean | undefined;
5902
- defaultValue?: string | undefined;
5903
- } | {
5904
- type: DocumentElementType.SIGNATURE;
5905
- label: string;
5906
- id?: string | undefined;
5907
- required?: boolean | undefined;
5908
- } | {
5909
- type: DocumentElementType.DITIGAL_SIGNATURE;
5910
- label: string;
5911
- id?: string | undefined;
5912
- required?: boolean | undefined;
5913
- } | {
5914
- type: DocumentElementType.FILE_UPLOAD;
5915
- label: string;
5916
- id?: string | undefined;
5917
- required?: boolean | undefined;
5918
- allowedFileTypes?: string[] | undefined;
5919
- maxFileSizeMB?: number | undefined;
5920
- })[];
5921
- createdBy: string;
5922
- version: number;
5923
- description?: string | undefined;
5924
- tags?: string[] | undefined;
5925
- isUserForm?: boolean | undefined;
5926
- isRequired?: boolean | undefined;
5927
- sortingOrder?: number | undefined;
5928
- }[];
5929
- isActive?: boolean | undefined;
5930
- description?: string | undefined;
5931
- technicalDetails?: string | undefined;
5932
- requirements?: {
5933
- pre: {
5934
- type: RequirementType;
5935
- name: string;
5936
- description: string;
5937
- timeframe: {
5938
- duration: number;
5939
- unit: TimeUnit;
5940
- notifyAt: number[];
5941
- };
5942
- importance: "low" | "medium" | "high";
5943
- isActive?: boolean | undefined;
5944
- }[];
5945
- post: {
5946
- type: RequirementType;
5947
- name: string;
5948
- description: string;
5949
- timeframe: {
5950
- duration: number;
5951
- unit: TimeUnit;
5952
- notifyAt: number[];
5953
- };
5954
- importance: "low" | "medium" | "high";
5955
- isActive?: boolean | undefined;
5956
- }[];
5957
- } | undefined;
5958
- }>;
5959
- /**
5960
- * Category validation schema
5961
- */
5962
- declare const categorySchema: z.ZodObject<{
5963
- name: z.ZodString;
5964
- description: z.ZodOptional<z.ZodString>;
5965
- family: z.ZodNativeEnum<typeof ProcedureFamily>;
5966
- isActive: z.ZodDefault<z.ZodBoolean>;
5967
- }, "strip", z.ZodTypeAny, {
5968
- name: string;
5969
- isActive: boolean;
5970
- family: ProcedureFamily;
5971
- description?: string | undefined;
5972
- }, {
5973
- name: string;
5974
- family: ProcedureFamily;
5975
- isActive?: boolean | undefined;
5976
- description?: string | undefined;
5977
- }>;
5978
- /**
5979
- * Subcategory validation schema
5980
- */
5981
- declare const subcategorySchema: z.ZodObject<{
5982
- name: z.ZodString;
5983
- description: z.ZodOptional<z.ZodString>;
5984
- categoryId: z.ZodString;
5985
- isActive: z.ZodDefault<z.ZodBoolean>;
5986
- }, "strip", z.ZodTypeAny, {
5987
- name: string;
5988
- isActive: boolean;
5989
- categoryId: string;
5990
- description?: string | undefined;
5991
- }, {
5992
- name: string;
5993
- categoryId: string;
5994
- isActive?: boolean | undefined;
5995
- description?: string | undefined;
5996
- }>;
5997
- /**
5998
- * Partial schemas for updates
5999
- */
6000
- declare const categoryUpdateSchema: z.ZodObject<{
6001
- name: z.ZodOptional<z.ZodString>;
6002
- description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
6003
- family: z.ZodOptional<z.ZodNativeEnum<typeof ProcedureFamily>>;
6004
- isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6005
- }, "strip", z.ZodTypeAny, {
6006
- name?: string | undefined;
6007
- isActive?: boolean | undefined;
6008
- description?: string | undefined;
6009
- family?: ProcedureFamily | undefined;
6010
- }, {
6011
- name?: string | undefined;
6012
- isActive?: boolean | undefined;
6013
- description?: string | undefined;
6014
- family?: ProcedureFamily | undefined;
6015
- }>;
6016
- declare const subcategoryUpdateSchema: z.ZodObject<{
6017
- name: z.ZodOptional<z.ZodString>;
6018
- description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
6019
- categoryId: z.ZodOptional<z.ZodString>;
6020
- isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6021
- }, "strip", z.ZodTypeAny, {
6022
- name?: string | undefined;
6023
- isActive?: boolean | undefined;
6024
- description?: string | undefined;
6025
- categoryId?: string | undefined;
6026
- }, {
6027
- name?: string | undefined;
6028
- isActive?: boolean | undefined;
6029
- description?: string | undefined;
6030
- categoryId?: string | undefined;
6031
- }>;
6032
- declare const technologyUpdateSchema: z.ZodObject<{
6033
- name: z.ZodOptional<z.ZodString>;
6034
- description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
6035
- technicalDetails: z.ZodOptional<z.ZodOptional<z.ZodString>>;
6036
- family: z.ZodOptional<z.ZodNativeEnum<typeof ProcedureFamily>>;
6037
- categoryId: z.ZodOptional<z.ZodString>;
6038
- subcategoryId: z.ZodOptional<z.ZodString>;
6039
- requirements: z.ZodOptional<z.ZodDefault<z.ZodObject<{
6040
- pre: z.ZodArray<z.ZodObject<{
6041
- name: z.ZodString;
6042
- description: z.ZodString;
6043
- type: z.ZodNativeEnum<typeof RequirementType>;
6044
- timeframe: z.ZodObject<{
6045
- duration: z.ZodNumber;
6046
- unit: z.ZodNativeEnum<typeof TimeUnit>;
6047
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
6048
- }, "strip", z.ZodTypeAny, {
6049
- duration: number;
6050
- unit: TimeUnit;
6051
- notifyAt: number[];
6052
- }, {
6053
- duration: number;
6054
- unit: TimeUnit;
6055
- notifyAt: number[];
6056
- }>;
6057
- importance: z.ZodEnum<["low", "medium", "high"]>;
6058
- isActive: z.ZodDefault<z.ZodBoolean>;
6059
- }, "strip", z.ZodTypeAny, {
6060
- type: RequirementType;
6061
- name: string;
6062
- isActive: boolean;
6063
- description: string;
6064
- timeframe: {
6065
- duration: number;
6066
- unit: TimeUnit;
6067
- notifyAt: number[];
6068
- };
6069
- importance: "low" | "medium" | "high";
6070
- }, {
6071
- type: RequirementType;
6072
- name: string;
6073
- description: string;
6074
- timeframe: {
6075
- duration: number;
6076
- unit: TimeUnit;
6077
- notifyAt: number[];
6078
- };
6079
- importance: "low" | "medium" | "high";
6080
- isActive?: boolean | undefined;
6081
- }>, "many">;
6082
- post: z.ZodArray<z.ZodObject<{
6083
- name: z.ZodString;
6084
- description: z.ZodString;
6085
- type: z.ZodNativeEnum<typeof RequirementType>;
6086
- timeframe: z.ZodObject<{
6087
- duration: z.ZodNumber;
6088
- unit: z.ZodNativeEnum<typeof TimeUnit>;
6089
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
6090
- }, "strip", z.ZodTypeAny, {
6091
- duration: number;
6092
- unit: TimeUnit;
6093
- notifyAt: number[];
6094
- }, {
6095
- duration: number;
6096
- unit: TimeUnit;
6097
- notifyAt: number[];
6098
- }>;
6099
- importance: z.ZodEnum<["low", "medium", "high"]>;
6100
- isActive: z.ZodDefault<z.ZodBoolean>;
6101
- }, "strip", z.ZodTypeAny, {
6102
- type: RequirementType;
6103
- name: string;
6104
- isActive: boolean;
6105
- description: string;
6106
- timeframe: {
6107
- duration: number;
6108
- unit: TimeUnit;
6109
- notifyAt: number[];
6110
- };
6111
- importance: "low" | "medium" | "high";
6112
- }, {
6113
- type: RequirementType;
6114
- name: string;
6115
- description: string;
6116
- timeframe: {
6117
- duration: number;
6118
- unit: TimeUnit;
6119
- notifyAt: number[];
6120
- };
6121
- importance: "low" | "medium" | "high";
6122
- isActive?: boolean | undefined;
6123
- }>, "many">;
6124
- }, "strip", z.ZodTypeAny, {
6125
- pre: {
6126
- type: RequirementType;
6127
- name: string;
6128
- isActive: boolean;
6129
- description: string;
6130
- timeframe: {
6131
- duration: number;
6132
- unit: TimeUnit;
6133
- notifyAt: number[];
6134
- };
6135
- importance: "low" | "medium" | "high";
6136
- }[];
6137
- post: {
6138
- type: RequirementType;
6139
- name: string;
6140
- isActive: boolean;
6141
- description: string;
6142
- timeframe: {
6143
- duration: number;
6144
- unit: TimeUnit;
6145
- notifyAt: number[];
6146
- };
6147
- importance: "low" | "medium" | "high";
6148
- }[];
6149
- }, {
6150
- pre: {
6151
- type: RequirementType;
6152
- name: string;
6153
- description: string;
6154
- timeframe: {
6155
- duration: number;
6156
- unit: TimeUnit;
6157
- notifyAt: number[];
6158
- };
6159
- importance: "low" | "medium" | "high";
6160
- isActive?: boolean | undefined;
6161
- }[];
6162
- post: {
6163
- type: RequirementType;
6164
- name: string;
6165
- description: string;
6166
- timeframe: {
6167
- duration: number;
6168
- unit: TimeUnit;
6169
- notifyAt: number[];
6170
- };
6171
- importance: "low" | "medium" | "high";
6172
- isActive?: boolean | undefined;
6173
- }[];
6174
- }>>>;
6175
- blockingConditions: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof BlockingCondition>, "many">>;
6176
- contraindications: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Contraindication>, "many">>;
6177
- documentationTemplates: z.ZodOptional<z.ZodArray<z.ZodObject<{
6178
- id: z.ZodString;
6179
- title: z.ZodString;
6180
- description: z.ZodOptional<z.ZodString>;
6181
- createdAt: z.ZodNumber;
6182
- updatedAt: z.ZodNumber;
6183
- createdBy: z.ZodString;
6184
- elements: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
6185
- id: z.ZodOptional<z.ZodString>;
6186
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6187
- required: z.ZodOptional<z.ZodBoolean>;
6188
- }, {
6189
- type: z.ZodLiteral<DocumentElementType.HEADING>;
6190
- text: z.ZodString;
6191
- level: z.ZodNativeEnum<typeof HeadingLevel>;
6192
- }>, "strip", z.ZodTypeAny, {
6193
- type: DocumentElementType.HEADING;
6194
- text: string;
6195
- level: HeadingLevel;
6196
- id?: string | undefined;
6197
- required?: boolean | undefined;
6198
- }, {
6199
- type: DocumentElementType.HEADING;
6200
- text: string;
6201
- level: HeadingLevel;
6202
- id?: string | undefined;
6203
- required?: boolean | undefined;
6204
- }>, z.ZodObject<z.objectUtil.extendShape<{
6205
- id: z.ZodOptional<z.ZodString>;
6206
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6207
- required: z.ZodOptional<z.ZodBoolean>;
6208
- }, {
6209
- type: z.ZodLiteral<DocumentElementType.PARAGRAPH>;
6210
- text: z.ZodString;
6211
- }>, "strip", z.ZodTypeAny, {
6212
- type: DocumentElementType.PARAGRAPH;
6213
- text: string;
6214
- id?: string | undefined;
6215
- required?: boolean | undefined;
6216
- }, {
6217
- type: DocumentElementType.PARAGRAPH;
6218
- text: string;
6219
- id?: string | undefined;
6220
- required?: boolean | undefined;
6221
- }>, z.ZodObject<z.objectUtil.extendShape<{
6222
- id: z.ZodOptional<z.ZodString>;
6223
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6224
- required: z.ZodOptional<z.ZodBoolean>;
6225
- }, {
6226
- type: z.ZodLiteral<DocumentElementType.LIST>;
6227
- items: z.ZodArray<z.ZodString, "many">;
6228
- listType: z.ZodNativeEnum<typeof ListType>;
6229
- }>, "strip", z.ZodTypeAny, {
6230
- type: DocumentElementType.LIST;
6231
- items: string[];
6232
- listType: ListType;
6233
- id?: string | undefined;
6234
- required?: boolean | undefined;
6235
- }, {
6236
- type: DocumentElementType.LIST;
6237
- items: string[];
6238
- listType: ListType;
6239
- id?: string | undefined;
6240
- required?: boolean | undefined;
6241
- }>, z.ZodObject<z.objectUtil.extendShape<{
6242
- id: z.ZodOptional<z.ZodString>;
6243
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6244
- required: z.ZodOptional<z.ZodBoolean>;
6245
- }, {
6246
- type: z.ZodLiteral<DocumentElementType.DYNAMIC_TEXT>;
6247
- text: z.ZodString;
6248
- }>, "strip", z.ZodTypeAny, {
6249
- type: DocumentElementType.DYNAMIC_TEXT;
6250
- text: string;
6251
- id?: string | undefined;
6252
- required?: boolean | undefined;
6253
- }, {
6254
- type: DocumentElementType.DYNAMIC_TEXT;
6255
- text: string;
6256
- id?: string | undefined;
6257
- required?: boolean | undefined;
6258
- }>, z.ZodObject<z.objectUtil.extendShape<{
6259
- id: z.ZodOptional<z.ZodString>;
6260
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6261
- required: z.ZodOptional<z.ZodBoolean>;
6262
- }, {
6263
- type: z.ZodLiteral<DocumentElementType.BINARY_CHOICE>;
6264
- question: z.ZodString;
6265
- defaultValue: z.ZodOptional<z.ZodBoolean>;
6266
- }>, "strip", z.ZodTypeAny, {
6267
- type: DocumentElementType.BINARY_CHOICE;
6268
- question: string;
6269
- id?: string | undefined;
6270
- required?: boolean | undefined;
6271
- defaultValue?: boolean | undefined;
6272
- }, {
6273
- type: DocumentElementType.BINARY_CHOICE;
6274
- question: string;
6275
- id?: string | undefined;
6276
- required?: boolean | undefined;
6277
- defaultValue?: boolean | undefined;
6278
- }>, z.ZodObject<z.objectUtil.extendShape<{
6279
- id: z.ZodOptional<z.ZodString>;
6280
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6281
- required: z.ZodOptional<z.ZodBoolean>;
6282
- }, {
6283
- type: z.ZodLiteral<DocumentElementType.MULTIPLE_CHOICE>;
6284
- question: z.ZodString;
6285
- options: z.ZodArray<z.ZodString, "many">;
6286
- defaultValues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6287
- }>, "strip", z.ZodTypeAny, {
6288
- type: DocumentElementType.MULTIPLE_CHOICE;
6289
- question: string;
6290
- options: string[];
6291
- id?: string | undefined;
6292
- required?: boolean | undefined;
6293
- defaultValues?: string[] | undefined;
6294
- }, {
6295
- type: DocumentElementType.MULTIPLE_CHOICE;
6296
- question: string;
6297
- options: string[];
6298
- id?: string | undefined;
6299
- required?: boolean | undefined;
6300
- defaultValues?: string[] | undefined;
6301
- }>, z.ZodObject<z.objectUtil.extendShape<{
6302
- id: z.ZodOptional<z.ZodString>;
6303
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6304
- required: z.ZodOptional<z.ZodBoolean>;
6305
- }, {
6306
- type: z.ZodLiteral<DocumentElementType.SINGLE_CHOICE>;
6307
- question: z.ZodString;
6308
- options: z.ZodArray<z.ZodString, "many">;
6309
- defaultValue: z.ZodOptional<z.ZodString>;
6310
- }>, "strip", z.ZodTypeAny, {
6311
- type: DocumentElementType.SINGLE_CHOICE;
6312
- question: string;
6313
- options: string[];
6314
- id?: string | undefined;
6315
- required?: boolean | undefined;
6316
- defaultValue?: string | undefined;
6317
- }, {
6318
- type: DocumentElementType.SINGLE_CHOICE;
6319
- question: string;
6320
- options: string[];
6321
- id?: string | undefined;
6322
- required?: boolean | undefined;
6323
- defaultValue?: string | undefined;
6324
- }>, z.ZodObject<z.objectUtil.extendShape<{
6325
- id: z.ZodOptional<z.ZodString>;
6326
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6327
- required: z.ZodOptional<z.ZodBoolean>;
6328
- }, {
6329
- type: z.ZodLiteral<DocumentElementType.RATING_SCALE>;
6330
- question: z.ZodString;
6331
- min: z.ZodNumber;
6332
- max: z.ZodNumber;
6333
- labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
6334
- defaultValue: z.ZodOptional<z.ZodNumber>;
6335
- }>, "strip", z.ZodTypeAny, {
6336
- type: DocumentElementType.RATING_SCALE;
6337
- question: string;
6338
- min: number;
6339
- max: number;
6340
- id?: string | undefined;
6341
- required?: boolean | undefined;
6342
- defaultValue?: number | undefined;
6343
- labels?: Record<string, string> | undefined;
6344
- }, {
6345
- type: DocumentElementType.RATING_SCALE;
6346
- question: string;
6347
- min: number;
6348
- max: number;
6349
- id?: string | undefined;
6350
- required?: boolean | undefined;
6351
- defaultValue?: number | undefined;
6352
- labels?: Record<string, string> | undefined;
6353
- }>, z.ZodObject<z.objectUtil.extendShape<{
6354
- id: z.ZodOptional<z.ZodString>;
6355
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6356
- required: z.ZodOptional<z.ZodBoolean>;
6357
- }, {
6358
- type: z.ZodLiteral<DocumentElementType.TEXT_INPUT>;
6359
- label: z.ZodString;
6360
- placeholder: z.ZodOptional<z.ZodString>;
6361
- multiline: z.ZodOptional<z.ZodBoolean>;
6362
- defaultValue: z.ZodOptional<z.ZodString>;
6363
- }>, "strip", z.ZodTypeAny, {
6364
- type: DocumentElementType.TEXT_INPUT;
6365
- label: string;
6366
- id?: string | undefined;
6367
- required?: boolean | undefined;
6368
- defaultValue?: string | undefined;
6369
- placeholder?: string | undefined;
6370
- multiline?: boolean | undefined;
6371
- }, {
6372
- type: DocumentElementType.TEXT_INPUT;
6373
- label: string;
6374
- id?: string | undefined;
6375
- required?: boolean | undefined;
6376
- defaultValue?: string | undefined;
6377
- placeholder?: string | undefined;
6378
- multiline?: boolean | undefined;
6379
- }>, z.ZodObject<z.objectUtil.extendShape<{
6380
- id: z.ZodOptional<z.ZodString>;
6381
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6382
- required: z.ZodOptional<z.ZodBoolean>;
6383
- }, {
6384
- type: z.ZodLiteral<DocumentElementType.DATE_PICKER>;
6385
- label: z.ZodString;
6386
- defaultValue: z.ZodOptional<z.ZodString>;
6387
- }>, "strip", z.ZodTypeAny, {
6388
- type: DocumentElementType.DATE_PICKER;
6389
- label: string;
6390
- id?: string | undefined;
6391
- required?: boolean | undefined;
6392
- defaultValue?: string | undefined;
6393
- }, {
6394
- type: DocumentElementType.DATE_PICKER;
6395
- label: string;
6396
- id?: string | undefined;
6397
- required?: boolean | undefined;
6398
- defaultValue?: string | undefined;
6399
- }>, z.ZodObject<z.objectUtil.extendShape<{
6400
- id: z.ZodOptional<z.ZodString>;
6401
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6402
- required: z.ZodOptional<z.ZodBoolean>;
6403
- }, {
6404
- type: z.ZodLiteral<DocumentElementType.SIGNATURE>;
6405
- label: z.ZodString;
6406
- }>, "strip", z.ZodTypeAny, {
6407
- type: DocumentElementType.SIGNATURE;
6408
- label: string;
6409
- id?: string | undefined;
6410
- required?: boolean | undefined;
6411
- }, {
6412
- type: DocumentElementType.SIGNATURE;
6413
- label: string;
6414
- id?: string | undefined;
6415
- required?: boolean | undefined;
6416
- }>, z.ZodObject<z.objectUtil.extendShape<{
6417
- id: z.ZodOptional<z.ZodString>;
6418
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6419
- required: z.ZodOptional<z.ZodBoolean>;
6420
- }, {
6421
- type: z.ZodLiteral<DocumentElementType.DITIGAL_SIGNATURE>;
6422
- label: z.ZodString;
6423
- }>, "strip", z.ZodTypeAny, {
6424
- type: DocumentElementType.DITIGAL_SIGNATURE;
6425
- label: string;
6426
- id?: string | undefined;
6427
- required?: boolean | undefined;
6428
- }, {
6429
- type: DocumentElementType.DITIGAL_SIGNATURE;
6430
- label: string;
6431
- id?: string | undefined;
6432
- required?: boolean | undefined;
6433
- }>, z.ZodObject<z.objectUtil.extendShape<{
6434
- id: z.ZodOptional<z.ZodString>;
6435
- type: z.ZodNativeEnum<typeof DocumentElementType>;
6436
- required: z.ZodOptional<z.ZodBoolean>;
6437
- }, {
6438
- type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
6439
- label: z.ZodString;
6440
- allowedFileTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6441
- maxFileSizeMB: z.ZodOptional<z.ZodNumber>;
6442
- }>, "strip", z.ZodTypeAny, {
6443
- type: DocumentElementType.FILE_UPLOAD;
6444
- label: string;
6445
- id?: string | undefined;
6446
- required?: boolean | undefined;
6447
- allowedFileTypes?: string[] | undefined;
6448
- maxFileSizeMB?: number | undefined;
6449
- }, {
6450
- type: DocumentElementType.FILE_UPLOAD;
6451
- label: string;
6452
- id?: string | undefined;
6453
- required?: boolean | undefined;
6454
- allowedFileTypes?: string[] | undefined;
6455
- maxFileSizeMB?: number | undefined;
6456
- }>]>, "many">;
6457
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6458
- version: z.ZodNumber;
6459
- isActive: z.ZodBoolean;
6460
- isUserForm: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
6461
- isRequired: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
6462
- sortingOrder: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6463
- }, "strip", z.ZodTypeAny, {
6464
- id: string;
6465
- createdAt: number;
6466
- updatedAt: number;
6467
- isActive: boolean;
6468
- title: string;
6469
- elements: ({
6470
- type: DocumentElementType.HEADING;
6471
- text: string;
6472
- level: HeadingLevel;
6473
- id?: string | undefined;
6474
- required?: boolean | undefined;
6475
- } | {
6476
- type: DocumentElementType.PARAGRAPH;
6477
- text: string;
6478
- id?: string | undefined;
6479
- required?: boolean | undefined;
6480
- } | {
6481
- type: DocumentElementType.LIST;
6482
- items: string[];
6483
- listType: ListType;
6484
- id?: string | undefined;
6485
- required?: boolean | undefined;
6486
- } | {
6487
- type: DocumentElementType.DYNAMIC_TEXT;
6488
- text: string;
6489
- id?: string | undefined;
6490
- required?: boolean | undefined;
6491
- } | {
6492
- type: DocumentElementType.BINARY_CHOICE;
6493
- question: string;
6494
- id?: string | undefined;
6495
- required?: boolean | undefined;
6496
- defaultValue?: boolean | undefined;
6497
- } | {
6498
- type: DocumentElementType.MULTIPLE_CHOICE;
6499
- question: string;
6500
- options: string[];
6501
- id?: string | undefined;
6502
- required?: boolean | undefined;
6503
- defaultValues?: string[] | undefined;
6504
- } | {
6505
- type: DocumentElementType.SINGLE_CHOICE;
6506
- question: string;
6507
- options: string[];
6508
- id?: string | undefined;
6509
- required?: boolean | undefined;
6510
- defaultValue?: string | undefined;
6511
- } | {
6512
- type: DocumentElementType.RATING_SCALE;
6513
- question: string;
6514
- min: number;
6515
- max: number;
6516
- id?: string | undefined;
6517
- required?: boolean | undefined;
6518
- defaultValue?: number | undefined;
6519
- labels?: Record<string, string> | undefined;
6520
- } | {
6521
- type: DocumentElementType.TEXT_INPUT;
6522
- label: string;
6523
- id?: string | undefined;
6524
- required?: boolean | undefined;
6525
- defaultValue?: string | undefined;
6526
- placeholder?: string | undefined;
6527
- multiline?: boolean | undefined;
6528
- } | {
6529
- type: DocumentElementType.DATE_PICKER;
6530
- label: string;
6531
- id?: string | undefined;
6532
- required?: boolean | undefined;
6533
- defaultValue?: string | undefined;
6534
- } | {
6535
- type: DocumentElementType.SIGNATURE;
6536
- label: string;
6537
- id?: string | undefined;
6538
- required?: boolean | undefined;
6539
- } | {
6540
- type: DocumentElementType.DITIGAL_SIGNATURE;
6541
- label: string;
6542
- id?: string | undefined;
6543
- required?: boolean | undefined;
6544
- } | {
6545
- type: DocumentElementType.FILE_UPLOAD;
6546
- label: string;
6547
- id?: string | undefined;
6548
- required?: boolean | undefined;
6549
- allowedFileTypes?: string[] | undefined;
6550
- maxFileSizeMB?: number | undefined;
6551
- })[];
6552
- isUserForm: boolean;
6553
- isRequired: boolean;
6554
- sortingOrder: number;
6555
- createdBy: string;
6556
- version: number;
6557
- description?: string | undefined;
6558
- tags?: string[] | undefined;
6559
- }, {
6560
- id: string;
6561
- createdAt: number;
6562
- updatedAt: number;
6563
- isActive: boolean;
6564
- title: string;
6565
- elements: ({
6566
- type: DocumentElementType.HEADING;
6567
- text: string;
6568
- level: HeadingLevel;
6569
- id?: string | undefined;
6570
- required?: boolean | undefined;
6571
- } | {
6572
- type: DocumentElementType.PARAGRAPH;
6573
- text: string;
6574
- id?: string | undefined;
6575
- required?: boolean | undefined;
6576
- } | {
6577
- type: DocumentElementType.LIST;
6578
- items: string[];
6579
- listType: ListType;
6580
- id?: string | undefined;
6581
- required?: boolean | undefined;
6582
- } | {
6583
- type: DocumentElementType.DYNAMIC_TEXT;
6584
- text: string;
6585
- id?: string | undefined;
6586
- required?: boolean | undefined;
6587
- } | {
6588
- type: DocumentElementType.BINARY_CHOICE;
6589
- question: string;
6590
- id?: string | undefined;
6591
- required?: boolean | undefined;
6592
- defaultValue?: boolean | undefined;
6593
- } | {
6594
- type: DocumentElementType.MULTIPLE_CHOICE;
6595
- question: string;
6596
- options: string[];
6597
- id?: string | undefined;
6598
- required?: boolean | undefined;
6599
- defaultValues?: string[] | undefined;
6600
- } | {
6601
- type: DocumentElementType.SINGLE_CHOICE;
6602
- question: string;
6603
- options: string[];
6604
- id?: string | undefined;
6605
- required?: boolean | undefined;
6606
- defaultValue?: string | undefined;
6607
- } | {
6608
- type: DocumentElementType.RATING_SCALE;
6609
- question: string;
6610
- min: number;
6611
- max: number;
6612
- id?: string | undefined;
6613
- required?: boolean | undefined;
6614
- defaultValue?: number | undefined;
6615
- labels?: Record<string, string> | undefined;
6616
- } | {
6617
- type: DocumentElementType.TEXT_INPUT;
6618
- label: string;
6619
- id?: string | undefined;
6620
- required?: boolean | undefined;
6621
- defaultValue?: string | undefined;
6622
- placeholder?: string | undefined;
6623
- multiline?: boolean | undefined;
6624
- } | {
6625
- type: DocumentElementType.DATE_PICKER;
6626
- label: string;
6627
- id?: string | undefined;
6628
- required?: boolean | undefined;
6629
- defaultValue?: string | undefined;
6630
- } | {
6631
- type: DocumentElementType.SIGNATURE;
6632
- label: string;
6633
- id?: string | undefined;
6634
- required?: boolean | undefined;
6635
- } | {
6636
- type: DocumentElementType.DITIGAL_SIGNATURE;
6637
- label: string;
6638
- id?: string | undefined;
6639
- required?: boolean | undefined;
6640
- } | {
6641
- type: DocumentElementType.FILE_UPLOAD;
6642
- label: string;
6643
- id?: string | undefined;
6644
- required?: boolean | undefined;
6645
- allowedFileTypes?: string[] | undefined;
6646
- maxFileSizeMB?: number | undefined;
6647
- })[];
6648
- createdBy: string;
6649
- version: number;
6650
- description?: string | undefined;
6651
- tags?: string[] | undefined;
6652
- isUserForm?: boolean | undefined;
6653
- isRequired?: boolean | undefined;
6654
- sortingOrder?: number | undefined;
6655
- }>, "many">>;
6656
- benefits: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof TreatmentBenefit>, "many">>;
6657
- certificationRequirement: z.ZodOptional<z.ZodObject<{
6658
- minimumLevel: z.ZodNativeEnum<typeof CertificationLevel>;
6659
- requiredSpecialties: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof CertificationSpecialty>, "many">>;
6660
- }, "strip", z.ZodTypeAny, {
6661
- minimumLevel: CertificationLevel;
6662
- requiredSpecialties?: CertificationSpecialty[] | undefined;
6663
- }, {
6664
- minimumLevel: CertificationLevel;
6665
- requiredSpecialties?: CertificationSpecialty[] | undefined;
6666
- }>>;
6667
- isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6668
- }, "strip", z.ZodTypeAny, {
6669
- name?: string | undefined;
6670
- isActive?: boolean | undefined;
6671
- description?: string | undefined;
6672
- technicalDetails?: string | undefined;
6673
- contraindications?: Contraindication[] | undefined;
6674
- family?: ProcedureFamily | undefined;
6675
- categoryId?: string | undefined;
6676
- subcategoryId?: string | undefined;
6677
- requirements?: {
6678
- pre: {
6679
- type: RequirementType;
6680
- name: string;
6681
- isActive: boolean;
6682
- description: string;
6683
- timeframe: {
6684
- duration: number;
6685
- unit: TimeUnit;
6686
- notifyAt: number[];
6687
- };
6688
- importance: "low" | "medium" | "high";
6689
- }[];
6690
- post: {
6691
- type: RequirementType;
6692
- name: string;
6693
- isActive: boolean;
6694
- description: string;
6695
- timeframe: {
6696
- duration: number;
6697
- unit: TimeUnit;
6698
- notifyAt: number[];
6699
- };
6700
- importance: "low" | "medium" | "high";
6701
- }[];
6702
- } | undefined;
6703
- blockingConditions?: BlockingCondition[] | undefined;
6704
- benefits?: TreatmentBenefit[] | undefined;
6705
- certificationRequirement?: {
6706
- minimumLevel: CertificationLevel;
6707
- requiredSpecialties?: CertificationSpecialty[] | undefined;
6708
- } | undefined;
6709
- documentationTemplates?: {
6710
- id: string;
6711
- createdAt: number;
6712
- updatedAt: number;
6713
- isActive: boolean;
6714
- title: string;
6715
- elements: ({
6716
- type: DocumentElementType.HEADING;
6717
- text: string;
6718
- level: HeadingLevel;
6719
- id?: string | undefined;
6720
- required?: boolean | undefined;
6721
- } | {
6722
- type: DocumentElementType.PARAGRAPH;
6723
- text: string;
6724
- id?: string | undefined;
6725
- required?: boolean | undefined;
6726
- } | {
6727
- type: DocumentElementType.LIST;
6728
- items: string[];
6729
- listType: ListType;
6730
- id?: string | undefined;
6731
- required?: boolean | undefined;
6732
- } | {
6733
- type: DocumentElementType.DYNAMIC_TEXT;
6734
- text: string;
6735
- id?: string | undefined;
6736
- required?: boolean | undefined;
6737
- } | {
6738
- type: DocumentElementType.BINARY_CHOICE;
6739
- question: string;
6740
- id?: string | undefined;
6741
- required?: boolean | undefined;
6742
- defaultValue?: boolean | undefined;
6743
- } | {
6744
- type: DocumentElementType.MULTIPLE_CHOICE;
6745
- question: string;
6746
- options: string[];
6747
- id?: string | undefined;
6748
- required?: boolean | undefined;
6749
- defaultValues?: string[] | undefined;
6750
- } | {
6751
- type: DocumentElementType.SINGLE_CHOICE;
6752
- question: string;
6753
- options: string[];
6754
- id?: string | undefined;
6755
- required?: boolean | undefined;
6756
- defaultValue?: string | undefined;
6757
- } | {
6758
- type: DocumentElementType.RATING_SCALE;
6759
- question: string;
6760
- min: number;
6761
- max: number;
6762
- id?: string | undefined;
6763
- required?: boolean | undefined;
6764
- defaultValue?: number | undefined;
6765
- labels?: Record<string, string> | undefined;
6766
- } | {
6767
- type: DocumentElementType.TEXT_INPUT;
6768
- label: string;
6769
- id?: string | undefined;
6770
- required?: boolean | undefined;
6771
- defaultValue?: string | undefined;
6772
- placeholder?: string | undefined;
6773
- multiline?: boolean | undefined;
6774
- } | {
6775
- type: DocumentElementType.DATE_PICKER;
6776
- label: string;
6777
- id?: string | undefined;
6778
- required?: boolean | undefined;
6779
- defaultValue?: string | undefined;
6780
- } | {
6781
- type: DocumentElementType.SIGNATURE;
6782
- label: string;
6783
- id?: string | undefined;
6784
- required?: boolean | undefined;
6785
- } | {
6786
- type: DocumentElementType.DITIGAL_SIGNATURE;
6787
- label: string;
6788
- id?: string | undefined;
6789
- required?: boolean | undefined;
6790
- } | {
6791
- type: DocumentElementType.FILE_UPLOAD;
6792
- label: string;
6793
- id?: string | undefined;
6794
- required?: boolean | undefined;
6795
- allowedFileTypes?: string[] | undefined;
6796
- maxFileSizeMB?: number | undefined;
6797
- })[];
6798
- isUserForm: boolean;
6799
- isRequired: boolean;
6800
- sortingOrder: number;
6801
- createdBy: string;
6802
- version: number;
6803
- description?: string | undefined;
6804
- tags?: string[] | undefined;
6805
- }[] | undefined;
6806
- }, {
6807
- name?: string | undefined;
6808
- isActive?: boolean | undefined;
6809
- description?: string | undefined;
6810
- technicalDetails?: string | undefined;
6811
- contraindications?: Contraindication[] | undefined;
6812
- family?: ProcedureFamily | undefined;
6813
- categoryId?: string | undefined;
6814
- subcategoryId?: string | undefined;
6815
- requirements?: {
6816
- pre: {
6817
- type: RequirementType;
6818
- name: string;
6819
- description: string;
6820
- timeframe: {
6821
- duration: number;
6822
- unit: TimeUnit;
6823
- notifyAt: number[];
6824
- };
6825
- importance: "low" | "medium" | "high";
6826
- isActive?: boolean | undefined;
6827
- }[];
6828
- post: {
6829
- type: RequirementType;
6830
- name: string;
6831
- description: string;
6832
- timeframe: {
6833
- duration: number;
6834
- unit: TimeUnit;
6835
- notifyAt: number[];
6836
- };
6837
- importance: "low" | "medium" | "high";
6838
- isActive?: boolean | undefined;
6839
- }[];
6840
- } | undefined;
6841
- blockingConditions?: BlockingCondition[] | undefined;
6842
- benefits?: TreatmentBenefit[] | undefined;
6843
- certificationRequirement?: {
6844
- minimumLevel: CertificationLevel;
6845
- requiredSpecialties?: CertificationSpecialty[] | undefined;
6846
- } | undefined;
6847
- documentationTemplates?: {
6848
- id: string;
6849
- createdAt: number;
6850
- updatedAt: number;
6851
- isActive: boolean;
6852
- title: string;
6853
- elements: ({
6854
- type: DocumentElementType.HEADING;
6855
- text: string;
6856
- level: HeadingLevel;
6857
- id?: string | undefined;
6858
- required?: boolean | undefined;
6859
- } | {
6860
- type: DocumentElementType.PARAGRAPH;
6861
- text: string;
6862
- id?: string | undefined;
6863
- required?: boolean | undefined;
6864
- } | {
6865
- type: DocumentElementType.LIST;
6866
- items: string[];
6867
- listType: ListType;
6868
- id?: string | undefined;
6869
- required?: boolean | undefined;
6870
- } | {
6871
- type: DocumentElementType.DYNAMIC_TEXT;
6872
- text: string;
6873
- id?: string | undefined;
6874
- required?: boolean | undefined;
6875
- } | {
6876
- type: DocumentElementType.BINARY_CHOICE;
6877
- question: string;
6878
- id?: string | undefined;
6879
- required?: boolean | undefined;
6880
- defaultValue?: boolean | undefined;
6881
- } | {
6882
- type: DocumentElementType.MULTIPLE_CHOICE;
6883
- question: string;
6884
- options: string[];
6885
- id?: string | undefined;
6886
- required?: boolean | undefined;
6887
- defaultValues?: string[] | undefined;
6888
- } | {
6889
- type: DocumentElementType.SINGLE_CHOICE;
6890
- question: string;
6891
- options: string[];
6892
- id?: string | undefined;
6893
- required?: boolean | undefined;
6894
- defaultValue?: string | undefined;
6895
- } | {
6896
- type: DocumentElementType.RATING_SCALE;
6897
- question: string;
6898
- min: number;
6899
- max: number;
6900
- id?: string | undefined;
6901
- required?: boolean | undefined;
6902
- defaultValue?: number | undefined;
6903
- labels?: Record<string, string> | undefined;
6904
- } | {
6905
- type: DocumentElementType.TEXT_INPUT;
6906
- label: string;
6907
- id?: string | undefined;
6908
- required?: boolean | undefined;
6909
- defaultValue?: string | undefined;
6910
- placeholder?: string | undefined;
6911
- multiline?: boolean | undefined;
6912
- } | {
6913
- type: DocumentElementType.DATE_PICKER;
6914
- label: string;
6915
- id?: string | undefined;
6916
- required?: boolean | undefined;
6917
- defaultValue?: string | undefined;
6918
- } | {
6919
- type: DocumentElementType.SIGNATURE;
6920
- label: string;
6921
- id?: string | undefined;
6922
- required?: boolean | undefined;
6923
- } | {
6924
- type: DocumentElementType.DITIGAL_SIGNATURE;
6925
- label: string;
6926
- id?: string | undefined;
6927
- required?: boolean | undefined;
6928
- } | {
6929
- type: DocumentElementType.FILE_UPLOAD;
6930
- label: string;
6931
- id?: string | undefined;
6932
- required?: boolean | undefined;
6933
- allowedFileTypes?: string[] | undefined;
6934
- maxFileSizeMB?: number | undefined;
6935
- })[];
6936
- createdBy: string;
6937
- version: number;
6938
- description?: string | undefined;
6939
- tags?: string[] | undefined;
6940
- isUserForm?: boolean | undefined;
6941
- isRequired?: boolean | undefined;
6942
- sortingOrder?: number | undefined;
6943
- }[] | undefined;
6944
- }>;
6945
- declare const requirementUpdateSchema: z.ZodObject<{
6946
- name: z.ZodOptional<z.ZodString>;
6947
- description: z.ZodOptional<z.ZodString>;
6948
- type: z.ZodOptional<z.ZodNativeEnum<typeof RequirementType>>;
6949
- timeframe: z.ZodOptional<z.ZodObject<{
6950
- duration: z.ZodNumber;
6951
- unit: z.ZodNativeEnum<typeof TimeUnit>;
6952
- notifyAt: z.ZodArray<z.ZodNumber, "many">;
6953
- }, "strip", z.ZodTypeAny, {
6954
- duration: number;
6955
- unit: TimeUnit;
6956
- notifyAt: number[];
6957
- }, {
6958
- duration: number;
6959
- unit: TimeUnit;
6960
- notifyAt: number[];
6961
- }>>;
6962
- importance: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
6963
- isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6964
- }, "strip", z.ZodTypeAny, {
6965
- type?: RequirementType | undefined;
6966
- name?: string | undefined;
6967
- isActive?: boolean | undefined;
6968
- description?: string | undefined;
6969
- timeframe?: {
6970
- duration: number;
6971
- unit: TimeUnit;
6972
- notifyAt: number[];
6973
- } | undefined;
6974
- importance?: "low" | "medium" | "high" | undefined;
6975
- }, {
6976
- type?: RequirementType | undefined;
6977
- name?: string | undefined;
6978
- isActive?: boolean | undefined;
6979
- description?: string | undefined;
6980
- timeframe?: {
6981
- duration: number;
6982
- unit: TimeUnit;
6983
- notifyAt: number[];
6984
- } | undefined;
6985
- importance?: "low" | "medium" | "high" | undefined;
6986
- }>;
6987
-
6988
- /**
6989
- * Default vrednosti za sertifikaciju
6990
- * Svaka nova tehnologija će imati ove vrednosti ako se ne specificira drugačije
6991
- */
6992
- declare const DEFAULT_CERTIFICATION_REQUIREMENT: CertificationRequirement;
6993
-
6994
- /**
6995
- * Bazna klasa za greške u backoffice sistemu
6996
- */
6997
- declare class BackofficeError extends Error {
6998
- constructor(message: string);
6999
- }
7000
- /**
7001
- * Errors related to Category operations
7002
- */
7003
- declare class CategoryError extends BackofficeError {
7004
- constructor(message: string);
7005
- }
7006
- declare class CategoryNotFoundError extends CategoryError {
7007
- constructor(id: string);
7008
- }
7009
- declare class InvalidCategoryDataError extends CategoryError {
7010
- constructor(message: string);
7011
- }
7012
- /**
7013
- * Errors related to Subcategory operations
7014
- */
7015
- declare class SubcategoryError extends BackofficeError {
7016
- constructor(message: string);
7017
- }
7018
- declare class SubcategoryNotFoundError extends SubcategoryError {
7019
- constructor(id: string);
7020
- }
7021
- declare class InvalidSubcategoryDataError extends SubcategoryError {
7022
- constructor(message: string);
7023
- }
7024
- /**
7025
- * Errors related to Technology operations
7026
- */
7027
- declare class TechnologyError extends BackofficeError {
7028
- constructor(message: string);
7029
- }
7030
- declare class TechnologyNotFoundError extends TechnologyError {
7031
- constructor(id: string);
7032
- }
7033
- declare class InvalidTechnologyDataError extends TechnologyError {
7034
- constructor(message: string);
7035
- }
7036
- /**
7037
- * Errors related to Requirement operations
7038
- */
7039
- declare class RequirementError extends BackofficeError {
7040
- constructor(message: string);
7041
- }
7042
- declare class RequirementNotFoundError extends RequirementError {
7043
- constructor(id: string);
7044
- }
7045
- declare class InvalidRequirementDataError extends RequirementError {
7046
- constructor(message: string);
7047
- }
7048
- declare class InvalidTimeframeError extends RequirementError {
7049
- constructor(message: string);
7050
- }
7051
- /**
7052
- * Errors related to relationships between entities
7053
- */
7054
- declare class RelationshipError extends BackofficeError {
7055
- constructor(message: string);
7056
- }
7057
- declare class InvalidHierarchyError extends RelationshipError {
7058
- constructor(message: string);
7059
- }
7060
- declare class CircularReferenceError extends RelationshipError {
7061
- constructor(message: string);
7062
- }
7063
- declare class BlockingConditionError extends BackofficeError {
7064
- constructor(message: string);
7065
- }
7066
- declare class InvalidBlockingConditionError extends BlockingConditionError {
7067
- constructor(condition: string);
7068
- }
7069
- declare class ContraindicationError extends BackofficeError {
7070
- constructor(message: string);
7071
- }
7072
- declare class InvalidContraindicationError extends ContraindicationError {
7073
- constructor(contraindication: string);
7074
- }
7075
- declare class TreatmentBenefitError extends BackofficeError {
7076
- constructor(message: string);
7077
- }
7078
- declare class InvalidTreatmentBenefitError extends TreatmentBenefitError {
7079
- constructor(benefit: string);
7080
- }
7081
-
7082
- /**
7083
- * Enum defining the possible statuses of an appointment.
7084
- */
7085
- declare enum AppointmentStatus {
7086
- PENDING = "pending",// Initial state after booking, before confirmation (if applicable)
7087
- CONFIRMED = "confirmed",// Confirmed by clinic/practitioner
7088
- CHECKED_IN = "checked_in",// Patient has arrived
7089
- IN_PROGRESS = "in_progress",// Procedure has started
7090
- COMPLETED = "completed",// Procedure finished successfully
7091
- CANCELED_PATIENT = "canceled_patient",// Canceled by the patient
7092
- CANCELED_PATIENT_RESCHEDULED = "canceled_patient_rescheduled",// Canceled by the patient and rescheduled by the clinic
7093
- CANCELED_CLINIC = "canceled_clinic",// Canceled by the clinic/practitioner
7094
- NO_SHOW = "no_show",// Patient did not attend
7095
- RESCHEDULED_BY_CLINIC = "rescheduled_by_clinic"
7096
- }
7097
- /**
7098
- * Enum defining the payment status of an appointment.
7099
- */
7100
- declare enum PaymentStatus {
7101
- UNPAID = "unpaid",
7102
- PAID = "paid",
7103
- PARTIALLY_PAID = "partially_paid",
7104
- REFUNDED = "refunded",
7105
- NOT_APPLICABLE = "not_applicable"
7106
- }
7107
- /**
7108
- * Enum for different types of media that can be attached to an appointment.
7109
- */
7110
- declare enum MediaType {
7111
- BEFORE_PHOTO = "before_photo",
7112
- AFTER_PHOTO = "after_photo",
7113
- CONSENT_SCAN = "consent_scan",
7114
- OTHER_DOCUMENT = "other_document"
7115
- }
7116
- /**
7117
- * Interface to describe a media file linked to an appointment.
7118
- */
7119
- interface AppointmentMediaItem {
7120
- id: string;
7121
- type: MediaType;
7122
- url: string;
7123
- fileName?: string;
7124
- uploadedAt: Timestamp;
7125
- uploadedBy: string;
7126
- description?: string;
7127
- }
7128
- /**
7129
- * Interface for procedure-specific information
7130
- */
7131
- interface ProcedureExtendedInfo {
7132
- id: string;
7133
- name: string;
7134
- description: string;
7135
- cost: number;
7136
- duration: number;
7137
- procedureFamily: ProcedureFamily;
7138
- procedureCategoryId: string;
7139
- procedureCategoryName: string;
7140
- procedureSubCategoryId: string;
7141
- procedureSubCategoryName: string;
7142
- procedureTechnologyId: string;
7143
- procedureTechnologyName: string;
7144
- procedureProductBrandId: string;
7145
- procedureProductBrandName: string;
7146
- procedureProductId: string;
7147
- procedureProductName: string;
7148
- }
7149
- /**
7150
- * Interface to describe a filled form linked to an appointment.
4696
+ * Interface to describe a filled form linked to an appointment.
7151
4697
  */
7152
4698
  interface LinkedFormInfo {
7153
4699
  formId: string;
@@ -9519,72 +7065,6 @@ declare class AppointmentService extends BaseService {
9519
7065
  }>;
9520
7066
  }
9521
7067
 
9522
- /**
9523
- * Firebase utility functions
9524
- * Contains Firebase-specific helper functions
9525
- */
9526
- /**
9527
- * Checks if an email address is already registered in Firebase Auth
9528
- * @param auth - Firebase Auth instance
9529
- * @param email - Email address to check
9530
- * @returns Promise<boolean> - True if email exists, false otherwise
9531
- */
9532
- declare const checkEmailExists: (auth: Auth, email: string) => Promise<boolean>;
9533
- /**
9534
- * Cleanup Firebase user if signup transaction fails
9535
- * @param firebaseUser - Firebase user object to delete
9536
- * @returns Promise<void>
9537
- */
9538
- declare const cleanupFirebaseUser: (firebaseUser: any) => Promise<void>;
9539
-
9540
- /**
9541
- * Error handling utility functions
9542
- * Contains common error handling and transformation logic
9543
- */
9544
- /**
9545
- * Handle Firebase-specific errors and transform them to user-friendly messages
9546
- * @param error - Firebase error object
9547
- * @returns Error with user-friendly message
9548
- */
9549
- declare const handleFirebaseError: (error: any) => Error;
9550
- /**
9551
- * Handle signup errors with specific messaging
9552
- * @param error - Error object from signup process
9553
- * @returns Error with specific user-friendly message
9554
- */
9555
- declare const handleSignupError: (error: any) => Error;
9556
- /**
9557
- * Extract meaningful error message from various error types
9558
- * @param error - Error object of unknown type
9559
- * @returns String containing the error message
9560
- */
9561
- declare const extractErrorMessage: (error: any) => string;
9562
-
9563
- /**
9564
- * Build practitioner data from signup input
9565
- * @param data - Signup data containing practitioner information
9566
- * @param userRef - Firebase user reference ID
9567
- * @returns Complete practitioner data object ready for creation
9568
- */
9569
- declare const buildPractitionerData: (data: {
9570
- email: string;
9571
- firstName?: string;
9572
- lastName?: string;
9573
- profileData?: Partial<CreatePractitionerData>;
9574
- }, userRef: string) => CreatePractitionerData;
9575
- /**
9576
- * Validate practitioner profile data structure using existing Zod schemas
9577
- * @param profileData - Partial practitioner data to validate
9578
- * @throws Error if validation fails
9579
- */
9580
- declare const validatePractitionerProfileData: (profileData: Partial<CreatePractitionerData>) => Promise<void>;
9581
- /**
9582
- * Check if practitioner data is complete for verification
9583
- * @param practitioner - Practitioner object to check
9584
- * @returns boolean indicating if data is complete
9585
- */
9586
- declare const isPractitionerDataComplete: (practitioner: CreatePractitionerData) => boolean;
9587
-
9588
7068
  declare class UserService extends BaseService {
9589
7069
  private patientService;
9590
7070
  private clinicAdminService;
@@ -24567,4 +22047,4 @@ declare const getFirebaseApp: () => Promise<FirebaseApp>;
24567
22047
  declare const getFirebaseStorage: () => Promise<FirebaseStorage>;
24568
22048
  declare const getFirebaseFunctions: () => Promise<Functions>;
24569
22049
 
24570
- export { APPOINTMENTS_COLLECTION, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, AuthService, BRANDS_COLLECTION, BackofficeError, type BaseDocumentElement, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingPerZone, type BinaryChoiceElement, BlockingCondition, BlockingConditionError, type Brand, BrandService, CALENDAR_COLLECTION, CATEGORIES_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, CalendarSyncStatus, type Category, CategoryError, CategoryNotFoundError, CategoryService, CertificationLevel, type CertificationRequirement, CertificationSpecialty, CircularReferenceError, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, ContraindicationError, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBlockingEventParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DEFAULT_CERTIFICATION_REQUIREMENT, DEFAULT_MEDICAL_INFO, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DocumentationTemplateServiceBackoffice, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, type IProductService, InvalidBlockingConditionError, InvalidCategoryDataError, InvalidContraindicationError, InvalidHierarchyError, InvalidRequirementDataError, InvalidSubcategoryDataError, InvalidTechnologyDataError, InvalidTimeframeError, InvalidTreatmentBenefitError, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, NOTIFICATIONS_COLLECTION, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, PRODUCTS_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileForDoctor, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, type PatientRequirementsFilters, PatientRequirementsService, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REQUIREMENTS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, RelationshipError, type RequesterInfo, type Requirement, RequirementError, type RequirementImportance, type RequirementInstructionDueNotification, RequirementNotFoundError, RequirementService, RequirementType, type Review, type ReviewRequestNotification, ReviewService, SUBCATEGORIES_COLLECTION, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryError, SubcategoryNotFoundError, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, TECHNOLOGIES_COLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyError, TechnologyNotFoundError, type TechnologyRequirements, TechnologyService, type TextInputElement, type TimeFrame, type TimeSlot, TimeUnit, TimestampUtils, TreatmentBenefit, TreatmentBenefitError, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentMediaItemSchema, appointmentMetadataSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, appointmentStatusSchema, baseNotificationSchema, beforeAfterPerZoneSchema, billingPerZoneSchema, blockingConditionSchema, blockingConditionSchemaBackoffice, buildPractitionerData, calendarEventSchema, calendarEventTimeSchema, categorySchema, categoryUpdateSchema, certificationLevelSchema, certificationRequirementSchema, certificationSpecialtySchema, checkEmailExists, cleanupFirebaseUser, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchInfoSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, contraindicationSchemaBackoffice, createAdminTokenSchema, createAppointmentSchema, createBlockingEventSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createManualPatientSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPatientTokenSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createProcedureSchema, createReviewSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, extractErrorMessage, filledDocumentSchema, filledDocumentStatusSchema, finalBillingSchema, finalizedDetailsSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, handleFirebaseError, handleSignupError, initializeFirebase, isPractitionerDataComplete, linkedFormInfoSchema, locationDataSchema, mediaResourceSchema, mediaTypeSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientInstructionStatusSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientRequirementInstanceSchema, patientRequirementInstructionSchema, patientRequirementOverallStatusSchema, patientReviewInfoSchema, patientSensitiveInfoSchema, patientTokenSchema, paymentStatusSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureExtendedInfoSchema, procedureFamilySchemaBackoffice, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, procedureSchema, procedureSummaryInfoSchema, requesterInfoSchema, requirementImportanceSchema, requirementInstructionDueNotificationSchema, requirementSchema, requirementTypeSchema, requirementUpdateSchema, rescheduleAppointmentSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, sharedClinicContactInfoSchema, sharedClinicLocationSchema, subcategorySchema, subcategoryUpdateSchema, syncedCalendarEventSchema, technologyRequirementsSchema, technologySchema, technologyUpdateSchema, timeSlotSchema, timeUnitSchemaBackoffice, timeframeSchema, timestampSchema, treatmentBenefitSchemaBackoffice, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateBlockingEventSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientInstructionStatusSchema, updatePatientMedicalInfoSchema, updateProcedureSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, validatePractitionerProfileData, vitalStatsSchema, workingHoursSchema };
22050
+ export { APPOINTMENTS_COLLECTION, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingPerZone, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBlockingEventParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DEFAULT_MEDICAL_INFO, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, NOTIFICATIONS_COLLECTION, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileForDoctor, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, type PatientRequirementsFilters, PatientRequirementsService, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, RequirementType, type Review, type ReviewRequestNotification, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TimestampUtils, TreatmentBenefit, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentMediaItemSchema, appointmentMetadataSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, appointmentStatusSchema, baseNotificationSchema, beforeAfterPerZoneSchema, billingPerZoneSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchInfoSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createBlockingEventSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createManualPatientSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPatientTokenSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createProcedureSchema, createReviewSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, finalBillingSchema, finalizedDetailsSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase, linkedFormInfoSchema, locationDataSchema, mediaResourceSchema, mediaTypeSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientInstructionStatusSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientRequirementInstanceSchema, patientRequirementInstructionSchema, patientRequirementOverallStatusSchema, patientReviewInfoSchema, patientSensitiveInfoSchema, patientTokenSchema, paymentStatusSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureExtendedInfoSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, procedureSchema, procedureSummaryInfoSchema, requesterInfoSchema, requirementImportanceSchema, requirementInstructionDueNotificationSchema, rescheduleAppointmentSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, sharedClinicContactInfoSchema, sharedClinicLocationSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateBlockingEventSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientInstructionStatusSchema, updatePatientMedicalInfoSchema, updateProcedureSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };