@blackcode_sa/metaestetics-api 1.12.31 → 1.12.33
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/admin/index.d.mts +68 -21
- package/dist/admin/index.d.ts +68 -21
- package/dist/admin/index.js +35 -5
- package/dist/admin/index.mjs +35 -5
- package/dist/index.d.mts +203 -44
- package/dist/index.d.ts +203 -44
- package/dist/index.js +2602 -1771
- package/dist/index.mjs +1823 -992
- package/package.json +1 -1
- package/src/admin/booking/booking.admin.ts +40 -4
- package/src/services/appointment/appointment.service.ts +278 -0
- package/src/services/appointment/utils/extended-procedure.utils.ts +232 -0
- package/src/services/appointment/utils/zone-management.utils.ts +335 -0
- package/src/services/patient/patient.service.ts +46 -0
- package/src/services/patient/utils/aesthetic-analysis.utils.ts +57 -2
- package/src/services/procedure/procedure.service.ts +54 -0
- package/src/types/appointment/index.ts +75 -26
- package/src/types/patient/aesthetic-analysis.types.ts +37 -23
- package/src/validations/appointment.schema.ts +100 -4
- package/src/validations/patient/aesthetic-analysis.schema.ts +40 -32
package/dist/index.d.mts
CHANGED
|
@@ -3235,44 +3235,56 @@ interface UpdateMedicationData extends Partial<AddMedicationData> {
|
|
|
3235
3235
|
declare const DEFAULT_MEDICAL_INFO: Omit<PatientMedicalInfo, "patientId" | "lastUpdated" | "updatedBy">;
|
|
3236
3236
|
|
|
3237
3237
|
declare const AESTHETIC_ANALYSIS_COLLECTION = "aesthetic-analysis";
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
category: string;
|
|
3238
|
+
type AestheticAnalysisStatus = 'incomplete' | 'ready_for_planning' | 'treatment_planned';
|
|
3239
|
+
interface ClinicalFindingDetail {
|
|
3240
|
+
severity: string;
|
|
3241
|
+
impact: string;
|
|
3242
|
+
notes?: string;
|
|
3243
|
+
}
|
|
3244
|
+
interface ClinicalFindings {
|
|
3245
|
+
[category: string]: {
|
|
3246
|
+
[concern: string]: ClinicalFindingDetail;
|
|
3247
|
+
};
|
|
3249
3248
|
}
|
|
3250
3249
|
interface PatientGoals {
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
selectedGoalTemplate?: string;
|
|
3250
|
+
timeline?: string;
|
|
3251
|
+
budget?: string;
|
|
3252
|
+
naturalness: number;
|
|
3255
3253
|
priorities: string[];
|
|
3254
|
+
selectedTemplate?: string;
|
|
3255
|
+
}
|
|
3256
|
+
interface AssessmentScales {
|
|
3257
|
+
[scaleName: string]: string;
|
|
3256
3258
|
}
|
|
3257
3259
|
interface AestheticAnalysis {
|
|
3260
|
+
id: string;
|
|
3258
3261
|
patientId: string;
|
|
3262
|
+
appointmentId?: string;
|
|
3263
|
+
selectedConcerns: string[];
|
|
3264
|
+
clinicalFindings: ClinicalFindings;
|
|
3265
|
+
patientGoals: PatientGoals;
|
|
3266
|
+
assessmentScales: AssessmentScales;
|
|
3267
|
+
completionPercentage: number;
|
|
3268
|
+
status: AestheticAnalysisStatus;
|
|
3259
3269
|
lastUpdatedBy: string;
|
|
3260
3270
|
lastUpdatedByRole: 'PATIENT' | 'PRACTITIONER';
|
|
3261
|
-
patientGoals: PatientGoals;
|
|
3262
|
-
clinicalFindings: ClinicalFinding[];
|
|
3263
|
-
assessmentScales: AssessmentScale[];
|
|
3264
3271
|
createdAt?: Timestamp | any;
|
|
3265
3272
|
updatedAt?: Timestamp | any;
|
|
3266
3273
|
}
|
|
3267
3274
|
interface CreateAestheticAnalysisData {
|
|
3275
|
+
patientId: string;
|
|
3276
|
+
appointmentId?: string;
|
|
3277
|
+
selectedConcerns: string[];
|
|
3278
|
+
clinicalFindings: ClinicalFindings;
|
|
3268
3279
|
patientGoals: PatientGoals;
|
|
3269
|
-
|
|
3270
|
-
assessmentScales: AssessmentScale[];
|
|
3280
|
+
assessmentScales?: AssessmentScales;
|
|
3271
3281
|
}
|
|
3272
3282
|
interface UpdateAestheticAnalysisData {
|
|
3283
|
+
appointmentId?: string;
|
|
3284
|
+
selectedConcerns?: string[];
|
|
3285
|
+
clinicalFindings?: ClinicalFindings;
|
|
3273
3286
|
patientGoals?: PatientGoals;
|
|
3274
|
-
|
|
3275
|
-
assessmentScales?: AssessmentScale[];
|
|
3287
|
+
assessmentScales?: AssessmentScales;
|
|
3276
3288
|
}
|
|
3277
3289
|
|
|
3278
3290
|
declare const PATIENTS_COLLECTION = "patients";
|
|
@@ -4359,8 +4371,12 @@ interface ProcedureExtendedInfo {
|
|
|
4359
4371
|
procedureTechnologyName: string;
|
|
4360
4372
|
procedureProductBrandId: string;
|
|
4361
4373
|
procedureProductBrandName: string;
|
|
4362
|
-
|
|
4363
|
-
|
|
4374
|
+
procedureProducts: Array<{
|
|
4375
|
+
productId: string;
|
|
4376
|
+
productName: string;
|
|
4377
|
+
brandId: string;
|
|
4378
|
+
brandName: string;
|
|
4379
|
+
}>;
|
|
4364
4380
|
}
|
|
4365
4381
|
/**
|
|
4366
4382
|
* Interface to describe a filled form linked to an appointment.
|
|
@@ -4410,26 +4426,38 @@ interface ZonePhotoUploadData {
|
|
|
4410
4426
|
notes?: string;
|
|
4411
4427
|
}
|
|
4412
4428
|
/**
|
|
4413
|
-
* Interface for
|
|
4429
|
+
* Interface for zone item data (products or notes per zone)
|
|
4430
|
+
*/
|
|
4431
|
+
interface ZoneItemData {
|
|
4432
|
+
productId?: string;
|
|
4433
|
+
productName?: string;
|
|
4434
|
+
productBrandId?: string;
|
|
4435
|
+
productBrandName?: string;
|
|
4436
|
+
belongingProcedureId: string;
|
|
4437
|
+
type: 'item' | 'note';
|
|
4438
|
+
price?: number;
|
|
4439
|
+
currency?: Currency;
|
|
4440
|
+
unitOfMeasurement?: PricingMeasure;
|
|
4441
|
+
priceOverrideAmount?: number;
|
|
4442
|
+
quantity?: number;
|
|
4443
|
+
parentZone: string;
|
|
4444
|
+
subzones: string[];
|
|
4445
|
+
notes?: string;
|
|
4446
|
+
subtotal?: number;
|
|
4447
|
+
ionNumber?: string;
|
|
4448
|
+
}
|
|
4449
|
+
/**
|
|
4450
|
+
* @deprecated Use ZoneItemData instead
|
|
4414
4451
|
*/
|
|
4415
4452
|
interface BillingPerZone {
|
|
4416
|
-
/** Product name/description */
|
|
4417
4453
|
Product: string;
|
|
4418
|
-
/** Product ID */
|
|
4419
4454
|
ProductId: string | null;
|
|
4420
|
-
/** Quantity used (can be decimal) */
|
|
4421
4455
|
Quantity: number;
|
|
4422
|
-
/** Unit of measurement */
|
|
4423
4456
|
UnitOfMeasurement: PricingMeasure;
|
|
4424
|
-
/** Unit price for the product */
|
|
4425
4457
|
UnitPrice: number;
|
|
4426
|
-
/** Currency for the unit price */
|
|
4427
4458
|
UnitCurency: Currency;
|
|
4428
|
-
/** Calculated subtotal */
|
|
4429
4459
|
Subtotal: number;
|
|
4430
|
-
/** Optional billing note */
|
|
4431
4460
|
Note: string | null;
|
|
4432
|
-
/** Ion/Batch number for traceability */
|
|
4433
4461
|
IonNumber: string | null;
|
|
4434
4462
|
}
|
|
4435
4463
|
/**
|
|
@@ -4444,27 +4472,57 @@ interface FinalBilling {
|
|
|
4444
4472
|
taxPrice: number;
|
|
4445
4473
|
/** Final price including tax */
|
|
4446
4474
|
finalPrice: number;
|
|
4447
|
-
/** Total final quantity across all zones */
|
|
4448
|
-
finalQuantity: number;
|
|
4449
4475
|
/** Currency for the final billing */
|
|
4450
4476
|
currency: Currency;
|
|
4451
|
-
|
|
4477
|
+
}
|
|
4478
|
+
/**
|
|
4479
|
+
* Interface for product metadata in appointment
|
|
4480
|
+
*/
|
|
4481
|
+
interface AppointmentProductMetadata {
|
|
4482
|
+
productId: string;
|
|
4483
|
+
productName: string;
|
|
4484
|
+
brandId: string;
|
|
4485
|
+
brandName: string;
|
|
4486
|
+
procedureId: string;
|
|
4487
|
+
price: number;
|
|
4488
|
+
currency: Currency;
|
|
4452
4489
|
unitOfMeasurement: PricingMeasure;
|
|
4453
4490
|
}
|
|
4491
|
+
/**
|
|
4492
|
+
* Interface for extended procedures in appointment
|
|
4493
|
+
*/
|
|
4494
|
+
interface ExtendedProcedureInfo {
|
|
4495
|
+
procedureId: string;
|
|
4496
|
+
procedureName: string;
|
|
4497
|
+
procedureFamily?: ProcedureFamily;
|
|
4498
|
+
procedureCategoryId: string;
|
|
4499
|
+
procedureCategoryName: string;
|
|
4500
|
+
procedureSubCategoryId: string;
|
|
4501
|
+
procedureSubCategoryName: string;
|
|
4502
|
+
procedureTechnologyId: string;
|
|
4503
|
+
procedureTechnologyName: string;
|
|
4504
|
+
procedureProducts: Array<{
|
|
4505
|
+
productId: string;
|
|
4506
|
+
productName: string;
|
|
4507
|
+
brandId: string;
|
|
4508
|
+
brandName: string;
|
|
4509
|
+
}>;
|
|
4510
|
+
}
|
|
4454
4511
|
/**
|
|
4455
4512
|
* Interface for appointment metadata containing zone-specific information
|
|
4456
4513
|
*/
|
|
4457
4514
|
interface AppointmentMetadata {
|
|
4458
|
-
/** Array of selected zones for the appointment */
|
|
4459
4515
|
selectedZones: string[] | null;
|
|
4460
|
-
/** Map of zone photos with before/after images and notes */
|
|
4461
4516
|
zonePhotos: Record<string, BeforeAfterPerZone> | null;
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4517
|
+
zonesData?: Record<string, ZoneItemData[]> | null;
|
|
4518
|
+
appointmentProducts?: AppointmentProductMetadata[];
|
|
4519
|
+
extendedProcedures?: ExtendedProcedureInfo[];
|
|
4465
4520
|
finalbilling: FinalBilling | null;
|
|
4466
|
-
/** Final note for the appointment */
|
|
4467
4521
|
finalizationNotes: string | null;
|
|
4522
|
+
/**
|
|
4523
|
+
* @deprecated Use zonesData instead
|
|
4524
|
+
*/
|
|
4525
|
+
zoneBilling?: Record<string, BillingPerZone> | null;
|
|
4468
4526
|
}
|
|
4469
4527
|
/**
|
|
4470
4528
|
* Represents a booked appointment, aggregating key information and relevant procedure rules.
|
|
@@ -5084,6 +5142,9 @@ declare class PatientService extends BaseService {
|
|
|
5084
5142
|
* @returns {Promise<PatientToken[]>} An array of active tokens for the patient.
|
|
5085
5143
|
*/
|
|
5086
5144
|
getActiveInviteTokensByPatient(patientId: string): Promise<PatientToken[]>;
|
|
5145
|
+
getAestheticAnalysis(patientId: string): Promise<AestheticAnalysis | null>;
|
|
5146
|
+
createAestheticAnalysis(patientId: string, data: CreateAestheticAnalysisData): Promise<void>;
|
|
5147
|
+
updateAestheticAnalysis(patientId: string, data: UpdateAestheticAnalysisData): Promise<void>;
|
|
5087
5148
|
}
|
|
5088
5149
|
|
|
5089
5150
|
declare class ClinicAdminService extends BaseService {
|
|
@@ -5601,6 +5662,15 @@ declare class ProcedureService extends BaseService {
|
|
|
5601
5662
|
latitude: number | undefined;
|
|
5602
5663
|
longitude: number | undefined;
|
|
5603
5664
|
}[]>;
|
|
5665
|
+
/**
|
|
5666
|
+
* Gets procedures filtered by clinic and practitioner with optional family filter
|
|
5667
|
+
* @param clinicBranchId Clinic branch ID to filter by
|
|
5668
|
+
* @param practitionerId Practitioner ID to filter by
|
|
5669
|
+
* @param filterByFamily If true, shows only procedures of the same family as the default procedure
|
|
5670
|
+
* @param defaultProcedureId Optional default procedure ID to determine the family
|
|
5671
|
+
* @returns Array of procedures
|
|
5672
|
+
*/
|
|
5673
|
+
getProceduresForConsultation(clinicBranchId: string, practitionerId: string, filterByFamily?: boolean, defaultProcedureId?: string): Promise<Procedure[]>;
|
|
5604
5674
|
}
|
|
5605
5675
|
|
|
5606
5676
|
declare class PractitionerService extends BaseService {
|
|
@@ -6104,6 +6174,95 @@ declare class AppointmentService extends BaseService {
|
|
|
6104
6174
|
* @returns The updated appointment
|
|
6105
6175
|
*/
|
|
6106
6176
|
deleteZonePhoto(appointmentId: string, zoneId: string, photoType: 'before' | 'after'): Promise<Appointment>;
|
|
6177
|
+
/**
|
|
6178
|
+
* Adds an item (product or note) to a specific zone
|
|
6179
|
+
*
|
|
6180
|
+
* @param appointmentId ID of the appointment
|
|
6181
|
+
* @param zoneId Zone ID (must be category.zone format, e.g., "face.forehead")
|
|
6182
|
+
* @param item Zone item data to add (without parentZone - it's inferred from zoneId)
|
|
6183
|
+
* @returns The updated appointment
|
|
6184
|
+
*/
|
|
6185
|
+
addItemToZone(appointmentId: string, zoneId: string, item: Omit<ZoneItemData, 'subtotal' | 'parentZone'>): Promise<Appointment>;
|
|
6186
|
+
/**
|
|
6187
|
+
* Removes an item from a specific zone
|
|
6188
|
+
*
|
|
6189
|
+
* @param appointmentId ID of the appointment
|
|
6190
|
+
* @param zoneId Zone ID
|
|
6191
|
+
* @param itemIndex Index of the item to remove in the zone's items array
|
|
6192
|
+
* @returns The updated appointment
|
|
6193
|
+
*/
|
|
6194
|
+
removeItemFromZone(appointmentId: string, zoneId: string, itemIndex: number): Promise<Appointment>;
|
|
6195
|
+
/**
|
|
6196
|
+
* Updates a specific item in a zone
|
|
6197
|
+
*
|
|
6198
|
+
* @param appointmentId ID of the appointment
|
|
6199
|
+
* @param zoneId Zone ID
|
|
6200
|
+
* @param itemIndex Index of the item to update
|
|
6201
|
+
* @param updates Partial updates to apply to the item
|
|
6202
|
+
* @returns The updated appointment
|
|
6203
|
+
*/
|
|
6204
|
+
updateZoneItem(appointmentId: string, zoneId: string, itemIndex: number, updates: Partial<ZoneItemData>): Promise<Appointment>;
|
|
6205
|
+
/**
|
|
6206
|
+
* Overrides the price for a specific zone item
|
|
6207
|
+
*
|
|
6208
|
+
* @param appointmentId ID of the appointment
|
|
6209
|
+
* @param zoneId Zone ID
|
|
6210
|
+
* @param itemIndex Index of the item
|
|
6211
|
+
* @param newPrice New price amount to set
|
|
6212
|
+
* @returns The updated appointment
|
|
6213
|
+
*/
|
|
6214
|
+
overridePriceForZoneItem(appointmentId: string, zoneId: string, itemIndex: number, newPrice: number): Promise<Appointment>;
|
|
6215
|
+
/**
|
|
6216
|
+
* Updates subzones for a specific zone item
|
|
6217
|
+
*
|
|
6218
|
+
* @param appointmentId ID of the appointment
|
|
6219
|
+
* @param zoneId Zone ID
|
|
6220
|
+
* @param itemIndex Index of the item
|
|
6221
|
+
* @param subzones Array of subzone keys (category.zone.subzone format)
|
|
6222
|
+
* @returns The updated appointment
|
|
6223
|
+
*/
|
|
6224
|
+
updateSubzones(appointmentId: string, zoneId: string, itemIndex: number, subzones: string[]): Promise<Appointment>;
|
|
6225
|
+
/**
|
|
6226
|
+
* Adds an extended procedure to an appointment
|
|
6227
|
+
* Automatically aggregates products into appointmentProducts
|
|
6228
|
+
*
|
|
6229
|
+
* @param appointmentId ID of the appointment
|
|
6230
|
+
* @param procedureId ID of the procedure to add
|
|
6231
|
+
* @returns The updated appointment
|
|
6232
|
+
*/
|
|
6233
|
+
addExtendedProcedure(appointmentId: string, procedureId: string): Promise<Appointment>;
|
|
6234
|
+
/**
|
|
6235
|
+
* Removes an extended procedure from an appointment
|
|
6236
|
+
* Also removes associated products from appointmentProducts
|
|
6237
|
+
*
|
|
6238
|
+
* @param appointmentId ID of the appointment
|
|
6239
|
+
* @param procedureId ID of the procedure to remove
|
|
6240
|
+
* @returns The updated appointment
|
|
6241
|
+
*/
|
|
6242
|
+
removeExtendedProcedure(appointmentId: string, procedureId: string): Promise<Appointment>;
|
|
6243
|
+
/**
|
|
6244
|
+
* Gets all extended procedures for an appointment
|
|
6245
|
+
*
|
|
6246
|
+
* @param appointmentId ID of the appointment
|
|
6247
|
+
* @returns Array of extended procedures
|
|
6248
|
+
*/
|
|
6249
|
+
getExtendedProcedures(appointmentId: string): Promise<ExtendedProcedureInfo[]>;
|
|
6250
|
+
/**
|
|
6251
|
+
* Gets all aggregated products for an appointment
|
|
6252
|
+
* Includes products from main procedure and extended procedures
|
|
6253
|
+
*
|
|
6254
|
+
* @param appointmentId ID of the appointment
|
|
6255
|
+
* @returns Array of appointment products
|
|
6256
|
+
*/
|
|
6257
|
+
getAppointmentProducts(appointmentId: string): Promise<AppointmentProductMetadata[]>;
|
|
6258
|
+
/**
|
|
6259
|
+
* Recalculates final billing for an appointment based on zone items
|
|
6260
|
+
*
|
|
6261
|
+
* @param appointmentId ID of the appointment
|
|
6262
|
+
* @param taxRate Tax rate (e.g., 0.20 for 20%)
|
|
6263
|
+
* @returns The updated appointment with recalculated billing
|
|
6264
|
+
*/
|
|
6265
|
+
recalculateFinalBilling(appointmentId: string, taxRate?: number): Promise<Appointment>;
|
|
6107
6266
|
}
|
|
6108
6267
|
|
|
6109
6268
|
declare class UserService extends BaseService {
|
|
@@ -7010,4 +7169,4 @@ declare const getFirebaseApp: () => Promise<FirebaseApp>;
|
|
|
7010
7169
|
declare const getFirebaseStorage: () => Promise<FirebaseStorage>;
|
|
7011
7170
|
declare const getFirebaseFunctions: () => Promise<Functions>;
|
|
7012
7171
|
|
|
7013
|
-
export { AESTHETIC_ANALYSIS_COLLECTION, APPOINTMENTS_COLLECTION, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type AestheticAnalysis, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, type
|
|
7172
|
+
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 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 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 };
|