@blackcode_sa/metaestetics-api 1.6.3 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/index.d.mts +228 -25
- package/dist/admin/index.d.ts +228 -25
- package/dist/admin/index.js +35867 -2493
- package/dist/admin/index.mjs +35856 -2464
- package/dist/backoffice/index.d.mts +252 -1
- package/dist/backoffice/index.d.ts +252 -1
- package/dist/backoffice/index.js +86 -12
- package/dist/backoffice/index.mjs +86 -13
- package/dist/index.d.mts +1400 -554
- package/dist/index.d.ts +1400 -554
- package/dist/index.js +1325 -683
- package/dist/index.mjs +1358 -710
- package/package.json +1 -1
- package/src/admin/index.ts +15 -1
- package/src/admin/notifications/notifications.admin.ts +1 -1
- package/src/admin/requirements/README.md +128 -0
- package/src/admin/requirements/patient-requirements.admin.service.ts +482 -0
- package/src/index.ts +16 -1
- package/src/services/appointment/appointment.service.ts +315 -86
- package/src/services/clinic/clinic-admin.service.ts +3 -0
- package/src/services/clinic/clinic-group.service.ts +8 -0
- package/src/services/documentation-templates/documentation-template.service.ts +24 -16
- package/src/services/documentation-templates/filled-document.service.ts +253 -136
- package/src/services/patient/patientRequirements.service.ts +285 -0
- package/src/types/appointment/index.ts +134 -10
- package/src/types/documentation-templates/index.ts +34 -2
- package/src/types/notifications/README.md +77 -0
- package/src/types/notifications/index.ts +154 -27
- package/src/types/patient/patient-requirements.ts +81 -0
- package/src/validations/appointment.schema.ts +300 -62
- package/src/validations/documentation-templates/template.schema.ts +55 -0
- package/src/validations/documentation-templates.schema.ts +9 -14
- package/src/validations/notification.schema.ts +3 -3
- package/src/validations/patient/patient-requirements.schema.ts +75 -0
package/dist/index.d.ts
CHANGED
|
@@ -376,6 +376,7 @@ declare enum DocumentElementType {
|
|
|
376
376
|
TEXT_INPUT = "text_input",
|
|
377
377
|
DATE_PICKER = "date_picker",
|
|
378
378
|
SIGNATURE = "signature",
|
|
379
|
+
DITIGAL_SIGNATURE = "digital_signature",
|
|
379
380
|
FILE_UPLOAD = "file_upload"
|
|
380
381
|
}
|
|
381
382
|
/**
|
|
@@ -405,7 +406,12 @@ declare enum DynamicVariable {
|
|
|
405
406
|
CLINIC_NAME = "[CLINIC_NAME]",
|
|
406
407
|
PATIENT_BIRTHDAY = "[PATIENT_BIRTHDAY]",
|
|
407
408
|
APPOINTMENT_DATE = "[APPOINTMENT_DATE]",
|
|
408
|
-
CURRENT_DATE = "[CURRENT_DATE]"
|
|
409
|
+
CURRENT_DATE = "[CURRENT_DATE]",
|
|
410
|
+
PROCEDURE_NAME = "[PROCEDURE_NAME]",
|
|
411
|
+
PROCEDURE_DESCRIPTION = "[PROCEDURE_DESCRIPTION]",
|
|
412
|
+
PROCEDURE_COST = "[PROCEDURE_COST]",
|
|
413
|
+
PROCEDURE_DURATION = "[PROCEDURE_DURATION]",
|
|
414
|
+
PROCEDURE_RISK = "[PROCEDURE_RISK]"
|
|
409
415
|
}
|
|
410
416
|
/**
|
|
411
417
|
* Base interface for all document elements
|
|
@@ -534,6 +540,9 @@ interface DocumentTemplate {
|
|
|
534
540
|
createdBy: string;
|
|
535
541
|
elements: DocumentElement[];
|
|
536
542
|
tags?: string[];
|
|
543
|
+
isUserForm?: boolean;
|
|
544
|
+
isRequired?: boolean;
|
|
545
|
+
sortingOrder?: number;
|
|
537
546
|
version: number;
|
|
538
547
|
isActive: boolean;
|
|
539
548
|
}
|
|
@@ -545,6 +554,9 @@ interface CreateDocumentTemplateData {
|
|
|
545
554
|
description?: string;
|
|
546
555
|
elements: Omit<DocumentElement, "id">[];
|
|
547
556
|
tags?: string[];
|
|
557
|
+
isUserForm?: boolean;
|
|
558
|
+
isRequired?: boolean;
|
|
559
|
+
sortingOrder?: number;
|
|
548
560
|
}
|
|
549
561
|
/**
|
|
550
562
|
* Interface for updating an existing document template
|
|
@@ -555,6 +567,9 @@ interface UpdateDocumentTemplateData {
|
|
|
555
567
|
elements?: Omit<DocumentElement, "id">[];
|
|
556
568
|
tags?: string[];
|
|
557
569
|
isActive?: boolean;
|
|
570
|
+
isUserForm?: boolean;
|
|
571
|
+
isRequired?: boolean;
|
|
572
|
+
sortingOrder?: number;
|
|
558
573
|
}
|
|
559
574
|
/**
|
|
560
575
|
* Interface for a filled document (completed form)
|
|
@@ -563,6 +578,10 @@ interface FilledDocument {
|
|
|
563
578
|
id: string;
|
|
564
579
|
templateId: string;
|
|
565
580
|
templateVersion: number;
|
|
581
|
+
isUserForm: boolean;
|
|
582
|
+
isRequired: boolean;
|
|
583
|
+
procedureId: string;
|
|
584
|
+
appointmentId: string;
|
|
566
585
|
patientId: string;
|
|
567
586
|
practitionerId: string;
|
|
568
587
|
clinicId: string;
|
|
@@ -578,8 +597,11 @@ interface FilledDocument {
|
|
|
578
597
|
*/
|
|
579
598
|
declare enum FilledDocumentStatus {
|
|
580
599
|
DRAFT = "draft",
|
|
581
|
-
|
|
582
|
-
|
|
600
|
+
SKIPPED = "skipped",
|
|
601
|
+
PENDING = "pending",
|
|
602
|
+
COMPLETED = "completed",// When doctor or patient completes the form
|
|
603
|
+
SIGNED = "signed",// Only used for user forms
|
|
604
|
+
REJECTED = "rejected"
|
|
583
605
|
}
|
|
584
606
|
|
|
585
607
|
/**
|
|
@@ -1947,355 +1969,53 @@ interface PatientProfileInfo {
|
|
|
1947
1969
|
}
|
|
1948
1970
|
|
|
1949
1971
|
/**
|
|
1950
|
-
*
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
RESCHEDULED = "rescheduled"
|
|
1962
|
-
}
|
|
1963
|
-
/**
|
|
1964
|
-
* Enum defining the payment status of an appointment.
|
|
1965
|
-
*/
|
|
1966
|
-
declare enum PaymentStatus {
|
|
1967
|
-
UNPAID = "unpaid",
|
|
1968
|
-
PAID = "paid",
|
|
1969
|
-
PARTIALLY_PAID = "partially_paid",
|
|
1970
|
-
REFUNDED = "refunded",
|
|
1971
|
-
NOT_APPLICABLE = "not_applicable"
|
|
1972
|
-
}
|
|
1973
|
-
/**
|
|
1974
|
-
* Represents a booked appointment, aggregating key information and relevant procedure rules.
|
|
1975
|
-
*/
|
|
1976
|
-
interface Appointment {
|
|
1977
|
-
/** Unique identifier for the appointment */
|
|
1978
|
-
id: string;
|
|
1979
|
-
/** Reference to the associated CalendarEvent */
|
|
1980
|
-
calendarEventId: string;
|
|
1981
|
-
/** ID of the clinic branch */
|
|
1982
|
-
clinicBranchId: string;
|
|
1983
|
-
/** Aggregated clinic information (snapshot) */
|
|
1984
|
-
clinicInfo: ClinicInfo;
|
|
1985
|
-
/** ID of the practitioner */
|
|
1986
|
-
practitionerId: string;
|
|
1987
|
-
/** Aggregated practitioner information (snapshot) */
|
|
1988
|
-
practitionerInfo: PractitionerProfileInfo;
|
|
1989
|
-
/** ID of the patient */
|
|
1990
|
-
patientId: string;
|
|
1991
|
-
/** Aggregated patient information (snapshot) */
|
|
1992
|
-
patientInfo: PatientProfileInfo;
|
|
1993
|
-
/** ID of the procedure */
|
|
1994
|
-
procedureId: string;
|
|
1995
|
-
/** Aggregated procedure information including product/brand (snapshot) */
|
|
1996
|
-
procedureInfo: ProcedureSummaryInfo;
|
|
1997
|
-
/** Status of the appointment */
|
|
1998
|
-
status: AppointmentStatus;
|
|
1999
|
-
/** Timestamps */
|
|
2000
|
-
bookingTime: Timestamp;
|
|
2001
|
-
confirmationTime?: Timestamp | null;
|
|
2002
|
-
appointmentStartTime: Timestamp;
|
|
2003
|
-
appointmentEndTime: Timestamp;
|
|
2004
|
-
actualDurationMinutes?: number;
|
|
2005
|
-
/** Cancellation Details */
|
|
2006
|
-
cancellationReason?: string | null;
|
|
2007
|
-
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
2008
|
-
/** Notes */
|
|
2009
|
-
internalNotes?: string | null;
|
|
2010
|
-
patientNotes?: string | null;
|
|
2011
|
-
/** Payment Details */
|
|
2012
|
-
cost: number;
|
|
2013
|
-
currency: Currency;
|
|
2014
|
-
paymentStatus: PaymentStatus;
|
|
2015
|
-
paymentTransactionId?: string | null;
|
|
2016
|
-
/** Procedure-related conditions and requirements */
|
|
2017
|
-
blockingConditions: BlockingCondition[];
|
|
2018
|
-
contraindications: Contraindication[];
|
|
2019
|
-
preProcedureRequirements: Requirement[];
|
|
2020
|
-
postProcedureRequirements: Requirement[];
|
|
2021
|
-
/** Tracking information for requirements completion */
|
|
2022
|
-
completedPreRequirements?: string[];
|
|
2023
|
-
completedPostRequirements?: string[];
|
|
2024
|
-
/** Timestamps */
|
|
2025
|
-
createdAt: Timestamp;
|
|
2026
|
-
updatedAt: Timestamp;
|
|
2027
|
-
/** Recurring appointment information */
|
|
2028
|
-
isRecurring?: boolean;
|
|
2029
|
-
recurringAppointmentId?: string | null;
|
|
2030
|
-
}
|
|
2031
|
-
/**
|
|
2032
|
-
* Data needed to create a new Appointment
|
|
2033
|
-
*/
|
|
2034
|
-
interface CreateAppointmentData {
|
|
2035
|
-
calendarEventId: string;
|
|
2036
|
-
clinicBranchId: string;
|
|
2037
|
-
practitionerId: string;
|
|
2038
|
-
patientId: string;
|
|
2039
|
-
procedureId: string;
|
|
2040
|
-
appointmentStartTime: Timestamp;
|
|
2041
|
-
appointmentEndTime: Timestamp;
|
|
2042
|
-
cost: number;
|
|
2043
|
-
currency: Currency;
|
|
2044
|
-
patientNotes?: string | null;
|
|
2045
|
-
initialStatus: AppointmentStatus;
|
|
2046
|
-
initialPaymentStatus?: PaymentStatus;
|
|
2047
|
-
}
|
|
2048
|
-
/**
|
|
2049
|
-
* Data allowed for updating an Appointment
|
|
2050
|
-
*/
|
|
2051
|
-
interface UpdateAppointmentData {
|
|
2052
|
-
status?: AppointmentStatus;
|
|
2053
|
-
confirmationTime?: Timestamp | null;
|
|
2054
|
-
actualDurationMinutes?: number;
|
|
2055
|
-
cancellationReason?: string | null;
|
|
2056
|
-
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
2057
|
-
internalNotes?: string | null;
|
|
2058
|
-
paymentStatus?: PaymentStatus;
|
|
2059
|
-
paymentTransactionId?: string | null;
|
|
2060
|
-
completedPreRequirements?: string[];
|
|
2061
|
-
completedPostRequirements?: string[];
|
|
2062
|
-
}
|
|
2063
|
-
/**
|
|
2064
|
-
* Parameters for searching appointments
|
|
1972
|
+
* Brend proizvoda ili opreme
|
|
1973
|
+
* Predstavlja proizvođača ili dobavljača proizvoda i opreme koja se koristi u procedurama
|
|
1974
|
+
*
|
|
1975
|
+
* @property id - Jedinstveni identifikator brenda
|
|
1976
|
+
* @property name - Naziv brenda
|
|
1977
|
+
* @property manufacturer - Naziv proizvođača
|
|
1978
|
+
* @property description - Detaljan opis brenda i njegovih proizvoda
|
|
1979
|
+
* @property website - Web stranica brenda
|
|
1980
|
+
* @property isActive - Da li je brend aktivan u sistemu
|
|
1981
|
+
* @property createdAt - Datum kreiranja
|
|
1982
|
+
* @property updatedAt - Datum poslednjeg ažuriranja
|
|
2065
1983
|
*/
|
|
2066
|
-
interface
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
1984
|
+
interface Brand {
|
|
1985
|
+
id?: string;
|
|
1986
|
+
name: string;
|
|
1987
|
+
manufacturer: string;
|
|
1988
|
+
createdAt: Date;
|
|
1989
|
+
updatedAt: Date;
|
|
1990
|
+
isActive: boolean;
|
|
1991
|
+
website?: string;
|
|
1992
|
+
description?: string;
|
|
2075
1993
|
}
|
|
2076
|
-
/** Firestore collection name */
|
|
2077
|
-
declare const APPOINTMENTS_COLLECTION = "appointments";
|
|
2078
1994
|
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
calendarEventId: z.ZodString;
|
|
2084
|
-
clinicBranchId: z.ZodString;
|
|
2085
|
-
practitionerId: z.ZodString;
|
|
2086
|
-
patientId: z.ZodString;
|
|
2087
|
-
procedureId: z.ZodString;
|
|
2088
|
-
appointmentStartTime: z.ZodEffects<z.ZodAny, any, any>;
|
|
2089
|
-
appointmentEndTime: z.ZodEffects<z.ZodAny, any, any>;
|
|
2090
|
-
cost: z.ZodNumber;
|
|
2091
|
-
currency: z.ZodString;
|
|
2092
|
-
patientNotes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2093
|
-
initialStatus: z.ZodNativeEnum<typeof AppointmentStatus>;
|
|
2094
|
-
initialPaymentStatus: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof PaymentStatus>>>;
|
|
2095
|
-
}, "strip", z.ZodTypeAny, {
|
|
2096
|
-
patientId: string;
|
|
2097
|
-
practitionerId: string;
|
|
2098
|
-
calendarEventId: string;
|
|
2099
|
-
clinicBranchId: string;
|
|
2100
|
-
procedureId: string;
|
|
2101
|
-
cost: number;
|
|
2102
|
-
currency: string;
|
|
2103
|
-
initialStatus: AppointmentStatus;
|
|
2104
|
-
initialPaymentStatus: PaymentStatus;
|
|
2105
|
-
appointmentStartTime?: any;
|
|
2106
|
-
appointmentEndTime?: any;
|
|
2107
|
-
patientNotes?: string | null | undefined;
|
|
1995
|
+
declare const documentElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
|
|
1996
|
+
id: z.ZodOptional<z.ZodString>;
|
|
1997
|
+
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
1998
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2108
1999
|
}, {
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
appointmentEndTime?: any;
|
|
2119
|
-
patientNotes?: string | null | undefined;
|
|
2120
|
-
initialPaymentStatus?: PaymentStatus | undefined;
|
|
2121
|
-
}>;
|
|
2122
|
-
/**
|
|
2123
|
-
* Schema for validating appointment update data
|
|
2124
|
-
*/
|
|
2125
|
-
declare const updateAppointmentSchema: z.ZodEffects<z.ZodObject<{
|
|
2126
|
-
status: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentStatus>>;
|
|
2127
|
-
confirmationTime: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
2128
|
-
actualDurationMinutes: z.ZodOptional<z.ZodNumber>;
|
|
2129
|
-
cancellationReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2130
|
-
canceledBy: z.ZodOptional<z.ZodEnum<["patient", "clinic", "practitioner", "system"]>>;
|
|
2131
|
-
internalNotes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2132
|
-
paymentStatus: z.ZodOptional<z.ZodNativeEnum<typeof PaymentStatus>>;
|
|
2133
|
-
paymentTransactionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2134
|
-
completedPreRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2135
|
-
completedPostRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2136
|
-
}, "strip", z.ZodTypeAny, {
|
|
2137
|
-
status?: AppointmentStatus | undefined;
|
|
2138
|
-
confirmationTime?: any;
|
|
2139
|
-
actualDurationMinutes?: number | undefined;
|
|
2140
|
-
cancellationReason?: string | null | undefined;
|
|
2141
|
-
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
2142
|
-
internalNotes?: string | null | undefined;
|
|
2143
|
-
paymentStatus?: PaymentStatus | undefined;
|
|
2144
|
-
paymentTransactionId?: string | null | undefined;
|
|
2145
|
-
completedPreRequirements?: string[] | undefined;
|
|
2146
|
-
completedPostRequirements?: string[] | undefined;
|
|
2000
|
+
type: z.ZodLiteral<DocumentElementType.HEADING>;
|
|
2001
|
+
text: z.ZodString;
|
|
2002
|
+
level: z.ZodNativeEnum<typeof HeadingLevel>;
|
|
2003
|
+
}>, "strip", z.ZodTypeAny, {
|
|
2004
|
+
type: DocumentElementType.HEADING;
|
|
2005
|
+
text: string;
|
|
2006
|
+
level: HeadingLevel;
|
|
2007
|
+
id?: string | undefined;
|
|
2008
|
+
required?: boolean | undefined;
|
|
2147
2009
|
}, {
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
completedPostRequirements?: string[] | undefined;
|
|
2158
|
-
}>, {
|
|
2159
|
-
status?: AppointmentStatus | undefined;
|
|
2160
|
-
confirmationTime?: any;
|
|
2161
|
-
actualDurationMinutes?: number | undefined;
|
|
2162
|
-
cancellationReason?: string | null | undefined;
|
|
2163
|
-
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
2164
|
-
internalNotes?: string | null | undefined;
|
|
2165
|
-
paymentStatus?: PaymentStatus | undefined;
|
|
2166
|
-
paymentTransactionId?: string | null | undefined;
|
|
2167
|
-
completedPreRequirements?: string[] | undefined;
|
|
2168
|
-
completedPostRequirements?: string[] | undefined;
|
|
2169
|
-
}, {
|
|
2170
|
-
status?: AppointmentStatus | undefined;
|
|
2171
|
-
confirmationTime?: any;
|
|
2172
|
-
actualDurationMinutes?: number | undefined;
|
|
2173
|
-
cancellationReason?: string | null | undefined;
|
|
2174
|
-
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
2175
|
-
internalNotes?: string | null | undefined;
|
|
2176
|
-
paymentStatus?: PaymentStatus | undefined;
|
|
2177
|
-
paymentTransactionId?: string | null | undefined;
|
|
2178
|
-
completedPreRequirements?: string[] | undefined;
|
|
2179
|
-
completedPostRequirements?: string[] | undefined;
|
|
2180
|
-
}>;
|
|
2181
|
-
/**
|
|
2182
|
-
* Schema for validating appointment search parameters
|
|
2183
|
-
*/
|
|
2184
|
-
declare const searchAppointmentsSchema: z.ZodEffects<z.ZodObject<{
|
|
2185
|
-
patientId: z.ZodOptional<z.ZodString>;
|
|
2186
|
-
practitionerId: z.ZodOptional<z.ZodString>;
|
|
2187
|
-
clinicBranchId: z.ZodOptional<z.ZodString>;
|
|
2188
|
-
startDate: z.ZodOptional<z.ZodDate>;
|
|
2189
|
-
endDate: z.ZodOptional<z.ZodDate>;
|
|
2190
|
-
status: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<typeof AppointmentStatus>, z.ZodArray<z.ZodNativeEnum<typeof AppointmentStatus>, "many">]>>;
|
|
2191
|
-
limit: z.ZodOptional<z.ZodNumber>;
|
|
2192
|
-
startAfter: z.ZodOptional<z.ZodAny>;
|
|
2193
|
-
}, "strip", z.ZodTypeAny, {
|
|
2194
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2195
|
-
patientId?: string | undefined;
|
|
2196
|
-
startDate?: Date | undefined;
|
|
2197
|
-
endDate?: Date | undefined;
|
|
2198
|
-
limit?: number | undefined;
|
|
2199
|
-
startAfter?: any;
|
|
2200
|
-
practitionerId?: string | undefined;
|
|
2201
|
-
clinicBranchId?: string | undefined;
|
|
2202
|
-
}, {
|
|
2203
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2204
|
-
patientId?: string | undefined;
|
|
2205
|
-
startDate?: Date | undefined;
|
|
2206
|
-
endDate?: Date | undefined;
|
|
2207
|
-
limit?: number | undefined;
|
|
2208
|
-
startAfter?: any;
|
|
2209
|
-
practitionerId?: string | undefined;
|
|
2210
|
-
clinicBranchId?: string | undefined;
|
|
2211
|
-
}>, {
|
|
2212
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2213
|
-
patientId?: string | undefined;
|
|
2214
|
-
startDate?: Date | undefined;
|
|
2215
|
-
endDate?: Date | undefined;
|
|
2216
|
-
limit?: number | undefined;
|
|
2217
|
-
startAfter?: any;
|
|
2218
|
-
practitionerId?: string | undefined;
|
|
2219
|
-
clinicBranchId?: string | undefined;
|
|
2220
|
-
}, {
|
|
2221
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2222
|
-
patientId?: string | undefined;
|
|
2223
|
-
startDate?: Date | undefined;
|
|
2224
|
-
endDate?: Date | undefined;
|
|
2225
|
-
limit?: number | undefined;
|
|
2226
|
-
startAfter?: any;
|
|
2227
|
-
practitionerId?: string | undefined;
|
|
2228
|
-
clinicBranchId?: string | undefined;
|
|
2229
|
-
}>;
|
|
2230
|
-
|
|
2231
|
-
interface FirebaseInstance {
|
|
2232
|
-
app: FirebaseApp;
|
|
2233
|
-
db: Firestore;
|
|
2234
|
-
auth: Auth;
|
|
2235
|
-
analytics: Analytics | null;
|
|
2236
|
-
}
|
|
2237
|
-
declare const initializeFirebase: (config: {
|
|
2238
|
-
apiKey: string;
|
|
2239
|
-
authDomain: string;
|
|
2240
|
-
projectId: string;
|
|
2241
|
-
storageBucket: string;
|
|
2242
|
-
messagingSenderId: string;
|
|
2243
|
-
appId: string;
|
|
2244
|
-
measurementId?: string;
|
|
2245
|
-
}) => FirebaseInstance;
|
|
2246
|
-
declare const getFirebaseInstance: () => Promise<FirebaseInstance>;
|
|
2247
|
-
declare const getFirebaseAuth: () => Promise<Auth>;
|
|
2248
|
-
declare const getFirebaseDB: () => Promise<Firestore>;
|
|
2249
|
-
declare const getFirebaseApp: () => Promise<FirebaseApp>;
|
|
2250
|
-
|
|
2251
|
-
/**
|
|
2252
|
-
* Brend proizvoda ili opreme
|
|
2253
|
-
* Predstavlja proizvođača ili dobavljača proizvoda i opreme koja se koristi u procedurama
|
|
2254
|
-
*
|
|
2255
|
-
* @property id - Jedinstveni identifikator brenda
|
|
2256
|
-
* @property name - Naziv brenda
|
|
2257
|
-
* @property manufacturer - Naziv proizvođača
|
|
2258
|
-
* @property description - Detaljan opis brenda i njegovih proizvoda
|
|
2259
|
-
* @property website - Web stranica brenda
|
|
2260
|
-
* @property isActive - Da li je brend aktivan u sistemu
|
|
2261
|
-
* @property createdAt - Datum kreiranja
|
|
2262
|
-
* @property updatedAt - Datum poslednjeg ažuriranja
|
|
2263
|
-
*/
|
|
2264
|
-
interface Brand {
|
|
2265
|
-
id?: string;
|
|
2266
|
-
name: string;
|
|
2267
|
-
manufacturer: string;
|
|
2268
|
-
createdAt: Date;
|
|
2269
|
-
updatedAt: Date;
|
|
2270
|
-
isActive: boolean;
|
|
2271
|
-
website?: string;
|
|
2272
|
-
description?: string;
|
|
2273
|
-
}
|
|
2274
|
-
|
|
2275
|
-
declare const documentElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
|
|
2276
|
-
id: z.ZodOptional<z.ZodString>;
|
|
2277
|
-
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2278
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
2279
|
-
}, {
|
|
2280
|
-
type: z.ZodLiteral<DocumentElementType.HEADING>;
|
|
2281
|
-
text: z.ZodString;
|
|
2282
|
-
level: z.ZodNativeEnum<typeof HeadingLevel>;
|
|
2283
|
-
}>, "strip", z.ZodTypeAny, {
|
|
2284
|
-
type: DocumentElementType.HEADING;
|
|
2285
|
-
text: string;
|
|
2286
|
-
level: HeadingLevel;
|
|
2287
|
-
id?: string | undefined;
|
|
2288
|
-
required?: boolean | undefined;
|
|
2289
|
-
}, {
|
|
2290
|
-
type: DocumentElementType.HEADING;
|
|
2291
|
-
text: string;
|
|
2292
|
-
level: HeadingLevel;
|
|
2293
|
-
id?: string | undefined;
|
|
2294
|
-
required?: boolean | undefined;
|
|
2295
|
-
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
2296
|
-
id: z.ZodOptional<z.ZodString>;
|
|
2297
|
-
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2298
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
2010
|
+
type: DocumentElementType.HEADING;
|
|
2011
|
+
text: string;
|
|
2012
|
+
level: HeadingLevel;
|
|
2013
|
+
id?: string | undefined;
|
|
2014
|
+
required?: boolean | undefined;
|
|
2015
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
2016
|
+
id: z.ZodOptional<z.ZodString>;
|
|
2017
|
+
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2018
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2299
2019
|
}, {
|
|
2300
2020
|
type: z.ZodLiteral<DocumentElementType.PARAGRAPH>;
|
|
2301
2021
|
text: z.ZodString;
|
|
@@ -2508,6 +2228,23 @@ declare const documentElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObjec
|
|
|
2508
2228
|
id: z.ZodOptional<z.ZodString>;
|
|
2509
2229
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2510
2230
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
2231
|
+
}, {
|
|
2232
|
+
type: z.ZodLiteral<DocumentElementType.DITIGAL_SIGNATURE>;
|
|
2233
|
+
label: z.ZodString;
|
|
2234
|
+
}>, "strip", z.ZodTypeAny, {
|
|
2235
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2236
|
+
label: string;
|
|
2237
|
+
id?: string | undefined;
|
|
2238
|
+
required?: boolean | undefined;
|
|
2239
|
+
}, {
|
|
2240
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2241
|
+
label: string;
|
|
2242
|
+
id?: string | undefined;
|
|
2243
|
+
required?: boolean | undefined;
|
|
2244
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
2245
|
+
id: z.ZodOptional<z.ZodString>;
|
|
2246
|
+
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2247
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2511
2248
|
}, {
|
|
2512
2249
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
2513
2250
|
label: z.ZodString;
|
|
@@ -2742,6 +2479,21 @@ declare const documentElementWithoutIdSchema: z.ZodDiscriminatedUnion<"type", [z
|
|
|
2742
2479
|
id: z.ZodOptional<z.ZodString>;
|
|
2743
2480
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2744
2481
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
2482
|
+
}, {
|
|
2483
|
+
type: z.ZodLiteral<DocumentElementType.DITIGAL_SIGNATURE>;
|
|
2484
|
+
label: z.ZodString;
|
|
2485
|
+
}>, "id">, "strip", z.ZodTypeAny, {
|
|
2486
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2487
|
+
label: string;
|
|
2488
|
+
required?: boolean | undefined;
|
|
2489
|
+
}, {
|
|
2490
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2491
|
+
label: string;
|
|
2492
|
+
required?: boolean | undefined;
|
|
2493
|
+
}>, z.ZodObject<Omit<z.objectUtil.extendShape<{
|
|
2494
|
+
id: z.ZodOptional<z.ZodString>;
|
|
2495
|
+
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2496
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2745
2497
|
}, {
|
|
2746
2498
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
2747
2499
|
label: z.ZodString;
|
|
@@ -2977,6 +2729,21 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
2977
2729
|
id: z.ZodOptional<z.ZodString>;
|
|
2978
2730
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2979
2731
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
2732
|
+
}, {
|
|
2733
|
+
type: z.ZodLiteral<DocumentElementType.DITIGAL_SIGNATURE>;
|
|
2734
|
+
label: z.ZodString;
|
|
2735
|
+
}>, "id">, "strip", z.ZodTypeAny, {
|
|
2736
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2737
|
+
label: string;
|
|
2738
|
+
required?: boolean | undefined;
|
|
2739
|
+
}, {
|
|
2740
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2741
|
+
label: string;
|
|
2742
|
+
required?: boolean | undefined;
|
|
2743
|
+
}>, z.ZodObject<Omit<z.objectUtil.extendShape<{
|
|
2744
|
+
id: z.ZodOptional<z.ZodString>;
|
|
2745
|
+
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2746
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2980
2747
|
}, {
|
|
2981
2748
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
2982
2749
|
label: z.ZodString;
|
|
@@ -2996,6 +2763,9 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
2996
2763
|
maxFileSizeMB?: number | undefined;
|
|
2997
2764
|
}>]>, "many">;
|
|
2998
2765
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2766
|
+
isUserForm: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
2767
|
+
isRequired: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
2768
|
+
sortingOrder: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2999
2769
|
}, "strip", z.ZodTypeAny, {
|
|
3000
2770
|
title: string;
|
|
3001
2771
|
elements: ({
|
|
@@ -3057,6 +2827,10 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3057
2827
|
type: DocumentElementType.SIGNATURE;
|
|
3058
2828
|
label: string;
|
|
3059
2829
|
required?: boolean | undefined;
|
|
2830
|
+
} | {
|
|
2831
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2832
|
+
label: string;
|
|
2833
|
+
required?: boolean | undefined;
|
|
3060
2834
|
} | {
|
|
3061
2835
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3062
2836
|
label: string;
|
|
@@ -3064,6 +2838,9 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3064
2838
|
allowedFileTypes?: string[] | undefined;
|
|
3065
2839
|
maxFileSizeMB?: number | undefined;
|
|
3066
2840
|
})[];
|
|
2841
|
+
isUserForm: boolean;
|
|
2842
|
+
isRequired: boolean;
|
|
2843
|
+
sortingOrder: number;
|
|
3067
2844
|
description?: string | undefined;
|
|
3068
2845
|
tags?: string[] | undefined;
|
|
3069
2846
|
}, {
|
|
@@ -3127,6 +2904,10 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3127
2904
|
type: DocumentElementType.SIGNATURE;
|
|
3128
2905
|
label: string;
|
|
3129
2906
|
required?: boolean | undefined;
|
|
2907
|
+
} | {
|
|
2908
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2909
|
+
label: string;
|
|
2910
|
+
required?: boolean | undefined;
|
|
3130
2911
|
} | {
|
|
3131
2912
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3132
2913
|
label: string;
|
|
@@ -3136,6 +2917,9 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3136
2917
|
})[];
|
|
3137
2918
|
description?: string | undefined;
|
|
3138
2919
|
tags?: string[] | undefined;
|
|
2920
|
+
isUserForm?: boolean | undefined;
|
|
2921
|
+
isRequired?: boolean | undefined;
|
|
2922
|
+
sortingOrder?: number | undefined;
|
|
3139
2923
|
}>;
|
|
3140
2924
|
declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
3141
2925
|
title: z.ZodOptional<z.ZodString>;
|
|
@@ -3354,6 +3138,21 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3354
3138
|
id: z.ZodOptional<z.ZodString>;
|
|
3355
3139
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
3356
3140
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
3141
|
+
}, {
|
|
3142
|
+
type: z.ZodLiteral<DocumentElementType.DITIGAL_SIGNATURE>;
|
|
3143
|
+
label: z.ZodString;
|
|
3144
|
+
}>, "id">, "strip", z.ZodTypeAny, {
|
|
3145
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3146
|
+
label: string;
|
|
3147
|
+
required?: boolean | undefined;
|
|
3148
|
+
}, {
|
|
3149
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3150
|
+
label: string;
|
|
3151
|
+
required?: boolean | undefined;
|
|
3152
|
+
}>, z.ZodObject<Omit<z.objectUtil.extendShape<{
|
|
3153
|
+
id: z.ZodOptional<z.ZodString>;
|
|
3154
|
+
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
3155
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
3357
3156
|
}, {
|
|
3358
3157
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
3359
3158
|
label: z.ZodString;
|
|
@@ -3374,6 +3173,9 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3374
3173
|
}>]>, "many">>;
|
|
3375
3174
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3376
3175
|
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
3176
|
+
isUserForm: z.ZodOptional<z.ZodBoolean>;
|
|
3177
|
+
isRequired: z.ZodOptional<z.ZodBoolean>;
|
|
3178
|
+
sortingOrder: z.ZodOptional<z.ZodNumber>;
|
|
3377
3179
|
}, "strip", z.ZodTypeAny, {
|
|
3378
3180
|
isActive?: boolean | undefined;
|
|
3379
3181
|
description?: string | undefined;
|
|
@@ -3438,6 +3240,10 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3438
3240
|
type: DocumentElementType.SIGNATURE;
|
|
3439
3241
|
label: string;
|
|
3440
3242
|
required?: boolean | undefined;
|
|
3243
|
+
} | {
|
|
3244
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3245
|
+
label: string;
|
|
3246
|
+
required?: boolean | undefined;
|
|
3441
3247
|
} | {
|
|
3442
3248
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3443
3249
|
label: string;
|
|
@@ -3445,6 +3251,9 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3445
3251
|
allowedFileTypes?: string[] | undefined;
|
|
3446
3252
|
maxFileSizeMB?: number | undefined;
|
|
3447
3253
|
})[] | undefined;
|
|
3254
|
+
isUserForm?: boolean | undefined;
|
|
3255
|
+
isRequired?: boolean | undefined;
|
|
3256
|
+
sortingOrder?: number | undefined;
|
|
3448
3257
|
}, {
|
|
3449
3258
|
isActive?: boolean | undefined;
|
|
3450
3259
|
description?: string | undefined;
|
|
@@ -3509,6 +3318,10 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3509
3318
|
type: DocumentElementType.SIGNATURE;
|
|
3510
3319
|
label: string;
|
|
3511
3320
|
required?: boolean | undefined;
|
|
3321
|
+
} | {
|
|
3322
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3323
|
+
label: string;
|
|
3324
|
+
required?: boolean | undefined;
|
|
3512
3325
|
} | {
|
|
3513
3326
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3514
3327
|
label: string;
|
|
@@ -3516,6 +3329,9 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3516
3329
|
allowedFileTypes?: string[] | undefined;
|
|
3517
3330
|
maxFileSizeMB?: number | undefined;
|
|
3518
3331
|
})[] | undefined;
|
|
3332
|
+
isUserForm?: boolean | undefined;
|
|
3333
|
+
isRequired?: boolean | undefined;
|
|
3334
|
+
sortingOrder?: number | undefined;
|
|
3519
3335
|
}>;
|
|
3520
3336
|
declare const documentTemplateSchema: z.ZodObject<{
|
|
3521
3337
|
id: z.ZodString;
|
|
@@ -3760,6 +3576,23 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3760
3576
|
id: z.ZodOptional<z.ZodString>;
|
|
3761
3577
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
3762
3578
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
3579
|
+
}, {
|
|
3580
|
+
type: z.ZodLiteral<DocumentElementType.DITIGAL_SIGNATURE>;
|
|
3581
|
+
label: z.ZodString;
|
|
3582
|
+
}>, "strip", z.ZodTypeAny, {
|
|
3583
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3584
|
+
label: string;
|
|
3585
|
+
id?: string | undefined;
|
|
3586
|
+
required?: boolean | undefined;
|
|
3587
|
+
}, {
|
|
3588
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3589
|
+
label: string;
|
|
3590
|
+
id?: string | undefined;
|
|
3591
|
+
required?: boolean | undefined;
|
|
3592
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
3593
|
+
id: z.ZodOptional<z.ZodString>;
|
|
3594
|
+
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
3595
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
3763
3596
|
}, {
|
|
3764
3597
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
3765
3598
|
label: z.ZodString;
|
|
@@ -3783,6 +3616,9 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3783
3616
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3784
3617
|
version: z.ZodNumber;
|
|
3785
3618
|
isActive: z.ZodBoolean;
|
|
3619
|
+
isUserForm: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
3620
|
+
isRequired: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
3621
|
+
sortingOrder: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3786
3622
|
}, "strip", z.ZodTypeAny, {
|
|
3787
3623
|
id: string;
|
|
3788
3624
|
createdAt: number;
|
|
@@ -3859,6 +3695,11 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3859
3695
|
label: string;
|
|
3860
3696
|
id?: string | undefined;
|
|
3861
3697
|
required?: boolean | undefined;
|
|
3698
|
+
} | {
|
|
3699
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3700
|
+
label: string;
|
|
3701
|
+
id?: string | undefined;
|
|
3702
|
+
required?: boolean | undefined;
|
|
3862
3703
|
} | {
|
|
3863
3704
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3864
3705
|
label: string;
|
|
@@ -3867,6 +3708,9 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3867
3708
|
allowedFileTypes?: string[] | undefined;
|
|
3868
3709
|
maxFileSizeMB?: number | undefined;
|
|
3869
3710
|
})[];
|
|
3711
|
+
isUserForm: boolean;
|
|
3712
|
+
isRequired: boolean;
|
|
3713
|
+
sortingOrder: number;
|
|
3870
3714
|
createdBy: string;
|
|
3871
3715
|
version: number;
|
|
3872
3716
|
description?: string | undefined;
|
|
@@ -3947,6 +3791,11 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3947
3791
|
label: string;
|
|
3948
3792
|
id?: string | undefined;
|
|
3949
3793
|
required?: boolean | undefined;
|
|
3794
|
+
} | {
|
|
3795
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3796
|
+
label: string;
|
|
3797
|
+
id?: string | undefined;
|
|
3798
|
+
required?: boolean | undefined;
|
|
3950
3799
|
} | {
|
|
3951
3800
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3952
3801
|
label: string;
|
|
@@ -3959,6 +3808,91 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3959
3808
|
version: number;
|
|
3960
3809
|
description?: string | undefined;
|
|
3961
3810
|
tags?: string[] | undefined;
|
|
3811
|
+
isUserForm?: boolean | undefined;
|
|
3812
|
+
isRequired?: boolean | undefined;
|
|
3813
|
+
sortingOrder?: number | undefined;
|
|
3814
|
+
}>;
|
|
3815
|
+
declare const filledDocumentStatusSchema: z.ZodNativeEnum<typeof FilledDocumentStatus>;
|
|
3816
|
+
declare const filledDocumentSchema: z.ZodObject<{
|
|
3817
|
+
id: z.ZodString;
|
|
3818
|
+
templateId: z.ZodString;
|
|
3819
|
+
templateVersion: z.ZodNumber;
|
|
3820
|
+
isUserForm: z.ZodBoolean;
|
|
3821
|
+
procedureId: z.ZodString;
|
|
3822
|
+
appointmentId: z.ZodString;
|
|
3823
|
+
patientId: z.ZodString;
|
|
3824
|
+
practitionerId: z.ZodString;
|
|
3825
|
+
clinicId: z.ZodString;
|
|
3826
|
+
createdAt: z.ZodNumber;
|
|
3827
|
+
updatedAt: z.ZodNumber;
|
|
3828
|
+
values: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
3829
|
+
status: z.ZodNativeEnum<typeof FilledDocumentStatus>;
|
|
3830
|
+
}, "strip", z.ZodTypeAny, {
|
|
3831
|
+
id: string;
|
|
3832
|
+
createdAt: number;
|
|
3833
|
+
updatedAt: number;
|
|
3834
|
+
status: FilledDocumentStatus;
|
|
3835
|
+
patientId: string;
|
|
3836
|
+
values: Record<string, any>;
|
|
3837
|
+
isUserForm: boolean;
|
|
3838
|
+
templateId: string;
|
|
3839
|
+
templateVersion: number;
|
|
3840
|
+
procedureId: string;
|
|
3841
|
+
appointmentId: string;
|
|
3842
|
+
practitionerId: string;
|
|
3843
|
+
clinicId: string;
|
|
3844
|
+
}, {
|
|
3845
|
+
id: string;
|
|
3846
|
+
createdAt: number;
|
|
3847
|
+
updatedAt: number;
|
|
3848
|
+
status: FilledDocumentStatus;
|
|
3849
|
+
patientId: string;
|
|
3850
|
+
values: Record<string, any>;
|
|
3851
|
+
isUserForm: boolean;
|
|
3852
|
+
templateId: string;
|
|
3853
|
+
templateVersion: number;
|
|
3854
|
+
procedureId: string;
|
|
3855
|
+
appointmentId: string;
|
|
3856
|
+
practitionerId: string;
|
|
3857
|
+
clinicId: string;
|
|
3858
|
+
}>;
|
|
3859
|
+
declare const createFilledDocumentDataSchema: z.ZodObject<{
|
|
3860
|
+
templateId: z.ZodString;
|
|
3861
|
+
procedureId: z.ZodString;
|
|
3862
|
+
appointmentId: z.ZodString;
|
|
3863
|
+
patientId: z.ZodString;
|
|
3864
|
+
practitionerId: z.ZodString;
|
|
3865
|
+
clinicId: z.ZodString;
|
|
3866
|
+
values: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
|
|
3867
|
+
status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof FilledDocumentStatus>>>;
|
|
3868
|
+
}, "strip", z.ZodTypeAny, {
|
|
3869
|
+
status: FilledDocumentStatus;
|
|
3870
|
+
patientId: string;
|
|
3871
|
+
values: Record<string, any>;
|
|
3872
|
+
templateId: string;
|
|
3873
|
+
procedureId: string;
|
|
3874
|
+
appointmentId: string;
|
|
3875
|
+
practitionerId: string;
|
|
3876
|
+
clinicId: string;
|
|
3877
|
+
}, {
|
|
3878
|
+
patientId: string;
|
|
3879
|
+
templateId: string;
|
|
3880
|
+
procedureId: string;
|
|
3881
|
+
appointmentId: string;
|
|
3882
|
+
practitionerId: string;
|
|
3883
|
+
clinicId: string;
|
|
3884
|
+
status?: FilledDocumentStatus | undefined;
|
|
3885
|
+
values?: Record<string, any> | undefined;
|
|
3886
|
+
}>;
|
|
3887
|
+
declare const updateFilledDocumentDataSchema: z.ZodObject<{
|
|
3888
|
+
values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
3889
|
+
status: z.ZodOptional<z.ZodNativeEnum<typeof FilledDocumentStatus>>;
|
|
3890
|
+
}, "strip", z.ZodTypeAny, {
|
|
3891
|
+
status?: FilledDocumentStatus | undefined;
|
|
3892
|
+
values?: Record<string, any> | undefined;
|
|
3893
|
+
}, {
|
|
3894
|
+
status?: FilledDocumentStatus | undefined;
|
|
3895
|
+
values?: Record<string, any> | undefined;
|
|
3962
3896
|
}>;
|
|
3963
3897
|
|
|
3964
3898
|
declare class BaseService {
|
|
@@ -4419,6 +4353,685 @@ declare class ProductService extends BaseService implements IProductService {
|
|
|
4419
4353
|
getById(technologyId: string, productId: string): Promise<Product | null>;
|
|
4420
4354
|
}
|
|
4421
4355
|
|
|
4356
|
+
/**
|
|
4357
|
+
* Enum defining the possible statuses of an appointment.
|
|
4358
|
+
*/
|
|
4359
|
+
declare enum AppointmentStatus {
|
|
4360
|
+
PENDING = "pending",// Initial state after booking, before confirmation (if applicable)
|
|
4361
|
+
CONFIRMED = "confirmed",// Confirmed by clinic/practitioner
|
|
4362
|
+
CHECKED_IN = "checked_in",// Patient has arrived
|
|
4363
|
+
IN_PROGRESS = "in_progress",// Procedure has started
|
|
4364
|
+
COMPLETED = "completed",// Procedure finished successfully
|
|
4365
|
+
CANCELED_PATIENT = "canceled_patient",// Canceled by the patient
|
|
4366
|
+
CANCELED_PATIENT_RESCHEDULED = "canceled_patient_rescheduled",// Canceled by the patient and rescheduled by the clinic
|
|
4367
|
+
CANCELED_CLINIC = "canceled_clinic",// Canceled by the clinic/practitioner
|
|
4368
|
+
NO_SHOW = "no_show",// Patient did not attend
|
|
4369
|
+
RESCHEDULED_BY_CLINIC = "rescheduled_by_clinic"
|
|
4370
|
+
}
|
|
4371
|
+
/**
|
|
4372
|
+
* Enum defining the payment status of an appointment.
|
|
4373
|
+
*/
|
|
4374
|
+
declare enum PaymentStatus {
|
|
4375
|
+
UNPAID = "unpaid",
|
|
4376
|
+
PAID = "paid",
|
|
4377
|
+
PARTIALLY_PAID = "partially_paid",
|
|
4378
|
+
REFUNDED = "refunded",
|
|
4379
|
+
NOT_APPLICABLE = "not_applicable"
|
|
4380
|
+
}
|
|
4381
|
+
/**
|
|
4382
|
+
* Enum for different types of media that can be attached to an appointment.
|
|
4383
|
+
*/
|
|
4384
|
+
declare enum MediaType {
|
|
4385
|
+
BEFORE_PHOTO = "before_photo",
|
|
4386
|
+
AFTER_PHOTO = "after_photo",
|
|
4387
|
+
CONSENT_SCAN = "consent_scan",
|
|
4388
|
+
OTHER_DOCUMENT = "other_document"
|
|
4389
|
+
}
|
|
4390
|
+
/**
|
|
4391
|
+
* Interface to describe a media file linked to an appointment.
|
|
4392
|
+
*/
|
|
4393
|
+
interface AppointmentMediaItem {
|
|
4394
|
+
id: string;
|
|
4395
|
+
type: MediaType;
|
|
4396
|
+
url: string;
|
|
4397
|
+
fileName?: string;
|
|
4398
|
+
uploadedAt: Timestamp;
|
|
4399
|
+
uploadedBy: string;
|
|
4400
|
+
description?: string;
|
|
4401
|
+
}
|
|
4402
|
+
/**
|
|
4403
|
+
* Interface for procedure-specific information
|
|
4404
|
+
*/
|
|
4405
|
+
interface ProcedureExtendedInfo {
|
|
4406
|
+
id: string;
|
|
4407
|
+
name: string;
|
|
4408
|
+
description: string;
|
|
4409
|
+
cost: number;
|
|
4410
|
+
duration: number;
|
|
4411
|
+
procedureFamily: ProcedureFamily;
|
|
4412
|
+
procedureCategoryId: string;
|
|
4413
|
+
procedureCategoryName: string;
|
|
4414
|
+
procedureSubCategoryId: string;
|
|
4415
|
+
procedureSubCategoryName: string;
|
|
4416
|
+
procedureTechnologyId: string;
|
|
4417
|
+
procedureTechnologyName: string;
|
|
4418
|
+
procedureProductBrandId: string;
|
|
4419
|
+
procedureProductBrandName: string;
|
|
4420
|
+
procedureProductId: string;
|
|
4421
|
+
procedureProductName: string;
|
|
4422
|
+
}
|
|
4423
|
+
/**
|
|
4424
|
+
* Interface to describe a filled form linked to an appointment.
|
|
4425
|
+
*/
|
|
4426
|
+
interface LinkedFormInfo {
|
|
4427
|
+
formId: string;
|
|
4428
|
+
templateId: string;
|
|
4429
|
+
templateVersion: number;
|
|
4430
|
+
title: string;
|
|
4431
|
+
isUserForm: boolean;
|
|
4432
|
+
status: FilledDocumentStatus;
|
|
4433
|
+
path: string;
|
|
4434
|
+
submittedAt?: Timestamp;
|
|
4435
|
+
completedAt?: Timestamp;
|
|
4436
|
+
}
|
|
4437
|
+
/**
|
|
4438
|
+
* Interface for summarized patient review information linked to an appointment.
|
|
4439
|
+
*/
|
|
4440
|
+
interface PatientReviewInfo {
|
|
4441
|
+
reviewId: string;
|
|
4442
|
+
rating: number;
|
|
4443
|
+
comment?: string;
|
|
4444
|
+
reviewedAt: Timestamp;
|
|
4445
|
+
}
|
|
4446
|
+
/**
|
|
4447
|
+
* Represents a booked appointment, aggregating key information and relevant procedure rules.
|
|
4448
|
+
*/
|
|
4449
|
+
interface Appointment {
|
|
4450
|
+
/** Unique identifier for the appointment */
|
|
4451
|
+
id: string;
|
|
4452
|
+
/** Reference to the associated CalendarEvent */
|
|
4453
|
+
calendarEventId: string;
|
|
4454
|
+
/** ID of the clinic branch */
|
|
4455
|
+
clinicBranchId: string;
|
|
4456
|
+
/** Aggregated clinic information (snapshot) */
|
|
4457
|
+
clinicInfo: ClinicInfo;
|
|
4458
|
+
/** ID of the practitioner */
|
|
4459
|
+
practitionerId: string;
|
|
4460
|
+
/** Aggregated practitioner information (snapshot) */
|
|
4461
|
+
practitionerInfo: PractitionerProfileInfo;
|
|
4462
|
+
/** ID of the patient */
|
|
4463
|
+
patientId: string;
|
|
4464
|
+
/** Aggregated patient information (snapshot) */
|
|
4465
|
+
patientInfo: PatientProfileInfo;
|
|
4466
|
+
/** ID of the procedure */
|
|
4467
|
+
procedureId: string;
|
|
4468
|
+
/** Aggregated procedure information including product/brand (snapshot) */
|
|
4469
|
+
procedureInfo: ProcedureSummaryInfo;
|
|
4470
|
+
/** Extended procedure information */
|
|
4471
|
+
procedureExtendedInfo: ProcedureExtendedInfo;
|
|
4472
|
+
/** Status of the appointment */
|
|
4473
|
+
status: AppointmentStatus;
|
|
4474
|
+
/** Timestamps */
|
|
4475
|
+
bookingTime: Timestamp;
|
|
4476
|
+
confirmationTime?: Timestamp | null;
|
|
4477
|
+
cancellationTime?: Timestamp | null;
|
|
4478
|
+
rescheduleTime?: Timestamp | null;
|
|
4479
|
+
appointmentStartTime: Timestamp;
|
|
4480
|
+
appointmentEndTime: Timestamp;
|
|
4481
|
+
procedureActualStartTime?: Timestamp | null;
|
|
4482
|
+
actualDurationMinutes?: number;
|
|
4483
|
+
/** Cancellation Details */
|
|
4484
|
+
cancellationReason?: string | null;
|
|
4485
|
+
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
4486
|
+
/** Notes */
|
|
4487
|
+
internalNotes?: string | null;
|
|
4488
|
+
patientNotes?: string | null;
|
|
4489
|
+
/** Payment Details */
|
|
4490
|
+
cost: number;
|
|
4491
|
+
currency: Currency;
|
|
4492
|
+
paymentStatus: PaymentStatus;
|
|
4493
|
+
paymentTransactionId?: string | null;
|
|
4494
|
+
/** Procedure-related conditions and requirements */
|
|
4495
|
+
blockingConditions: BlockingCondition[];
|
|
4496
|
+
contraindications: Contraindication[];
|
|
4497
|
+
preProcedureRequirements: Requirement[];
|
|
4498
|
+
postProcedureRequirements: Requirement[];
|
|
4499
|
+
/** Tracking information for requirements completion */
|
|
4500
|
+
completedPreRequirements?: string[];
|
|
4501
|
+
completedPostRequirements?: string[];
|
|
4502
|
+
/** NEW: Linked forms (consent, procedure-specific forms, etc.) */
|
|
4503
|
+
linkedForms?: LinkedFormInfo[];
|
|
4504
|
+
pendingUserFormsIds?: string[];
|
|
4505
|
+
/** NEW: Media items (before/after photos, scanned documents, etc.) */
|
|
4506
|
+
media?: AppointmentMediaItem[];
|
|
4507
|
+
/** NEW: Information about the patient's review for this appointment */
|
|
4508
|
+
reviewInfo?: PatientReviewInfo | null;
|
|
4509
|
+
/** NEW: Details about the finalization of the appointment by the practitioner */
|
|
4510
|
+
finalizedDetails?: {
|
|
4511
|
+
by: string;
|
|
4512
|
+
at: Timestamp;
|
|
4513
|
+
notes?: string;
|
|
4514
|
+
};
|
|
4515
|
+
/** Timestamps for record creation and updates */
|
|
4516
|
+
createdAt: Timestamp;
|
|
4517
|
+
updatedAt: Timestamp;
|
|
4518
|
+
/** Recurring appointment information */
|
|
4519
|
+
isRecurring?: boolean;
|
|
4520
|
+
recurringAppointmentId?: string | null;
|
|
4521
|
+
/** NEW: Flag for soft deletion or archiving */
|
|
4522
|
+
isArchived?: boolean;
|
|
4523
|
+
}
|
|
4524
|
+
/**
|
|
4525
|
+
* Data needed to create a new Appointment
|
|
4526
|
+
*/
|
|
4527
|
+
interface CreateAppointmentData {
|
|
4528
|
+
calendarEventId: string;
|
|
4529
|
+
clinicBranchId: string;
|
|
4530
|
+
practitionerId: string;
|
|
4531
|
+
patientId: string;
|
|
4532
|
+
procedureId: string;
|
|
4533
|
+
appointmentStartTime: Timestamp;
|
|
4534
|
+
appointmentEndTime: Timestamp;
|
|
4535
|
+
cost: number;
|
|
4536
|
+
currency: Currency;
|
|
4537
|
+
patientNotes?: string | null;
|
|
4538
|
+
initialStatus: AppointmentStatus;
|
|
4539
|
+
initialPaymentStatus?: PaymentStatus;
|
|
4540
|
+
}
|
|
4541
|
+
/**
|
|
4542
|
+
* Data allowed for updating an Appointment
|
|
4543
|
+
*/
|
|
4544
|
+
interface UpdateAppointmentData {
|
|
4545
|
+
status?: AppointmentStatus;
|
|
4546
|
+
confirmationTime?: Timestamp | FieldValue | null;
|
|
4547
|
+
cancellationTime?: Timestamp | FieldValue | null;
|
|
4548
|
+
rescheduleTime?: Timestamp | FieldValue | null;
|
|
4549
|
+
procedureActualStartTime?: Timestamp | FieldValue | null;
|
|
4550
|
+
actualDurationMinutes?: number;
|
|
4551
|
+
cancellationReason?: string | null;
|
|
4552
|
+
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
4553
|
+
internalNotes?: string | null;
|
|
4554
|
+
patientNotes?: string | FieldValue | null;
|
|
4555
|
+
paymentStatus?: PaymentStatus;
|
|
4556
|
+
paymentTransactionId?: string | FieldValue | null;
|
|
4557
|
+
completedPreRequirements?: string[] | FieldValue;
|
|
4558
|
+
completedPostRequirements?: string[] | FieldValue;
|
|
4559
|
+
appointmentStartTime?: Timestamp;
|
|
4560
|
+
appointmentEndTime?: Timestamp;
|
|
4561
|
+
calendarEventId?: string;
|
|
4562
|
+
cost?: number;
|
|
4563
|
+
clinicBranchId?: string;
|
|
4564
|
+
practitionerId?: string;
|
|
4565
|
+
/** NEW: For updating linked forms - typically managed by dedicated methods */
|
|
4566
|
+
linkedForms?: LinkedFormInfo[] | FieldValue;
|
|
4567
|
+
/** NEW: For updating media items - typically managed by dedicated methods */
|
|
4568
|
+
media?: AppointmentMediaItem[] | FieldValue;
|
|
4569
|
+
/** NEW: For adding/updating review information */
|
|
4570
|
+
reviewInfo?: PatientReviewInfo | FieldValue | null;
|
|
4571
|
+
/** NEW: For setting practitioner finalization details */
|
|
4572
|
+
finalizedDetails?: {
|
|
4573
|
+
by: string;
|
|
4574
|
+
at: Timestamp;
|
|
4575
|
+
notes?: string;
|
|
4576
|
+
} | FieldValue;
|
|
4577
|
+
/** NEW: For archiving/unarchiving */
|
|
4578
|
+
isArchived?: boolean;
|
|
4579
|
+
updatedAt?: FieldValue;
|
|
4580
|
+
}
|
|
4581
|
+
/**
|
|
4582
|
+
* Parameters for searching appointments
|
|
4583
|
+
*/
|
|
4584
|
+
interface SearchAppointmentsParams {
|
|
4585
|
+
patientId?: string;
|
|
4586
|
+
practitionerId?: string;
|
|
4587
|
+
clinicBranchId?: string;
|
|
4588
|
+
startDate?: Date;
|
|
4589
|
+
endDate?: Date;
|
|
4590
|
+
status?: AppointmentStatus | AppointmentStatus[];
|
|
4591
|
+
limit?: number;
|
|
4592
|
+
startAfter?: any;
|
|
4593
|
+
}
|
|
4594
|
+
/** Firestore collection name */
|
|
4595
|
+
declare const APPOINTMENTS_COLLECTION = "appointments";
|
|
4596
|
+
|
|
4597
|
+
/**
|
|
4598
|
+
* Schema for validating appointment creation data
|
|
4599
|
+
*/
|
|
4600
|
+
declare const createAppointmentSchema: z.ZodEffects<z.ZodObject<{
|
|
4601
|
+
calendarEventId: z.ZodString;
|
|
4602
|
+
clinicBranchId: z.ZodString;
|
|
4603
|
+
practitionerId: z.ZodString;
|
|
4604
|
+
patientId: z.ZodString;
|
|
4605
|
+
procedureId: z.ZodString;
|
|
4606
|
+
appointmentStartTime: z.ZodEffects<z.ZodAny, any, any>;
|
|
4607
|
+
appointmentEndTime: z.ZodEffects<z.ZodAny, any, any>;
|
|
4608
|
+
cost: z.ZodNumber;
|
|
4609
|
+
currency: z.ZodString;
|
|
4610
|
+
patientNotes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4611
|
+
initialStatus: z.ZodNativeEnum<typeof AppointmentStatus>;
|
|
4612
|
+
initialPaymentStatus: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof PaymentStatus>>>;
|
|
4613
|
+
}, "strip", z.ZodTypeAny, {
|
|
4614
|
+
patientId: string;
|
|
4615
|
+
procedureId: string;
|
|
4616
|
+
practitionerId: string;
|
|
4617
|
+
cost: number;
|
|
4618
|
+
calendarEventId: string;
|
|
4619
|
+
clinicBranchId: string;
|
|
4620
|
+
currency: string;
|
|
4621
|
+
initialStatus: AppointmentStatus;
|
|
4622
|
+
initialPaymentStatus: PaymentStatus;
|
|
4623
|
+
appointmentStartTime?: any;
|
|
4624
|
+
appointmentEndTime?: any;
|
|
4625
|
+
patientNotes?: string | null | undefined;
|
|
4626
|
+
}, {
|
|
4627
|
+
patientId: string;
|
|
4628
|
+
procedureId: string;
|
|
4629
|
+
practitionerId: string;
|
|
4630
|
+
cost: number;
|
|
4631
|
+
calendarEventId: string;
|
|
4632
|
+
clinicBranchId: string;
|
|
4633
|
+
currency: string;
|
|
4634
|
+
initialStatus: AppointmentStatus;
|
|
4635
|
+
appointmentStartTime?: any;
|
|
4636
|
+
appointmentEndTime?: any;
|
|
4637
|
+
patientNotes?: string | null | undefined;
|
|
4638
|
+
initialPaymentStatus?: PaymentStatus | undefined;
|
|
4639
|
+
}>, {
|
|
4640
|
+
patientId: string;
|
|
4641
|
+
procedureId: string;
|
|
4642
|
+
practitionerId: string;
|
|
4643
|
+
cost: number;
|
|
4644
|
+
calendarEventId: string;
|
|
4645
|
+
clinicBranchId: string;
|
|
4646
|
+
currency: string;
|
|
4647
|
+
initialStatus: AppointmentStatus;
|
|
4648
|
+
initialPaymentStatus: PaymentStatus;
|
|
4649
|
+
appointmentStartTime?: any;
|
|
4650
|
+
appointmentEndTime?: any;
|
|
4651
|
+
patientNotes?: string | null | undefined;
|
|
4652
|
+
}, {
|
|
4653
|
+
patientId: string;
|
|
4654
|
+
procedureId: string;
|
|
4655
|
+
practitionerId: string;
|
|
4656
|
+
cost: number;
|
|
4657
|
+
calendarEventId: string;
|
|
4658
|
+
clinicBranchId: string;
|
|
4659
|
+
currency: string;
|
|
4660
|
+
initialStatus: AppointmentStatus;
|
|
4661
|
+
appointmentStartTime?: any;
|
|
4662
|
+
appointmentEndTime?: any;
|
|
4663
|
+
patientNotes?: string | null | undefined;
|
|
4664
|
+
initialPaymentStatus?: PaymentStatus | undefined;
|
|
4665
|
+
}>;
|
|
4666
|
+
/**
|
|
4667
|
+
* Schema for validating appointment update data
|
|
4668
|
+
*/
|
|
4669
|
+
declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
4670
|
+
status: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentStatus>>;
|
|
4671
|
+
confirmationTime: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
|
|
4672
|
+
cancellationTime: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
|
|
4673
|
+
rescheduleTime: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
|
|
4674
|
+
procedureActualStartTime: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
|
|
4675
|
+
actualDurationMinutes: z.ZodOptional<z.ZodNumber>;
|
|
4676
|
+
cancellationReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4677
|
+
canceledBy: z.ZodOptional<z.ZodEnum<["patient", "clinic", "practitioner", "system"]>>;
|
|
4678
|
+
internalNotes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4679
|
+
patientNotes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
|
|
4680
|
+
paymentStatus: z.ZodOptional<z.ZodNativeEnum<typeof PaymentStatus>>;
|
|
4681
|
+
paymentTransactionId: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
|
|
4682
|
+
completedPreRequirements: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodAny]>>;
|
|
4683
|
+
completedPostRequirements: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodAny]>>;
|
|
4684
|
+
pendingUserFormsIds: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodAny]>>;
|
|
4685
|
+
appointmentStartTime: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
4686
|
+
appointmentEndTime: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
4687
|
+
calendarEventId: z.ZodOptional<z.ZodString>;
|
|
4688
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
4689
|
+
clinicBranchId: z.ZodOptional<z.ZodString>;
|
|
4690
|
+
practitionerId: z.ZodOptional<z.ZodString>;
|
|
4691
|
+
linkedForms: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodObject<{
|
|
4692
|
+
formId: z.ZodString;
|
|
4693
|
+
templateId: z.ZodString;
|
|
4694
|
+
templateVersion: z.ZodNumber;
|
|
4695
|
+
title: z.ZodString;
|
|
4696
|
+
isUserForm: z.ZodBoolean;
|
|
4697
|
+
status: z.ZodNativeEnum<typeof FilledDocumentStatus>;
|
|
4698
|
+
path: z.ZodString;
|
|
4699
|
+
submittedAt: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
4700
|
+
completedAt: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
4701
|
+
}, "strip", z.ZodTypeAny, {
|
|
4702
|
+
status: FilledDocumentStatus;
|
|
4703
|
+
path: string;
|
|
4704
|
+
title: string;
|
|
4705
|
+
isUserForm: boolean;
|
|
4706
|
+
templateId: string;
|
|
4707
|
+
templateVersion: number;
|
|
4708
|
+
formId: string;
|
|
4709
|
+
submittedAt?: any;
|
|
4710
|
+
completedAt?: any;
|
|
4711
|
+
}, {
|
|
4712
|
+
status: FilledDocumentStatus;
|
|
4713
|
+
path: string;
|
|
4714
|
+
title: string;
|
|
4715
|
+
isUserForm: boolean;
|
|
4716
|
+
templateId: string;
|
|
4717
|
+
templateVersion: number;
|
|
4718
|
+
formId: string;
|
|
4719
|
+
submittedAt?: any;
|
|
4720
|
+
completedAt?: any;
|
|
4721
|
+
}>, "many">, z.ZodAny]>>;
|
|
4722
|
+
media: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodObject<{
|
|
4723
|
+
id: z.ZodString;
|
|
4724
|
+
type: z.ZodNativeEnum<typeof MediaType>;
|
|
4725
|
+
url: z.ZodString;
|
|
4726
|
+
fileName: z.ZodOptional<z.ZodString>;
|
|
4727
|
+
uploadedAt: z.ZodEffects<z.ZodAny, any, any>;
|
|
4728
|
+
uploadedBy: z.ZodString;
|
|
4729
|
+
description: z.ZodOptional<z.ZodString>;
|
|
4730
|
+
}, "strip", z.ZodTypeAny, {
|
|
4731
|
+
id: string;
|
|
4732
|
+
type: MediaType;
|
|
4733
|
+
url: string;
|
|
4734
|
+
uploadedBy: string;
|
|
4735
|
+
description?: string | undefined;
|
|
4736
|
+
fileName?: string | undefined;
|
|
4737
|
+
uploadedAt?: any;
|
|
4738
|
+
}, {
|
|
4739
|
+
id: string;
|
|
4740
|
+
type: MediaType;
|
|
4741
|
+
url: string;
|
|
4742
|
+
uploadedBy: string;
|
|
4743
|
+
description?: string | undefined;
|
|
4744
|
+
fileName?: string | undefined;
|
|
4745
|
+
uploadedAt?: any;
|
|
4746
|
+
}>, "many">, z.ZodAny]>>;
|
|
4747
|
+
reviewInfo: z.ZodOptional<z.ZodUnion<[z.ZodNullable<z.ZodObject<{
|
|
4748
|
+
reviewId: z.ZodString;
|
|
4749
|
+
rating: z.ZodNumber;
|
|
4750
|
+
comment: z.ZodOptional<z.ZodString>;
|
|
4751
|
+
reviewedAt: z.ZodEffects<z.ZodAny, any, any>;
|
|
4752
|
+
}, "strip", z.ZodTypeAny, {
|
|
4753
|
+
reviewId: string;
|
|
4754
|
+
rating: number;
|
|
4755
|
+
comment?: string | undefined;
|
|
4756
|
+
reviewedAt?: any;
|
|
4757
|
+
}, {
|
|
4758
|
+
reviewId: string;
|
|
4759
|
+
rating: number;
|
|
4760
|
+
comment?: string | undefined;
|
|
4761
|
+
reviewedAt?: any;
|
|
4762
|
+
}>>, z.ZodAny]>>;
|
|
4763
|
+
finalizedDetails: z.ZodOptional<z.ZodUnion<[z.ZodNullable<z.ZodObject<{
|
|
4764
|
+
by: z.ZodString;
|
|
4765
|
+
at: z.ZodEffects<z.ZodAny, any, any>;
|
|
4766
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
4767
|
+
}, "strip", z.ZodTypeAny, {
|
|
4768
|
+
by: string;
|
|
4769
|
+
notes?: string | undefined;
|
|
4770
|
+
at?: any;
|
|
4771
|
+
}, {
|
|
4772
|
+
by: string;
|
|
4773
|
+
notes?: string | undefined;
|
|
4774
|
+
at?: any;
|
|
4775
|
+
}>>, z.ZodAny]>>;
|
|
4776
|
+
isArchived: z.ZodOptional<z.ZodBoolean>;
|
|
4777
|
+
updatedAt: z.ZodOptional<z.ZodAny>;
|
|
4778
|
+
}, "strip", z.ZodTypeAny, {
|
|
4779
|
+
updatedAt?: any;
|
|
4780
|
+
status?: AppointmentStatus | undefined;
|
|
4781
|
+
practitionerId?: string | undefined;
|
|
4782
|
+
cost?: number | undefined;
|
|
4783
|
+
calendarEventId?: string | undefined;
|
|
4784
|
+
clinicBranchId?: string | undefined;
|
|
4785
|
+
appointmentStartTime?: any;
|
|
4786
|
+
appointmentEndTime?: any;
|
|
4787
|
+
patientNotes?: any;
|
|
4788
|
+
confirmationTime?: any;
|
|
4789
|
+
cancellationTime?: any;
|
|
4790
|
+
rescheduleTime?: any;
|
|
4791
|
+
procedureActualStartTime?: any;
|
|
4792
|
+
actualDurationMinutes?: number | undefined;
|
|
4793
|
+
cancellationReason?: string | null | undefined;
|
|
4794
|
+
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
4795
|
+
internalNotes?: string | null | undefined;
|
|
4796
|
+
paymentStatus?: PaymentStatus | undefined;
|
|
4797
|
+
paymentTransactionId?: any;
|
|
4798
|
+
completedPreRequirements?: any;
|
|
4799
|
+
completedPostRequirements?: any;
|
|
4800
|
+
pendingUserFormsIds?: any;
|
|
4801
|
+
linkedForms?: any;
|
|
4802
|
+
media?: any;
|
|
4803
|
+
reviewInfo?: any;
|
|
4804
|
+
finalizedDetails?: any;
|
|
4805
|
+
isArchived?: boolean | undefined;
|
|
4806
|
+
}, {
|
|
4807
|
+
updatedAt?: any;
|
|
4808
|
+
status?: AppointmentStatus | undefined;
|
|
4809
|
+
practitionerId?: string | undefined;
|
|
4810
|
+
cost?: number | undefined;
|
|
4811
|
+
calendarEventId?: string | undefined;
|
|
4812
|
+
clinicBranchId?: string | undefined;
|
|
4813
|
+
appointmentStartTime?: any;
|
|
4814
|
+
appointmentEndTime?: any;
|
|
4815
|
+
patientNotes?: any;
|
|
4816
|
+
confirmationTime?: any;
|
|
4817
|
+
cancellationTime?: any;
|
|
4818
|
+
rescheduleTime?: any;
|
|
4819
|
+
procedureActualStartTime?: any;
|
|
4820
|
+
actualDurationMinutes?: number | undefined;
|
|
4821
|
+
cancellationReason?: string | null | undefined;
|
|
4822
|
+
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
4823
|
+
internalNotes?: string | null | undefined;
|
|
4824
|
+
paymentStatus?: PaymentStatus | undefined;
|
|
4825
|
+
paymentTransactionId?: any;
|
|
4826
|
+
completedPreRequirements?: any;
|
|
4827
|
+
completedPostRequirements?: any;
|
|
4828
|
+
pendingUserFormsIds?: any;
|
|
4829
|
+
linkedForms?: any;
|
|
4830
|
+
media?: any;
|
|
4831
|
+
reviewInfo?: any;
|
|
4832
|
+
finalizedDetails?: any;
|
|
4833
|
+
isArchived?: boolean | undefined;
|
|
4834
|
+
}>, {
|
|
4835
|
+
updatedAt?: any;
|
|
4836
|
+
status?: AppointmentStatus | undefined;
|
|
4837
|
+
practitionerId?: string | undefined;
|
|
4838
|
+
cost?: number | undefined;
|
|
4839
|
+
calendarEventId?: string | undefined;
|
|
4840
|
+
clinicBranchId?: string | undefined;
|
|
4841
|
+
appointmentStartTime?: any;
|
|
4842
|
+
appointmentEndTime?: any;
|
|
4843
|
+
patientNotes?: any;
|
|
4844
|
+
confirmationTime?: any;
|
|
4845
|
+
cancellationTime?: any;
|
|
4846
|
+
rescheduleTime?: any;
|
|
4847
|
+
procedureActualStartTime?: any;
|
|
4848
|
+
actualDurationMinutes?: number | undefined;
|
|
4849
|
+
cancellationReason?: string | null | undefined;
|
|
4850
|
+
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
4851
|
+
internalNotes?: string | null | undefined;
|
|
4852
|
+
paymentStatus?: PaymentStatus | undefined;
|
|
4853
|
+
paymentTransactionId?: any;
|
|
4854
|
+
completedPreRequirements?: any;
|
|
4855
|
+
completedPostRequirements?: any;
|
|
4856
|
+
pendingUserFormsIds?: any;
|
|
4857
|
+
linkedForms?: any;
|
|
4858
|
+
media?: any;
|
|
4859
|
+
reviewInfo?: any;
|
|
4860
|
+
finalizedDetails?: any;
|
|
4861
|
+
isArchived?: boolean | undefined;
|
|
4862
|
+
}, {
|
|
4863
|
+
updatedAt?: any;
|
|
4864
|
+
status?: AppointmentStatus | undefined;
|
|
4865
|
+
practitionerId?: string | undefined;
|
|
4866
|
+
cost?: number | undefined;
|
|
4867
|
+
calendarEventId?: string | undefined;
|
|
4868
|
+
clinicBranchId?: string | undefined;
|
|
4869
|
+
appointmentStartTime?: any;
|
|
4870
|
+
appointmentEndTime?: any;
|
|
4871
|
+
patientNotes?: any;
|
|
4872
|
+
confirmationTime?: any;
|
|
4873
|
+
cancellationTime?: any;
|
|
4874
|
+
rescheduleTime?: any;
|
|
4875
|
+
procedureActualStartTime?: any;
|
|
4876
|
+
actualDurationMinutes?: number | undefined;
|
|
4877
|
+
cancellationReason?: string | null | undefined;
|
|
4878
|
+
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
4879
|
+
internalNotes?: string | null | undefined;
|
|
4880
|
+
paymentStatus?: PaymentStatus | undefined;
|
|
4881
|
+
paymentTransactionId?: any;
|
|
4882
|
+
completedPreRequirements?: any;
|
|
4883
|
+
completedPostRequirements?: any;
|
|
4884
|
+
pendingUserFormsIds?: any;
|
|
4885
|
+
linkedForms?: any;
|
|
4886
|
+
media?: any;
|
|
4887
|
+
reviewInfo?: any;
|
|
4888
|
+
finalizedDetails?: any;
|
|
4889
|
+
isArchived?: boolean | undefined;
|
|
4890
|
+
}>, {
|
|
4891
|
+
updatedAt?: any;
|
|
4892
|
+
status?: AppointmentStatus | undefined;
|
|
4893
|
+
practitionerId?: string | undefined;
|
|
4894
|
+
cost?: number | undefined;
|
|
4895
|
+
calendarEventId?: string | undefined;
|
|
4896
|
+
clinicBranchId?: string | undefined;
|
|
4897
|
+
appointmentStartTime?: any;
|
|
4898
|
+
appointmentEndTime?: any;
|
|
4899
|
+
patientNotes?: any;
|
|
4900
|
+
confirmationTime?: any;
|
|
4901
|
+
cancellationTime?: any;
|
|
4902
|
+
rescheduleTime?: any;
|
|
4903
|
+
procedureActualStartTime?: any;
|
|
4904
|
+
actualDurationMinutes?: number | undefined;
|
|
4905
|
+
cancellationReason?: string | null | undefined;
|
|
4906
|
+
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
4907
|
+
internalNotes?: string | null | undefined;
|
|
4908
|
+
paymentStatus?: PaymentStatus | undefined;
|
|
4909
|
+
paymentTransactionId?: any;
|
|
4910
|
+
completedPreRequirements?: any;
|
|
4911
|
+
completedPostRequirements?: any;
|
|
4912
|
+
pendingUserFormsIds?: any;
|
|
4913
|
+
linkedForms?: any;
|
|
4914
|
+
media?: any;
|
|
4915
|
+
reviewInfo?: any;
|
|
4916
|
+
finalizedDetails?: any;
|
|
4917
|
+
isArchived?: boolean | undefined;
|
|
4918
|
+
}, {
|
|
4919
|
+
updatedAt?: any;
|
|
4920
|
+
status?: AppointmentStatus | undefined;
|
|
4921
|
+
practitionerId?: string | undefined;
|
|
4922
|
+
cost?: number | undefined;
|
|
4923
|
+
calendarEventId?: string | undefined;
|
|
4924
|
+
clinicBranchId?: string | undefined;
|
|
4925
|
+
appointmentStartTime?: any;
|
|
4926
|
+
appointmentEndTime?: any;
|
|
4927
|
+
patientNotes?: any;
|
|
4928
|
+
confirmationTime?: any;
|
|
4929
|
+
cancellationTime?: any;
|
|
4930
|
+
rescheduleTime?: any;
|
|
4931
|
+
procedureActualStartTime?: any;
|
|
4932
|
+
actualDurationMinutes?: number | undefined;
|
|
4933
|
+
cancellationReason?: string | null | undefined;
|
|
4934
|
+
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
4935
|
+
internalNotes?: string | null | undefined;
|
|
4936
|
+
paymentStatus?: PaymentStatus | undefined;
|
|
4937
|
+
paymentTransactionId?: any;
|
|
4938
|
+
completedPreRequirements?: any;
|
|
4939
|
+
completedPostRequirements?: any;
|
|
4940
|
+
pendingUserFormsIds?: any;
|
|
4941
|
+
linkedForms?: any;
|
|
4942
|
+
media?: any;
|
|
4943
|
+
reviewInfo?: any;
|
|
4944
|
+
finalizedDetails?: any;
|
|
4945
|
+
isArchived?: boolean | undefined;
|
|
4946
|
+
}>;
|
|
4947
|
+
/**
|
|
4948
|
+
* Schema for validating appointment search parameters
|
|
4949
|
+
*/
|
|
4950
|
+
declare const searchAppointmentsSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
4951
|
+
patientId: z.ZodOptional<z.ZodString>;
|
|
4952
|
+
practitionerId: z.ZodOptional<z.ZodString>;
|
|
4953
|
+
clinicBranchId: z.ZodOptional<z.ZodString>;
|
|
4954
|
+
startDate: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
4955
|
+
endDate: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
4956
|
+
status: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<typeof AppointmentStatus>, z.ZodArray<z.ZodNativeEnum<typeof AppointmentStatus>, "atleastone">]>>;
|
|
4957
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4958
|
+
startAfter: z.ZodOptional<z.ZodAny>;
|
|
4959
|
+
}, "strip", z.ZodTypeAny, {
|
|
4960
|
+
limit: number;
|
|
4961
|
+
status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
|
|
4962
|
+
patientId?: string | undefined;
|
|
4963
|
+
startDate?: any;
|
|
4964
|
+
endDate?: any;
|
|
4965
|
+
practitionerId?: string | undefined;
|
|
4966
|
+
startAfter?: any;
|
|
4967
|
+
clinicBranchId?: string | undefined;
|
|
4968
|
+
}, {
|
|
4969
|
+
status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
|
|
4970
|
+
patientId?: string | undefined;
|
|
4971
|
+
startDate?: any;
|
|
4972
|
+
endDate?: any;
|
|
4973
|
+
practitionerId?: string | undefined;
|
|
4974
|
+
limit?: number | undefined;
|
|
4975
|
+
startAfter?: any;
|
|
4976
|
+
clinicBranchId?: string | undefined;
|
|
4977
|
+
}>, {
|
|
4978
|
+
limit: number;
|
|
4979
|
+
status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
|
|
4980
|
+
patientId?: string | undefined;
|
|
4981
|
+
startDate?: any;
|
|
4982
|
+
endDate?: any;
|
|
4983
|
+
practitionerId?: string | undefined;
|
|
4984
|
+
startAfter?: any;
|
|
4985
|
+
clinicBranchId?: string | undefined;
|
|
4986
|
+
}, {
|
|
4987
|
+
status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
|
|
4988
|
+
patientId?: string | undefined;
|
|
4989
|
+
startDate?: any;
|
|
4990
|
+
endDate?: any;
|
|
4991
|
+
practitionerId?: string | undefined;
|
|
4992
|
+
limit?: number | undefined;
|
|
4993
|
+
startAfter?: any;
|
|
4994
|
+
clinicBranchId?: string | undefined;
|
|
4995
|
+
}>, {
|
|
4996
|
+
limit: number;
|
|
4997
|
+
status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
|
|
4998
|
+
patientId?: string | undefined;
|
|
4999
|
+
startDate?: any;
|
|
5000
|
+
endDate?: any;
|
|
5001
|
+
practitionerId?: string | undefined;
|
|
5002
|
+
startAfter?: any;
|
|
5003
|
+
clinicBranchId?: string | undefined;
|
|
5004
|
+
}, {
|
|
5005
|
+
status?: AppointmentStatus | [AppointmentStatus, ...AppointmentStatus[]] | undefined;
|
|
5006
|
+
patientId?: string | undefined;
|
|
5007
|
+
startDate?: any;
|
|
5008
|
+
endDate?: any;
|
|
5009
|
+
practitionerId?: string | undefined;
|
|
5010
|
+
limit?: number | undefined;
|
|
5011
|
+
startAfter?: any;
|
|
5012
|
+
clinicBranchId?: string | undefined;
|
|
5013
|
+
}>;
|
|
5014
|
+
|
|
5015
|
+
interface FirebaseInstance {
|
|
5016
|
+
app: FirebaseApp;
|
|
5017
|
+
db: Firestore;
|
|
5018
|
+
auth: Auth;
|
|
5019
|
+
analytics: Analytics | null;
|
|
5020
|
+
}
|
|
5021
|
+
declare const initializeFirebase: (config: {
|
|
5022
|
+
apiKey: string;
|
|
5023
|
+
authDomain: string;
|
|
5024
|
+
projectId: string;
|
|
5025
|
+
storageBucket: string;
|
|
5026
|
+
messagingSenderId: string;
|
|
5027
|
+
appId: string;
|
|
5028
|
+
measurementId?: string;
|
|
5029
|
+
}) => FirebaseInstance;
|
|
5030
|
+
declare const getFirebaseInstance: () => Promise<FirebaseInstance>;
|
|
5031
|
+
declare const getFirebaseAuth: () => Promise<Auth>;
|
|
5032
|
+
declare const getFirebaseDB: () => Promise<Firestore>;
|
|
5033
|
+
declare const getFirebaseApp: () => Promise<FirebaseApp>;
|
|
5034
|
+
|
|
4422
5035
|
/**
|
|
4423
5036
|
* Enum for synced calendar provider
|
|
4424
5037
|
*/
|
|
@@ -5379,10 +5992,19 @@ declare class AuthService extends BaseService {
|
|
|
5379
5992
|
* Enumeracija koja definiše sve moguće tipove notifikacija
|
|
5380
5993
|
*/
|
|
5381
5994
|
declare enum NotificationType {
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5995
|
+
APPOINTMENT_REMINDER = "appointmentReminder",// For upcoming appointments
|
|
5996
|
+
APPOINTMENT_STATUS_CHANGE = "appointmentStatusChange",// Generic for status changes like confirmed, checked-in etc.
|
|
5997
|
+
APPOINTMENT_RESCHEDULED_PROPOSAL = "appointmentRescheduledProposal",// When clinic proposes a new time
|
|
5998
|
+
APPOINTMENT_CANCELLED = "appointmentCancelled",// When an appointment is cancelled
|
|
5999
|
+
REQUIREMENT_INSTRUCTION_DUE = "requirementInstructionDue",// For specific pre/post care instructions
|
|
6000
|
+
FORM_REMINDER = "formReminder",// Reminds user to fill a specific form
|
|
6001
|
+
FORM_SUBMISSION_CONFIRMATION = "formSubmissionConfirmation",// Confirms form was submitted
|
|
6002
|
+
REVIEW_REQUEST = "reviewRequest",// Request for patient review post-appointment
|
|
6003
|
+
PAYMENT_DUE = "paymentDue",
|
|
6004
|
+
PAYMENT_CONFIRMATION = "paymentConfirmation",
|
|
6005
|
+
PAYMENT_FAILED = "paymentFailed",
|
|
6006
|
+
GENERAL_MESSAGE = "generalMessage",// For general announcements or direct messages
|
|
6007
|
+
ACCOUNT_NOTIFICATION = "accountNotification"
|
|
5386
6008
|
}
|
|
5387
6009
|
/**
|
|
5388
6010
|
* Bazni interfejs za sve notifikacije
|
|
@@ -5416,14 +6038,22 @@ interface BaseNotification {
|
|
|
5416
6038
|
isRead: boolean;
|
|
5417
6039
|
/** Uloga korisnika kome je namenjena notifikacija */
|
|
5418
6040
|
userRole: UserRole;
|
|
6041
|
+
appointmentId?: string;
|
|
6042
|
+
patientRequirementInstanceId?: string;
|
|
6043
|
+
instructionId?: string;
|
|
6044
|
+
formId?: string;
|
|
6045
|
+
originalRequirementId?: string;
|
|
6046
|
+
transactionId?: string;
|
|
5419
6047
|
}
|
|
5420
6048
|
/**
|
|
5421
6049
|
* Status notifikacije
|
|
5422
6050
|
*/
|
|
5423
6051
|
declare enum NotificationStatus {
|
|
5424
6052
|
PENDING = "pending",
|
|
6053
|
+
PROCESSING = "processing",
|
|
5425
6054
|
SENT = "sent",
|
|
5426
6055
|
FAILED = "failed",
|
|
6056
|
+
DELIVERED = "delivered",
|
|
5427
6057
|
CANCELLED = "cancelled",
|
|
5428
6058
|
PARTIAL_SUCCESS = "partialSuccess"
|
|
5429
6059
|
}
|
|
@@ -5431,7 +6061,7 @@ declare enum NotificationStatus {
|
|
|
5431
6061
|
* Notifikacija za pre-requirement
|
|
5432
6062
|
*/
|
|
5433
6063
|
interface PreRequirementNotification extends BaseNotification {
|
|
5434
|
-
notificationType: NotificationType.
|
|
6064
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
5435
6065
|
/** ID tretmana za koji je vezan pre-requirement */
|
|
5436
6066
|
treatmentId: string;
|
|
5437
6067
|
/** Lista pre-requirements koji treba da se ispune */
|
|
@@ -5443,7 +6073,7 @@ interface PreRequirementNotification extends BaseNotification {
|
|
|
5443
6073
|
* Notifikacija za post-requirement
|
|
5444
6074
|
*/
|
|
5445
6075
|
interface PostRequirementNotification extends BaseNotification {
|
|
5446
|
-
notificationType: NotificationType.
|
|
6076
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
5447
6077
|
/** ID tretmana za koji je vezan post-requirement */
|
|
5448
6078
|
treatmentId: string;
|
|
5449
6079
|
/** Lista post-requirements koji treba da se ispune */
|
|
@@ -5452,37 +6082,108 @@ interface PostRequirementNotification extends BaseNotification {
|
|
|
5452
6082
|
deadline: Timestamp;
|
|
5453
6083
|
}
|
|
5454
6084
|
/**
|
|
5455
|
-
*
|
|
6085
|
+
* Notification for a specific instruction from a PatientRequirementInstance.
|
|
6086
|
+
* Example: "Do not eat 2 hours before your [Procedure Name] appointment."
|
|
6087
|
+
*/
|
|
6088
|
+
interface RequirementInstructionDueNotification extends BaseNotification {
|
|
6089
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6090
|
+
appointmentId: string;
|
|
6091
|
+
patientRequirementInstanceId: string;
|
|
6092
|
+
instructionId: string;
|
|
6093
|
+
}
|
|
6094
|
+
/**
|
|
6095
|
+
* Notification reminding about an upcoming appointment.
|
|
6096
|
+
* Example: "Reminder: Your appointment for [Procedure Name] is at [Time] today."
|
|
5456
6097
|
*/
|
|
5457
6098
|
interface AppointmentReminderNotification extends BaseNotification {
|
|
5458
6099
|
notificationType: NotificationType.APPOINTMENT_REMINDER;
|
|
5459
|
-
/** ID zakazanog termina */
|
|
5460
6100
|
appointmentId: string;
|
|
5461
|
-
/** Vreme termina */
|
|
5462
6101
|
appointmentTime: Timestamp;
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
doctorName: string;
|
|
6102
|
+
procedureName?: string;
|
|
6103
|
+
practitionerName?: string;
|
|
6104
|
+
clinicName?: string;
|
|
5467
6105
|
}
|
|
5468
6106
|
/**
|
|
5469
|
-
*
|
|
6107
|
+
* Notification about a change in appointment status (e.g., confirmed, checked-in).
|
|
6108
|
+
* Excludes cancellations and reschedule proposals, which have their own types.
|
|
6109
|
+
* Example: "Your appointment for [Procedure Name] has been Confirmed."
|
|
5470
6110
|
*/
|
|
5471
|
-
interface
|
|
5472
|
-
notificationType: NotificationType.
|
|
5473
|
-
|
|
6111
|
+
interface AppointmentStatusChangeNotification extends BaseNotification {
|
|
6112
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
6113
|
+
appointmentId: string;
|
|
6114
|
+
newStatus: string;
|
|
6115
|
+
previousStatus?: string;
|
|
6116
|
+
procedureName?: string;
|
|
6117
|
+
}
|
|
6118
|
+
/**
|
|
6119
|
+
* Notification informing the patient that the clinic has proposed a new time for their appointment.
|
|
6120
|
+
* Example: "Action Required: [Clinic Name] has proposed a new time for your [Procedure Name] appointment."
|
|
6121
|
+
*/
|
|
6122
|
+
interface AppointmentRescheduledProposalNotification extends BaseNotification {
|
|
6123
|
+
notificationType: NotificationType.APPOINTMENT_RESCHEDULED_PROPOSAL;
|
|
6124
|
+
appointmentId: string;
|
|
6125
|
+
newProposedStartTime: Timestamp;
|
|
6126
|
+
newProposedEndTime: Timestamp;
|
|
6127
|
+
procedureName?: string;
|
|
6128
|
+
}
|
|
6129
|
+
/**
|
|
6130
|
+
* Notification informing about a cancelled appointment.
|
|
6131
|
+
* Example: "Your appointment for [Procedure Name] on [Date] has been cancelled."
|
|
6132
|
+
*/
|
|
6133
|
+
interface AppointmentCancelledNotification extends BaseNotification {
|
|
6134
|
+
notificationType: NotificationType.APPOINTMENT_CANCELLED;
|
|
5474
6135
|
appointmentId: string;
|
|
5475
|
-
/** Novi status termina */
|
|
5476
|
-
appointmentStatus: string;
|
|
5477
|
-
/** Prethodni status termina */
|
|
5478
|
-
previousStatus: string;
|
|
5479
|
-
/** Razlog promene (opciono) */
|
|
5480
6136
|
reason?: string;
|
|
6137
|
+
cancelledByRole?: UserRole;
|
|
6138
|
+
procedureName?: string;
|
|
6139
|
+
}
|
|
6140
|
+
/**
|
|
6141
|
+
* Notification reminding a user to fill a specific form.
|
|
6142
|
+
* Example: "Reminder: Please complete the '[Form Name]' form for your upcoming appointment."
|
|
6143
|
+
*/
|
|
6144
|
+
interface FormReminderNotification extends BaseNotification {
|
|
6145
|
+
notificationType: NotificationType.FORM_REMINDER;
|
|
6146
|
+
appointmentId: string;
|
|
6147
|
+
formId: string;
|
|
6148
|
+
formName: string;
|
|
6149
|
+
formDeadline?: Timestamp;
|
|
6150
|
+
}
|
|
6151
|
+
/**
|
|
6152
|
+
* Notification confirming a form submission.
|
|
6153
|
+
* Example: "Thank you! Your '[Form Name]' form has been submitted successfully."
|
|
6154
|
+
*/
|
|
6155
|
+
interface FormSubmissionConfirmationNotification extends BaseNotification {
|
|
6156
|
+
notificationType: NotificationType.FORM_SUBMISSION_CONFIRMATION;
|
|
6157
|
+
appointmentId?: string;
|
|
6158
|
+
formId: string;
|
|
6159
|
+
formName: string;
|
|
6160
|
+
}
|
|
6161
|
+
/**
|
|
6162
|
+
* Notification requesting a patient to leave a review after an appointment.
|
|
6163
|
+
* Example: "Hope you had a great experience! Would you like to share your feedback for your visit on [Date]?"
|
|
6164
|
+
*/
|
|
6165
|
+
interface ReviewRequestNotification extends BaseNotification {
|
|
6166
|
+
notificationType: NotificationType.REVIEW_REQUEST;
|
|
6167
|
+
appointmentId: string;
|
|
6168
|
+
practitionerName?: string;
|
|
6169
|
+
procedureName?: string;
|
|
6170
|
+
}
|
|
6171
|
+
/**
|
|
6172
|
+
* Generic notification for direct messages or announcements.
|
|
6173
|
+
*/
|
|
6174
|
+
interface GeneralMessageNotification extends BaseNotification {
|
|
6175
|
+
notificationType: NotificationType.GENERAL_MESSAGE;
|
|
6176
|
+
}
|
|
6177
|
+
interface PaymentConfirmationNotification extends BaseNotification {
|
|
6178
|
+
notificationType: NotificationType.PAYMENT_CONFIRMATION;
|
|
6179
|
+
transactionId: string;
|
|
6180
|
+
appointmentId?: string;
|
|
6181
|
+
amount: string;
|
|
5481
6182
|
}
|
|
5482
6183
|
/**
|
|
5483
6184
|
* Unija svih tipova notifikacija
|
|
5484
6185
|
*/
|
|
5485
|
-
type Notification = PreRequirementNotification | PostRequirementNotification | AppointmentReminderNotification |
|
|
6186
|
+
type Notification = PreRequirementNotification | PostRequirementNotification | RequirementInstructionDueNotification | AppointmentReminderNotification | AppointmentStatusChangeNotification | AppointmentRescheduledProposalNotification | AppointmentCancelledNotification | FormReminderNotification | FormSubmissionConfirmationNotification | ReviewRequestNotification | GeneralMessageNotification | PaymentConfirmationNotification;
|
|
5486
6187
|
|
|
5487
6188
|
declare class NotificationService extends BaseService {
|
|
5488
6189
|
/**
|
|
@@ -5719,39 +6420,72 @@ declare class DocumentationTemplateService extends BaseService {
|
|
|
5719
6420
|
}
|
|
5720
6421
|
|
|
5721
6422
|
/**
|
|
5722
|
-
* Service for managing filled documents
|
|
6423
|
+
* Service for managing filled documents within appointment subcollections
|
|
5723
6424
|
*/
|
|
5724
6425
|
declare class FilledDocumentService extends BaseService {
|
|
5725
|
-
private readonly collectionRef;
|
|
5726
6426
|
private readonly templateService;
|
|
5727
6427
|
constructor(...args: ConstructorParameters<typeof BaseService>);
|
|
6428
|
+
private getFormSubcollectionPath;
|
|
6429
|
+
/**
|
|
6430
|
+
* Create a new filled document within an appointment's subcollection.
|
|
6431
|
+
* @param templateId - ID of the template to use.
|
|
6432
|
+
* @param appointmentId - ID of the appointment this form belongs to.
|
|
6433
|
+
* @param procedureId - ID of the procedure associated with this form.
|
|
6434
|
+
* @param patientId - ID of the patient.
|
|
6435
|
+
* @param practitionerId - ID of the practitioner (can be system/generic if patient is filling).
|
|
6436
|
+
* @param clinicId - ID of the clinic.
|
|
6437
|
+
* @param initialValues - Optional initial values for the form elements.
|
|
6438
|
+
* @param initialStatus - Optional initial status for the form.
|
|
6439
|
+
* @returns The created filled document.
|
|
6440
|
+
*/
|
|
6441
|
+
createFilledDocumentForAppointment(templateId: string, appointmentId: string, procedureId: string, patientId: string, practitionerId: string, // Consider if this is always available or if a placeholder is needed
|
|
6442
|
+
clinicId: string, // Same consideration as practitionerId
|
|
6443
|
+
initialValues?: {
|
|
6444
|
+
[elementId: string]: any;
|
|
6445
|
+
}, initialStatus?: FilledDocumentStatus): Promise<FilledDocument>;
|
|
5728
6446
|
/**
|
|
5729
|
-
*
|
|
5730
|
-
* @param
|
|
5731
|
-
* @param
|
|
5732
|
-
* @param
|
|
5733
|
-
* @
|
|
5734
|
-
* @returns The created filled document
|
|
5735
|
-
*/
|
|
5736
|
-
createFilledDocument(templateId: string, patientId: string, practitionerId: string, clinicId: string): Promise<FilledDocument>;
|
|
5737
|
-
/**
|
|
5738
|
-
* Get a filled document by ID
|
|
5739
|
-
* @param documentId - ID of the filled document to retrieve
|
|
5740
|
-
* @returns The filled document or null if not found
|
|
6447
|
+
* Get a specific filled document from an appointment's subcollection.
|
|
6448
|
+
* @param appointmentId - ID of the appointment.
|
|
6449
|
+
* @param formId - ID of the filled document.
|
|
6450
|
+
* @param isUserForm - Boolean indicating if it's a user form or doctor form.
|
|
6451
|
+
* @returns The filled document or null if not found.
|
|
5741
6452
|
*/
|
|
5742
|
-
|
|
6453
|
+
getFilledDocumentFromAppointmentById(appointmentId: string, formId: string, isUserForm: boolean): Promise<FilledDocument | null>;
|
|
5743
6454
|
/**
|
|
5744
|
-
* Update values in a filled document
|
|
5745
|
-
* @param
|
|
5746
|
-
* @param
|
|
5747
|
-
* @param
|
|
5748
|
-
* @
|
|
6455
|
+
* Update values or status in a filled document within an appointment's subcollection.
|
|
6456
|
+
* @param appointmentId - ID of the appointment.
|
|
6457
|
+
* @param formId - ID of the filled document to update.
|
|
6458
|
+
* @param isUserForm - Boolean indicating if it's a user form or doctor form.
|
|
6459
|
+
* @param values - Updated values for elements.
|
|
6460
|
+
* @param status - Optional new status for the document.
|
|
6461
|
+
* @returns The updated filled document.
|
|
5749
6462
|
*/
|
|
5750
|
-
|
|
6463
|
+
updateFilledDocumentInAppointment(appointmentId: string, formId: string, isUserForm: boolean, values?: {
|
|
5751
6464
|
[elementId: string]: any;
|
|
5752
6465
|
}, status?: FilledDocumentStatus): Promise<FilledDocument>;
|
|
5753
6466
|
/**
|
|
5754
|
-
* Get filled
|
|
6467
|
+
* Get all filled user forms for a specific appointment.
|
|
6468
|
+
* @param appointmentId ID of the appointment.
|
|
6469
|
+
* @param pageSize Number of documents to retrieve.
|
|
6470
|
+
* @param lastDoc Last document from previous page for pagination.
|
|
6471
|
+
*/
|
|
6472
|
+
getFilledUserFormsForAppointment(appointmentId: string, pageSize?: number, lastDoc?: QueryDocumentSnapshot<FilledDocument>): Promise<{
|
|
6473
|
+
documents: FilledDocument[];
|
|
6474
|
+
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
6475
|
+
}>;
|
|
6476
|
+
/**
|
|
6477
|
+
* Get all filled doctor forms for a specific appointment.
|
|
6478
|
+
* @param appointmentId ID of the appointment.
|
|
6479
|
+
* @param pageSize Number of documents to retrieve.
|
|
6480
|
+
* @param lastDoc Last document from previous page for pagination.
|
|
6481
|
+
*/
|
|
6482
|
+
getFilledDoctorFormsForAppointment(appointmentId: string, pageSize?: number, lastDoc?: QueryDocumentSnapshot<FilledDocument>): Promise<{
|
|
6483
|
+
documents: FilledDocument[];
|
|
6484
|
+
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
6485
|
+
}>;
|
|
6486
|
+
private executeQuery;
|
|
6487
|
+
/**
|
|
6488
|
+
* Get filled documents for a patient (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5755
6489
|
* @param patientId - ID of the patient
|
|
5756
6490
|
* @param pageSize - Number of documents to retrieve
|
|
5757
6491
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5762,7 +6496,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5762
6496
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5763
6497
|
}>;
|
|
5764
6498
|
/**
|
|
5765
|
-
* Get filled documents for a practitioner
|
|
6499
|
+
* Get filled documents for a practitioner (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5766
6500
|
* @param practitionerId - ID of the practitioner
|
|
5767
6501
|
* @param pageSize - Number of documents to retrieve
|
|
5768
6502
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5773,7 +6507,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5773
6507
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5774
6508
|
}>;
|
|
5775
6509
|
/**
|
|
5776
|
-
* Get filled documents for a clinic
|
|
6510
|
+
* Get filled documents for a clinic (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5777
6511
|
* @param clinicId - ID of the clinic
|
|
5778
6512
|
* @param pageSize - Number of documents to retrieve
|
|
5779
6513
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5784,7 +6518,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5784
6518
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5785
6519
|
}>;
|
|
5786
6520
|
/**
|
|
5787
|
-
* Get filled documents by template
|
|
6521
|
+
* Get filled documents by template (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5788
6522
|
* @param templateId - ID of the template
|
|
5789
6523
|
* @param pageSize - Number of documents to retrieve
|
|
5790
6524
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5795,7 +6529,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5795
6529
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5796
6530
|
}>;
|
|
5797
6531
|
/**
|
|
5798
|
-
* Get filled documents by status
|
|
6532
|
+
* Get filled documents by status (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5799
6533
|
* @param status - Status to filter by
|
|
5800
6534
|
* @param pageSize - Number of documents to retrieve
|
|
5801
6535
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -6438,6 +7172,7 @@ declare class AppointmentService extends BaseService {
|
|
|
6438
7172
|
private patientService;
|
|
6439
7173
|
private practitionerService;
|
|
6440
7174
|
private clinicService;
|
|
7175
|
+
private filledDocumentService;
|
|
6441
7176
|
private functions;
|
|
6442
7177
|
/**
|
|
6443
7178
|
* Creates a new AppointmentService instance.
|
|
@@ -6450,7 +7185,7 @@ declare class AppointmentService extends BaseService {
|
|
|
6450
7185
|
* @param practitionerService Practitioner service instance
|
|
6451
7186
|
* @param clinicService Clinic service instance
|
|
6452
7187
|
*/
|
|
6453
|
-
constructor(db: Firestore, auth: Auth, app: FirebaseApp, calendarService: CalendarServiceV2, patientService: PatientService, practitionerService: PractitionerService, clinicService: ClinicService);
|
|
7188
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp, calendarService: CalendarServiceV2, patientService: PatientService, practitionerService: PractitionerService, clinicService: ClinicService, filledDocumentService: FilledDocumentService);
|
|
6454
7189
|
/**
|
|
6455
7190
|
* Test method using the callable function version of getAvailableBookingSlots
|
|
6456
7191
|
* For development and testing purposes only - not for production use
|
|
@@ -6575,70 +7310,71 @@ declare class AppointmentService extends BaseService {
|
|
|
6575
7310
|
*
|
|
6576
7311
|
* @param appointmentId ID of the appointment
|
|
6577
7312
|
* @param newStatus New status to set
|
|
6578
|
-
* @param
|
|
6579
|
-
* @param canceledBy Required if canceling the appointment
|
|
7313
|
+
* @param details Optional details for the status change
|
|
6580
7314
|
* @returns The updated appointment
|
|
6581
7315
|
*/
|
|
6582
|
-
updateAppointmentStatus(appointmentId: string, newStatus: AppointmentStatus,
|
|
7316
|
+
updateAppointmentStatus(appointmentId: string, newStatus: AppointmentStatus, details?: {
|
|
7317
|
+
cancellationReason?: string;
|
|
7318
|
+
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
7319
|
+
}): Promise<Appointment>;
|
|
6583
7320
|
/**
|
|
6584
|
-
* Confirms an
|
|
6585
|
-
*
|
|
6586
|
-
* @param appointmentId ID of the appointment to confirm
|
|
6587
|
-
* @returns The confirmed appointment
|
|
7321
|
+
* Confirms a PENDING appointment by an Admin/Clinic.
|
|
6588
7322
|
*/
|
|
6589
|
-
|
|
7323
|
+
confirmAppointmentAdmin(appointmentId: string): Promise<Appointment>;
|
|
6590
7324
|
/**
|
|
6591
|
-
* Cancels an appointment
|
|
6592
|
-
*
|
|
6593
|
-
* @param appointmentId ID of the appointment to cancel
|
|
6594
|
-
* @param reason Reason for cancellation
|
|
6595
|
-
* @returns The canceled appointment
|
|
7325
|
+
* Cancels an appointment by the User (Patient).
|
|
6596
7326
|
*/
|
|
6597
|
-
|
|
7327
|
+
cancelAppointmentUser(appointmentId: string, reason: string): Promise<Appointment>;
|
|
6598
7328
|
/**
|
|
6599
|
-
* Cancels an appointment
|
|
6600
|
-
*
|
|
6601
|
-
* @param appointmentId ID of the appointment to cancel
|
|
6602
|
-
* @param reason Reason for cancellation
|
|
6603
|
-
* @returns The canceled appointment
|
|
7329
|
+
* Cancels an appointment by an Admin/Clinic.
|
|
6604
7330
|
*/
|
|
6605
|
-
|
|
7331
|
+
cancelAppointmentAdmin(appointmentId: string, reason: string): Promise<Appointment>;
|
|
6606
7332
|
/**
|
|
6607
|
-
*
|
|
6608
|
-
*
|
|
6609
|
-
* @param appointmentId ID of the appointment
|
|
6610
|
-
* @returns The updated appointment
|
|
7333
|
+
* Admin proposes to reschedule an appointment.
|
|
7334
|
+
* Sets status to RESCHEDULED_BY_CLINIC and updates times.
|
|
6611
7335
|
*/
|
|
6612
|
-
|
|
7336
|
+
rescheduleAppointmentAdmin(appointmentId: string, newStartTime: Timestamp, newEndTime: Timestamp): Promise<Appointment>;
|
|
6613
7337
|
/**
|
|
6614
|
-
*
|
|
6615
|
-
*
|
|
6616
|
-
* @param appointmentId ID of the appointment
|
|
6617
|
-
* @returns The updated appointment
|
|
7338
|
+
* User confirms a reschedule proposed by the clinic.
|
|
7339
|
+
* Status changes from RESCHEDULED_BY_CLINIC to CONFIRMED.
|
|
6618
7340
|
*/
|
|
6619
|
-
|
|
7341
|
+
rescheduleAppointmentConfirmUser(appointmentId: string): Promise<Appointment>;
|
|
6620
7342
|
/**
|
|
6621
|
-
*
|
|
6622
|
-
*
|
|
6623
|
-
* @param appointmentId ID of the appointment
|
|
6624
|
-
* @param actualDurationMinutes Actual duration of the appointment in minutes
|
|
6625
|
-
* @returns The updated appointment
|
|
7343
|
+
* User rejects a reschedule proposed by the clinic.
|
|
7344
|
+
* Status changes from RESCHEDULED_BY_CLINIC to CANCELED_PATIENT_RESCHEDULED.
|
|
6626
7345
|
*/
|
|
6627
|
-
|
|
7346
|
+
rescheduleAppointmentRejectUser(appointmentId: string, reason: string): Promise<Appointment>;
|
|
6628
7347
|
/**
|
|
6629
|
-
*
|
|
6630
|
-
*
|
|
6631
|
-
|
|
6632
|
-
|
|
7348
|
+
* Admin checks in a patient for their appointment.
|
|
7349
|
+
* Requires all pending user forms to be completed.
|
|
7350
|
+
*/
|
|
7351
|
+
checkInPatientAdmin(appointmentId: string): Promise<Appointment>;
|
|
7352
|
+
/**
|
|
7353
|
+
* Doctor starts the appointment procedure.
|
|
7354
|
+
*/
|
|
7355
|
+
startAppointmentDoctor(appointmentId: string): Promise<Appointment>;
|
|
7356
|
+
/**
|
|
7357
|
+
* Doctor completes and finalizes the appointment.
|
|
7358
|
+
*/
|
|
7359
|
+
completeAppointmentDoctor(appointmentId: string, finalizationNotes: string, actualDurationMinutesInput?: number): Promise<Appointment>;
|
|
7360
|
+
/**
|
|
7361
|
+
* Admin marks an appointment as No-Show.
|
|
7362
|
+
*/
|
|
7363
|
+
markNoShowAdmin(appointmentId: string): Promise<Appointment>;
|
|
7364
|
+
/**
|
|
7365
|
+
* Adds a media item to an appointment.
|
|
7366
|
+
*/
|
|
7367
|
+
addMediaToAppointment(appointmentId: string, mediaItemData: Omit<AppointmentMediaItem, "id" | "uploadedAt">): Promise<Appointment>;
|
|
7368
|
+
/**
|
|
7369
|
+
* Removes a media item from an appointment.
|
|
7370
|
+
*/
|
|
7371
|
+
removeMediaFromAppointment(appointmentId: string, mediaItemId: string): Promise<Appointment>;
|
|
7372
|
+
/**
|
|
7373
|
+
* Adds or updates review information for an appointment.
|
|
6633
7374
|
*/
|
|
6634
|
-
|
|
7375
|
+
addReviewToAppointment(appointmentId: string, reviewData: Omit<PatientReviewInfo, "reviewedAt" | "reviewId">): Promise<Appointment>;
|
|
6635
7376
|
/**
|
|
6636
7377
|
* Updates the payment status of an appointment.
|
|
6637
|
-
*
|
|
6638
|
-
* @param appointmentId ID of the appointment
|
|
6639
|
-
* @param paymentStatus New payment status
|
|
6640
|
-
* @param paymentTransactionId Optional transaction ID for the payment
|
|
6641
|
-
* @returns The updated appointment
|
|
6642
7378
|
*/
|
|
6643
7379
|
updatePaymentStatus(appointmentId: string, paymentStatus: PaymentStatus, paymentTransactionId?: string): Promise<Appointment>;
|
|
6644
7380
|
/**
|
|
@@ -6672,6 +7408,116 @@ declare class AppointmentService extends BaseService {
|
|
|
6672
7408
|
getDebugToken(): Promise<string | null>;
|
|
6673
7409
|
}
|
|
6674
7410
|
|
|
7411
|
+
/**
|
|
7412
|
+
* Defines the status of a specific instruction within a PatientRequirementInstance.
|
|
7413
|
+
* This helps track each actionable item for the patient.
|
|
7414
|
+
*/
|
|
7415
|
+
declare enum PatientInstructionStatus {
|
|
7416
|
+
PENDING_NOTIFICATION = "pendingNotification",// Notification is scheduled but not yet due/sent
|
|
7417
|
+
ACTION_DUE = "actionDue",// The time for this instruction/notification has arrived
|
|
7418
|
+
ACTION_TAKEN = "actionTaken",// Patient has acknowledged or completed this specific instruction
|
|
7419
|
+
MISSED = "missed",// The due time for this instruction passed without action
|
|
7420
|
+
CANCELLED = "cancelled",// This specific instruction was cancelled (e.g., requirement changed)
|
|
7421
|
+
SKIPPED = "skipped"
|
|
7422
|
+
}
|
|
7423
|
+
/**
|
|
7424
|
+
* Represents a single, timed instruction or notification point derived from a Requirement's timeframe.
|
|
7425
|
+
*/
|
|
7426
|
+
interface PatientRequirementInstruction {
|
|
7427
|
+
instructionId: string;
|
|
7428
|
+
instructionText: string;
|
|
7429
|
+
dueTime: Timestamp;
|
|
7430
|
+
actionableWindow: number;
|
|
7431
|
+
status: PatientInstructionStatus;
|
|
7432
|
+
originalNotifyAtValue: number;
|
|
7433
|
+
originalTimeframeUnit: TimeFrame["unit"];
|
|
7434
|
+
notificationId?: string;
|
|
7435
|
+
actionTakenAt?: Timestamp;
|
|
7436
|
+
updatedAt: Timestamp;
|
|
7437
|
+
}
|
|
7438
|
+
/**
|
|
7439
|
+
* Defines the overall status of a PatientRequirementInstance.
|
|
7440
|
+
*/
|
|
7441
|
+
declare enum PatientRequirementOverallStatus {
|
|
7442
|
+
ACTIVE = "active",// Requirement instance is active, instructions are pending or due.
|
|
7443
|
+
ALL_INSTRUCTIONS_MET = "allInstructionsMet",// All instructions actioned/completed by the patient.
|
|
7444
|
+
PARTIALLY_COMPLETED = "partiallyCompleted",// Some instructions met, some missed or pending.
|
|
7445
|
+
FAILED = "failed",// The patient failed to complete the requirement on time and above treashold of 60%
|
|
7446
|
+
CANCELLED_APPOINTMENT = "cancelledAppointment",// Entire requirement instance cancelled due to appointment cancellation.
|
|
7447
|
+
SUPERSEDED_RESCHEDULE = "supersededReschedule",// This instance was replaced by a new one due to appointment reschedule.
|
|
7448
|
+
FAILED_TO_PROCESS = "failedToProcess"
|
|
7449
|
+
}
|
|
7450
|
+
/**
|
|
7451
|
+
* Represents an instance of a backoffice Requirement, tailored to a specific patient and appointment.
|
|
7452
|
+
* This document lives in the patient's subcollection: `patients/{patientId}/patientRequirements/{instanceId}`.
|
|
7453
|
+
*/
|
|
7454
|
+
interface PatientRequirementInstance {
|
|
7455
|
+
id: string;
|
|
7456
|
+
patientId: string;
|
|
7457
|
+
appointmentId: string;
|
|
7458
|
+
originalRequirementId: string;
|
|
7459
|
+
requirementType: RequirementType;
|
|
7460
|
+
requirementName: string;
|
|
7461
|
+
requirementDescription: string;
|
|
7462
|
+
requirementImportance: RequirementImportance;
|
|
7463
|
+
overallStatus: PatientRequirementOverallStatus;
|
|
7464
|
+
instructions: PatientRequirementInstruction[];
|
|
7465
|
+
createdAt: Timestamp;
|
|
7466
|
+
updatedAt: Timestamp;
|
|
7467
|
+
}
|
|
7468
|
+
/**
|
|
7469
|
+
* Firestore subcollection name for patient requirement instances.
|
|
7470
|
+
*/
|
|
7471
|
+
declare const PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME = "patientRequirements";
|
|
7472
|
+
|
|
7473
|
+
/**
|
|
7474
|
+
* Interface for filtering active patient requirements.
|
|
7475
|
+
*/
|
|
7476
|
+
interface PatientRequirementsFilters {
|
|
7477
|
+
appointmentId?: string | "all";
|
|
7478
|
+
statuses?: PatientRequirementOverallStatus[];
|
|
7479
|
+
instructionStatuses?: PatientInstructionStatus[];
|
|
7480
|
+
dueBefore?: Timestamp;
|
|
7481
|
+
dueAfter?: Timestamp;
|
|
7482
|
+
}
|
|
7483
|
+
declare class PatientRequirementsService extends BaseService {
|
|
7484
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp);
|
|
7485
|
+
private getPatientRequirementsCollectionRef;
|
|
7486
|
+
private getPatientRequirementDocRef;
|
|
7487
|
+
/**
|
|
7488
|
+
* Gets a specific patient requirement instance by its ID.
|
|
7489
|
+
* @param patientId - The ID of the patient.
|
|
7490
|
+
* @param instanceId - The ID of the requirement instance.
|
|
7491
|
+
* @returns The patient requirement instance or null if not found.
|
|
7492
|
+
*/
|
|
7493
|
+
getPatientRequirementInstance(patientId: string, instanceId: string): Promise<PatientRequirementInstance | null>;
|
|
7494
|
+
/**
|
|
7495
|
+
* Retrieves patient requirement instances based on specified filters.
|
|
7496
|
+
* This is a flexible query method.
|
|
7497
|
+
*
|
|
7498
|
+
* @param patientId - The ID of the patient.
|
|
7499
|
+
* @param filters - Optional filters for appointmentId, overall statuses, instruction statuses, and due timeframes.
|
|
7500
|
+
* @param pageLimit - Optional limit for pagination.
|
|
7501
|
+
* @param lastVisible - Optional last document snapshot for pagination.
|
|
7502
|
+
* @returns A promise resolving to an array of matching patient requirement instances and the last document snapshot.
|
|
7503
|
+
*/
|
|
7504
|
+
getAllPatientRequirementInstances(patientId: string, filters?: PatientRequirementsFilters, pageLimit?: number, lastVisible?: DocumentSnapshot): Promise<{
|
|
7505
|
+
requirements: PatientRequirementInstance[];
|
|
7506
|
+
lastDoc: DocumentSnapshot | null;
|
|
7507
|
+
}>;
|
|
7508
|
+
/**
|
|
7509
|
+
* Marks a specific instruction within a PatientRequirementInstance as ACTION_TAKEN.
|
|
7510
|
+
* If all instructions are actioned, updates the overallStatus of the instance.
|
|
7511
|
+
*
|
|
7512
|
+
* @param patientId - The ID of the patient.
|
|
7513
|
+
* @param instanceId - The ID of the PatientRequirementInstance.
|
|
7514
|
+
* @param instructionId - The ID of the instruction to complete.
|
|
7515
|
+
* @returns The updated PatientRequirementInstance.
|
|
7516
|
+
* @throws Error if the instance or instruction is not found, or if the instruction is not in a completable state.
|
|
7517
|
+
*/
|
|
7518
|
+
completeInstruction(patientId: string, instanceId: string, instructionId: string): Promise<PatientRequirementInstance>;
|
|
7519
|
+
}
|
|
7520
|
+
|
|
6675
7521
|
declare class AuthError extends Error {
|
|
6676
7522
|
code: string;
|
|
6677
7523
|
status: number;
|
|
@@ -6894,7 +7740,7 @@ declare const preRequirementNotificationSchema: z.ZodObject<z.objectUtil.extendS
|
|
|
6894
7740
|
isRead: z.ZodBoolean;
|
|
6895
7741
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
6896
7742
|
}, {
|
|
6897
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7743
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
6898
7744
|
treatmentId: z.ZodString;
|
|
6899
7745
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
6900
7746
|
deadline: z.ZodAny;
|
|
@@ -6902,7 +7748,7 @@ declare const preRequirementNotificationSchema: z.ZodObject<z.objectUtil.extendS
|
|
|
6902
7748
|
status: NotificationStatus;
|
|
6903
7749
|
title: string;
|
|
6904
7750
|
requirements: string[];
|
|
6905
|
-
notificationType: NotificationType.
|
|
7751
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6906
7752
|
treatmentId: string;
|
|
6907
7753
|
userId: string;
|
|
6908
7754
|
notificationTokens: string[];
|
|
@@ -6918,7 +7764,7 @@ declare const preRequirementNotificationSchema: z.ZodObject<z.objectUtil.extendS
|
|
|
6918
7764
|
status: NotificationStatus;
|
|
6919
7765
|
title: string;
|
|
6920
7766
|
requirements: string[];
|
|
6921
|
-
notificationType: NotificationType.
|
|
7767
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6922
7768
|
treatmentId: string;
|
|
6923
7769
|
userId: string;
|
|
6924
7770
|
notificationTokens: string[];
|
|
@@ -6948,7 +7794,7 @@ declare const postRequirementNotificationSchema: z.ZodObject<z.objectUtil.extend
|
|
|
6948
7794
|
isRead: z.ZodBoolean;
|
|
6949
7795
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
6950
7796
|
}, {
|
|
6951
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7797
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
6952
7798
|
treatmentId: z.ZodString;
|
|
6953
7799
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
6954
7800
|
deadline: z.ZodAny;
|
|
@@ -6956,7 +7802,7 @@ declare const postRequirementNotificationSchema: z.ZodObject<z.objectUtil.extend
|
|
|
6956
7802
|
status: NotificationStatus;
|
|
6957
7803
|
title: string;
|
|
6958
7804
|
requirements: string[];
|
|
6959
|
-
notificationType: NotificationType.
|
|
7805
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6960
7806
|
treatmentId: string;
|
|
6961
7807
|
userId: string;
|
|
6962
7808
|
notificationTokens: string[];
|
|
@@ -6972,7 +7818,7 @@ declare const postRequirementNotificationSchema: z.ZodObject<z.objectUtil.extend
|
|
|
6972
7818
|
status: NotificationStatus;
|
|
6973
7819
|
title: string;
|
|
6974
7820
|
requirements: string[];
|
|
6975
|
-
notificationType: NotificationType.
|
|
7821
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6976
7822
|
treatmentId: string;
|
|
6977
7823
|
userId: string;
|
|
6978
7824
|
notificationTokens: string[];
|
|
@@ -7059,7 +7905,7 @@ declare const appointmentNotificationSchema: z.ZodObject<z.objectUtil.extendShap
|
|
|
7059
7905
|
isRead: z.ZodBoolean;
|
|
7060
7906
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7061
7907
|
}, {
|
|
7062
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7908
|
+
notificationType: z.ZodLiteral<NotificationType.APPOINTMENT_STATUS_CHANGE>;
|
|
7063
7909
|
appointmentId: z.ZodString;
|
|
7064
7910
|
appointmentStatus: z.ZodString;
|
|
7065
7911
|
previousStatus: z.ZodString;
|
|
@@ -7068,14 +7914,14 @@ declare const appointmentNotificationSchema: z.ZodObject<z.objectUtil.extendShap
|
|
|
7068
7914
|
status: NotificationStatus;
|
|
7069
7915
|
title: string;
|
|
7070
7916
|
appointmentId: string;
|
|
7071
|
-
notificationType: NotificationType.
|
|
7917
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7072
7918
|
userId: string;
|
|
7073
7919
|
notificationTokens: string[];
|
|
7074
7920
|
body: string;
|
|
7075
7921
|
isRead: boolean;
|
|
7076
7922
|
userRole: UserRole;
|
|
7077
|
-
appointmentStatus: string;
|
|
7078
7923
|
previousStatus: string;
|
|
7924
|
+
appointmentStatus: string;
|
|
7079
7925
|
id?: string | undefined;
|
|
7080
7926
|
createdAt?: any;
|
|
7081
7927
|
updatedAt?: any;
|
|
@@ -7085,14 +7931,14 @@ declare const appointmentNotificationSchema: z.ZodObject<z.objectUtil.extendShap
|
|
|
7085
7931
|
status: NotificationStatus;
|
|
7086
7932
|
title: string;
|
|
7087
7933
|
appointmentId: string;
|
|
7088
|
-
notificationType: NotificationType.
|
|
7934
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7089
7935
|
userId: string;
|
|
7090
7936
|
notificationTokens: string[];
|
|
7091
7937
|
body: string;
|
|
7092
7938
|
isRead: boolean;
|
|
7093
7939
|
userRole: UserRole;
|
|
7094
|
-
appointmentStatus: string;
|
|
7095
7940
|
previousStatus: string;
|
|
7941
|
+
appointmentStatus: string;
|
|
7096
7942
|
id?: string | undefined;
|
|
7097
7943
|
createdAt?: any;
|
|
7098
7944
|
updatedAt?: any;
|
|
@@ -7116,7 +7962,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7116
7962
|
isRead: z.ZodBoolean;
|
|
7117
7963
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7118
7964
|
}, {
|
|
7119
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7965
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
7120
7966
|
treatmentId: z.ZodString;
|
|
7121
7967
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
7122
7968
|
deadline: z.ZodAny;
|
|
@@ -7124,7 +7970,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7124
7970
|
status: NotificationStatus;
|
|
7125
7971
|
title: string;
|
|
7126
7972
|
requirements: string[];
|
|
7127
|
-
notificationType: NotificationType.
|
|
7973
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7128
7974
|
treatmentId: string;
|
|
7129
7975
|
userId: string;
|
|
7130
7976
|
notificationTokens: string[];
|
|
@@ -7140,7 +7986,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7140
7986
|
status: NotificationStatus;
|
|
7141
7987
|
title: string;
|
|
7142
7988
|
requirements: string[];
|
|
7143
|
-
notificationType: NotificationType.
|
|
7989
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7144
7990
|
treatmentId: string;
|
|
7145
7991
|
userId: string;
|
|
7146
7992
|
notificationTokens: string[];
|
|
@@ -7166,7 +8012,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7166
8012
|
isRead: z.ZodBoolean;
|
|
7167
8013
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7168
8014
|
}, {
|
|
7169
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
8015
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
7170
8016
|
treatmentId: z.ZodString;
|
|
7171
8017
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
7172
8018
|
deadline: z.ZodAny;
|
|
@@ -7174,7 +8020,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7174
8020
|
status: NotificationStatus;
|
|
7175
8021
|
title: string;
|
|
7176
8022
|
requirements: string[];
|
|
7177
|
-
notificationType: NotificationType.
|
|
8023
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7178
8024
|
treatmentId: string;
|
|
7179
8025
|
userId: string;
|
|
7180
8026
|
notificationTokens: string[];
|
|
@@ -7190,7 +8036,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7190
8036
|
status: NotificationStatus;
|
|
7191
8037
|
title: string;
|
|
7192
8038
|
requirements: string[];
|
|
7193
|
-
notificationType: NotificationType.
|
|
8039
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7194
8040
|
treatmentId: string;
|
|
7195
8041
|
userId: string;
|
|
7196
8042
|
notificationTokens: string[];
|
|
@@ -7269,7 +8115,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7269
8115
|
isRead: z.ZodBoolean;
|
|
7270
8116
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7271
8117
|
}, {
|
|
7272
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
8118
|
+
notificationType: z.ZodLiteral<NotificationType.APPOINTMENT_STATUS_CHANGE>;
|
|
7273
8119
|
appointmentId: z.ZodString;
|
|
7274
8120
|
appointmentStatus: z.ZodString;
|
|
7275
8121
|
previousStatus: z.ZodString;
|
|
@@ -7278,14 +8124,14 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7278
8124
|
status: NotificationStatus;
|
|
7279
8125
|
title: string;
|
|
7280
8126
|
appointmentId: string;
|
|
7281
|
-
notificationType: NotificationType.
|
|
8127
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7282
8128
|
userId: string;
|
|
7283
8129
|
notificationTokens: string[];
|
|
7284
8130
|
body: string;
|
|
7285
8131
|
isRead: boolean;
|
|
7286
8132
|
userRole: UserRole;
|
|
7287
|
-
appointmentStatus: string;
|
|
7288
8133
|
previousStatus: string;
|
|
8134
|
+
appointmentStatus: string;
|
|
7289
8135
|
id?: string | undefined;
|
|
7290
8136
|
createdAt?: any;
|
|
7291
8137
|
updatedAt?: any;
|
|
@@ -7295,14 +8141,14 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7295
8141
|
status: NotificationStatus;
|
|
7296
8142
|
title: string;
|
|
7297
8143
|
appointmentId: string;
|
|
7298
|
-
notificationType: NotificationType.
|
|
8144
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7299
8145
|
userId: string;
|
|
7300
8146
|
notificationTokens: string[];
|
|
7301
8147
|
body: string;
|
|
7302
8148
|
isRead: boolean;
|
|
7303
8149
|
userRole: UserRole;
|
|
7304
|
-
appointmentStatus: string;
|
|
7305
8150
|
previousStatus: string;
|
|
8151
|
+
appointmentStatus: string;
|
|
7306
8152
|
id?: string | undefined;
|
|
7307
8153
|
createdAt?: any;
|
|
7308
8154
|
updatedAt?: any;
|
|
@@ -9715,7 +10561,7 @@ declare const practitionerCertificationSchema: z.ZodObject<{
|
|
|
9715
10561
|
licenseNumber: string;
|
|
9716
10562
|
issuingAuthority: string;
|
|
9717
10563
|
issueDate: Date | Timestamp;
|
|
9718
|
-
verificationStatus: "pending" | "
|
|
10564
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
9719
10565
|
expiryDate?: Date | Timestamp | undefined;
|
|
9720
10566
|
}, {
|
|
9721
10567
|
level: CertificationLevel;
|
|
@@ -9723,7 +10569,7 @@ declare const practitionerCertificationSchema: z.ZodObject<{
|
|
|
9723
10569
|
licenseNumber: string;
|
|
9724
10570
|
issuingAuthority: string;
|
|
9725
10571
|
issueDate: Date | Timestamp;
|
|
9726
|
-
verificationStatus: "pending" | "
|
|
10572
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
9727
10573
|
expiryDate?: Date | Timestamp | undefined;
|
|
9728
10574
|
}>;
|
|
9729
10575
|
declare const practitionerWorkingHoursSchema: z.ZodObject<{
|
|
@@ -10134,7 +10980,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10134
10980
|
licenseNumber: string;
|
|
10135
10981
|
issuingAuthority: string;
|
|
10136
10982
|
issueDate: Date | Timestamp;
|
|
10137
|
-
verificationStatus: "pending" | "
|
|
10983
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10138
10984
|
expiryDate?: Date | Timestamp | undefined;
|
|
10139
10985
|
}, {
|
|
10140
10986
|
level: CertificationLevel;
|
|
@@ -10142,7 +10988,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10142
10988
|
licenseNumber: string;
|
|
10143
10989
|
issuingAuthority: string;
|
|
10144
10990
|
issueDate: Date | Timestamp;
|
|
10145
|
-
verificationStatus: "pending" | "
|
|
10991
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10146
10992
|
expiryDate?: Date | Timestamp | undefined;
|
|
10147
10993
|
}>;
|
|
10148
10994
|
clinics: z.ZodArray<z.ZodString, "many">;
|
|
@@ -10461,9 +11307,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10461
11307
|
id: string;
|
|
10462
11308
|
name: string;
|
|
10463
11309
|
duration: number;
|
|
10464
|
-
family: ProcedureFamily;
|
|
10465
11310
|
practitionerId: string;
|
|
10466
11311
|
clinicId: string;
|
|
11312
|
+
family: ProcedureFamily;
|
|
10467
11313
|
currency: Currency;
|
|
10468
11314
|
categoryName: string;
|
|
10469
11315
|
subcategoryName: string;
|
|
@@ -10478,9 +11324,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10478
11324
|
id: string;
|
|
10479
11325
|
name: string;
|
|
10480
11326
|
duration: number;
|
|
10481
|
-
family: ProcedureFamily;
|
|
10482
11327
|
practitionerId: string;
|
|
10483
11328
|
clinicId: string;
|
|
11329
|
+
family: ProcedureFamily;
|
|
10484
11330
|
currency: Currency;
|
|
10485
11331
|
categoryName: string;
|
|
10486
11332
|
subcategoryName: string;
|
|
@@ -10550,7 +11396,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10550
11396
|
licenseNumber: string;
|
|
10551
11397
|
issuingAuthority: string;
|
|
10552
11398
|
issueDate: Date | Timestamp;
|
|
10553
|
-
verificationStatus: "pending" | "
|
|
11399
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10554
11400
|
expiryDate?: Date | Timestamp | undefined;
|
|
10555
11401
|
};
|
|
10556
11402
|
clinics: string[];
|
|
@@ -10617,9 +11463,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10617
11463
|
id: string;
|
|
10618
11464
|
name: string;
|
|
10619
11465
|
duration: number;
|
|
10620
|
-
family: ProcedureFamily;
|
|
10621
11466
|
practitionerId: string;
|
|
10622
11467
|
clinicId: string;
|
|
11468
|
+
family: ProcedureFamily;
|
|
10623
11469
|
currency: Currency;
|
|
10624
11470
|
categoryName: string;
|
|
10625
11471
|
subcategoryName: string;
|
|
@@ -10666,7 +11512,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10666
11512
|
licenseNumber: string;
|
|
10667
11513
|
issuingAuthority: string;
|
|
10668
11514
|
issueDate: Date | Timestamp;
|
|
10669
|
-
verificationStatus: "pending" | "
|
|
11515
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10670
11516
|
expiryDate?: Date | Timestamp | undefined;
|
|
10671
11517
|
};
|
|
10672
11518
|
clinics: string[];
|
|
@@ -10733,9 +11579,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10733
11579
|
id: string;
|
|
10734
11580
|
name: string;
|
|
10735
11581
|
duration: number;
|
|
10736
|
-
family: ProcedureFamily;
|
|
10737
11582
|
practitionerId: string;
|
|
10738
11583
|
clinicId: string;
|
|
11584
|
+
family: ProcedureFamily;
|
|
10739
11585
|
currency: Currency;
|
|
10740
11586
|
categoryName: string;
|
|
10741
11587
|
subcategoryName: string;
|
|
@@ -10811,7 +11657,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
10811
11657
|
licenseNumber: string;
|
|
10812
11658
|
issuingAuthority: string;
|
|
10813
11659
|
issueDate: Date | Timestamp;
|
|
10814
|
-
verificationStatus: "pending" | "
|
|
11660
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10815
11661
|
expiryDate?: Date | Timestamp | undefined;
|
|
10816
11662
|
}, {
|
|
10817
11663
|
level: CertificationLevel;
|
|
@@ -10819,7 +11665,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
10819
11665
|
licenseNumber: string;
|
|
10820
11666
|
issuingAuthority: string;
|
|
10821
11667
|
issueDate: Date | Timestamp;
|
|
10822
|
-
verificationStatus: "pending" | "
|
|
11668
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10823
11669
|
expiryDate?: Date | Timestamp | undefined;
|
|
10824
11670
|
}>;
|
|
10825
11671
|
clinics: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -11137,9 +11983,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11137
11983
|
id: string;
|
|
11138
11984
|
name: string;
|
|
11139
11985
|
duration: number;
|
|
11140
|
-
family: ProcedureFamily;
|
|
11141
11986
|
practitionerId: string;
|
|
11142
11987
|
clinicId: string;
|
|
11988
|
+
family: ProcedureFamily;
|
|
11143
11989
|
currency: Currency;
|
|
11144
11990
|
categoryName: string;
|
|
11145
11991
|
subcategoryName: string;
|
|
@@ -11154,9 +12000,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11154
12000
|
id: string;
|
|
11155
12001
|
name: string;
|
|
11156
12002
|
duration: number;
|
|
11157
|
-
family: ProcedureFamily;
|
|
11158
12003
|
practitionerId: string;
|
|
11159
12004
|
clinicId: string;
|
|
12005
|
+
family: ProcedureFamily;
|
|
11160
12006
|
currency: Currency;
|
|
11161
12007
|
categoryName: string;
|
|
11162
12008
|
subcategoryName: string;
|
|
@@ -11192,7 +12038,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11192
12038
|
licenseNumber: string;
|
|
11193
12039
|
issuingAuthority: string;
|
|
11194
12040
|
issueDate: Date | Timestamp;
|
|
11195
|
-
verificationStatus: "pending" | "
|
|
12041
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11196
12042
|
expiryDate?: Date | Timestamp | undefined;
|
|
11197
12043
|
};
|
|
11198
12044
|
isVerified: boolean;
|
|
@@ -11259,9 +12105,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11259
12105
|
id: string;
|
|
11260
12106
|
name: string;
|
|
11261
12107
|
duration: number;
|
|
11262
|
-
family: ProcedureFamily;
|
|
11263
12108
|
practitionerId: string;
|
|
11264
12109
|
clinicId: string;
|
|
12110
|
+
family: ProcedureFamily;
|
|
11265
12111
|
currency: Currency;
|
|
11266
12112
|
categoryName: string;
|
|
11267
12113
|
subcategoryName: string;
|
|
@@ -11294,7 +12140,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11294
12140
|
licenseNumber: string;
|
|
11295
12141
|
issuingAuthority: string;
|
|
11296
12142
|
issueDate: Date | Timestamp;
|
|
11297
|
-
verificationStatus: "pending" | "
|
|
12143
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11298
12144
|
expiryDate?: Date | Timestamp | undefined;
|
|
11299
12145
|
};
|
|
11300
12146
|
isVerified: boolean;
|
|
@@ -11361,9 +12207,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11361
12207
|
id: string;
|
|
11362
12208
|
name: string;
|
|
11363
12209
|
duration: number;
|
|
11364
|
-
family: ProcedureFamily;
|
|
11365
12210
|
practitionerId: string;
|
|
11366
12211
|
clinicId: string;
|
|
12212
|
+
family: ProcedureFamily;
|
|
11367
12213
|
currency: Currency;
|
|
11368
12214
|
categoryName: string;
|
|
11369
12215
|
subcategoryName: string;
|
|
@@ -11428,7 +12274,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11428
12274
|
licenseNumber: string;
|
|
11429
12275
|
issuingAuthority: string;
|
|
11430
12276
|
issueDate: Date | Timestamp;
|
|
11431
|
-
verificationStatus: "pending" | "
|
|
12277
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11432
12278
|
expiryDate?: Date | Timestamp | undefined;
|
|
11433
12279
|
}, {
|
|
11434
12280
|
level: CertificationLevel;
|
|
@@ -11436,7 +12282,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11436
12282
|
licenseNumber: string;
|
|
11437
12283
|
issuingAuthority: string;
|
|
11438
12284
|
issueDate: Date | Timestamp;
|
|
11439
|
-
verificationStatus: "pending" | "
|
|
12285
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11440
12286
|
expiryDate?: Date | Timestamp | undefined;
|
|
11441
12287
|
}>;
|
|
11442
12288
|
clinics: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -11754,9 +12600,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11754
12600
|
id: string;
|
|
11755
12601
|
name: string;
|
|
11756
12602
|
duration: number;
|
|
11757
|
-
family: ProcedureFamily;
|
|
11758
12603
|
practitionerId: string;
|
|
11759
12604
|
clinicId: string;
|
|
12605
|
+
family: ProcedureFamily;
|
|
11760
12606
|
currency: Currency;
|
|
11761
12607
|
categoryName: string;
|
|
11762
12608
|
subcategoryName: string;
|
|
@@ -11771,9 +12617,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11771
12617
|
id: string;
|
|
11772
12618
|
name: string;
|
|
11773
12619
|
duration: number;
|
|
11774
|
-
family: ProcedureFamily;
|
|
11775
12620
|
practitionerId: string;
|
|
11776
12621
|
clinicId: string;
|
|
12622
|
+
family: ProcedureFamily;
|
|
11777
12623
|
currency: Currency;
|
|
11778
12624
|
categoryName: string;
|
|
11779
12625
|
subcategoryName: string;
|
|
@@ -11807,7 +12653,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11807
12653
|
licenseNumber: string;
|
|
11808
12654
|
issuingAuthority: string;
|
|
11809
12655
|
issueDate: Date | Timestamp;
|
|
11810
|
-
verificationStatus: "pending" | "
|
|
12656
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11811
12657
|
expiryDate?: Date | Timestamp | undefined;
|
|
11812
12658
|
};
|
|
11813
12659
|
isVerified: boolean;
|
|
@@ -11873,9 +12719,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11873
12719
|
id: string;
|
|
11874
12720
|
name: string;
|
|
11875
12721
|
duration: number;
|
|
11876
|
-
family: ProcedureFamily;
|
|
11877
12722
|
practitionerId: string;
|
|
11878
12723
|
clinicId: string;
|
|
12724
|
+
family: ProcedureFamily;
|
|
11879
12725
|
currency: Currency;
|
|
11880
12726
|
categoryName: string;
|
|
11881
12727
|
subcategoryName: string;
|
|
@@ -11906,7 +12752,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11906
12752
|
licenseNumber: string;
|
|
11907
12753
|
issuingAuthority: string;
|
|
11908
12754
|
issueDate: Date | Timestamp;
|
|
11909
|
-
verificationStatus: "pending" | "
|
|
12755
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11910
12756
|
expiryDate?: Date | Timestamp | undefined;
|
|
11911
12757
|
};
|
|
11912
12758
|
isActive?: boolean | undefined;
|
|
@@ -11973,9 +12819,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11973
12819
|
id: string;
|
|
11974
12820
|
name: string;
|
|
11975
12821
|
duration: number;
|
|
11976
|
-
family: ProcedureFamily;
|
|
11977
12822
|
practitionerId: string;
|
|
11978
12823
|
clinicId: string;
|
|
12824
|
+
family: ProcedureFamily;
|
|
11979
12825
|
currency: Currency;
|
|
11980
12826
|
categoryName: string;
|
|
11981
12827
|
subcategoryName: string;
|
|
@@ -13510,15 +14356,15 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13510
14356
|
}, "strip", z.ZodTypeAny, {
|
|
13511
14357
|
id: string;
|
|
13512
14358
|
name: string;
|
|
13513
|
-
photo: string;
|
|
13514
14359
|
rating: number;
|
|
14360
|
+
photo: string;
|
|
13515
14361
|
services: string[];
|
|
13516
14362
|
description?: string | null | undefined;
|
|
13517
14363
|
}, {
|
|
13518
14364
|
id: string;
|
|
13519
14365
|
name: string;
|
|
13520
|
-
photo: string;
|
|
13521
14366
|
rating: number;
|
|
14367
|
+
photo: string;
|
|
13522
14368
|
services: string[];
|
|
13523
14369
|
description?: string | null | undefined;
|
|
13524
14370
|
}>, "many">;
|
|
@@ -13544,9 +14390,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13544
14390
|
id: string;
|
|
13545
14391
|
name: string;
|
|
13546
14392
|
duration: number;
|
|
13547
|
-
family: ProcedureFamily;
|
|
13548
14393
|
practitionerId: string;
|
|
13549
14394
|
clinicId: string;
|
|
14395
|
+
family: ProcedureFamily;
|
|
13550
14396
|
currency: Currency;
|
|
13551
14397
|
categoryName: string;
|
|
13552
14398
|
subcategoryName: string;
|
|
@@ -13561,9 +14407,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13561
14407
|
id: string;
|
|
13562
14408
|
name: string;
|
|
13563
14409
|
duration: number;
|
|
13564
|
-
family: ProcedureFamily;
|
|
13565
14410
|
practitionerId: string;
|
|
13566
14411
|
clinicId: string;
|
|
14412
|
+
family: ProcedureFamily;
|
|
13567
14413
|
currency: Currency;
|
|
13568
14414
|
categoryName: string;
|
|
13569
14415
|
subcategoryName: string;
|
|
@@ -13621,9 +14467,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13621
14467
|
id: string;
|
|
13622
14468
|
name: string;
|
|
13623
14469
|
duration: number;
|
|
13624
|
-
family: ProcedureFamily;
|
|
13625
14470
|
practitionerId: string;
|
|
13626
14471
|
clinicId: string;
|
|
14472
|
+
family: ProcedureFamily;
|
|
13627
14473
|
currency: Currency;
|
|
13628
14474
|
categoryName: string;
|
|
13629
14475
|
subcategoryName: string;
|
|
@@ -13714,14 +14560,6 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13714
14560
|
coverPhoto: string | null;
|
|
13715
14561
|
admins: string[];
|
|
13716
14562
|
featuredPhotos: string[];
|
|
13717
|
-
doctorsInfo: {
|
|
13718
|
-
id: string;
|
|
13719
|
-
name: string;
|
|
13720
|
-
photo: string;
|
|
13721
|
-
rating: number;
|
|
13722
|
-
services: string[];
|
|
13723
|
-
description?: string | null | undefined;
|
|
13724
|
-
}[];
|
|
13725
14563
|
reviewInfo: {
|
|
13726
14564
|
cleanliness: number;
|
|
13727
14565
|
facilities: number;
|
|
@@ -13732,6 +14570,14 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13732
14570
|
averageRating: number;
|
|
13733
14571
|
recommendationPercentage: number;
|
|
13734
14572
|
};
|
|
14573
|
+
doctorsInfo: {
|
|
14574
|
+
id: string;
|
|
14575
|
+
name: string;
|
|
14576
|
+
rating: number;
|
|
14577
|
+
photo: string;
|
|
14578
|
+
services: string[];
|
|
14579
|
+
description?: string | null | undefined;
|
|
14580
|
+
}[];
|
|
13735
14581
|
description?: string | null | undefined;
|
|
13736
14582
|
logo?: string | undefined;
|
|
13737
14583
|
photosWithTags?: {
|
|
@@ -13750,9 +14596,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13750
14596
|
id: string;
|
|
13751
14597
|
name: string;
|
|
13752
14598
|
duration: number;
|
|
13753
|
-
family: ProcedureFamily;
|
|
13754
14599
|
practitionerId: string;
|
|
13755
14600
|
clinicId: string;
|
|
14601
|
+
family: ProcedureFamily;
|
|
13756
14602
|
currency: Currency;
|
|
13757
14603
|
categoryName: string;
|
|
13758
14604
|
subcategoryName: string;
|
|
@@ -13843,14 +14689,6 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13843
14689
|
coverPhoto: string | null;
|
|
13844
14690
|
admins: string[];
|
|
13845
14691
|
featuredPhotos: string[];
|
|
13846
|
-
doctorsInfo: {
|
|
13847
|
-
id: string;
|
|
13848
|
-
name: string;
|
|
13849
|
-
photo: string;
|
|
13850
|
-
rating: number;
|
|
13851
|
-
services: string[];
|
|
13852
|
-
description?: string | null | undefined;
|
|
13853
|
-
}[];
|
|
13854
14692
|
reviewInfo: {
|
|
13855
14693
|
cleanliness: number;
|
|
13856
14694
|
facilities: number;
|
|
@@ -13861,6 +14699,14 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13861
14699
|
averageRating: number;
|
|
13862
14700
|
recommendationPercentage: number;
|
|
13863
14701
|
};
|
|
14702
|
+
doctorsInfo: {
|
|
14703
|
+
id: string;
|
|
14704
|
+
name: string;
|
|
14705
|
+
rating: number;
|
|
14706
|
+
photo: string;
|
|
14707
|
+
services: string[];
|
|
14708
|
+
description?: string | null | undefined;
|
|
14709
|
+
}[];
|
|
13864
14710
|
description?: string | null | undefined;
|
|
13865
14711
|
logo?: string | undefined;
|
|
13866
14712
|
photosWithTags?: {
|
|
@@ -16375,7 +17221,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16375
17221
|
licenseNumber: string;
|
|
16376
17222
|
issuingAuthority: string;
|
|
16377
17223
|
issueDate: Date | Timestamp;
|
|
16378
|
-
verificationStatus: "pending" | "
|
|
17224
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16379
17225
|
expiryDate?: Date | Timestamp | undefined;
|
|
16380
17226
|
}, {
|
|
16381
17227
|
level: CertificationLevel;
|
|
@@ -16383,7 +17229,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16383
17229
|
licenseNumber: string;
|
|
16384
17230
|
issuingAuthority: string;
|
|
16385
17231
|
issueDate: Date | Timestamp;
|
|
16386
|
-
verificationStatus: "pending" | "
|
|
17232
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16387
17233
|
expiryDate?: Date | Timestamp | undefined;
|
|
16388
17234
|
}>;
|
|
16389
17235
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -16395,7 +17241,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16395
17241
|
licenseNumber: string;
|
|
16396
17242
|
issuingAuthority: string;
|
|
16397
17243
|
issueDate: Date | Timestamp;
|
|
16398
|
-
verificationStatus: "pending" | "
|
|
17244
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16399
17245
|
expiryDate?: Date | Timestamp | undefined;
|
|
16400
17246
|
};
|
|
16401
17247
|
email: string;
|
|
@@ -16410,7 +17256,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16410
17256
|
licenseNumber: string;
|
|
16411
17257
|
issuingAuthority: string;
|
|
16412
17258
|
issueDate: Date | Timestamp;
|
|
16413
|
-
verificationStatus: "pending" | "
|
|
17259
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16414
17260
|
expiryDate?: Date | Timestamp | undefined;
|
|
16415
17261
|
};
|
|
16416
17262
|
email: string;
|
|
@@ -16522,9 +17368,9 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16522
17368
|
createdAt?: any;
|
|
16523
17369
|
updatedAt?: any;
|
|
16524
17370
|
description?: string | undefined;
|
|
16525
|
-
clinicBranchId?: string | null | undefined;
|
|
16526
17371
|
procedureId?: string | null | undefined;
|
|
16527
17372
|
appointmentId?: string | null | undefined;
|
|
17373
|
+
clinicBranchId?: string | null | undefined;
|
|
16528
17374
|
eventLocation?: {
|
|
16529
17375
|
latitude: number;
|
|
16530
17376
|
longitude: number;
|
|
@@ -16545,7 +17391,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16545
17391
|
licenseNumber: string;
|
|
16546
17392
|
issuingAuthority: string;
|
|
16547
17393
|
issueDate: Date | Timestamp;
|
|
16548
|
-
verificationStatus: "pending" | "
|
|
17394
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16549
17395
|
expiryDate?: Date | Timestamp | undefined;
|
|
16550
17396
|
};
|
|
16551
17397
|
email: string;
|
|
@@ -16579,9 +17425,9 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16579
17425
|
createdAt?: any;
|
|
16580
17426
|
updatedAt?: any;
|
|
16581
17427
|
description?: string | undefined;
|
|
16582
|
-
clinicBranchId?: string | null | undefined;
|
|
16583
17428
|
procedureId?: string | null | undefined;
|
|
16584
17429
|
appointmentId?: string | null | undefined;
|
|
17430
|
+
clinicBranchId?: string | null | undefined;
|
|
16585
17431
|
eventLocation?: {
|
|
16586
17432
|
latitude: number;
|
|
16587
17433
|
longitude: number;
|
|
@@ -16602,7 +17448,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16602
17448
|
licenseNumber: string;
|
|
16603
17449
|
issuingAuthority: string;
|
|
16604
17450
|
issueDate: Date | Timestamp;
|
|
16605
|
-
verificationStatus: "pending" | "
|
|
17451
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16606
17452
|
expiryDate?: Date | Timestamp | undefined;
|
|
16607
17453
|
};
|
|
16608
17454
|
email: string;
|
|
@@ -16733,7 +17579,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16733
17579
|
licenseNumber: string;
|
|
16734
17580
|
issuingAuthority: string;
|
|
16735
17581
|
issueDate: Date | Timestamp;
|
|
16736
|
-
verificationStatus: "pending" | "
|
|
17582
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16737
17583
|
expiryDate?: Date | Timestamp | undefined;
|
|
16738
17584
|
}, {
|
|
16739
17585
|
level: CertificationLevel;
|
|
@@ -16741,7 +17587,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16741
17587
|
licenseNumber: string;
|
|
16742
17588
|
issuingAuthority: string;
|
|
16743
17589
|
issueDate: Date | Timestamp;
|
|
16744
|
-
verificationStatus: "pending" | "
|
|
17590
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16745
17591
|
expiryDate?: Date | Timestamp | undefined;
|
|
16746
17592
|
}>;
|
|
16747
17593
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -16753,7 +17599,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16753
17599
|
licenseNumber: string;
|
|
16754
17600
|
issuingAuthority: string;
|
|
16755
17601
|
issueDate: Date | Timestamp;
|
|
16756
|
-
verificationStatus: "pending" | "
|
|
17602
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16757
17603
|
expiryDate?: Date | Timestamp | undefined;
|
|
16758
17604
|
};
|
|
16759
17605
|
email: string;
|
|
@@ -16768,7 +17614,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16768
17614
|
licenseNumber: string;
|
|
16769
17615
|
issuingAuthority: string;
|
|
16770
17616
|
issueDate: Date | Timestamp;
|
|
16771
|
-
verificationStatus: "pending" | "
|
|
17617
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16772
17618
|
expiryDate?: Date | Timestamp | undefined;
|
|
16773
17619
|
};
|
|
16774
17620
|
email: string;
|
|
@@ -16918,9 +17764,9 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16918
17764
|
syncStatus: CalendarSyncStatus;
|
|
16919
17765
|
eventType: CalendarEventType;
|
|
16920
17766
|
description?: string | undefined;
|
|
16921
|
-
clinicBranchId?: string | null | undefined;
|
|
16922
17767
|
procedureId?: string | null | undefined;
|
|
16923
17768
|
appointmentId?: string | null | undefined;
|
|
17769
|
+
clinicBranchId?: string | null | undefined;
|
|
16924
17770
|
eventLocation?: {
|
|
16925
17771
|
latitude: number;
|
|
16926
17772
|
longitude: number;
|
|
@@ -16941,7 +17787,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16941
17787
|
licenseNumber: string;
|
|
16942
17788
|
issuingAuthority: string;
|
|
16943
17789
|
issueDate: Date | Timestamp;
|
|
16944
|
-
verificationStatus: "pending" | "
|
|
17790
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16945
17791
|
expiryDate?: Date | Timestamp | undefined;
|
|
16946
17792
|
};
|
|
16947
17793
|
email: string;
|
|
@@ -16989,9 +17835,9 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16989
17835
|
syncStatus: CalendarSyncStatus;
|
|
16990
17836
|
eventType: CalendarEventType;
|
|
16991
17837
|
description?: string | undefined;
|
|
16992
|
-
clinicBranchId?: string | null | undefined;
|
|
16993
17838
|
procedureId?: string | null | undefined;
|
|
16994
17839
|
appointmentId?: string | null | undefined;
|
|
17840
|
+
clinicBranchId?: string | null | undefined;
|
|
16995
17841
|
eventLocation?: {
|
|
16996
17842
|
latitude: number;
|
|
16997
17843
|
longitude: number;
|
|
@@ -17012,7 +17858,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
17012
17858
|
licenseNumber: string;
|
|
17013
17859
|
issuingAuthority: string;
|
|
17014
17860
|
issueDate: Date | Timestamp;
|
|
17015
|
-
verificationStatus: "pending" | "
|
|
17861
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17016
17862
|
expiryDate?: Date | Timestamp | undefined;
|
|
17017
17863
|
};
|
|
17018
17864
|
email: string;
|
|
@@ -17072,7 +17918,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17072
17918
|
licenseNumber: string;
|
|
17073
17919
|
issuingAuthority: string;
|
|
17074
17920
|
issueDate: Date | Timestamp;
|
|
17075
|
-
verificationStatus: "pending" | "
|
|
17921
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17076
17922
|
expiryDate?: Date | Timestamp | undefined;
|
|
17077
17923
|
}, {
|
|
17078
17924
|
level: CertificationLevel;
|
|
@@ -17080,7 +17926,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17080
17926
|
licenseNumber: string;
|
|
17081
17927
|
issuingAuthority: string;
|
|
17082
17928
|
issueDate: Date | Timestamp;
|
|
17083
|
-
verificationStatus: "pending" | "
|
|
17929
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17084
17930
|
expiryDate?: Date | Timestamp | undefined;
|
|
17085
17931
|
}>;
|
|
17086
17932
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -17092,7 +17938,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17092
17938
|
licenseNumber: string;
|
|
17093
17939
|
issuingAuthority: string;
|
|
17094
17940
|
issueDate: Date | Timestamp;
|
|
17095
|
-
verificationStatus: "pending" | "
|
|
17941
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17096
17942
|
expiryDate?: Date | Timestamp | undefined;
|
|
17097
17943
|
};
|
|
17098
17944
|
email: string;
|
|
@@ -17107,7 +17953,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17107
17953
|
licenseNumber: string;
|
|
17108
17954
|
issuingAuthority: string;
|
|
17109
17955
|
issueDate: Date | Timestamp;
|
|
17110
|
-
verificationStatus: "pending" | "
|
|
17956
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17111
17957
|
expiryDate?: Date | Timestamp | undefined;
|
|
17112
17958
|
};
|
|
17113
17959
|
email: string;
|
|
@@ -17206,8 +18052,8 @@ declare const clinicReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17206
18052
|
isVerified: boolean;
|
|
17207
18053
|
patientId: string;
|
|
17208
18054
|
clinicId: string;
|
|
17209
|
-
fullReviewId: string;
|
|
17210
18055
|
comment: string;
|
|
18056
|
+
fullReviewId: string;
|
|
17211
18057
|
isPublished: boolean;
|
|
17212
18058
|
cleanliness: number;
|
|
17213
18059
|
facilities: number;
|
|
@@ -17223,8 +18069,8 @@ declare const clinicReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17223
18069
|
isVerified: boolean;
|
|
17224
18070
|
patientId: string;
|
|
17225
18071
|
clinicId: string;
|
|
17226
|
-
fullReviewId: string;
|
|
17227
18072
|
comment: string;
|
|
18073
|
+
fullReviewId: string;
|
|
17228
18074
|
isPublished: boolean;
|
|
17229
18075
|
cleanliness: number;
|
|
17230
18076
|
facilities: number;
|
|
@@ -17303,8 +18149,8 @@ declare const practitionerReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17303
18149
|
isVerified: boolean;
|
|
17304
18150
|
patientId: string;
|
|
17305
18151
|
practitionerId: string;
|
|
17306
|
-
fullReviewId: string;
|
|
17307
18152
|
comment: string;
|
|
18153
|
+
fullReviewId: string;
|
|
17308
18154
|
isPublished: boolean;
|
|
17309
18155
|
overallRating: number;
|
|
17310
18156
|
wouldRecommend: boolean;
|
|
@@ -17320,8 +18166,8 @@ declare const practitionerReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17320
18166
|
isVerified: boolean;
|
|
17321
18167
|
patientId: string;
|
|
17322
18168
|
practitionerId: string;
|
|
17323
|
-
fullReviewId: string;
|
|
17324
18169
|
comment: string;
|
|
18170
|
+
fullReviewId: string;
|
|
17325
18171
|
isPublished: boolean;
|
|
17326
18172
|
overallRating: number;
|
|
17327
18173
|
wouldRecommend: boolean;
|
|
@@ -17400,8 +18246,8 @@ declare const procedureReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17400
18246
|
isVerified: boolean;
|
|
17401
18247
|
patientId: string;
|
|
17402
18248
|
procedureId: string;
|
|
17403
|
-
fullReviewId: string;
|
|
17404
18249
|
comment: string;
|
|
18250
|
+
fullReviewId: string;
|
|
17405
18251
|
isPublished: boolean;
|
|
17406
18252
|
overallRating: number;
|
|
17407
18253
|
wouldRecommend: boolean;
|
|
@@ -17417,8 +18263,8 @@ declare const procedureReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17417
18263
|
isVerified: boolean;
|
|
17418
18264
|
patientId: string;
|
|
17419
18265
|
procedureId: string;
|
|
17420
|
-
fullReviewId: string;
|
|
17421
18266
|
comment: string;
|
|
18267
|
+
fullReviewId: string;
|
|
17422
18268
|
isPublished: boolean;
|
|
17423
18269
|
overallRating: number;
|
|
17424
18270
|
wouldRecommend: boolean;
|
|
@@ -17596,8 +18442,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17596
18442
|
isVerified: boolean;
|
|
17597
18443
|
patientId: string;
|
|
17598
18444
|
clinicId: string;
|
|
17599
|
-
fullReviewId: string;
|
|
17600
18445
|
comment: string;
|
|
18446
|
+
fullReviewId: string;
|
|
17601
18447
|
isPublished: boolean;
|
|
17602
18448
|
cleanliness: number;
|
|
17603
18449
|
facilities: number;
|
|
@@ -17613,8 +18459,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17613
18459
|
isVerified: boolean;
|
|
17614
18460
|
patientId: string;
|
|
17615
18461
|
clinicId: string;
|
|
17616
|
-
fullReviewId: string;
|
|
17617
18462
|
comment: string;
|
|
18463
|
+
fullReviewId: string;
|
|
17618
18464
|
isPublished: boolean;
|
|
17619
18465
|
cleanliness: number;
|
|
17620
18466
|
facilities: number;
|
|
@@ -17649,8 +18495,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17649
18495
|
isVerified: boolean;
|
|
17650
18496
|
patientId: string;
|
|
17651
18497
|
practitionerId: string;
|
|
17652
|
-
fullReviewId: string;
|
|
17653
18498
|
comment: string;
|
|
18499
|
+
fullReviewId: string;
|
|
17654
18500
|
isPublished: boolean;
|
|
17655
18501
|
overallRating: number;
|
|
17656
18502
|
wouldRecommend: boolean;
|
|
@@ -17666,8 +18512,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17666
18512
|
isVerified: boolean;
|
|
17667
18513
|
patientId: string;
|
|
17668
18514
|
practitionerId: string;
|
|
17669
|
-
fullReviewId: string;
|
|
17670
18515
|
comment: string;
|
|
18516
|
+
fullReviewId: string;
|
|
17671
18517
|
isPublished: boolean;
|
|
17672
18518
|
overallRating: number;
|
|
17673
18519
|
wouldRecommend: boolean;
|
|
@@ -17702,8 +18548,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17702
18548
|
isVerified: boolean;
|
|
17703
18549
|
patientId: string;
|
|
17704
18550
|
procedureId: string;
|
|
17705
|
-
fullReviewId: string;
|
|
17706
18551
|
comment: string;
|
|
18552
|
+
fullReviewId: string;
|
|
17707
18553
|
isPublished: boolean;
|
|
17708
18554
|
overallRating: number;
|
|
17709
18555
|
wouldRecommend: boolean;
|
|
@@ -17719,8 +18565,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17719
18565
|
isVerified: boolean;
|
|
17720
18566
|
patientId: string;
|
|
17721
18567
|
procedureId: string;
|
|
17722
|
-
fullReviewId: string;
|
|
17723
18568
|
comment: string;
|
|
18569
|
+
fullReviewId: string;
|
|
17724
18570
|
isPublished: boolean;
|
|
17725
18571
|
overallRating: number;
|
|
17726
18572
|
wouldRecommend: boolean;
|
|
@@ -17737,8 +18583,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17737
18583
|
createdAt: Date;
|
|
17738
18584
|
updatedAt: Date;
|
|
17739
18585
|
patientId: string;
|
|
17740
|
-
overallRating: number;
|
|
17741
18586
|
appointmentId: string;
|
|
18587
|
+
overallRating: number;
|
|
17742
18588
|
overallComment: string;
|
|
17743
18589
|
clinicReview?: {
|
|
17744
18590
|
id: string;
|
|
@@ -17747,8 +18593,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17747
18593
|
isVerified: boolean;
|
|
17748
18594
|
patientId: string;
|
|
17749
18595
|
clinicId: string;
|
|
17750
|
-
fullReviewId: string;
|
|
17751
18596
|
comment: string;
|
|
18597
|
+
fullReviewId: string;
|
|
17752
18598
|
isPublished: boolean;
|
|
17753
18599
|
cleanliness: number;
|
|
17754
18600
|
facilities: number;
|
|
@@ -17765,8 +18611,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17765
18611
|
isVerified: boolean;
|
|
17766
18612
|
patientId: string;
|
|
17767
18613
|
practitionerId: string;
|
|
17768
|
-
fullReviewId: string;
|
|
17769
18614
|
comment: string;
|
|
18615
|
+
fullReviewId: string;
|
|
17770
18616
|
isPublished: boolean;
|
|
17771
18617
|
overallRating: number;
|
|
17772
18618
|
wouldRecommend: boolean;
|
|
@@ -17783,8 +18629,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17783
18629
|
isVerified: boolean;
|
|
17784
18630
|
patientId: string;
|
|
17785
18631
|
procedureId: string;
|
|
17786
|
-
fullReviewId: string;
|
|
17787
18632
|
comment: string;
|
|
18633
|
+
fullReviewId: string;
|
|
17788
18634
|
isPublished: boolean;
|
|
17789
18635
|
overallRating: number;
|
|
17790
18636
|
wouldRecommend: boolean;
|
|
@@ -17799,8 +18645,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17799
18645
|
createdAt: Date;
|
|
17800
18646
|
updatedAt: Date;
|
|
17801
18647
|
patientId: string;
|
|
17802
|
-
overallRating: number;
|
|
17803
18648
|
appointmentId: string;
|
|
18649
|
+
overallRating: number;
|
|
17804
18650
|
overallComment: string;
|
|
17805
18651
|
clinicReview?: {
|
|
17806
18652
|
id: string;
|
|
@@ -17809,8 +18655,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17809
18655
|
isVerified: boolean;
|
|
17810
18656
|
patientId: string;
|
|
17811
18657
|
clinicId: string;
|
|
17812
|
-
fullReviewId: string;
|
|
17813
18658
|
comment: string;
|
|
18659
|
+
fullReviewId: string;
|
|
17814
18660
|
isPublished: boolean;
|
|
17815
18661
|
cleanliness: number;
|
|
17816
18662
|
facilities: number;
|
|
@@ -17827,8 +18673,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17827
18673
|
isVerified: boolean;
|
|
17828
18674
|
patientId: string;
|
|
17829
18675
|
practitionerId: string;
|
|
17830
|
-
fullReviewId: string;
|
|
17831
18676
|
comment: string;
|
|
18677
|
+
fullReviewId: string;
|
|
17832
18678
|
isPublished: boolean;
|
|
17833
18679
|
overallRating: number;
|
|
17834
18680
|
wouldRecommend: boolean;
|
|
@@ -17845,8 +18691,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17845
18691
|
isVerified: boolean;
|
|
17846
18692
|
patientId: string;
|
|
17847
18693
|
procedureId: string;
|
|
17848
|
-
fullReviewId: string;
|
|
17849
18694
|
comment: string;
|
|
18695
|
+
fullReviewId: string;
|
|
17850
18696
|
isPublished: boolean;
|
|
17851
18697
|
overallRating: number;
|
|
17852
18698
|
wouldRecommend: boolean;
|
|
@@ -18147,4 +18993,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
|
|
|
18147
18993
|
} | undefined;
|
|
18148
18994
|
}>;
|
|
18149
18995
|
|
|
18150
|
-
export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, 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
|
|
18996
|
+
export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, 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 AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, 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 CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DateRange, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, Language, ListType, type LocationData, MedicationAllergySubtype, 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, PROCEDURES_COLLECTION, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, TechnologyService, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, 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 UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|