evo360-types 1.3.54 → 1.3.61
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/apps/evo-med/appointment/zod-schemas.d.ts +639 -0
- package/dist/apps/evo-med/appointment/zod-schemas.js +117 -0
- package/dist/apps/evo-med/appointment/zod-schemas.ts +128 -0
- package/dist/apps/evo-med/procedure/zod-schemas.d.ts +3 -0
- package/dist/apps/evo-med/procedure/zod-schemas.js +1 -0
- package/dist/apps/evo-med/procedure/zod-schemas.ts +1 -0
- package/dist/apps/evo-people/zod-schemas.d.ts +9 -0
- package/dist/apps/evo-people/zod-schemas.js +3 -0
- package/dist/apps/evo-people/zod-schemas.ts +3 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.ts +2 -0
- package/dist/types/evo-med/appointment/index.d.ts +114 -0
- package/dist/types/evo-med/appointment/index.js +44 -0
- package/dist/types/evo-med/appointment/index.ts +148 -0
- package/dist/types/evo-med/procedure/index.d.ts +1 -0
- package/dist/types/evo-med/procedure/index.ts +1 -0
- package/dist/types/evo-people/index.d.ts +3 -0
- package/dist/types/evo-people/index.ts +3 -0
- package/package.json +1 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import type { IFireDoc, IGeoPoint, ITag } from "../../shared";
|
|
2
|
+
// Enums para status de pagamento
|
|
3
|
+
export const PaymentStatusEnum = {
|
|
4
|
+
Paid: "paid",
|
|
5
|
+
Partial: "partial",
|
|
6
|
+
Pending: "pending",
|
|
7
|
+
NotInformed: "not_informed",
|
|
8
|
+
} as const;
|
|
9
|
+
|
|
10
|
+
export type PaymentStatus =
|
|
11
|
+
(typeof PaymentStatusEnum)[keyof typeof PaymentStatusEnum];
|
|
12
|
+
|
|
13
|
+
// Enums para status do agendamento
|
|
14
|
+
export const AppointmentStatusEnum = {
|
|
15
|
+
Scheduled: "scheduled",
|
|
16
|
+
Confirmed: "confirmed",
|
|
17
|
+
Completed: "completed",
|
|
18
|
+
PreCheckin: "pre_checkin",
|
|
19
|
+
Waiting: "waiting",
|
|
20
|
+
NoShow: "no_show",
|
|
21
|
+
Cancelled: "cancelled",
|
|
22
|
+
ExtraSlot: "extra_slot",
|
|
23
|
+
InProgress: "in_progress",
|
|
24
|
+
Rescheduled: "rescheduled",
|
|
25
|
+
} as const;
|
|
26
|
+
|
|
27
|
+
export type AppointmentStatus =
|
|
28
|
+
(typeof AppointmentStatusEnum)[keyof typeof AppointmentStatusEnum];
|
|
29
|
+
|
|
30
|
+
// Enums para modo do agendamento
|
|
31
|
+
export const AppointmentModeEnum = {
|
|
32
|
+
Telemedicine: "telemedicine",
|
|
33
|
+
InPerson: "in_person",
|
|
34
|
+
} as const;
|
|
35
|
+
|
|
36
|
+
export type AppointmentMode =
|
|
37
|
+
(typeof AppointmentModeEnum)[keyof typeof AppointmentModeEnum];
|
|
38
|
+
|
|
39
|
+
// Enums para tipo do agendamento
|
|
40
|
+
export const AppointmentTypeEnum = {
|
|
41
|
+
Blocked: "blocked", // Horário bloqueado (sem atendimento)
|
|
42
|
+
Consultation: "consultation", // Consulta médica
|
|
43
|
+
FollowUp: "follow_up", // Retorno de consulta
|
|
44
|
+
Procedure: "procedure", // Procedimento clínico
|
|
45
|
+
Surgery: "surgery", // Cirurgia
|
|
46
|
+
Exam: "exam", // Exame diagnóstico (ex: ultrassom, raio-x)
|
|
47
|
+
Evaluation: "evaluation", // Avaliação inicial
|
|
48
|
+
Emergency: "emergency", // Atendimento de urgência
|
|
49
|
+
CheckUp: "check_up", // Check-up / revisão geral
|
|
50
|
+
Vaccination: "vaccination", // Vacinação
|
|
51
|
+
FitTest: "fit_test", // Teste de aptidão física / ocupacional
|
|
52
|
+
Therapy: "therapy", // Sessão terapêutica (fisioterapia, psicoterapia etc.)
|
|
53
|
+
Meeting: "meeting", // Reunião administrativa / interna
|
|
54
|
+
} as const;
|
|
55
|
+
|
|
56
|
+
export type AppointmentType =
|
|
57
|
+
(typeof AppointmentTypeEnum)[keyof typeof AppointmentTypeEnum];
|
|
58
|
+
|
|
59
|
+
// Interface para endereço
|
|
60
|
+
export interface Address {
|
|
61
|
+
address_name?: string;
|
|
62
|
+
address_line1?: string;
|
|
63
|
+
address_line2?: string;
|
|
64
|
+
address_city?: string;
|
|
65
|
+
address_state?: string;
|
|
66
|
+
address_zip?: string;
|
|
67
|
+
address_country?: string;
|
|
68
|
+
address_neighborhood?: string;
|
|
69
|
+
address_maps_url?: string;
|
|
70
|
+
address_notes?: string;
|
|
71
|
+
address_geo?: IGeoPoint;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Interface para paciente
|
|
75
|
+
export interface Patient {
|
|
76
|
+
id: number | null;
|
|
77
|
+
name: string | null;
|
|
78
|
+
email: string;
|
|
79
|
+
gender: string;
|
|
80
|
+
birthDate: string;
|
|
81
|
+
phone: string;
|
|
82
|
+
wabaPhone: string;
|
|
83
|
+
external_id?: string;
|
|
84
|
+
[key: string]: unknown; // index signature
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Interface para profissional
|
|
88
|
+
export interface Professional {
|
|
89
|
+
id: number;
|
|
90
|
+
name: string;
|
|
91
|
+
email: string;
|
|
92
|
+
gender: string;
|
|
93
|
+
external_id?: string;
|
|
94
|
+
[key: string]: unknown; // index signature
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// Interface para seguro
|
|
98
|
+
export interface Insurance {
|
|
99
|
+
name: string;
|
|
100
|
+
external_id?: string;
|
|
101
|
+
[key: string]: unknown; // index signature
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Interface para pagamento
|
|
105
|
+
export interface Payment {
|
|
106
|
+
total?: number | null;
|
|
107
|
+
paid?: number | null;
|
|
108
|
+
due?: number | null;
|
|
109
|
+
status?: PaymentStatus;
|
|
110
|
+
[key: string]: unknown;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Interface para procedimento
|
|
114
|
+
export interface Procedure {
|
|
115
|
+
id?: number;
|
|
116
|
+
name: string;
|
|
117
|
+
description?: string;
|
|
118
|
+
duration?: number; // em minutos
|
|
119
|
+
price?: number;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Interface principal do Appointment
|
|
123
|
+
export interface Appointment extends IFireDoc {
|
|
124
|
+
calendarId: number;
|
|
125
|
+
startDate: string; // ISO string
|
|
126
|
+
endDate: string; // ISO string
|
|
127
|
+
status: AppointmentStatus;
|
|
128
|
+
notes?: string;
|
|
129
|
+
appointmentMode: AppointmentMode;
|
|
130
|
+
appointmentType: AppointmentType;
|
|
131
|
+
specialty?: string;
|
|
132
|
+
address?: Address;
|
|
133
|
+
procedures?: Procedure[];
|
|
134
|
+
patient: Patient;
|
|
135
|
+
professional?: Professional;
|
|
136
|
+
insurance?: Insurance;
|
|
137
|
+
payment?: Payment;
|
|
138
|
+
|
|
139
|
+
// Propriedades para controle de rascunho
|
|
140
|
+
isDraft: boolean;
|
|
141
|
+
draftExpirationMinutes?: number; // tempo em minutos para expiração do rascunho
|
|
142
|
+
|
|
143
|
+
// Controle de remarcações
|
|
144
|
+
rescheduleCount: number; // quantidade de vezes que o agendamento foi remarcado
|
|
145
|
+
|
|
146
|
+
tags?: ITag[] | null;
|
|
147
|
+
[key: string]: unknown; // index signature
|
|
148
|
+
}
|
|
@@ -102,6 +102,9 @@ export interface IOffice extends IFireDoc {
|
|
|
102
102
|
address_state?: string;
|
|
103
103
|
address_zip?: string;
|
|
104
104
|
address_country?: string;
|
|
105
|
+
address_neighborhood?: string;
|
|
106
|
+
address_maps_url?: string;
|
|
107
|
+
address_notes?: string;
|
|
105
108
|
address_geo?: IGeoPoint;
|
|
106
109
|
readonly employee_counters?: IEmployeeCounters;
|
|
107
110
|
tags?: ITag[] | null;
|
|
@@ -151,6 +151,9 @@ export interface IOffice extends IFireDoc {
|
|
|
151
151
|
address_state?: string;
|
|
152
152
|
address_zip?: string;
|
|
153
153
|
address_country?: string;
|
|
154
|
+
address_neighborhood?: string;
|
|
155
|
+
address_maps_url?: string;
|
|
156
|
+
address_notes?: string;
|
|
154
157
|
address_geo?: IGeoPoint;
|
|
155
158
|
readonly employee_counters?: IEmployeeCounters;
|
|
156
159
|
tags?: ITag[] | null;
|