@blackcode_sa/metaestetics-api 1.12.61 → 1.12.63

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.
@@ -687,6 +687,8 @@ interface Technology {
687
687
  benefits: TreatmentBenefitDynamic[];
688
688
  certificationRequirement: CertificationRequirement;
689
689
  documentationTemplates?: TechnologyDocumentationTemplate[];
690
+ /** Media ID of the default photo template image for this technology */
691
+ photoTemplate?: string;
690
692
  isActive: boolean;
691
693
  createdAt: Date;
692
694
  updatedAt: Date;
@@ -1515,6 +1517,8 @@ interface PatientProfile {
1515
1517
  clinics: PatientClinic[];
1516
1518
  doctorIds: string[];
1517
1519
  clinicIds: string[];
1520
+ /** IDs of dismissed next steps recommendations (format: appointmentId:recommendationIndex) */
1521
+ dismissedNextStepsRecommendations?: string[];
1518
1522
  createdAt: Timestamp;
1519
1523
  updatedAt: Timestamp;
1520
1524
  }
@@ -687,6 +687,8 @@ interface Technology {
687
687
  benefits: TreatmentBenefitDynamic[];
688
688
  certificationRequirement: CertificationRequirement;
689
689
  documentationTemplates?: TechnologyDocumentationTemplate[];
690
+ /** Media ID of the default photo template image for this technology */
691
+ photoTemplate?: string;
690
692
  isActive: boolean;
691
693
  createdAt: Date;
692
694
  updatedAt: Date;
@@ -1515,6 +1517,8 @@ interface PatientProfile {
1515
1517
  clinics: PatientClinic[];
1516
1518
  doctorIds: string[];
1517
1519
  clinicIds: string[];
1520
+ /** IDs of dismissed next steps recommendations (format: appointmentId:recommendationIndex) */
1521
+ dismissedNextStepsRecommendations?: string[];
1518
1522
  createdAt: Timestamp;
1519
1523
  updatedAt: Timestamp;
1520
1524
  }
@@ -1005,6 +1005,8 @@ interface Technology {
1005
1005
  benefits: TreatmentBenefitDynamic[];
1006
1006
  certificationRequirement: CertificationRequirement;
1007
1007
  documentationTemplates?: TechnologyDocumentationTemplate[];
1008
+ /** Media ID of the default photo template image for this technology */
1009
+ photoTemplate?: string;
1008
1010
  isActive: boolean;
1009
1011
  createdAt: Date;
1010
1012
  updatedAt: Date;
@@ -1944,6 +1946,7 @@ declare class TechnologyService extends BaseService implements ITechnologyServic
1944
1946
  benefits: TreatmentBenefitDynamic[];
1945
1947
  certificationRequirement: CertificationRequirement;
1946
1948
  documentationTemplates?: TechnologyDocumentationTemplate[] | undefined;
1949
+ photoTemplate?: string | undefined;
1947
1950
  id: string;
1948
1951
  }>;
1949
1952
  /**
@@ -5077,6 +5080,7 @@ declare const technologySchema: z.ZodObject<{
5077
5080
  minimumLevel: CertificationLevel;
5078
5081
  requiredSpecialties?: CertificationSpecialty[] | undefined;
5079
5082
  }>;
5083
+ photoTemplate: z.ZodOptional<z.ZodString>;
5080
5084
  isActive: z.ZodDefault<z.ZodBoolean>;
5081
5085
  }, "strip", z.ZodTypeAny, {
5082
5086
  name: string;
@@ -5224,6 +5228,7 @@ declare const technologySchema: z.ZodObject<{
5224
5228
  }[];
5225
5229
  description?: string | undefined;
5226
5230
  technicalDetails?: string | undefined;
5231
+ photoTemplate?: string | undefined;
5227
5232
  }, {
5228
5233
  name: string;
5229
5234
  family: ProcedureFamily;
@@ -5370,6 +5375,7 @@ declare const technologySchema: z.ZodObject<{
5370
5375
  isActive?: boolean | undefined;
5371
5376
  }[];
5372
5377
  } | undefined;
5378
+ photoTemplate?: string | undefined;
5373
5379
  }>;
5374
5380
  /**
5375
5381
  * Category validation schema
@@ -6090,6 +6096,7 @@ declare const technologyUpdateSchema: z.ZodObject<{
6090
6096
  minimumLevel: CertificationLevel;
6091
6097
  requiredSpecialties?: CertificationSpecialty[] | undefined;
6092
6098
  }>>;
6099
+ photoTemplate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
6093
6100
  isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6094
6101
  }, "strip", z.ZodTypeAny, {
6095
6102
  name?: string | undefined;
@@ -6237,6 +6244,7 @@ declare const technologyUpdateSchema: z.ZodObject<{
6237
6244
  description?: string | undefined;
6238
6245
  tags?: string[] | undefined;
6239
6246
  }[] | undefined;
6247
+ photoTemplate?: string | undefined;
6240
6248
  }, {
6241
6249
  name?: string | undefined;
6242
6250
  isActive?: boolean | undefined;
@@ -6383,6 +6391,7 @@ declare const technologyUpdateSchema: z.ZodObject<{
6383
6391
  isRequired?: boolean | undefined;
6384
6392
  sortingOrder?: number | undefined;
6385
6393
  }[] | undefined;
6394
+ photoTemplate?: string | undefined;
6386
6395
  }>;
6387
6396
  declare const requirementUpdateSchema: z.ZodObject<{
6388
6397
  name: z.ZodOptional<z.ZodString>;
@@ -1005,6 +1005,8 @@ interface Technology {
1005
1005
  benefits: TreatmentBenefitDynamic[];
1006
1006
  certificationRequirement: CertificationRequirement;
1007
1007
  documentationTemplates?: TechnologyDocumentationTemplate[];
1008
+ /** Media ID of the default photo template image for this technology */
1009
+ photoTemplate?: string;
1008
1010
  isActive: boolean;
1009
1011
  createdAt: Date;
1010
1012
  updatedAt: Date;
@@ -1944,6 +1946,7 @@ declare class TechnologyService extends BaseService implements ITechnologyServic
1944
1946
  benefits: TreatmentBenefitDynamic[];
1945
1947
  certificationRequirement: CertificationRequirement;
1946
1948
  documentationTemplates?: TechnologyDocumentationTemplate[] | undefined;
1949
+ photoTemplate?: string | undefined;
1947
1950
  id: string;
1948
1951
  }>;
1949
1952
  /**
@@ -5077,6 +5080,7 @@ declare const technologySchema: z.ZodObject<{
5077
5080
  minimumLevel: CertificationLevel;
5078
5081
  requiredSpecialties?: CertificationSpecialty[] | undefined;
5079
5082
  }>;
5083
+ photoTemplate: z.ZodOptional<z.ZodString>;
5080
5084
  isActive: z.ZodDefault<z.ZodBoolean>;
5081
5085
  }, "strip", z.ZodTypeAny, {
5082
5086
  name: string;
@@ -5224,6 +5228,7 @@ declare const technologySchema: z.ZodObject<{
5224
5228
  }[];
5225
5229
  description?: string | undefined;
5226
5230
  technicalDetails?: string | undefined;
5231
+ photoTemplate?: string | undefined;
5227
5232
  }, {
5228
5233
  name: string;
5229
5234
  family: ProcedureFamily;
@@ -5370,6 +5375,7 @@ declare const technologySchema: z.ZodObject<{
5370
5375
  isActive?: boolean | undefined;
5371
5376
  }[];
5372
5377
  } | undefined;
5378
+ photoTemplate?: string | undefined;
5373
5379
  }>;
5374
5380
  /**
5375
5381
  * Category validation schema
@@ -6090,6 +6096,7 @@ declare const technologyUpdateSchema: z.ZodObject<{
6090
6096
  minimumLevel: CertificationLevel;
6091
6097
  requiredSpecialties?: CertificationSpecialty[] | undefined;
6092
6098
  }>>;
6099
+ photoTemplate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
6093
6100
  isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6094
6101
  }, "strip", z.ZodTypeAny, {
6095
6102
  name?: string | undefined;
@@ -6237,6 +6244,7 @@ declare const technologyUpdateSchema: z.ZodObject<{
6237
6244
  description?: string | undefined;
6238
6245
  tags?: string[] | undefined;
6239
6246
  }[] | undefined;
6247
+ photoTemplate?: string | undefined;
6240
6248
  }, {
6241
6249
  name?: string | undefined;
6242
6250
  isActive?: boolean | undefined;
@@ -6383,6 +6391,7 @@ declare const technologyUpdateSchema: z.ZodObject<{
6383
6391
  isRequired?: boolean | undefined;
6384
6392
  sortingOrder?: number | undefined;
6385
6393
  }[] | undefined;
6394
+ photoTemplate?: string | undefined;
6386
6395
  }>;
6387
6396
  declare const requirementUpdateSchema: z.ZodObject<{
6388
6397
  name: z.ZodOptional<z.ZodString>;
@@ -2285,6 +2285,9 @@ var TechnologyService = class extends BaseService {
2285
2285
  if (technology.technicalDetails) {
2286
2286
  newTechnology.technicalDetails = technology.technicalDetails;
2287
2287
  }
2288
+ if (technology.photoTemplate) {
2289
+ newTechnology.photoTemplate = technology.photoTemplate;
2290
+ }
2288
2291
  const docRef = await (0, import_firestore11.addDoc)(this.technologiesRef, newTechnology);
2289
2292
  return { id: docRef.id, ...newTechnology };
2290
2293
  }
@@ -2407,6 +2410,13 @@ var TechnologyService = class extends BaseService {
2407
2410
  delete updateData[key];
2408
2411
  }
2409
2412
  });
2413
+ if ("photoTemplate" in technology) {
2414
+ if (technology.photoTemplate === null || technology.photoTemplate === "") {
2415
+ updateData.photoTemplate = null;
2416
+ } else if (technology.photoTemplate !== void 0) {
2417
+ updateData.photoTemplate = technology.photoTemplate;
2418
+ }
2419
+ }
2410
2420
  updateData.updatedAt = /* @__PURE__ */ new Date();
2411
2421
  const docRef = (0, import_firestore11.doc)(this.technologiesRef, id);
2412
2422
  const beforeTech = await this.getById(id);
@@ -3510,6 +3520,7 @@ var technologySchema = import_zod2.z.object({
3510
3520
  documentationTemplates: import_zod2.z.array(documentTemplateSchema),
3511
3521
  benefits: import_zod2.z.array(treatmentBenefitSchemaBackoffice),
3512
3522
  certificationRequirement: certificationRequirementSchema,
3523
+ photoTemplate: import_zod2.z.string().url("Photo template must be a valid URL").optional(),
3513
3524
  isActive: import_zod2.z.boolean().default(true)
3514
3525
  });
3515
3526
  var categorySchema = import_zod2.z.object({
@@ -2305,6 +2305,9 @@ var TechnologyService = class extends BaseService {
2305
2305
  if (technology.technicalDetails) {
2306
2306
  newTechnology.technicalDetails = technology.technicalDetails;
2307
2307
  }
2308
+ if (technology.photoTemplate) {
2309
+ newTechnology.photoTemplate = technology.photoTemplate;
2310
+ }
2308
2311
  const docRef = await addDoc6(this.technologiesRef, newTechnology);
2309
2312
  return { id: docRef.id, ...newTechnology };
2310
2313
  }
@@ -2427,6 +2430,13 @@ var TechnologyService = class extends BaseService {
2427
2430
  delete updateData[key];
2428
2431
  }
2429
2432
  });
2433
+ if ("photoTemplate" in technology) {
2434
+ if (technology.photoTemplate === null || technology.photoTemplate === "") {
2435
+ updateData.photoTemplate = null;
2436
+ } else if (technology.photoTemplate !== void 0) {
2437
+ updateData.photoTemplate = technology.photoTemplate;
2438
+ }
2439
+ }
2430
2440
  updateData.updatedAt = /* @__PURE__ */ new Date();
2431
2441
  const docRef = doc9(this.technologiesRef, id);
2432
2442
  const beforeTech = await this.getById(id);
@@ -3537,6 +3547,7 @@ var technologySchema = z2.object({
3537
3547
  documentationTemplates: z2.array(documentTemplateSchema),
3538
3548
  benefits: z2.array(treatmentBenefitSchemaBackoffice),
3539
3549
  certificationRequirement: certificationRequirementSchema,
3550
+ photoTemplate: z2.string().url("Photo template must be a valid URL").optional(),
3540
3551
  isActive: z2.boolean().default(true)
3541
3552
  });
3542
3553
  var categorySchema = z2.object({
package/dist/index.d.mts CHANGED
@@ -944,6 +944,8 @@ interface Technology {
944
944
  benefits: TreatmentBenefitDynamic[];
945
945
  certificationRequirement: CertificationRequirement;
946
946
  documentationTemplates?: TechnologyDocumentationTemplate[];
947
+ /** Media ID of the default photo template image for this technology */
948
+ photoTemplate?: string;
947
949
  isActive: boolean;
948
950
  createdAt: Date;
949
951
  updatedAt: Date;
@@ -2165,6 +2167,7 @@ declare class TechnologyService extends BaseService implements ITechnologyServic
2165
2167
  benefits: TreatmentBenefitDynamic[];
2166
2168
  certificationRequirement: CertificationRequirement;
2167
2169
  documentationTemplates?: TechnologyDocumentationTemplate[] | undefined;
2170
+ photoTemplate?: string | undefined;
2168
2171
  id: string;
2169
2172
  }>;
2170
2173
  /**
@@ -3687,6 +3690,8 @@ interface PatientProfile {
3687
3690
  clinics: PatientClinic[];
3688
3691
  doctorIds: string[];
3689
3692
  clinicIds: string[];
3693
+ /** IDs of dismissed next steps recommendations (format: appointmentId:recommendationIndex) */
3694
+ dismissedNextStepsRecommendations?: string[];
3690
3695
  createdAt: Timestamp;
3691
3696
  updatedAt: Timestamp;
3692
3697
  }
@@ -4958,6 +4963,33 @@ interface SearchAppointmentsParams {
4958
4963
  }
4959
4964
  /** Firestore collection name */
4960
4965
  declare const APPOINTMENTS_COLLECTION = "appointments";
4966
+ /**
4967
+ * Interface for next steps recommendation with context about when and who suggested it
4968
+ */
4969
+ interface NextStepsRecommendation {
4970
+ /** Unique identifier for this recommendation (appointmentId + recommendationIndex) */
4971
+ id: string;
4972
+ /** The recommended procedure details */
4973
+ recommendedProcedure: RecommendedProcedure;
4974
+ /** ID of the appointment where this was recommended */
4975
+ appointmentId: string;
4976
+ /** Date of the appointment when this was recommended */
4977
+ appointmentDate: Timestamp;
4978
+ /** ID of the practitioner who made the recommendation */
4979
+ practitionerId: string;
4980
+ /** Name of the practitioner who made the recommendation */
4981
+ practitionerName: string;
4982
+ /** ID of the clinic where the appointment took place */
4983
+ clinicBranchId: string;
4984
+ /** Name of the clinic where the appointment took place */
4985
+ clinicName: string;
4986
+ /** Status of the appointment when recommendation was made */
4987
+ appointmentStatus: AppointmentStatus;
4988
+ /** Whether this recommendation has been dismissed by the patient */
4989
+ isDismissed?: boolean;
4990
+ /** When the recommendation was dismissed (if dismissed) */
4991
+ dismissedAt?: Timestamp | null;
4992
+ }
4961
4993
 
4962
4994
  /**
4963
4995
  * Refactored Calendar Service
@@ -6616,6 +6648,72 @@ declare class AppointmentService extends BaseService {
6616
6648
  * @returns Photo entry
6617
6649
  */
6618
6650
  getZonePhotoEntry(appointmentId: string, zoneId: string, photoIndex: number): Promise<BeforeAfterPerZone>;
6651
+ /**
6652
+ * Gets all next steps recommendations for a patient from their past appointments.
6653
+ * Returns recommendations with context about which appointment, practitioner, and clinic suggested them.
6654
+ *
6655
+ * @param patientId ID of the patient
6656
+ * @param options Optional parameters for filtering
6657
+ * @returns Array of next steps recommendations with context
6658
+ */
6659
+ getPatientNextStepsRecommendations(patientId: string, options?: {
6660
+ /** Include dismissed recommendations (default: false) */
6661
+ includeDismissed?: boolean;
6662
+ /** Filter by clinic branch ID */
6663
+ clinicBranchId?: string;
6664
+ /** Filter by practitioner ID */
6665
+ practitionerId?: string;
6666
+ /** Limit the number of results */
6667
+ limit?: number;
6668
+ }): Promise<NextStepsRecommendation[]>;
6669
+ /**
6670
+ * Dismisses a next steps recommendation for a patient.
6671
+ * This prevents the recommendation from showing up in the default view.
6672
+ *
6673
+ * @param patientId ID of the patient
6674
+ * @param recommendationId ID of the recommendation to dismiss (format: appointmentId:recommendationIndex)
6675
+ * @returns Updated patient profile
6676
+ */
6677
+ dismissNextStepsRecommendation(patientId: string, recommendationId: string): Promise<void>;
6678
+ /**
6679
+ * Undismisses a next steps recommendation for a patient.
6680
+ * This makes the recommendation visible again in the default view.
6681
+ *
6682
+ * @param patientId ID of the patient
6683
+ * @param recommendationId ID of the recommendation to undismiss (format: appointmentId:recommendationIndex)
6684
+ * @returns Updated patient profile
6685
+ */
6686
+ undismissNextStepsRecommendation(patientId: string, recommendationId: string): Promise<void>;
6687
+ /**
6688
+ * Gets next steps recommendations for a clinic.
6689
+ * Returns all recommendations from appointments at the specified clinic.
6690
+ * This is useful for clinic admins to see what treatments have been recommended to their patients.
6691
+ *
6692
+ * @param clinicBranchId ID of the clinic branch
6693
+ * @param options Optional parameters for filtering
6694
+ * @returns Array of next steps recommendations with context
6695
+ */
6696
+ getClinicNextStepsRecommendations(clinicBranchId: string, options?: {
6697
+ /** Filter by patient ID */
6698
+ patientId?: string;
6699
+ /** Filter by practitioner ID */
6700
+ practitionerId?: string;
6701
+ /** Limit the number of results */
6702
+ limit?: number;
6703
+ }): Promise<NextStepsRecommendation[]>;
6704
+ /**
6705
+ * Gets next steps recommendations from a specific appointment.
6706
+ * This is useful when viewing an appointment detail page in the clinic app
6707
+ * to see what procedures were recommended during that appointment.
6708
+ *
6709
+ * @param appointmentId ID of the appointment
6710
+ * @param options Optional parameters for filtering
6711
+ * @returns Array of next steps recommendations from that appointment
6712
+ */
6713
+ getAppointmentNextStepsRecommendations(appointmentId: string, options?: {
6714
+ /** Filter by clinic branch ID - only show recommendations for procedures available at this clinic */
6715
+ clinicBranchId?: string;
6716
+ }): Promise<NextStepsRecommendation[]>;
6619
6717
  }
6620
6718
 
6621
6719
  declare class UserService extends BaseService {
@@ -7522,4 +7620,4 @@ declare const getFirebaseApp: () => Promise<FirebaseApp>;
7522
7620
  declare const getFirebaseStorage: () => Promise<FirebaseStorage>;
7523
7621
  declare const getFirebaseFunctions: () => Promise<Functions>;
7524
7622
 
7525
- export { AESTHETIC_ANALYSIS_COLLECTION, APPOINTMENTS_COLLECTION, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type AestheticAnalysis, type AestheticAnalysisStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentProductMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, type AssessmentScales, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingInfo, type BillingPerZone, type BillingTransaction, BillingTransactionType, BillingTransactionsService, 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 ClinicalFindingDetail, type ClinicalFindings, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAestheticAnalysisData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBillingTransactionData, 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, type ExtendedProcedureInfo, 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, type PatientGoals, 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 PlanDetails, 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 ProcedureProduct, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RecommendedProcedure, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, type RequirementSourceProcedure, RequirementType, type Review, type ReviewRequestNotification, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type StripeTransactionData, type Subcategory, SubcategoryService, SubscriptionModel, SubscriptionStatus, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAestheticAnalysisData, 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 VitalStats, type WorkingHours, type ZoneItemData, type ZonePhotoUploadData, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };
7623
+ export { AESTHETIC_ANALYSIS_COLLECTION, APPOINTMENTS_COLLECTION, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type AestheticAnalysis, type AestheticAnalysisStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentProductMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, type AssessmentScales, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingInfo, type BillingPerZone, type BillingTransaction, BillingTransactionType, BillingTransactionsService, 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 ClinicalFindingDetail, type ClinicalFindings, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAestheticAnalysisData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBillingTransactionData, 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, type ExtendedProcedureInfo, 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 NextStepsRecommendation, 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, type PatientGoals, 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 PlanDetails, 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 ProcedureProduct, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RecommendedProcedure, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, type RequirementSourceProcedure, RequirementType, type Review, type ReviewRequestNotification, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type StripeTransactionData, type Subcategory, SubcategoryService, SubscriptionModel, SubscriptionStatus, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAestheticAnalysisData, 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 VitalStats, type WorkingHours, type ZoneItemData, type ZonePhotoUploadData, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };
package/dist/index.d.ts CHANGED
@@ -944,6 +944,8 @@ interface Technology {
944
944
  benefits: TreatmentBenefitDynamic[];
945
945
  certificationRequirement: CertificationRequirement;
946
946
  documentationTemplates?: TechnologyDocumentationTemplate[];
947
+ /** Media ID of the default photo template image for this technology */
948
+ photoTemplate?: string;
947
949
  isActive: boolean;
948
950
  createdAt: Date;
949
951
  updatedAt: Date;
@@ -2165,6 +2167,7 @@ declare class TechnologyService extends BaseService implements ITechnologyServic
2165
2167
  benefits: TreatmentBenefitDynamic[];
2166
2168
  certificationRequirement: CertificationRequirement;
2167
2169
  documentationTemplates?: TechnologyDocumentationTemplate[] | undefined;
2170
+ photoTemplate?: string | undefined;
2168
2171
  id: string;
2169
2172
  }>;
2170
2173
  /**
@@ -3687,6 +3690,8 @@ interface PatientProfile {
3687
3690
  clinics: PatientClinic[];
3688
3691
  doctorIds: string[];
3689
3692
  clinicIds: string[];
3693
+ /** IDs of dismissed next steps recommendations (format: appointmentId:recommendationIndex) */
3694
+ dismissedNextStepsRecommendations?: string[];
3690
3695
  createdAt: Timestamp;
3691
3696
  updatedAt: Timestamp;
3692
3697
  }
@@ -4958,6 +4963,33 @@ interface SearchAppointmentsParams {
4958
4963
  }
4959
4964
  /** Firestore collection name */
4960
4965
  declare const APPOINTMENTS_COLLECTION = "appointments";
4966
+ /**
4967
+ * Interface for next steps recommendation with context about when and who suggested it
4968
+ */
4969
+ interface NextStepsRecommendation {
4970
+ /** Unique identifier for this recommendation (appointmentId + recommendationIndex) */
4971
+ id: string;
4972
+ /** The recommended procedure details */
4973
+ recommendedProcedure: RecommendedProcedure;
4974
+ /** ID of the appointment where this was recommended */
4975
+ appointmentId: string;
4976
+ /** Date of the appointment when this was recommended */
4977
+ appointmentDate: Timestamp;
4978
+ /** ID of the practitioner who made the recommendation */
4979
+ practitionerId: string;
4980
+ /** Name of the practitioner who made the recommendation */
4981
+ practitionerName: string;
4982
+ /** ID of the clinic where the appointment took place */
4983
+ clinicBranchId: string;
4984
+ /** Name of the clinic where the appointment took place */
4985
+ clinicName: string;
4986
+ /** Status of the appointment when recommendation was made */
4987
+ appointmentStatus: AppointmentStatus;
4988
+ /** Whether this recommendation has been dismissed by the patient */
4989
+ isDismissed?: boolean;
4990
+ /** When the recommendation was dismissed (if dismissed) */
4991
+ dismissedAt?: Timestamp | null;
4992
+ }
4961
4993
 
4962
4994
  /**
4963
4995
  * Refactored Calendar Service
@@ -6616,6 +6648,72 @@ declare class AppointmentService extends BaseService {
6616
6648
  * @returns Photo entry
6617
6649
  */
6618
6650
  getZonePhotoEntry(appointmentId: string, zoneId: string, photoIndex: number): Promise<BeforeAfterPerZone>;
6651
+ /**
6652
+ * Gets all next steps recommendations for a patient from their past appointments.
6653
+ * Returns recommendations with context about which appointment, practitioner, and clinic suggested them.
6654
+ *
6655
+ * @param patientId ID of the patient
6656
+ * @param options Optional parameters for filtering
6657
+ * @returns Array of next steps recommendations with context
6658
+ */
6659
+ getPatientNextStepsRecommendations(patientId: string, options?: {
6660
+ /** Include dismissed recommendations (default: false) */
6661
+ includeDismissed?: boolean;
6662
+ /** Filter by clinic branch ID */
6663
+ clinicBranchId?: string;
6664
+ /** Filter by practitioner ID */
6665
+ practitionerId?: string;
6666
+ /** Limit the number of results */
6667
+ limit?: number;
6668
+ }): Promise<NextStepsRecommendation[]>;
6669
+ /**
6670
+ * Dismisses a next steps recommendation for a patient.
6671
+ * This prevents the recommendation from showing up in the default view.
6672
+ *
6673
+ * @param patientId ID of the patient
6674
+ * @param recommendationId ID of the recommendation to dismiss (format: appointmentId:recommendationIndex)
6675
+ * @returns Updated patient profile
6676
+ */
6677
+ dismissNextStepsRecommendation(patientId: string, recommendationId: string): Promise<void>;
6678
+ /**
6679
+ * Undismisses a next steps recommendation for a patient.
6680
+ * This makes the recommendation visible again in the default view.
6681
+ *
6682
+ * @param patientId ID of the patient
6683
+ * @param recommendationId ID of the recommendation to undismiss (format: appointmentId:recommendationIndex)
6684
+ * @returns Updated patient profile
6685
+ */
6686
+ undismissNextStepsRecommendation(patientId: string, recommendationId: string): Promise<void>;
6687
+ /**
6688
+ * Gets next steps recommendations for a clinic.
6689
+ * Returns all recommendations from appointments at the specified clinic.
6690
+ * This is useful for clinic admins to see what treatments have been recommended to their patients.
6691
+ *
6692
+ * @param clinicBranchId ID of the clinic branch
6693
+ * @param options Optional parameters for filtering
6694
+ * @returns Array of next steps recommendations with context
6695
+ */
6696
+ getClinicNextStepsRecommendations(clinicBranchId: string, options?: {
6697
+ /** Filter by patient ID */
6698
+ patientId?: string;
6699
+ /** Filter by practitioner ID */
6700
+ practitionerId?: string;
6701
+ /** Limit the number of results */
6702
+ limit?: number;
6703
+ }): Promise<NextStepsRecommendation[]>;
6704
+ /**
6705
+ * Gets next steps recommendations from a specific appointment.
6706
+ * This is useful when viewing an appointment detail page in the clinic app
6707
+ * to see what procedures were recommended during that appointment.
6708
+ *
6709
+ * @param appointmentId ID of the appointment
6710
+ * @param options Optional parameters for filtering
6711
+ * @returns Array of next steps recommendations from that appointment
6712
+ */
6713
+ getAppointmentNextStepsRecommendations(appointmentId: string, options?: {
6714
+ /** Filter by clinic branch ID - only show recommendations for procedures available at this clinic */
6715
+ clinicBranchId?: string;
6716
+ }): Promise<NextStepsRecommendation[]>;
6619
6717
  }
6620
6718
 
6621
6719
  declare class UserService extends BaseService {
@@ -7522,4 +7620,4 @@ declare const getFirebaseApp: () => Promise<FirebaseApp>;
7522
7620
  declare const getFirebaseStorage: () => Promise<FirebaseStorage>;
7523
7621
  declare const getFirebaseFunctions: () => Promise<Functions>;
7524
7622
 
7525
- export { AESTHETIC_ANALYSIS_COLLECTION, APPOINTMENTS_COLLECTION, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type AestheticAnalysis, type AestheticAnalysisStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentProductMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, type AssessmentScales, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingInfo, type BillingPerZone, type BillingTransaction, BillingTransactionType, BillingTransactionsService, 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 ClinicalFindingDetail, type ClinicalFindings, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAestheticAnalysisData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBillingTransactionData, 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, type ExtendedProcedureInfo, 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, type PatientGoals, 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 PlanDetails, 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 ProcedureProduct, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RecommendedProcedure, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, type RequirementSourceProcedure, RequirementType, type Review, type ReviewRequestNotification, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type StripeTransactionData, type Subcategory, SubcategoryService, SubscriptionModel, SubscriptionStatus, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAestheticAnalysisData, 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 VitalStats, type WorkingHours, type ZoneItemData, type ZonePhotoUploadData, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };
7623
+ export { AESTHETIC_ANALYSIS_COLLECTION, APPOINTMENTS_COLLECTION, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type AestheticAnalysis, type AestheticAnalysisStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentProductMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, type AssessmentScales, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingInfo, type BillingPerZone, type BillingTransaction, BillingTransactionType, BillingTransactionsService, 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 ClinicalFindingDetail, type ClinicalFindings, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAestheticAnalysisData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBillingTransactionData, 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, type ExtendedProcedureInfo, 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 NextStepsRecommendation, 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, type PatientGoals, 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 PlanDetails, 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 ProcedureProduct, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RecommendedProcedure, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, type RequirementSourceProcedure, RequirementType, type Review, type ReviewRequestNotification, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type StripeTransactionData, type Subcategory, SubcategoryService, SubscriptionModel, SubscriptionStatus, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAestheticAnalysisData, 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 VitalStats, type WorkingHours, type ZoneItemData, type ZonePhotoUploadData, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };