@blackcode_sa/metaestetics-api 1.6.2 → 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 +1417 -554
- package/dist/index.d.ts +1417 -554
- package/dist/index.js +1393 -687
- package/dist/index.mjs +1423 -711
- 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/patient.service.ts +31 -1
- package/src/services/patient/patientRequirements.service.ts +285 -0
- package/src/services/patient/utils/practitioner.utils.ts +79 -1
- 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/index.ts +6 -0
- 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.mts
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
|
/**
|
|
@@ -1907,6 +1929,10 @@ interface PatientProfileComplete {
|
|
|
1907
1929
|
patientMedicalInfo?: PatientMedicalInfo;
|
|
1908
1930
|
patientLocationInfo?: PatientLocationInfo;
|
|
1909
1931
|
}
|
|
1932
|
+
interface PatientProfileForDoctor {
|
|
1933
|
+
patientProfile?: PatientProfile;
|
|
1934
|
+
patientSensitiveInfo?: PatientSensitiveInfo;
|
|
1935
|
+
}
|
|
1910
1936
|
|
|
1911
1937
|
/**
|
|
1912
1938
|
* Interface for clinic profile information
|
|
@@ -1943,355 +1969,53 @@ interface PatientProfileInfo {
|
|
|
1943
1969
|
}
|
|
1944
1970
|
|
|
1945
1971
|
/**
|
|
1946
|
-
*
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
RESCHEDULED = "rescheduled"
|
|
1958
|
-
}
|
|
1959
|
-
/**
|
|
1960
|
-
* Enum defining the payment status of an appointment.
|
|
1961
|
-
*/
|
|
1962
|
-
declare enum PaymentStatus {
|
|
1963
|
-
UNPAID = "unpaid",
|
|
1964
|
-
PAID = "paid",
|
|
1965
|
-
PARTIALLY_PAID = "partially_paid",
|
|
1966
|
-
REFUNDED = "refunded",
|
|
1967
|
-
NOT_APPLICABLE = "not_applicable"
|
|
1968
|
-
}
|
|
1969
|
-
/**
|
|
1970
|
-
* Represents a booked appointment, aggregating key information and relevant procedure rules.
|
|
1971
|
-
*/
|
|
1972
|
-
interface Appointment {
|
|
1973
|
-
/** Unique identifier for the appointment */
|
|
1974
|
-
id: string;
|
|
1975
|
-
/** Reference to the associated CalendarEvent */
|
|
1976
|
-
calendarEventId: string;
|
|
1977
|
-
/** ID of the clinic branch */
|
|
1978
|
-
clinicBranchId: string;
|
|
1979
|
-
/** Aggregated clinic information (snapshot) */
|
|
1980
|
-
clinicInfo: ClinicInfo;
|
|
1981
|
-
/** ID of the practitioner */
|
|
1982
|
-
practitionerId: string;
|
|
1983
|
-
/** Aggregated practitioner information (snapshot) */
|
|
1984
|
-
practitionerInfo: PractitionerProfileInfo;
|
|
1985
|
-
/** ID of the patient */
|
|
1986
|
-
patientId: string;
|
|
1987
|
-
/** Aggregated patient information (snapshot) */
|
|
1988
|
-
patientInfo: PatientProfileInfo;
|
|
1989
|
-
/** ID of the procedure */
|
|
1990
|
-
procedureId: string;
|
|
1991
|
-
/** Aggregated procedure information including product/brand (snapshot) */
|
|
1992
|
-
procedureInfo: ProcedureSummaryInfo;
|
|
1993
|
-
/** Status of the appointment */
|
|
1994
|
-
status: AppointmentStatus;
|
|
1995
|
-
/** Timestamps */
|
|
1996
|
-
bookingTime: Timestamp;
|
|
1997
|
-
confirmationTime?: Timestamp | null;
|
|
1998
|
-
appointmentStartTime: Timestamp;
|
|
1999
|
-
appointmentEndTime: Timestamp;
|
|
2000
|
-
actualDurationMinutes?: number;
|
|
2001
|
-
/** Cancellation Details */
|
|
2002
|
-
cancellationReason?: string | null;
|
|
2003
|
-
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
2004
|
-
/** Notes */
|
|
2005
|
-
internalNotes?: string | null;
|
|
2006
|
-
patientNotes?: string | null;
|
|
2007
|
-
/** Payment Details */
|
|
2008
|
-
cost: number;
|
|
2009
|
-
currency: Currency;
|
|
2010
|
-
paymentStatus: PaymentStatus;
|
|
2011
|
-
paymentTransactionId?: string | null;
|
|
2012
|
-
/** Procedure-related conditions and requirements */
|
|
2013
|
-
blockingConditions: BlockingCondition[];
|
|
2014
|
-
contraindications: Contraindication[];
|
|
2015
|
-
preProcedureRequirements: Requirement[];
|
|
2016
|
-
postProcedureRequirements: Requirement[];
|
|
2017
|
-
/** Tracking information for requirements completion */
|
|
2018
|
-
completedPreRequirements?: string[];
|
|
2019
|
-
completedPostRequirements?: string[];
|
|
2020
|
-
/** Timestamps */
|
|
2021
|
-
createdAt: Timestamp;
|
|
2022
|
-
updatedAt: Timestamp;
|
|
2023
|
-
/** Recurring appointment information */
|
|
2024
|
-
isRecurring?: boolean;
|
|
2025
|
-
recurringAppointmentId?: string | null;
|
|
2026
|
-
}
|
|
2027
|
-
/**
|
|
2028
|
-
* Data needed to create a new Appointment
|
|
2029
|
-
*/
|
|
2030
|
-
interface CreateAppointmentData {
|
|
2031
|
-
calendarEventId: string;
|
|
2032
|
-
clinicBranchId: string;
|
|
2033
|
-
practitionerId: string;
|
|
2034
|
-
patientId: string;
|
|
2035
|
-
procedureId: string;
|
|
2036
|
-
appointmentStartTime: Timestamp;
|
|
2037
|
-
appointmentEndTime: Timestamp;
|
|
2038
|
-
cost: number;
|
|
2039
|
-
currency: Currency;
|
|
2040
|
-
patientNotes?: string | null;
|
|
2041
|
-
initialStatus: AppointmentStatus;
|
|
2042
|
-
initialPaymentStatus?: PaymentStatus;
|
|
2043
|
-
}
|
|
2044
|
-
/**
|
|
2045
|
-
* Data allowed for updating an Appointment
|
|
2046
|
-
*/
|
|
2047
|
-
interface UpdateAppointmentData {
|
|
2048
|
-
status?: AppointmentStatus;
|
|
2049
|
-
confirmationTime?: Timestamp | null;
|
|
2050
|
-
actualDurationMinutes?: number;
|
|
2051
|
-
cancellationReason?: string | null;
|
|
2052
|
-
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
2053
|
-
internalNotes?: string | null;
|
|
2054
|
-
paymentStatus?: PaymentStatus;
|
|
2055
|
-
paymentTransactionId?: string | null;
|
|
2056
|
-
completedPreRequirements?: string[];
|
|
2057
|
-
completedPostRequirements?: string[];
|
|
2058
|
-
}
|
|
2059
|
-
/**
|
|
2060
|
-
* 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
|
|
2061
1983
|
*/
|
|
2062
|
-
interface
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
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;
|
|
2071
1993
|
}
|
|
2072
|
-
/** Firestore collection name */
|
|
2073
|
-
declare const APPOINTMENTS_COLLECTION = "appointments";
|
|
2074
1994
|
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
calendarEventId: z.ZodString;
|
|
2080
|
-
clinicBranchId: z.ZodString;
|
|
2081
|
-
practitionerId: z.ZodString;
|
|
2082
|
-
patientId: z.ZodString;
|
|
2083
|
-
procedureId: z.ZodString;
|
|
2084
|
-
appointmentStartTime: z.ZodEffects<z.ZodAny, any, any>;
|
|
2085
|
-
appointmentEndTime: z.ZodEffects<z.ZodAny, any, any>;
|
|
2086
|
-
cost: z.ZodNumber;
|
|
2087
|
-
currency: z.ZodString;
|
|
2088
|
-
patientNotes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2089
|
-
initialStatus: z.ZodNativeEnum<typeof AppointmentStatus>;
|
|
2090
|
-
initialPaymentStatus: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof PaymentStatus>>>;
|
|
2091
|
-
}, "strip", z.ZodTypeAny, {
|
|
2092
|
-
patientId: string;
|
|
2093
|
-
practitionerId: string;
|
|
2094
|
-
calendarEventId: string;
|
|
2095
|
-
clinicBranchId: string;
|
|
2096
|
-
procedureId: string;
|
|
2097
|
-
cost: number;
|
|
2098
|
-
currency: string;
|
|
2099
|
-
initialStatus: AppointmentStatus;
|
|
2100
|
-
initialPaymentStatus: PaymentStatus;
|
|
2101
|
-
appointmentStartTime?: any;
|
|
2102
|
-
appointmentEndTime?: any;
|
|
2103
|
-
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>;
|
|
2104
1999
|
}, {
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
appointmentEndTime?: any;
|
|
2115
|
-
patientNotes?: string | null | undefined;
|
|
2116
|
-
initialPaymentStatus?: PaymentStatus | undefined;
|
|
2117
|
-
}>;
|
|
2118
|
-
/**
|
|
2119
|
-
* Schema for validating appointment update data
|
|
2120
|
-
*/
|
|
2121
|
-
declare const updateAppointmentSchema: z.ZodEffects<z.ZodObject<{
|
|
2122
|
-
status: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentStatus>>;
|
|
2123
|
-
confirmationTime: z.ZodOptional<z.ZodEffects<z.ZodAny, any, any>>;
|
|
2124
|
-
actualDurationMinutes: z.ZodOptional<z.ZodNumber>;
|
|
2125
|
-
cancellationReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2126
|
-
canceledBy: z.ZodOptional<z.ZodEnum<["patient", "clinic", "practitioner", "system"]>>;
|
|
2127
|
-
internalNotes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2128
|
-
paymentStatus: z.ZodOptional<z.ZodNativeEnum<typeof PaymentStatus>>;
|
|
2129
|
-
paymentTransactionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2130
|
-
completedPreRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2131
|
-
completedPostRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2132
|
-
}, "strip", z.ZodTypeAny, {
|
|
2133
|
-
status?: AppointmentStatus | undefined;
|
|
2134
|
-
confirmationTime?: any;
|
|
2135
|
-
actualDurationMinutes?: number | undefined;
|
|
2136
|
-
cancellationReason?: string | null | undefined;
|
|
2137
|
-
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
2138
|
-
internalNotes?: string | null | undefined;
|
|
2139
|
-
paymentStatus?: PaymentStatus | undefined;
|
|
2140
|
-
paymentTransactionId?: string | null | undefined;
|
|
2141
|
-
completedPreRequirements?: string[] | undefined;
|
|
2142
|
-
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;
|
|
2143
2009
|
}, {
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
completedPostRequirements?: string[] | undefined;
|
|
2154
|
-
}>, {
|
|
2155
|
-
status?: AppointmentStatus | undefined;
|
|
2156
|
-
confirmationTime?: any;
|
|
2157
|
-
actualDurationMinutes?: number | undefined;
|
|
2158
|
-
cancellationReason?: string | null | undefined;
|
|
2159
|
-
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
2160
|
-
internalNotes?: string | null | undefined;
|
|
2161
|
-
paymentStatus?: PaymentStatus | undefined;
|
|
2162
|
-
paymentTransactionId?: string | null | undefined;
|
|
2163
|
-
completedPreRequirements?: string[] | undefined;
|
|
2164
|
-
completedPostRequirements?: string[] | undefined;
|
|
2165
|
-
}, {
|
|
2166
|
-
status?: AppointmentStatus | undefined;
|
|
2167
|
-
confirmationTime?: any;
|
|
2168
|
-
actualDurationMinutes?: number | undefined;
|
|
2169
|
-
cancellationReason?: string | null | undefined;
|
|
2170
|
-
canceledBy?: "practitioner" | "patient" | "clinic" | "system" | undefined;
|
|
2171
|
-
internalNotes?: string | null | undefined;
|
|
2172
|
-
paymentStatus?: PaymentStatus | undefined;
|
|
2173
|
-
paymentTransactionId?: string | null | undefined;
|
|
2174
|
-
completedPreRequirements?: string[] | undefined;
|
|
2175
|
-
completedPostRequirements?: string[] | undefined;
|
|
2176
|
-
}>;
|
|
2177
|
-
/**
|
|
2178
|
-
* Schema for validating appointment search parameters
|
|
2179
|
-
*/
|
|
2180
|
-
declare const searchAppointmentsSchema: z.ZodEffects<z.ZodObject<{
|
|
2181
|
-
patientId: z.ZodOptional<z.ZodString>;
|
|
2182
|
-
practitionerId: z.ZodOptional<z.ZodString>;
|
|
2183
|
-
clinicBranchId: z.ZodOptional<z.ZodString>;
|
|
2184
|
-
startDate: z.ZodOptional<z.ZodDate>;
|
|
2185
|
-
endDate: z.ZodOptional<z.ZodDate>;
|
|
2186
|
-
status: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<typeof AppointmentStatus>, z.ZodArray<z.ZodNativeEnum<typeof AppointmentStatus>, "many">]>>;
|
|
2187
|
-
limit: z.ZodOptional<z.ZodNumber>;
|
|
2188
|
-
startAfter: z.ZodOptional<z.ZodAny>;
|
|
2189
|
-
}, "strip", z.ZodTypeAny, {
|
|
2190
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2191
|
-
patientId?: string | undefined;
|
|
2192
|
-
startDate?: Date | undefined;
|
|
2193
|
-
endDate?: Date | undefined;
|
|
2194
|
-
limit?: number | undefined;
|
|
2195
|
-
startAfter?: any;
|
|
2196
|
-
practitionerId?: string | undefined;
|
|
2197
|
-
clinicBranchId?: string | undefined;
|
|
2198
|
-
}, {
|
|
2199
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2200
|
-
patientId?: string | undefined;
|
|
2201
|
-
startDate?: Date | undefined;
|
|
2202
|
-
endDate?: Date | undefined;
|
|
2203
|
-
limit?: number | undefined;
|
|
2204
|
-
startAfter?: any;
|
|
2205
|
-
practitionerId?: string | undefined;
|
|
2206
|
-
clinicBranchId?: string | undefined;
|
|
2207
|
-
}>, {
|
|
2208
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2209
|
-
patientId?: string | undefined;
|
|
2210
|
-
startDate?: Date | undefined;
|
|
2211
|
-
endDate?: Date | undefined;
|
|
2212
|
-
limit?: number | undefined;
|
|
2213
|
-
startAfter?: any;
|
|
2214
|
-
practitionerId?: string | undefined;
|
|
2215
|
-
clinicBranchId?: string | undefined;
|
|
2216
|
-
}, {
|
|
2217
|
-
status?: AppointmentStatus | AppointmentStatus[] | undefined;
|
|
2218
|
-
patientId?: string | undefined;
|
|
2219
|
-
startDate?: Date | undefined;
|
|
2220
|
-
endDate?: Date | undefined;
|
|
2221
|
-
limit?: number | undefined;
|
|
2222
|
-
startAfter?: any;
|
|
2223
|
-
practitionerId?: string | undefined;
|
|
2224
|
-
clinicBranchId?: string | undefined;
|
|
2225
|
-
}>;
|
|
2226
|
-
|
|
2227
|
-
interface FirebaseInstance {
|
|
2228
|
-
app: FirebaseApp;
|
|
2229
|
-
db: Firestore;
|
|
2230
|
-
auth: Auth;
|
|
2231
|
-
analytics: Analytics | null;
|
|
2232
|
-
}
|
|
2233
|
-
declare const initializeFirebase: (config: {
|
|
2234
|
-
apiKey: string;
|
|
2235
|
-
authDomain: string;
|
|
2236
|
-
projectId: string;
|
|
2237
|
-
storageBucket: string;
|
|
2238
|
-
messagingSenderId: string;
|
|
2239
|
-
appId: string;
|
|
2240
|
-
measurementId?: string;
|
|
2241
|
-
}) => FirebaseInstance;
|
|
2242
|
-
declare const getFirebaseInstance: () => Promise<FirebaseInstance>;
|
|
2243
|
-
declare const getFirebaseAuth: () => Promise<Auth>;
|
|
2244
|
-
declare const getFirebaseDB: () => Promise<Firestore>;
|
|
2245
|
-
declare const getFirebaseApp: () => Promise<FirebaseApp>;
|
|
2246
|
-
|
|
2247
|
-
/**
|
|
2248
|
-
* Brend proizvoda ili opreme
|
|
2249
|
-
* Predstavlja proizvođača ili dobavljača proizvoda i opreme koja se koristi u procedurama
|
|
2250
|
-
*
|
|
2251
|
-
* @property id - Jedinstveni identifikator brenda
|
|
2252
|
-
* @property name - Naziv brenda
|
|
2253
|
-
* @property manufacturer - Naziv proizvođača
|
|
2254
|
-
* @property description - Detaljan opis brenda i njegovih proizvoda
|
|
2255
|
-
* @property website - Web stranica brenda
|
|
2256
|
-
* @property isActive - Da li je brend aktivan u sistemu
|
|
2257
|
-
* @property createdAt - Datum kreiranja
|
|
2258
|
-
* @property updatedAt - Datum poslednjeg ažuriranja
|
|
2259
|
-
*/
|
|
2260
|
-
interface Brand {
|
|
2261
|
-
id?: string;
|
|
2262
|
-
name: string;
|
|
2263
|
-
manufacturer: string;
|
|
2264
|
-
createdAt: Date;
|
|
2265
|
-
updatedAt: Date;
|
|
2266
|
-
isActive: boolean;
|
|
2267
|
-
website?: string;
|
|
2268
|
-
description?: string;
|
|
2269
|
-
}
|
|
2270
|
-
|
|
2271
|
-
declare const documentElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
|
|
2272
|
-
id: z.ZodOptional<z.ZodString>;
|
|
2273
|
-
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2274
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
2275
|
-
}, {
|
|
2276
|
-
type: z.ZodLiteral<DocumentElementType.HEADING>;
|
|
2277
|
-
text: z.ZodString;
|
|
2278
|
-
level: z.ZodNativeEnum<typeof HeadingLevel>;
|
|
2279
|
-
}>, "strip", z.ZodTypeAny, {
|
|
2280
|
-
type: DocumentElementType.HEADING;
|
|
2281
|
-
text: string;
|
|
2282
|
-
level: HeadingLevel;
|
|
2283
|
-
id?: string | undefined;
|
|
2284
|
-
required?: boolean | undefined;
|
|
2285
|
-
}, {
|
|
2286
|
-
type: DocumentElementType.HEADING;
|
|
2287
|
-
text: string;
|
|
2288
|
-
level: HeadingLevel;
|
|
2289
|
-
id?: string | undefined;
|
|
2290
|
-
required?: boolean | undefined;
|
|
2291
|
-
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
2292
|
-
id: z.ZodOptional<z.ZodString>;
|
|
2293
|
-
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2294
|
-
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>;
|
|
2295
2019
|
}, {
|
|
2296
2020
|
type: z.ZodLiteral<DocumentElementType.PARAGRAPH>;
|
|
2297
2021
|
text: z.ZodString;
|
|
@@ -2504,6 +2228,23 @@ declare const documentElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObjec
|
|
|
2504
2228
|
id: z.ZodOptional<z.ZodString>;
|
|
2505
2229
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2506
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>;
|
|
2507
2248
|
}, {
|
|
2508
2249
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
2509
2250
|
label: z.ZodString;
|
|
@@ -2738,6 +2479,21 @@ declare const documentElementWithoutIdSchema: z.ZodDiscriminatedUnion<"type", [z
|
|
|
2738
2479
|
id: z.ZodOptional<z.ZodString>;
|
|
2739
2480
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2740
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>;
|
|
2741
2497
|
}, {
|
|
2742
2498
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
2743
2499
|
label: z.ZodString;
|
|
@@ -2973,6 +2729,21 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
2973
2729
|
id: z.ZodOptional<z.ZodString>;
|
|
2974
2730
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
2975
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>;
|
|
2976
2747
|
}, {
|
|
2977
2748
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
2978
2749
|
label: z.ZodString;
|
|
@@ -2992,6 +2763,9 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
2992
2763
|
maxFileSizeMB?: number | undefined;
|
|
2993
2764
|
}>]>, "many">;
|
|
2994
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>>;
|
|
2995
2769
|
}, "strip", z.ZodTypeAny, {
|
|
2996
2770
|
title: string;
|
|
2997
2771
|
elements: ({
|
|
@@ -3053,6 +2827,10 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3053
2827
|
type: DocumentElementType.SIGNATURE;
|
|
3054
2828
|
label: string;
|
|
3055
2829
|
required?: boolean | undefined;
|
|
2830
|
+
} | {
|
|
2831
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2832
|
+
label: string;
|
|
2833
|
+
required?: boolean | undefined;
|
|
3056
2834
|
} | {
|
|
3057
2835
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3058
2836
|
label: string;
|
|
@@ -3060,6 +2838,9 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3060
2838
|
allowedFileTypes?: string[] | undefined;
|
|
3061
2839
|
maxFileSizeMB?: number | undefined;
|
|
3062
2840
|
})[];
|
|
2841
|
+
isUserForm: boolean;
|
|
2842
|
+
isRequired: boolean;
|
|
2843
|
+
sortingOrder: number;
|
|
3063
2844
|
description?: string | undefined;
|
|
3064
2845
|
tags?: string[] | undefined;
|
|
3065
2846
|
}, {
|
|
@@ -3123,6 +2904,10 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3123
2904
|
type: DocumentElementType.SIGNATURE;
|
|
3124
2905
|
label: string;
|
|
3125
2906
|
required?: boolean | undefined;
|
|
2907
|
+
} | {
|
|
2908
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
2909
|
+
label: string;
|
|
2910
|
+
required?: boolean | undefined;
|
|
3126
2911
|
} | {
|
|
3127
2912
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3128
2913
|
label: string;
|
|
@@ -3132,6 +2917,9 @@ declare const createDocumentTemplateSchema: z.ZodObject<{
|
|
|
3132
2917
|
})[];
|
|
3133
2918
|
description?: string | undefined;
|
|
3134
2919
|
tags?: string[] | undefined;
|
|
2920
|
+
isUserForm?: boolean | undefined;
|
|
2921
|
+
isRequired?: boolean | undefined;
|
|
2922
|
+
sortingOrder?: number | undefined;
|
|
3135
2923
|
}>;
|
|
3136
2924
|
declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
3137
2925
|
title: z.ZodOptional<z.ZodString>;
|
|
@@ -3350,6 +3138,21 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3350
3138
|
id: z.ZodOptional<z.ZodString>;
|
|
3351
3139
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
3352
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>;
|
|
3353
3156
|
}, {
|
|
3354
3157
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
3355
3158
|
label: z.ZodString;
|
|
@@ -3370,6 +3173,9 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3370
3173
|
}>]>, "many">>;
|
|
3371
3174
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3372
3175
|
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
3176
|
+
isUserForm: z.ZodOptional<z.ZodBoolean>;
|
|
3177
|
+
isRequired: z.ZodOptional<z.ZodBoolean>;
|
|
3178
|
+
sortingOrder: z.ZodOptional<z.ZodNumber>;
|
|
3373
3179
|
}, "strip", z.ZodTypeAny, {
|
|
3374
3180
|
isActive?: boolean | undefined;
|
|
3375
3181
|
description?: string | undefined;
|
|
@@ -3434,6 +3240,10 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3434
3240
|
type: DocumentElementType.SIGNATURE;
|
|
3435
3241
|
label: string;
|
|
3436
3242
|
required?: boolean | undefined;
|
|
3243
|
+
} | {
|
|
3244
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3245
|
+
label: string;
|
|
3246
|
+
required?: boolean | undefined;
|
|
3437
3247
|
} | {
|
|
3438
3248
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3439
3249
|
label: string;
|
|
@@ -3441,6 +3251,9 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3441
3251
|
allowedFileTypes?: string[] | undefined;
|
|
3442
3252
|
maxFileSizeMB?: number | undefined;
|
|
3443
3253
|
})[] | undefined;
|
|
3254
|
+
isUserForm?: boolean | undefined;
|
|
3255
|
+
isRequired?: boolean | undefined;
|
|
3256
|
+
sortingOrder?: number | undefined;
|
|
3444
3257
|
}, {
|
|
3445
3258
|
isActive?: boolean | undefined;
|
|
3446
3259
|
description?: string | undefined;
|
|
@@ -3505,6 +3318,10 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3505
3318
|
type: DocumentElementType.SIGNATURE;
|
|
3506
3319
|
label: string;
|
|
3507
3320
|
required?: boolean | undefined;
|
|
3321
|
+
} | {
|
|
3322
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3323
|
+
label: string;
|
|
3324
|
+
required?: boolean | undefined;
|
|
3508
3325
|
} | {
|
|
3509
3326
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3510
3327
|
label: string;
|
|
@@ -3512,6 +3329,9 @@ declare const updateDocumentTemplateSchema: z.ZodObject<{
|
|
|
3512
3329
|
allowedFileTypes?: string[] | undefined;
|
|
3513
3330
|
maxFileSizeMB?: number | undefined;
|
|
3514
3331
|
})[] | undefined;
|
|
3332
|
+
isUserForm?: boolean | undefined;
|
|
3333
|
+
isRequired?: boolean | undefined;
|
|
3334
|
+
sortingOrder?: number | undefined;
|
|
3515
3335
|
}>;
|
|
3516
3336
|
declare const documentTemplateSchema: z.ZodObject<{
|
|
3517
3337
|
id: z.ZodString;
|
|
@@ -3756,6 +3576,23 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3756
3576
|
id: z.ZodOptional<z.ZodString>;
|
|
3757
3577
|
type: z.ZodNativeEnum<typeof DocumentElementType>;
|
|
3758
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>;
|
|
3759
3596
|
}, {
|
|
3760
3597
|
type: z.ZodLiteral<DocumentElementType.FILE_UPLOAD>;
|
|
3761
3598
|
label: z.ZodString;
|
|
@@ -3779,6 +3616,9 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3779
3616
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3780
3617
|
version: z.ZodNumber;
|
|
3781
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>>;
|
|
3782
3622
|
}, "strip", z.ZodTypeAny, {
|
|
3783
3623
|
id: string;
|
|
3784
3624
|
createdAt: number;
|
|
@@ -3855,6 +3695,11 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3855
3695
|
label: string;
|
|
3856
3696
|
id?: string | undefined;
|
|
3857
3697
|
required?: boolean | undefined;
|
|
3698
|
+
} | {
|
|
3699
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3700
|
+
label: string;
|
|
3701
|
+
id?: string | undefined;
|
|
3702
|
+
required?: boolean | undefined;
|
|
3858
3703
|
} | {
|
|
3859
3704
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3860
3705
|
label: string;
|
|
@@ -3863,6 +3708,9 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3863
3708
|
allowedFileTypes?: string[] | undefined;
|
|
3864
3709
|
maxFileSizeMB?: number | undefined;
|
|
3865
3710
|
})[];
|
|
3711
|
+
isUserForm: boolean;
|
|
3712
|
+
isRequired: boolean;
|
|
3713
|
+
sortingOrder: number;
|
|
3866
3714
|
createdBy: string;
|
|
3867
3715
|
version: number;
|
|
3868
3716
|
description?: string | undefined;
|
|
@@ -3943,6 +3791,11 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3943
3791
|
label: string;
|
|
3944
3792
|
id?: string | undefined;
|
|
3945
3793
|
required?: boolean | undefined;
|
|
3794
|
+
} | {
|
|
3795
|
+
type: DocumentElementType.DITIGAL_SIGNATURE;
|
|
3796
|
+
label: string;
|
|
3797
|
+
id?: string | undefined;
|
|
3798
|
+
required?: boolean | undefined;
|
|
3946
3799
|
} | {
|
|
3947
3800
|
type: DocumentElementType.FILE_UPLOAD;
|
|
3948
3801
|
label: string;
|
|
@@ -3955,6 +3808,91 @@ declare const documentTemplateSchema: z.ZodObject<{
|
|
|
3955
3808
|
version: number;
|
|
3956
3809
|
description?: string | undefined;
|
|
3957
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;
|
|
3958
3896
|
}>;
|
|
3959
3897
|
|
|
3960
3898
|
declare class BaseService {
|
|
@@ -4415,6 +4353,685 @@ declare class ProductService extends BaseService implements IProductService {
|
|
|
4415
4353
|
getById(technologyId: string, productId: string): Promise<Product | null>;
|
|
4416
4354
|
}
|
|
4417
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
|
+
|
|
4418
5035
|
/**
|
|
4419
5036
|
* Enum for synced calendar provider
|
|
4420
5037
|
*/
|
|
@@ -4783,6 +5400,19 @@ declare class PatientService extends BaseService {
|
|
|
4783
5400
|
limit?: number;
|
|
4784
5401
|
startAfter?: string;
|
|
4785
5402
|
}): Promise<PatientProfile[]>;
|
|
5403
|
+
/**
|
|
5404
|
+
* Gets all patients associated with a specific practitioner with their sensitive information.
|
|
5405
|
+
*
|
|
5406
|
+
* @param {string} practitionerId - ID of the practitioner whose patients to retrieve
|
|
5407
|
+
* @param {Object} options - Optional parameters for pagination
|
|
5408
|
+
* @param {number} options.limit - Maximum number of profiles to return
|
|
5409
|
+
* @param {string} options.startAfter - The ID of the document to start after (for pagination)
|
|
5410
|
+
* @returns {Promise<PatientProfileForDoctor[]>} A promise resolving to an array of patient profiles with sensitive info
|
|
5411
|
+
*/
|
|
5412
|
+
getPatientsByPractitionerWithDetails(practitionerId: string, options?: {
|
|
5413
|
+
limit?: number;
|
|
5414
|
+
startAfter?: string;
|
|
5415
|
+
}): Promise<PatientProfileForDoctor[]>;
|
|
4786
5416
|
/**
|
|
4787
5417
|
* Gets all patients associated with a specific clinic.
|
|
4788
5418
|
*
|
|
@@ -5362,10 +5992,19 @@ declare class AuthService extends BaseService {
|
|
|
5362
5992
|
* Enumeracija koja definiše sve moguće tipove notifikacija
|
|
5363
5993
|
*/
|
|
5364
5994
|
declare enum NotificationType {
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
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"
|
|
5369
6008
|
}
|
|
5370
6009
|
/**
|
|
5371
6010
|
* Bazni interfejs za sve notifikacije
|
|
@@ -5399,14 +6038,22 @@ interface BaseNotification {
|
|
|
5399
6038
|
isRead: boolean;
|
|
5400
6039
|
/** Uloga korisnika kome je namenjena notifikacija */
|
|
5401
6040
|
userRole: UserRole;
|
|
6041
|
+
appointmentId?: string;
|
|
6042
|
+
patientRequirementInstanceId?: string;
|
|
6043
|
+
instructionId?: string;
|
|
6044
|
+
formId?: string;
|
|
6045
|
+
originalRequirementId?: string;
|
|
6046
|
+
transactionId?: string;
|
|
5402
6047
|
}
|
|
5403
6048
|
/**
|
|
5404
6049
|
* Status notifikacije
|
|
5405
6050
|
*/
|
|
5406
6051
|
declare enum NotificationStatus {
|
|
5407
6052
|
PENDING = "pending",
|
|
6053
|
+
PROCESSING = "processing",
|
|
5408
6054
|
SENT = "sent",
|
|
5409
6055
|
FAILED = "failed",
|
|
6056
|
+
DELIVERED = "delivered",
|
|
5410
6057
|
CANCELLED = "cancelled",
|
|
5411
6058
|
PARTIAL_SUCCESS = "partialSuccess"
|
|
5412
6059
|
}
|
|
@@ -5414,7 +6061,7 @@ declare enum NotificationStatus {
|
|
|
5414
6061
|
* Notifikacija za pre-requirement
|
|
5415
6062
|
*/
|
|
5416
6063
|
interface PreRequirementNotification extends BaseNotification {
|
|
5417
|
-
notificationType: NotificationType.
|
|
6064
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
5418
6065
|
/** ID tretmana za koji je vezan pre-requirement */
|
|
5419
6066
|
treatmentId: string;
|
|
5420
6067
|
/** Lista pre-requirements koji treba da se ispune */
|
|
@@ -5426,7 +6073,7 @@ interface PreRequirementNotification extends BaseNotification {
|
|
|
5426
6073
|
* Notifikacija za post-requirement
|
|
5427
6074
|
*/
|
|
5428
6075
|
interface PostRequirementNotification extends BaseNotification {
|
|
5429
|
-
notificationType: NotificationType.
|
|
6076
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
5430
6077
|
/** ID tretmana za koji je vezan post-requirement */
|
|
5431
6078
|
treatmentId: string;
|
|
5432
6079
|
/** Lista post-requirements koji treba da se ispune */
|
|
@@ -5435,37 +6082,108 @@ interface PostRequirementNotification extends BaseNotification {
|
|
|
5435
6082
|
deadline: Timestamp;
|
|
5436
6083
|
}
|
|
5437
6084
|
/**
|
|
5438
|
-
*
|
|
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."
|
|
5439
6097
|
*/
|
|
5440
6098
|
interface AppointmentReminderNotification extends BaseNotification {
|
|
5441
6099
|
notificationType: NotificationType.APPOINTMENT_REMINDER;
|
|
5442
|
-
/** ID zakazanog termina */
|
|
5443
6100
|
appointmentId: string;
|
|
5444
|
-
/** Vreme termina */
|
|
5445
6101
|
appointmentTime: Timestamp;
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
doctorName: string;
|
|
6102
|
+
procedureName?: string;
|
|
6103
|
+
practitionerName?: string;
|
|
6104
|
+
clinicName?: string;
|
|
5450
6105
|
}
|
|
5451
6106
|
/**
|
|
5452
|
-
*
|
|
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."
|
|
5453
6110
|
*/
|
|
5454
|
-
interface
|
|
5455
|
-
notificationType: NotificationType.
|
|
5456
|
-
|
|
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;
|
|
5457
6135
|
appointmentId: string;
|
|
5458
|
-
/** Novi status termina */
|
|
5459
|
-
appointmentStatus: string;
|
|
5460
|
-
/** Prethodni status termina */
|
|
5461
|
-
previousStatus: string;
|
|
5462
|
-
/** Razlog promene (opciono) */
|
|
5463
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;
|
|
5464
6182
|
}
|
|
5465
6183
|
/**
|
|
5466
6184
|
* Unija svih tipova notifikacija
|
|
5467
6185
|
*/
|
|
5468
|
-
type Notification = PreRequirementNotification | PostRequirementNotification | AppointmentReminderNotification |
|
|
6186
|
+
type Notification = PreRequirementNotification | PostRequirementNotification | RequirementInstructionDueNotification | AppointmentReminderNotification | AppointmentStatusChangeNotification | AppointmentRescheduledProposalNotification | AppointmentCancelledNotification | FormReminderNotification | FormSubmissionConfirmationNotification | ReviewRequestNotification | GeneralMessageNotification | PaymentConfirmationNotification;
|
|
5469
6187
|
|
|
5470
6188
|
declare class NotificationService extends BaseService {
|
|
5471
6189
|
/**
|
|
@@ -5702,39 +6420,72 @@ declare class DocumentationTemplateService extends BaseService {
|
|
|
5702
6420
|
}
|
|
5703
6421
|
|
|
5704
6422
|
/**
|
|
5705
|
-
* Service for managing filled documents
|
|
6423
|
+
* Service for managing filled documents within appointment subcollections
|
|
5706
6424
|
*/
|
|
5707
6425
|
declare class FilledDocumentService extends BaseService {
|
|
5708
|
-
private readonly collectionRef;
|
|
5709
6426
|
private readonly templateService;
|
|
5710
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>;
|
|
5711
6446
|
/**
|
|
5712
|
-
*
|
|
5713
|
-
* @param
|
|
5714
|
-
* @param
|
|
5715
|
-
* @param
|
|
5716
|
-
* @
|
|
5717
|
-
* @returns The created filled document
|
|
5718
|
-
*/
|
|
5719
|
-
createFilledDocument(templateId: string, patientId: string, practitionerId: string, clinicId: string): Promise<FilledDocument>;
|
|
5720
|
-
/**
|
|
5721
|
-
* Get a filled document by ID
|
|
5722
|
-
* @param documentId - ID of the filled document to retrieve
|
|
5723
|
-
* @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.
|
|
5724
6452
|
*/
|
|
5725
|
-
|
|
6453
|
+
getFilledDocumentFromAppointmentById(appointmentId: string, formId: string, isUserForm: boolean): Promise<FilledDocument | null>;
|
|
5726
6454
|
/**
|
|
5727
|
-
* Update values in a filled document
|
|
5728
|
-
* @param
|
|
5729
|
-
* @param
|
|
5730
|
-
* @param
|
|
5731
|
-
* @
|
|
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.
|
|
5732
6462
|
*/
|
|
5733
|
-
|
|
6463
|
+
updateFilledDocumentInAppointment(appointmentId: string, formId: string, isUserForm: boolean, values?: {
|
|
5734
6464
|
[elementId: string]: any;
|
|
5735
6465
|
}, status?: FilledDocumentStatus): Promise<FilledDocument>;
|
|
5736
6466
|
/**
|
|
5737
|
-
* 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)
|
|
5738
6489
|
* @param patientId - ID of the patient
|
|
5739
6490
|
* @param pageSize - Number of documents to retrieve
|
|
5740
6491
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5745,7 +6496,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5745
6496
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5746
6497
|
}>;
|
|
5747
6498
|
/**
|
|
5748
|
-
* Get filled documents for a practitioner
|
|
6499
|
+
* Get filled documents for a practitioner (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5749
6500
|
* @param practitionerId - ID of the practitioner
|
|
5750
6501
|
* @param pageSize - Number of documents to retrieve
|
|
5751
6502
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5756,7 +6507,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5756
6507
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5757
6508
|
}>;
|
|
5758
6509
|
/**
|
|
5759
|
-
* Get filled documents for a clinic
|
|
6510
|
+
* Get filled documents for a clinic (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5760
6511
|
* @param clinicId - ID of the clinic
|
|
5761
6512
|
* @param pageSize - Number of documents to retrieve
|
|
5762
6513
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5767,7 +6518,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5767
6518
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5768
6519
|
}>;
|
|
5769
6520
|
/**
|
|
5770
|
-
* Get filled documents by template
|
|
6521
|
+
* Get filled documents by template (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5771
6522
|
* @param templateId - ID of the template
|
|
5772
6523
|
* @param pageSize - Number of documents to retrieve
|
|
5773
6524
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -5778,7 +6529,7 @@ declare class FilledDocumentService extends BaseService {
|
|
|
5778
6529
|
lastDoc: QueryDocumentSnapshot<FilledDocument> | null;
|
|
5779
6530
|
}>;
|
|
5780
6531
|
/**
|
|
5781
|
-
* Get filled documents by status
|
|
6532
|
+
* Get filled documents by status (NEEDS REWORK for subcollections or Collection Group Query)
|
|
5782
6533
|
* @param status - Status to filter by
|
|
5783
6534
|
* @param pageSize - Number of documents to retrieve
|
|
5784
6535
|
* @param lastDoc - Last document from previous page for pagination
|
|
@@ -6421,6 +7172,7 @@ declare class AppointmentService extends BaseService {
|
|
|
6421
7172
|
private patientService;
|
|
6422
7173
|
private practitionerService;
|
|
6423
7174
|
private clinicService;
|
|
7175
|
+
private filledDocumentService;
|
|
6424
7176
|
private functions;
|
|
6425
7177
|
/**
|
|
6426
7178
|
* Creates a new AppointmentService instance.
|
|
@@ -6433,7 +7185,7 @@ declare class AppointmentService extends BaseService {
|
|
|
6433
7185
|
* @param practitionerService Practitioner service instance
|
|
6434
7186
|
* @param clinicService Clinic service instance
|
|
6435
7187
|
*/
|
|
6436
|
-
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);
|
|
6437
7189
|
/**
|
|
6438
7190
|
* Test method using the callable function version of getAvailableBookingSlots
|
|
6439
7191
|
* For development and testing purposes only - not for production use
|
|
@@ -6558,70 +7310,71 @@ declare class AppointmentService extends BaseService {
|
|
|
6558
7310
|
*
|
|
6559
7311
|
* @param appointmentId ID of the appointment
|
|
6560
7312
|
* @param newStatus New status to set
|
|
6561
|
-
* @param
|
|
6562
|
-
* @param canceledBy Required if canceling the appointment
|
|
7313
|
+
* @param details Optional details for the status change
|
|
6563
7314
|
* @returns The updated appointment
|
|
6564
7315
|
*/
|
|
6565
|
-
updateAppointmentStatus(appointmentId: string, newStatus: AppointmentStatus,
|
|
7316
|
+
updateAppointmentStatus(appointmentId: string, newStatus: AppointmentStatus, details?: {
|
|
7317
|
+
cancellationReason?: string;
|
|
7318
|
+
canceledBy?: "patient" | "clinic" | "practitioner" | "system";
|
|
7319
|
+
}): Promise<Appointment>;
|
|
6566
7320
|
/**
|
|
6567
|
-
* Confirms an
|
|
6568
|
-
*
|
|
6569
|
-
* @param appointmentId ID of the appointment to confirm
|
|
6570
|
-
* @returns The confirmed appointment
|
|
7321
|
+
* Confirms a PENDING appointment by an Admin/Clinic.
|
|
6571
7322
|
*/
|
|
6572
|
-
|
|
7323
|
+
confirmAppointmentAdmin(appointmentId: string): Promise<Appointment>;
|
|
6573
7324
|
/**
|
|
6574
|
-
* Cancels an appointment
|
|
6575
|
-
*
|
|
6576
|
-
* @param appointmentId ID of the appointment to cancel
|
|
6577
|
-
* @param reason Reason for cancellation
|
|
6578
|
-
* @returns The canceled appointment
|
|
7325
|
+
* Cancels an appointment by the User (Patient).
|
|
6579
7326
|
*/
|
|
6580
|
-
|
|
7327
|
+
cancelAppointmentUser(appointmentId: string, reason: string): Promise<Appointment>;
|
|
6581
7328
|
/**
|
|
6582
|
-
* Cancels an appointment
|
|
6583
|
-
*
|
|
6584
|
-
* @param appointmentId ID of the appointment to cancel
|
|
6585
|
-
* @param reason Reason for cancellation
|
|
6586
|
-
* @returns The canceled appointment
|
|
7329
|
+
* Cancels an appointment by an Admin/Clinic.
|
|
6587
7330
|
*/
|
|
6588
|
-
|
|
7331
|
+
cancelAppointmentAdmin(appointmentId: string, reason: string): Promise<Appointment>;
|
|
6589
7332
|
/**
|
|
6590
|
-
*
|
|
6591
|
-
*
|
|
6592
|
-
* @param appointmentId ID of the appointment
|
|
6593
|
-
* @returns The updated appointment
|
|
7333
|
+
* Admin proposes to reschedule an appointment.
|
|
7334
|
+
* Sets status to RESCHEDULED_BY_CLINIC and updates times.
|
|
6594
7335
|
*/
|
|
6595
|
-
|
|
7336
|
+
rescheduleAppointmentAdmin(appointmentId: string, newStartTime: Timestamp, newEndTime: Timestamp): Promise<Appointment>;
|
|
6596
7337
|
/**
|
|
6597
|
-
*
|
|
6598
|
-
*
|
|
6599
|
-
* @param appointmentId ID of the appointment
|
|
6600
|
-
* @returns The updated appointment
|
|
7338
|
+
* User confirms a reschedule proposed by the clinic.
|
|
7339
|
+
* Status changes from RESCHEDULED_BY_CLINIC to CONFIRMED.
|
|
6601
7340
|
*/
|
|
6602
|
-
|
|
7341
|
+
rescheduleAppointmentConfirmUser(appointmentId: string): Promise<Appointment>;
|
|
6603
7342
|
/**
|
|
6604
|
-
*
|
|
6605
|
-
*
|
|
6606
|
-
* @param appointmentId ID of the appointment
|
|
6607
|
-
* @param actualDurationMinutes Actual duration of the appointment in minutes
|
|
6608
|
-
* @returns The updated appointment
|
|
7343
|
+
* User rejects a reschedule proposed by the clinic.
|
|
7344
|
+
* Status changes from RESCHEDULED_BY_CLINIC to CANCELED_PATIENT_RESCHEDULED.
|
|
6609
7345
|
*/
|
|
6610
|
-
|
|
7346
|
+
rescheduleAppointmentRejectUser(appointmentId: string, reason: string): Promise<Appointment>;
|
|
6611
7347
|
/**
|
|
6612
|
-
*
|
|
6613
|
-
*
|
|
6614
|
-
|
|
6615
|
-
|
|
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.
|
|
6616
7374
|
*/
|
|
6617
|
-
|
|
7375
|
+
addReviewToAppointment(appointmentId: string, reviewData: Omit<PatientReviewInfo, "reviewedAt" | "reviewId">): Promise<Appointment>;
|
|
6618
7376
|
/**
|
|
6619
7377
|
* Updates the payment status of an appointment.
|
|
6620
|
-
*
|
|
6621
|
-
* @param appointmentId ID of the appointment
|
|
6622
|
-
* @param paymentStatus New payment status
|
|
6623
|
-
* @param paymentTransactionId Optional transaction ID for the payment
|
|
6624
|
-
* @returns The updated appointment
|
|
6625
7378
|
*/
|
|
6626
7379
|
updatePaymentStatus(appointmentId: string, paymentStatus: PaymentStatus, paymentTransactionId?: string): Promise<Appointment>;
|
|
6627
7380
|
/**
|
|
@@ -6655,6 +7408,116 @@ declare class AppointmentService extends BaseService {
|
|
|
6655
7408
|
getDebugToken(): Promise<string | null>;
|
|
6656
7409
|
}
|
|
6657
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
|
+
|
|
6658
7521
|
declare class AuthError extends Error {
|
|
6659
7522
|
code: string;
|
|
6660
7523
|
status: number;
|
|
@@ -6877,7 +7740,7 @@ declare const preRequirementNotificationSchema: z.ZodObject<z.objectUtil.extendS
|
|
|
6877
7740
|
isRead: z.ZodBoolean;
|
|
6878
7741
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
6879
7742
|
}, {
|
|
6880
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7743
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
6881
7744
|
treatmentId: z.ZodString;
|
|
6882
7745
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
6883
7746
|
deadline: z.ZodAny;
|
|
@@ -6885,7 +7748,7 @@ declare const preRequirementNotificationSchema: z.ZodObject<z.objectUtil.extendS
|
|
|
6885
7748
|
status: NotificationStatus;
|
|
6886
7749
|
title: string;
|
|
6887
7750
|
requirements: string[];
|
|
6888
|
-
notificationType: NotificationType.
|
|
7751
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6889
7752
|
treatmentId: string;
|
|
6890
7753
|
userId: string;
|
|
6891
7754
|
notificationTokens: string[];
|
|
@@ -6901,7 +7764,7 @@ declare const preRequirementNotificationSchema: z.ZodObject<z.objectUtil.extendS
|
|
|
6901
7764
|
status: NotificationStatus;
|
|
6902
7765
|
title: string;
|
|
6903
7766
|
requirements: string[];
|
|
6904
|
-
notificationType: NotificationType.
|
|
7767
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6905
7768
|
treatmentId: string;
|
|
6906
7769
|
userId: string;
|
|
6907
7770
|
notificationTokens: string[];
|
|
@@ -6931,7 +7794,7 @@ declare const postRequirementNotificationSchema: z.ZodObject<z.objectUtil.extend
|
|
|
6931
7794
|
isRead: z.ZodBoolean;
|
|
6932
7795
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
6933
7796
|
}, {
|
|
6934
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7797
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
6935
7798
|
treatmentId: z.ZodString;
|
|
6936
7799
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
6937
7800
|
deadline: z.ZodAny;
|
|
@@ -6939,7 +7802,7 @@ declare const postRequirementNotificationSchema: z.ZodObject<z.objectUtil.extend
|
|
|
6939
7802
|
status: NotificationStatus;
|
|
6940
7803
|
title: string;
|
|
6941
7804
|
requirements: string[];
|
|
6942
|
-
notificationType: NotificationType.
|
|
7805
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6943
7806
|
treatmentId: string;
|
|
6944
7807
|
userId: string;
|
|
6945
7808
|
notificationTokens: string[];
|
|
@@ -6955,7 +7818,7 @@ declare const postRequirementNotificationSchema: z.ZodObject<z.objectUtil.extend
|
|
|
6955
7818
|
status: NotificationStatus;
|
|
6956
7819
|
title: string;
|
|
6957
7820
|
requirements: string[];
|
|
6958
|
-
notificationType: NotificationType.
|
|
7821
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
6959
7822
|
treatmentId: string;
|
|
6960
7823
|
userId: string;
|
|
6961
7824
|
notificationTokens: string[];
|
|
@@ -7042,7 +7905,7 @@ declare const appointmentNotificationSchema: z.ZodObject<z.objectUtil.extendShap
|
|
|
7042
7905
|
isRead: z.ZodBoolean;
|
|
7043
7906
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7044
7907
|
}, {
|
|
7045
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7908
|
+
notificationType: z.ZodLiteral<NotificationType.APPOINTMENT_STATUS_CHANGE>;
|
|
7046
7909
|
appointmentId: z.ZodString;
|
|
7047
7910
|
appointmentStatus: z.ZodString;
|
|
7048
7911
|
previousStatus: z.ZodString;
|
|
@@ -7051,14 +7914,14 @@ declare const appointmentNotificationSchema: z.ZodObject<z.objectUtil.extendShap
|
|
|
7051
7914
|
status: NotificationStatus;
|
|
7052
7915
|
title: string;
|
|
7053
7916
|
appointmentId: string;
|
|
7054
|
-
notificationType: NotificationType.
|
|
7917
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7055
7918
|
userId: string;
|
|
7056
7919
|
notificationTokens: string[];
|
|
7057
7920
|
body: string;
|
|
7058
7921
|
isRead: boolean;
|
|
7059
7922
|
userRole: UserRole;
|
|
7060
|
-
appointmentStatus: string;
|
|
7061
7923
|
previousStatus: string;
|
|
7924
|
+
appointmentStatus: string;
|
|
7062
7925
|
id?: string | undefined;
|
|
7063
7926
|
createdAt?: any;
|
|
7064
7927
|
updatedAt?: any;
|
|
@@ -7068,14 +7931,14 @@ declare const appointmentNotificationSchema: z.ZodObject<z.objectUtil.extendShap
|
|
|
7068
7931
|
status: NotificationStatus;
|
|
7069
7932
|
title: string;
|
|
7070
7933
|
appointmentId: string;
|
|
7071
|
-
notificationType: NotificationType.
|
|
7934
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7072
7935
|
userId: string;
|
|
7073
7936
|
notificationTokens: string[];
|
|
7074
7937
|
body: string;
|
|
7075
7938
|
isRead: boolean;
|
|
7076
7939
|
userRole: UserRole;
|
|
7077
|
-
appointmentStatus: string;
|
|
7078
7940
|
previousStatus: string;
|
|
7941
|
+
appointmentStatus: string;
|
|
7079
7942
|
id?: string | undefined;
|
|
7080
7943
|
createdAt?: any;
|
|
7081
7944
|
updatedAt?: any;
|
|
@@ -7099,7 +7962,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7099
7962
|
isRead: z.ZodBoolean;
|
|
7100
7963
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7101
7964
|
}, {
|
|
7102
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
7965
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
7103
7966
|
treatmentId: z.ZodString;
|
|
7104
7967
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
7105
7968
|
deadline: z.ZodAny;
|
|
@@ -7107,7 +7970,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7107
7970
|
status: NotificationStatus;
|
|
7108
7971
|
title: string;
|
|
7109
7972
|
requirements: string[];
|
|
7110
|
-
notificationType: NotificationType.
|
|
7973
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7111
7974
|
treatmentId: string;
|
|
7112
7975
|
userId: string;
|
|
7113
7976
|
notificationTokens: string[];
|
|
@@ -7123,7 +7986,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7123
7986
|
status: NotificationStatus;
|
|
7124
7987
|
title: string;
|
|
7125
7988
|
requirements: string[];
|
|
7126
|
-
notificationType: NotificationType.
|
|
7989
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7127
7990
|
treatmentId: string;
|
|
7128
7991
|
userId: string;
|
|
7129
7992
|
notificationTokens: string[];
|
|
@@ -7149,7 +8012,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7149
8012
|
isRead: z.ZodBoolean;
|
|
7150
8013
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7151
8014
|
}, {
|
|
7152
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
8015
|
+
notificationType: z.ZodLiteral<NotificationType.REQUIREMENT_INSTRUCTION_DUE>;
|
|
7153
8016
|
treatmentId: z.ZodString;
|
|
7154
8017
|
requirements: z.ZodArray<z.ZodString, "many">;
|
|
7155
8018
|
deadline: z.ZodAny;
|
|
@@ -7157,7 +8020,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7157
8020
|
status: NotificationStatus;
|
|
7158
8021
|
title: string;
|
|
7159
8022
|
requirements: string[];
|
|
7160
|
-
notificationType: NotificationType.
|
|
8023
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7161
8024
|
treatmentId: string;
|
|
7162
8025
|
userId: string;
|
|
7163
8026
|
notificationTokens: string[];
|
|
@@ -7173,7 +8036,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7173
8036
|
status: NotificationStatus;
|
|
7174
8037
|
title: string;
|
|
7175
8038
|
requirements: string[];
|
|
7176
|
-
notificationType: NotificationType.
|
|
8039
|
+
notificationType: NotificationType.REQUIREMENT_INSTRUCTION_DUE;
|
|
7177
8040
|
treatmentId: string;
|
|
7178
8041
|
userId: string;
|
|
7179
8042
|
notificationTokens: string[];
|
|
@@ -7252,7 +8115,7 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7252
8115
|
isRead: z.ZodBoolean;
|
|
7253
8116
|
userRole: z.ZodNativeEnum<typeof UserRole>;
|
|
7254
8117
|
}, {
|
|
7255
|
-
notificationType: z.ZodLiteral<NotificationType.
|
|
8118
|
+
notificationType: z.ZodLiteral<NotificationType.APPOINTMENT_STATUS_CHANGE>;
|
|
7256
8119
|
appointmentId: z.ZodString;
|
|
7257
8120
|
appointmentStatus: z.ZodString;
|
|
7258
8121
|
previousStatus: z.ZodString;
|
|
@@ -7261,14 +8124,14 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7261
8124
|
status: NotificationStatus;
|
|
7262
8125
|
title: string;
|
|
7263
8126
|
appointmentId: string;
|
|
7264
|
-
notificationType: NotificationType.
|
|
8127
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7265
8128
|
userId: string;
|
|
7266
8129
|
notificationTokens: string[];
|
|
7267
8130
|
body: string;
|
|
7268
8131
|
isRead: boolean;
|
|
7269
8132
|
userRole: UserRole;
|
|
7270
|
-
appointmentStatus: string;
|
|
7271
8133
|
previousStatus: string;
|
|
8134
|
+
appointmentStatus: string;
|
|
7272
8135
|
id?: string | undefined;
|
|
7273
8136
|
createdAt?: any;
|
|
7274
8137
|
updatedAt?: any;
|
|
@@ -7278,14 +8141,14 @@ declare const notificationSchema: z.ZodDiscriminatedUnion<"notificationType", [z
|
|
|
7278
8141
|
status: NotificationStatus;
|
|
7279
8142
|
title: string;
|
|
7280
8143
|
appointmentId: string;
|
|
7281
|
-
notificationType: NotificationType.
|
|
8144
|
+
notificationType: NotificationType.APPOINTMENT_STATUS_CHANGE;
|
|
7282
8145
|
userId: string;
|
|
7283
8146
|
notificationTokens: string[];
|
|
7284
8147
|
body: string;
|
|
7285
8148
|
isRead: boolean;
|
|
7286
8149
|
userRole: UserRole;
|
|
7287
|
-
appointmentStatus: string;
|
|
7288
8150
|
previousStatus: string;
|
|
8151
|
+
appointmentStatus: string;
|
|
7289
8152
|
id?: string | undefined;
|
|
7290
8153
|
createdAt?: any;
|
|
7291
8154
|
updatedAt?: any;
|
|
@@ -9698,7 +10561,7 @@ declare const practitionerCertificationSchema: z.ZodObject<{
|
|
|
9698
10561
|
licenseNumber: string;
|
|
9699
10562
|
issuingAuthority: string;
|
|
9700
10563
|
issueDate: Date | Timestamp;
|
|
9701
|
-
verificationStatus: "pending" | "
|
|
10564
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
9702
10565
|
expiryDate?: Date | Timestamp | undefined;
|
|
9703
10566
|
}, {
|
|
9704
10567
|
level: CertificationLevel;
|
|
@@ -9706,7 +10569,7 @@ declare const practitionerCertificationSchema: z.ZodObject<{
|
|
|
9706
10569
|
licenseNumber: string;
|
|
9707
10570
|
issuingAuthority: string;
|
|
9708
10571
|
issueDate: Date | Timestamp;
|
|
9709
|
-
verificationStatus: "pending" | "
|
|
10572
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
9710
10573
|
expiryDate?: Date | Timestamp | undefined;
|
|
9711
10574
|
}>;
|
|
9712
10575
|
declare const practitionerWorkingHoursSchema: z.ZodObject<{
|
|
@@ -10117,7 +10980,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10117
10980
|
licenseNumber: string;
|
|
10118
10981
|
issuingAuthority: string;
|
|
10119
10982
|
issueDate: Date | Timestamp;
|
|
10120
|
-
verificationStatus: "pending" | "
|
|
10983
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10121
10984
|
expiryDate?: Date | Timestamp | undefined;
|
|
10122
10985
|
}, {
|
|
10123
10986
|
level: CertificationLevel;
|
|
@@ -10125,7 +10988,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10125
10988
|
licenseNumber: string;
|
|
10126
10989
|
issuingAuthority: string;
|
|
10127
10990
|
issueDate: Date | Timestamp;
|
|
10128
|
-
verificationStatus: "pending" | "
|
|
10991
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10129
10992
|
expiryDate?: Date | Timestamp | undefined;
|
|
10130
10993
|
}>;
|
|
10131
10994
|
clinics: z.ZodArray<z.ZodString, "many">;
|
|
@@ -10444,9 +11307,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10444
11307
|
id: string;
|
|
10445
11308
|
name: string;
|
|
10446
11309
|
duration: number;
|
|
10447
|
-
family: ProcedureFamily;
|
|
10448
11310
|
practitionerId: string;
|
|
10449
11311
|
clinicId: string;
|
|
11312
|
+
family: ProcedureFamily;
|
|
10450
11313
|
currency: Currency;
|
|
10451
11314
|
categoryName: string;
|
|
10452
11315
|
subcategoryName: string;
|
|
@@ -10461,9 +11324,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10461
11324
|
id: string;
|
|
10462
11325
|
name: string;
|
|
10463
11326
|
duration: number;
|
|
10464
|
-
family: ProcedureFamily;
|
|
10465
11327
|
practitionerId: string;
|
|
10466
11328
|
clinicId: string;
|
|
11329
|
+
family: ProcedureFamily;
|
|
10467
11330
|
currency: Currency;
|
|
10468
11331
|
categoryName: string;
|
|
10469
11332
|
subcategoryName: string;
|
|
@@ -10533,7 +11396,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10533
11396
|
licenseNumber: string;
|
|
10534
11397
|
issuingAuthority: string;
|
|
10535
11398
|
issueDate: Date | Timestamp;
|
|
10536
|
-
verificationStatus: "pending" | "
|
|
11399
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10537
11400
|
expiryDate?: Date | Timestamp | undefined;
|
|
10538
11401
|
};
|
|
10539
11402
|
clinics: string[];
|
|
@@ -10600,9 +11463,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10600
11463
|
id: string;
|
|
10601
11464
|
name: string;
|
|
10602
11465
|
duration: number;
|
|
10603
|
-
family: ProcedureFamily;
|
|
10604
11466
|
practitionerId: string;
|
|
10605
11467
|
clinicId: string;
|
|
11468
|
+
family: ProcedureFamily;
|
|
10606
11469
|
currency: Currency;
|
|
10607
11470
|
categoryName: string;
|
|
10608
11471
|
subcategoryName: string;
|
|
@@ -10649,7 +11512,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10649
11512
|
licenseNumber: string;
|
|
10650
11513
|
issuingAuthority: string;
|
|
10651
11514
|
issueDate: Date | Timestamp;
|
|
10652
|
-
verificationStatus: "pending" | "
|
|
11515
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10653
11516
|
expiryDate?: Date | Timestamp | undefined;
|
|
10654
11517
|
};
|
|
10655
11518
|
clinics: string[];
|
|
@@ -10716,9 +11579,9 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
10716
11579
|
id: string;
|
|
10717
11580
|
name: string;
|
|
10718
11581
|
duration: number;
|
|
10719
|
-
family: ProcedureFamily;
|
|
10720
11582
|
practitionerId: string;
|
|
10721
11583
|
clinicId: string;
|
|
11584
|
+
family: ProcedureFamily;
|
|
10722
11585
|
currency: Currency;
|
|
10723
11586
|
categoryName: string;
|
|
10724
11587
|
subcategoryName: string;
|
|
@@ -10794,7 +11657,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
10794
11657
|
licenseNumber: string;
|
|
10795
11658
|
issuingAuthority: string;
|
|
10796
11659
|
issueDate: Date | Timestamp;
|
|
10797
|
-
verificationStatus: "pending" | "
|
|
11660
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10798
11661
|
expiryDate?: Date | Timestamp | undefined;
|
|
10799
11662
|
}, {
|
|
10800
11663
|
level: CertificationLevel;
|
|
@@ -10802,7 +11665,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
10802
11665
|
licenseNumber: string;
|
|
10803
11666
|
issuingAuthority: string;
|
|
10804
11667
|
issueDate: Date | Timestamp;
|
|
10805
|
-
verificationStatus: "pending" | "
|
|
11668
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
10806
11669
|
expiryDate?: Date | Timestamp | undefined;
|
|
10807
11670
|
}>;
|
|
10808
11671
|
clinics: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -11120,9 +11983,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11120
11983
|
id: string;
|
|
11121
11984
|
name: string;
|
|
11122
11985
|
duration: number;
|
|
11123
|
-
family: ProcedureFamily;
|
|
11124
11986
|
practitionerId: string;
|
|
11125
11987
|
clinicId: string;
|
|
11988
|
+
family: ProcedureFamily;
|
|
11126
11989
|
currency: Currency;
|
|
11127
11990
|
categoryName: string;
|
|
11128
11991
|
subcategoryName: string;
|
|
@@ -11137,9 +12000,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11137
12000
|
id: string;
|
|
11138
12001
|
name: string;
|
|
11139
12002
|
duration: number;
|
|
11140
|
-
family: ProcedureFamily;
|
|
11141
12003
|
practitionerId: string;
|
|
11142
12004
|
clinicId: string;
|
|
12005
|
+
family: ProcedureFamily;
|
|
11143
12006
|
currency: Currency;
|
|
11144
12007
|
categoryName: string;
|
|
11145
12008
|
subcategoryName: string;
|
|
@@ -11175,7 +12038,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11175
12038
|
licenseNumber: string;
|
|
11176
12039
|
issuingAuthority: string;
|
|
11177
12040
|
issueDate: Date | Timestamp;
|
|
11178
|
-
verificationStatus: "pending" | "
|
|
12041
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11179
12042
|
expiryDate?: Date | Timestamp | undefined;
|
|
11180
12043
|
};
|
|
11181
12044
|
isVerified: boolean;
|
|
@@ -11242,9 +12105,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11242
12105
|
id: string;
|
|
11243
12106
|
name: string;
|
|
11244
12107
|
duration: number;
|
|
11245
|
-
family: ProcedureFamily;
|
|
11246
12108
|
practitionerId: string;
|
|
11247
12109
|
clinicId: string;
|
|
12110
|
+
family: ProcedureFamily;
|
|
11248
12111
|
currency: Currency;
|
|
11249
12112
|
categoryName: string;
|
|
11250
12113
|
subcategoryName: string;
|
|
@@ -11277,7 +12140,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11277
12140
|
licenseNumber: string;
|
|
11278
12141
|
issuingAuthority: string;
|
|
11279
12142
|
issueDate: Date | Timestamp;
|
|
11280
|
-
verificationStatus: "pending" | "
|
|
12143
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11281
12144
|
expiryDate?: Date | Timestamp | undefined;
|
|
11282
12145
|
};
|
|
11283
12146
|
isVerified: boolean;
|
|
@@ -11344,9 +12207,9 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
11344
12207
|
id: string;
|
|
11345
12208
|
name: string;
|
|
11346
12209
|
duration: number;
|
|
11347
|
-
family: ProcedureFamily;
|
|
11348
12210
|
practitionerId: string;
|
|
11349
12211
|
clinicId: string;
|
|
12212
|
+
family: ProcedureFamily;
|
|
11350
12213
|
currency: Currency;
|
|
11351
12214
|
categoryName: string;
|
|
11352
12215
|
subcategoryName: string;
|
|
@@ -11411,7 +12274,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11411
12274
|
licenseNumber: string;
|
|
11412
12275
|
issuingAuthority: string;
|
|
11413
12276
|
issueDate: Date | Timestamp;
|
|
11414
|
-
verificationStatus: "pending" | "
|
|
12277
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11415
12278
|
expiryDate?: Date | Timestamp | undefined;
|
|
11416
12279
|
}, {
|
|
11417
12280
|
level: CertificationLevel;
|
|
@@ -11419,7 +12282,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11419
12282
|
licenseNumber: string;
|
|
11420
12283
|
issuingAuthority: string;
|
|
11421
12284
|
issueDate: Date | Timestamp;
|
|
11422
|
-
verificationStatus: "pending" | "
|
|
12285
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11423
12286
|
expiryDate?: Date | Timestamp | undefined;
|
|
11424
12287
|
}>;
|
|
11425
12288
|
clinics: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -11737,9 +12600,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11737
12600
|
id: string;
|
|
11738
12601
|
name: string;
|
|
11739
12602
|
duration: number;
|
|
11740
|
-
family: ProcedureFamily;
|
|
11741
12603
|
practitionerId: string;
|
|
11742
12604
|
clinicId: string;
|
|
12605
|
+
family: ProcedureFamily;
|
|
11743
12606
|
currency: Currency;
|
|
11744
12607
|
categoryName: string;
|
|
11745
12608
|
subcategoryName: string;
|
|
@@ -11754,9 +12617,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11754
12617
|
id: string;
|
|
11755
12618
|
name: string;
|
|
11756
12619
|
duration: number;
|
|
11757
|
-
family: ProcedureFamily;
|
|
11758
12620
|
practitionerId: string;
|
|
11759
12621
|
clinicId: string;
|
|
12622
|
+
family: ProcedureFamily;
|
|
11760
12623
|
currency: Currency;
|
|
11761
12624
|
categoryName: string;
|
|
11762
12625
|
subcategoryName: string;
|
|
@@ -11790,7 +12653,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11790
12653
|
licenseNumber: string;
|
|
11791
12654
|
issuingAuthority: string;
|
|
11792
12655
|
issueDate: Date | Timestamp;
|
|
11793
|
-
verificationStatus: "pending" | "
|
|
12656
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11794
12657
|
expiryDate?: Date | Timestamp | undefined;
|
|
11795
12658
|
};
|
|
11796
12659
|
isVerified: boolean;
|
|
@@ -11856,9 +12719,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11856
12719
|
id: string;
|
|
11857
12720
|
name: string;
|
|
11858
12721
|
duration: number;
|
|
11859
|
-
family: ProcedureFamily;
|
|
11860
12722
|
practitionerId: string;
|
|
11861
12723
|
clinicId: string;
|
|
12724
|
+
family: ProcedureFamily;
|
|
11862
12725
|
currency: Currency;
|
|
11863
12726
|
categoryName: string;
|
|
11864
12727
|
subcategoryName: string;
|
|
@@ -11889,7 +12752,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11889
12752
|
licenseNumber: string;
|
|
11890
12753
|
issuingAuthority: string;
|
|
11891
12754
|
issueDate: Date | Timestamp;
|
|
11892
|
-
verificationStatus: "pending" | "
|
|
12755
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
11893
12756
|
expiryDate?: Date | Timestamp | undefined;
|
|
11894
12757
|
};
|
|
11895
12758
|
isActive?: boolean | undefined;
|
|
@@ -11956,9 +12819,9 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
11956
12819
|
id: string;
|
|
11957
12820
|
name: string;
|
|
11958
12821
|
duration: number;
|
|
11959
|
-
family: ProcedureFamily;
|
|
11960
12822
|
practitionerId: string;
|
|
11961
12823
|
clinicId: string;
|
|
12824
|
+
family: ProcedureFamily;
|
|
11962
12825
|
currency: Currency;
|
|
11963
12826
|
categoryName: string;
|
|
11964
12827
|
subcategoryName: string;
|
|
@@ -13493,15 +14356,15 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13493
14356
|
}, "strip", z.ZodTypeAny, {
|
|
13494
14357
|
id: string;
|
|
13495
14358
|
name: string;
|
|
13496
|
-
photo: string;
|
|
13497
14359
|
rating: number;
|
|
14360
|
+
photo: string;
|
|
13498
14361
|
services: string[];
|
|
13499
14362
|
description?: string | null | undefined;
|
|
13500
14363
|
}, {
|
|
13501
14364
|
id: string;
|
|
13502
14365
|
name: string;
|
|
13503
|
-
photo: string;
|
|
13504
14366
|
rating: number;
|
|
14367
|
+
photo: string;
|
|
13505
14368
|
services: string[];
|
|
13506
14369
|
description?: string | null | undefined;
|
|
13507
14370
|
}>, "many">;
|
|
@@ -13527,9 +14390,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13527
14390
|
id: string;
|
|
13528
14391
|
name: string;
|
|
13529
14392
|
duration: number;
|
|
13530
|
-
family: ProcedureFamily;
|
|
13531
14393
|
practitionerId: string;
|
|
13532
14394
|
clinicId: string;
|
|
14395
|
+
family: ProcedureFamily;
|
|
13533
14396
|
currency: Currency;
|
|
13534
14397
|
categoryName: string;
|
|
13535
14398
|
subcategoryName: string;
|
|
@@ -13544,9 +14407,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13544
14407
|
id: string;
|
|
13545
14408
|
name: string;
|
|
13546
14409
|
duration: number;
|
|
13547
|
-
family: ProcedureFamily;
|
|
13548
14410
|
practitionerId: string;
|
|
13549
14411
|
clinicId: string;
|
|
14412
|
+
family: ProcedureFamily;
|
|
13550
14413
|
currency: Currency;
|
|
13551
14414
|
categoryName: string;
|
|
13552
14415
|
subcategoryName: string;
|
|
@@ -13604,9 +14467,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13604
14467
|
id: string;
|
|
13605
14468
|
name: string;
|
|
13606
14469
|
duration: number;
|
|
13607
|
-
family: ProcedureFamily;
|
|
13608
14470
|
practitionerId: string;
|
|
13609
14471
|
clinicId: string;
|
|
14472
|
+
family: ProcedureFamily;
|
|
13610
14473
|
currency: Currency;
|
|
13611
14474
|
categoryName: string;
|
|
13612
14475
|
subcategoryName: string;
|
|
@@ -13697,14 +14560,6 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13697
14560
|
coverPhoto: string | null;
|
|
13698
14561
|
admins: string[];
|
|
13699
14562
|
featuredPhotos: string[];
|
|
13700
|
-
doctorsInfo: {
|
|
13701
|
-
id: string;
|
|
13702
|
-
name: string;
|
|
13703
|
-
photo: string;
|
|
13704
|
-
rating: number;
|
|
13705
|
-
services: string[];
|
|
13706
|
-
description?: string | null | undefined;
|
|
13707
|
-
}[];
|
|
13708
14563
|
reviewInfo: {
|
|
13709
14564
|
cleanliness: number;
|
|
13710
14565
|
facilities: number;
|
|
@@ -13715,6 +14570,14 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13715
14570
|
averageRating: number;
|
|
13716
14571
|
recommendationPercentage: number;
|
|
13717
14572
|
};
|
|
14573
|
+
doctorsInfo: {
|
|
14574
|
+
id: string;
|
|
14575
|
+
name: string;
|
|
14576
|
+
rating: number;
|
|
14577
|
+
photo: string;
|
|
14578
|
+
services: string[];
|
|
14579
|
+
description?: string | null | undefined;
|
|
14580
|
+
}[];
|
|
13718
14581
|
description?: string | null | undefined;
|
|
13719
14582
|
logo?: string | undefined;
|
|
13720
14583
|
photosWithTags?: {
|
|
@@ -13733,9 +14596,9 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13733
14596
|
id: string;
|
|
13734
14597
|
name: string;
|
|
13735
14598
|
duration: number;
|
|
13736
|
-
family: ProcedureFamily;
|
|
13737
14599
|
practitionerId: string;
|
|
13738
14600
|
clinicId: string;
|
|
14601
|
+
family: ProcedureFamily;
|
|
13739
14602
|
currency: Currency;
|
|
13740
14603
|
categoryName: string;
|
|
13741
14604
|
subcategoryName: string;
|
|
@@ -13826,14 +14689,6 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13826
14689
|
coverPhoto: string | null;
|
|
13827
14690
|
admins: string[];
|
|
13828
14691
|
featuredPhotos: string[];
|
|
13829
|
-
doctorsInfo: {
|
|
13830
|
-
id: string;
|
|
13831
|
-
name: string;
|
|
13832
|
-
photo: string;
|
|
13833
|
-
rating: number;
|
|
13834
|
-
services: string[];
|
|
13835
|
-
description?: string | null | undefined;
|
|
13836
|
-
}[];
|
|
13837
14692
|
reviewInfo: {
|
|
13838
14693
|
cleanliness: number;
|
|
13839
14694
|
facilities: number;
|
|
@@ -13844,6 +14699,14 @@ declare const clinicSchema: z.ZodObject<{
|
|
|
13844
14699
|
averageRating: number;
|
|
13845
14700
|
recommendationPercentage: number;
|
|
13846
14701
|
};
|
|
14702
|
+
doctorsInfo: {
|
|
14703
|
+
id: string;
|
|
14704
|
+
name: string;
|
|
14705
|
+
rating: number;
|
|
14706
|
+
photo: string;
|
|
14707
|
+
services: string[];
|
|
14708
|
+
description?: string | null | undefined;
|
|
14709
|
+
}[];
|
|
13847
14710
|
description?: string | null | undefined;
|
|
13848
14711
|
logo?: string | undefined;
|
|
13849
14712
|
photosWithTags?: {
|
|
@@ -16358,7 +17221,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16358
17221
|
licenseNumber: string;
|
|
16359
17222
|
issuingAuthority: string;
|
|
16360
17223
|
issueDate: Date | Timestamp;
|
|
16361
|
-
verificationStatus: "pending" | "
|
|
17224
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16362
17225
|
expiryDate?: Date | Timestamp | undefined;
|
|
16363
17226
|
}, {
|
|
16364
17227
|
level: CertificationLevel;
|
|
@@ -16366,7 +17229,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16366
17229
|
licenseNumber: string;
|
|
16367
17230
|
issuingAuthority: string;
|
|
16368
17231
|
issueDate: Date | Timestamp;
|
|
16369
|
-
verificationStatus: "pending" | "
|
|
17232
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16370
17233
|
expiryDate?: Date | Timestamp | undefined;
|
|
16371
17234
|
}>;
|
|
16372
17235
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -16378,7 +17241,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16378
17241
|
licenseNumber: string;
|
|
16379
17242
|
issuingAuthority: string;
|
|
16380
17243
|
issueDate: Date | Timestamp;
|
|
16381
|
-
verificationStatus: "pending" | "
|
|
17244
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16382
17245
|
expiryDate?: Date | Timestamp | undefined;
|
|
16383
17246
|
};
|
|
16384
17247
|
email: string;
|
|
@@ -16393,7 +17256,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16393
17256
|
licenseNumber: string;
|
|
16394
17257
|
issuingAuthority: string;
|
|
16395
17258
|
issueDate: Date | Timestamp;
|
|
16396
|
-
verificationStatus: "pending" | "
|
|
17259
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16397
17260
|
expiryDate?: Date | Timestamp | undefined;
|
|
16398
17261
|
};
|
|
16399
17262
|
email: string;
|
|
@@ -16505,9 +17368,9 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16505
17368
|
createdAt?: any;
|
|
16506
17369
|
updatedAt?: any;
|
|
16507
17370
|
description?: string | undefined;
|
|
16508
|
-
clinicBranchId?: string | null | undefined;
|
|
16509
17371
|
procedureId?: string | null | undefined;
|
|
16510
17372
|
appointmentId?: string | null | undefined;
|
|
17373
|
+
clinicBranchId?: string | null | undefined;
|
|
16511
17374
|
eventLocation?: {
|
|
16512
17375
|
latitude: number;
|
|
16513
17376
|
longitude: number;
|
|
@@ -16528,7 +17391,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16528
17391
|
licenseNumber: string;
|
|
16529
17392
|
issuingAuthority: string;
|
|
16530
17393
|
issueDate: Date | Timestamp;
|
|
16531
|
-
verificationStatus: "pending" | "
|
|
17394
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16532
17395
|
expiryDate?: Date | Timestamp | undefined;
|
|
16533
17396
|
};
|
|
16534
17397
|
email: string;
|
|
@@ -16562,9 +17425,9 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16562
17425
|
createdAt?: any;
|
|
16563
17426
|
updatedAt?: any;
|
|
16564
17427
|
description?: string | undefined;
|
|
16565
|
-
clinicBranchId?: string | null | undefined;
|
|
16566
17428
|
procedureId?: string | null | undefined;
|
|
16567
17429
|
appointmentId?: string | null | undefined;
|
|
17430
|
+
clinicBranchId?: string | null | undefined;
|
|
16568
17431
|
eventLocation?: {
|
|
16569
17432
|
latitude: number;
|
|
16570
17433
|
longitude: number;
|
|
@@ -16585,7 +17448,7 @@ declare const createCalendarEventSchema: z.ZodObject<{
|
|
|
16585
17448
|
licenseNumber: string;
|
|
16586
17449
|
issuingAuthority: string;
|
|
16587
17450
|
issueDate: Date | Timestamp;
|
|
16588
|
-
verificationStatus: "pending" | "
|
|
17451
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16589
17452
|
expiryDate?: Date | Timestamp | undefined;
|
|
16590
17453
|
};
|
|
16591
17454
|
email: string;
|
|
@@ -16716,7 +17579,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16716
17579
|
licenseNumber: string;
|
|
16717
17580
|
issuingAuthority: string;
|
|
16718
17581
|
issueDate: Date | Timestamp;
|
|
16719
|
-
verificationStatus: "pending" | "
|
|
17582
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16720
17583
|
expiryDate?: Date | Timestamp | undefined;
|
|
16721
17584
|
}, {
|
|
16722
17585
|
level: CertificationLevel;
|
|
@@ -16724,7 +17587,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16724
17587
|
licenseNumber: string;
|
|
16725
17588
|
issuingAuthority: string;
|
|
16726
17589
|
issueDate: Date | Timestamp;
|
|
16727
|
-
verificationStatus: "pending" | "
|
|
17590
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16728
17591
|
expiryDate?: Date | Timestamp | undefined;
|
|
16729
17592
|
}>;
|
|
16730
17593
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -16736,7 +17599,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16736
17599
|
licenseNumber: string;
|
|
16737
17600
|
issuingAuthority: string;
|
|
16738
17601
|
issueDate: Date | Timestamp;
|
|
16739
|
-
verificationStatus: "pending" | "
|
|
17602
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16740
17603
|
expiryDate?: Date | Timestamp | undefined;
|
|
16741
17604
|
};
|
|
16742
17605
|
email: string;
|
|
@@ -16751,7 +17614,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16751
17614
|
licenseNumber: string;
|
|
16752
17615
|
issuingAuthority: string;
|
|
16753
17616
|
issueDate: Date | Timestamp;
|
|
16754
|
-
verificationStatus: "pending" | "
|
|
17617
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16755
17618
|
expiryDate?: Date | Timestamp | undefined;
|
|
16756
17619
|
};
|
|
16757
17620
|
email: string;
|
|
@@ -16901,9 +17764,9 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16901
17764
|
syncStatus: CalendarSyncStatus;
|
|
16902
17765
|
eventType: CalendarEventType;
|
|
16903
17766
|
description?: string | undefined;
|
|
16904
|
-
clinicBranchId?: string | null | undefined;
|
|
16905
17767
|
procedureId?: string | null | undefined;
|
|
16906
17768
|
appointmentId?: string | null | undefined;
|
|
17769
|
+
clinicBranchId?: string | null | undefined;
|
|
16907
17770
|
eventLocation?: {
|
|
16908
17771
|
latitude: number;
|
|
16909
17772
|
longitude: number;
|
|
@@ -16924,7 +17787,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16924
17787
|
licenseNumber: string;
|
|
16925
17788
|
issuingAuthority: string;
|
|
16926
17789
|
issueDate: Date | Timestamp;
|
|
16927
|
-
verificationStatus: "pending" | "
|
|
17790
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16928
17791
|
expiryDate?: Date | Timestamp | undefined;
|
|
16929
17792
|
};
|
|
16930
17793
|
email: string;
|
|
@@ -16972,9 +17835,9 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16972
17835
|
syncStatus: CalendarSyncStatus;
|
|
16973
17836
|
eventType: CalendarEventType;
|
|
16974
17837
|
description?: string | undefined;
|
|
16975
|
-
clinicBranchId?: string | null | undefined;
|
|
16976
17838
|
procedureId?: string | null | undefined;
|
|
16977
17839
|
appointmentId?: string | null | undefined;
|
|
17840
|
+
clinicBranchId?: string | null | undefined;
|
|
16978
17841
|
eventLocation?: {
|
|
16979
17842
|
latitude: number;
|
|
16980
17843
|
longitude: number;
|
|
@@ -16995,7 +17858,7 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
16995
17858
|
licenseNumber: string;
|
|
16996
17859
|
issuingAuthority: string;
|
|
16997
17860
|
issueDate: Date | Timestamp;
|
|
16998
|
-
verificationStatus: "pending" | "
|
|
17861
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
16999
17862
|
expiryDate?: Date | Timestamp | undefined;
|
|
17000
17863
|
};
|
|
17001
17864
|
email: string;
|
|
@@ -17055,7 +17918,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17055
17918
|
licenseNumber: string;
|
|
17056
17919
|
issuingAuthority: string;
|
|
17057
17920
|
issueDate: Date | Timestamp;
|
|
17058
|
-
verificationStatus: "pending" | "
|
|
17921
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17059
17922
|
expiryDate?: Date | Timestamp | undefined;
|
|
17060
17923
|
}, {
|
|
17061
17924
|
level: CertificationLevel;
|
|
@@ -17063,7 +17926,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17063
17926
|
licenseNumber: string;
|
|
17064
17927
|
issuingAuthority: string;
|
|
17065
17928
|
issueDate: Date | Timestamp;
|
|
17066
|
-
verificationStatus: "pending" | "
|
|
17929
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17067
17930
|
expiryDate?: Date | Timestamp | undefined;
|
|
17068
17931
|
}>;
|
|
17069
17932
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -17075,7 +17938,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17075
17938
|
licenseNumber: string;
|
|
17076
17939
|
issuingAuthority: string;
|
|
17077
17940
|
issueDate: Date | Timestamp;
|
|
17078
|
-
verificationStatus: "pending" | "
|
|
17941
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17079
17942
|
expiryDate?: Date | Timestamp | undefined;
|
|
17080
17943
|
};
|
|
17081
17944
|
email: string;
|
|
@@ -17090,7 +17953,7 @@ declare const practitionerProfileInfoSchema: z.ZodObject<{
|
|
|
17090
17953
|
licenseNumber: string;
|
|
17091
17954
|
issuingAuthority: string;
|
|
17092
17955
|
issueDate: Date | Timestamp;
|
|
17093
|
-
verificationStatus: "pending" | "
|
|
17956
|
+
verificationStatus: "pending" | "rejected" | "verified";
|
|
17094
17957
|
expiryDate?: Date | Timestamp | undefined;
|
|
17095
17958
|
};
|
|
17096
17959
|
email: string;
|
|
@@ -17189,8 +18052,8 @@ declare const clinicReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17189
18052
|
isVerified: boolean;
|
|
17190
18053
|
patientId: string;
|
|
17191
18054
|
clinicId: string;
|
|
17192
|
-
fullReviewId: string;
|
|
17193
18055
|
comment: string;
|
|
18056
|
+
fullReviewId: string;
|
|
17194
18057
|
isPublished: boolean;
|
|
17195
18058
|
cleanliness: number;
|
|
17196
18059
|
facilities: number;
|
|
@@ -17206,8 +18069,8 @@ declare const clinicReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17206
18069
|
isVerified: boolean;
|
|
17207
18070
|
patientId: string;
|
|
17208
18071
|
clinicId: string;
|
|
17209
|
-
fullReviewId: string;
|
|
17210
18072
|
comment: string;
|
|
18073
|
+
fullReviewId: string;
|
|
17211
18074
|
isPublished: boolean;
|
|
17212
18075
|
cleanliness: number;
|
|
17213
18076
|
facilities: number;
|
|
@@ -17286,8 +18149,8 @@ declare const practitionerReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17286
18149
|
isVerified: boolean;
|
|
17287
18150
|
patientId: string;
|
|
17288
18151
|
practitionerId: string;
|
|
17289
|
-
fullReviewId: string;
|
|
17290
18152
|
comment: string;
|
|
18153
|
+
fullReviewId: string;
|
|
17291
18154
|
isPublished: boolean;
|
|
17292
18155
|
overallRating: number;
|
|
17293
18156
|
wouldRecommend: boolean;
|
|
@@ -17303,8 +18166,8 @@ declare const practitionerReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17303
18166
|
isVerified: boolean;
|
|
17304
18167
|
patientId: string;
|
|
17305
18168
|
practitionerId: string;
|
|
17306
|
-
fullReviewId: string;
|
|
17307
18169
|
comment: string;
|
|
18170
|
+
fullReviewId: string;
|
|
17308
18171
|
isPublished: boolean;
|
|
17309
18172
|
overallRating: number;
|
|
17310
18173
|
wouldRecommend: boolean;
|
|
@@ -17383,8 +18246,8 @@ declare const procedureReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17383
18246
|
isVerified: boolean;
|
|
17384
18247
|
patientId: string;
|
|
17385
18248
|
procedureId: string;
|
|
17386
|
-
fullReviewId: string;
|
|
17387
18249
|
comment: string;
|
|
18250
|
+
fullReviewId: string;
|
|
17388
18251
|
isPublished: boolean;
|
|
17389
18252
|
overallRating: number;
|
|
17390
18253
|
wouldRecommend: boolean;
|
|
@@ -17400,8 +18263,8 @@ declare const procedureReviewSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
17400
18263
|
isVerified: boolean;
|
|
17401
18264
|
patientId: string;
|
|
17402
18265
|
procedureId: string;
|
|
17403
|
-
fullReviewId: string;
|
|
17404
18266
|
comment: string;
|
|
18267
|
+
fullReviewId: string;
|
|
17405
18268
|
isPublished: boolean;
|
|
17406
18269
|
overallRating: number;
|
|
17407
18270
|
wouldRecommend: boolean;
|
|
@@ -17579,8 +18442,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17579
18442
|
isVerified: boolean;
|
|
17580
18443
|
patientId: string;
|
|
17581
18444
|
clinicId: string;
|
|
17582
|
-
fullReviewId: string;
|
|
17583
18445
|
comment: string;
|
|
18446
|
+
fullReviewId: string;
|
|
17584
18447
|
isPublished: boolean;
|
|
17585
18448
|
cleanliness: number;
|
|
17586
18449
|
facilities: number;
|
|
@@ -17596,8 +18459,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17596
18459
|
isVerified: boolean;
|
|
17597
18460
|
patientId: string;
|
|
17598
18461
|
clinicId: string;
|
|
17599
|
-
fullReviewId: string;
|
|
17600
18462
|
comment: string;
|
|
18463
|
+
fullReviewId: string;
|
|
17601
18464
|
isPublished: boolean;
|
|
17602
18465
|
cleanliness: number;
|
|
17603
18466
|
facilities: number;
|
|
@@ -17632,8 +18495,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17632
18495
|
isVerified: boolean;
|
|
17633
18496
|
patientId: string;
|
|
17634
18497
|
practitionerId: string;
|
|
17635
|
-
fullReviewId: string;
|
|
17636
18498
|
comment: string;
|
|
18499
|
+
fullReviewId: string;
|
|
17637
18500
|
isPublished: boolean;
|
|
17638
18501
|
overallRating: number;
|
|
17639
18502
|
wouldRecommend: boolean;
|
|
@@ -17649,8 +18512,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17649
18512
|
isVerified: boolean;
|
|
17650
18513
|
patientId: string;
|
|
17651
18514
|
practitionerId: string;
|
|
17652
|
-
fullReviewId: string;
|
|
17653
18515
|
comment: string;
|
|
18516
|
+
fullReviewId: string;
|
|
17654
18517
|
isPublished: boolean;
|
|
17655
18518
|
overallRating: number;
|
|
17656
18519
|
wouldRecommend: boolean;
|
|
@@ -17685,8 +18548,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17685
18548
|
isVerified: boolean;
|
|
17686
18549
|
patientId: string;
|
|
17687
18550
|
procedureId: string;
|
|
17688
|
-
fullReviewId: string;
|
|
17689
18551
|
comment: string;
|
|
18552
|
+
fullReviewId: string;
|
|
17690
18553
|
isPublished: boolean;
|
|
17691
18554
|
overallRating: number;
|
|
17692
18555
|
wouldRecommend: boolean;
|
|
@@ -17702,8 +18565,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17702
18565
|
isVerified: boolean;
|
|
17703
18566
|
patientId: string;
|
|
17704
18567
|
procedureId: string;
|
|
17705
|
-
fullReviewId: string;
|
|
17706
18568
|
comment: string;
|
|
18569
|
+
fullReviewId: string;
|
|
17707
18570
|
isPublished: boolean;
|
|
17708
18571
|
overallRating: number;
|
|
17709
18572
|
wouldRecommend: boolean;
|
|
@@ -17720,8 +18583,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17720
18583
|
createdAt: Date;
|
|
17721
18584
|
updatedAt: Date;
|
|
17722
18585
|
patientId: string;
|
|
17723
|
-
overallRating: number;
|
|
17724
18586
|
appointmentId: string;
|
|
18587
|
+
overallRating: number;
|
|
17725
18588
|
overallComment: string;
|
|
17726
18589
|
clinicReview?: {
|
|
17727
18590
|
id: string;
|
|
@@ -17730,8 +18593,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17730
18593
|
isVerified: boolean;
|
|
17731
18594
|
patientId: string;
|
|
17732
18595
|
clinicId: string;
|
|
17733
|
-
fullReviewId: string;
|
|
17734
18596
|
comment: string;
|
|
18597
|
+
fullReviewId: string;
|
|
17735
18598
|
isPublished: boolean;
|
|
17736
18599
|
cleanliness: number;
|
|
17737
18600
|
facilities: number;
|
|
@@ -17748,8 +18611,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17748
18611
|
isVerified: boolean;
|
|
17749
18612
|
patientId: string;
|
|
17750
18613
|
practitionerId: string;
|
|
17751
|
-
fullReviewId: string;
|
|
17752
18614
|
comment: string;
|
|
18615
|
+
fullReviewId: string;
|
|
17753
18616
|
isPublished: boolean;
|
|
17754
18617
|
overallRating: number;
|
|
17755
18618
|
wouldRecommend: boolean;
|
|
@@ -17766,8 +18629,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17766
18629
|
isVerified: boolean;
|
|
17767
18630
|
patientId: string;
|
|
17768
18631
|
procedureId: string;
|
|
17769
|
-
fullReviewId: string;
|
|
17770
18632
|
comment: string;
|
|
18633
|
+
fullReviewId: string;
|
|
17771
18634
|
isPublished: boolean;
|
|
17772
18635
|
overallRating: number;
|
|
17773
18636
|
wouldRecommend: boolean;
|
|
@@ -17782,8 +18645,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17782
18645
|
createdAt: Date;
|
|
17783
18646
|
updatedAt: Date;
|
|
17784
18647
|
patientId: string;
|
|
17785
|
-
overallRating: number;
|
|
17786
18648
|
appointmentId: string;
|
|
18649
|
+
overallRating: number;
|
|
17787
18650
|
overallComment: string;
|
|
17788
18651
|
clinicReview?: {
|
|
17789
18652
|
id: string;
|
|
@@ -17792,8 +18655,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17792
18655
|
isVerified: boolean;
|
|
17793
18656
|
patientId: string;
|
|
17794
18657
|
clinicId: string;
|
|
17795
|
-
fullReviewId: string;
|
|
17796
18658
|
comment: string;
|
|
18659
|
+
fullReviewId: string;
|
|
17797
18660
|
isPublished: boolean;
|
|
17798
18661
|
cleanliness: number;
|
|
17799
18662
|
facilities: number;
|
|
@@ -17810,8 +18673,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17810
18673
|
isVerified: boolean;
|
|
17811
18674
|
patientId: string;
|
|
17812
18675
|
practitionerId: string;
|
|
17813
|
-
fullReviewId: string;
|
|
17814
18676
|
comment: string;
|
|
18677
|
+
fullReviewId: string;
|
|
17815
18678
|
isPublished: boolean;
|
|
17816
18679
|
overallRating: number;
|
|
17817
18680
|
wouldRecommend: boolean;
|
|
@@ -17828,8 +18691,8 @@ declare const reviewSchema: z.ZodObject<{
|
|
|
17828
18691
|
isVerified: boolean;
|
|
17829
18692
|
patientId: string;
|
|
17830
18693
|
procedureId: string;
|
|
17831
|
-
fullReviewId: string;
|
|
17832
18694
|
comment: string;
|
|
18695
|
+
fullReviewId: string;
|
|
17833
18696
|
isPublished: boolean;
|
|
17834
18697
|
overallRating: number;
|
|
17835
18698
|
wouldRecommend: boolean;
|
|
@@ -18130,4 +18993,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
|
|
|
18130
18993
|
} | undefined;
|
|
18131
18994
|
}>;
|
|
18132
18995
|
|
|
18133
|
-
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 };
|