@ttn-shared/ui 0.1.0 → 1.0.1

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/index.cjs CHANGED
@@ -954,7 +954,7 @@ var PatientAssistanceRisks = ({
954
954
  eaccount: userAccountId ?? 0,
955
955
  idPatient: patientId ?? 0,
956
956
  riskList: {
957
- assistance: selectedRisks
957
+ assistance: selectedRisks.map((risk) => ({ id: risk.clinicalDiseaseId }))
958
958
  }
959
959
  });
960
960
  onClose();
@@ -969,8 +969,7 @@ var PatientAssistanceRisks = ({
969
969
  }
970
970
  const formattedRisks = (patientInfo.risk.assistance ?? []).map((risk) => ({
971
971
  clinicalDiseaseId: risk.id,
972
- clinicalDiseaseName: risk.name,
973
- clinicalDiseaseTag: ""
972
+ clinicalDiseaseName: risk.name
974
973
  }));
975
974
  setSelectedRisks(formattedRisks);
976
975
  }, [patientInfo, isOpen]);
@@ -1198,7 +1197,7 @@ var PatientAppointmentHistory = ({ patientId }) => {
1198
1197
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1199
1198
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_core6.Box, { children: [
1200
1199
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.Title, { order: 6, c: "brand-color", mb: "xs", children: "Historial de citas" }),
1201
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_core6.Table, { children: [
1200
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.Table.ScrollContainer, { minWidth: 300, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_core6.Table, { children: [
1202
1201
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.Table.Thead, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_core6.Table.Tr, { children: [
1203
1202
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.Table.Th, { ta: "center", children: "Fecha" }),
1204
1203
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.Table.Th, { ta: "start", children: " Servicio" }),
@@ -1234,7 +1233,7 @@ var PatientAppointmentHistory = ({ patientId }) => {
1234
1233
  ] }, appointment.id)),
1235
1234
  !appointments?.length && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.Table.Tr, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.Table.Td, { ta: "center", colSpan: 4, children: "No hay informaci\xF3n para mostrar." }) })
1236
1235
  ] })
1237
- ] }),
1236
+ ] }) }),
1238
1237
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1239
1238
  AppPagination,
1240
1239
  {
@@ -1782,6 +1781,7 @@ var PatientForm = ({
1782
1781
  import_core8.ActionIcon,
1783
1782
  {
1784
1783
  variant: "subtle",
1784
+ c: "brand-color",
1785
1785
  onClick: () => setMode("edit"),
1786
1786
  "data-testid": "patient-form-edit-button",
1787
1787
  children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons_react6.IconPencil, { style: { width: 24, height: 24 } })
@@ -1791,6 +1791,7 @@ var PatientForm = ({
1791
1791
  import_core8.ActionIcon,
1792
1792
  {
1793
1793
  variant: "subtle",
1794
+ c: "brand-color",
1794
1795
  onClick: () => setOpenPatientNotes(true),
1795
1796
  "data-testid": "patient-form-notes-button",
1796
1797
  children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons_react6.IconMessage, { style: { width: 24, height: 24 } })
@@ -1800,6 +1801,7 @@ var PatientForm = ({
1800
1801
  import_core8.ActionIcon,
1801
1802
  {
1802
1803
  variant: "subtle",
1804
+ c: "#83c036",
1803
1805
  color: "#83c036",
1804
1806
  onClick: () => setOpenPatientAssistanceRisks(true),
1805
1807
  "data-testid": "patient-form-assistance-risks-button",
@@ -1810,6 +1812,7 @@ var PatientForm = ({
1810
1812
  import_core8.ActionIcon,
1811
1813
  {
1812
1814
  variant: "subtle",
1815
+ c: "#f39682",
1813
1816
  color: "#f39682",
1814
1817
  onClick: () => setOpenPatientAdministrativeRisks(true),
1815
1818
  "data-testid": "patient-form-administrative-risks-button",
@@ -1956,7 +1959,7 @@ var PatientForm = ({
1956
1959
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Grid.Col, { span: 12, mt: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1957
1960
  import_core8.Checkbox,
1958
1961
  {
1959
- readOnly: mode === "view",
1962
+ disabled: mode === "view",
1960
1963
  label: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Text, { fz: "sm", children: [
1961
1964
  "Autorizo el tratamiento de mis datos personales conforme a la",
1962
1965
  " ",
@@ -1967,7 +1970,10 @@ var PatientForm = ({
1967
1970
  c: "brand-color",
1968
1971
  td: "underline",
1969
1972
  style: { cursor: "pointer" },
1970
- onClick: () => setOpenPatientFormPolicy(true),
1973
+ onClick: (event) => {
1974
+ event.preventDefault();
1975
+ setOpenPatientFormPolicy(true);
1976
+ },
1971
1977
  "data-testid": "patient-form-data-policy-link",
1972
1978
  children: "pol\xEDtica de tratamiento de datos."
1973
1979
  }
@@ -2053,6 +2059,7 @@ var PatientForm = ({
2053
2059
  import_core8.Select,
2054
2060
  {
2055
2061
  readOnly: mode === "view",
2062
+ withAsterisk: mode !== "view",
2056
2063
  label: "Estrato",
2057
2064
  data: stratumOptions,
2058
2065
  ...form.getInputProps("stratumId"),
@@ -2063,6 +2070,7 @@ var PatientForm = ({
2063
2070
  import_core8.Select,
2064
2071
  {
2065
2072
  readOnly: mode === "view",
2073
+ withAsterisk: mode !== "view",
2066
2074
  label: "Pertenencia \xE9tnica",
2067
2075
  data: ethnicGroupOptions,
2068
2076
  ...form.getInputProps("ethnicGroupId"),
@@ -2073,6 +2081,7 @@ var PatientForm = ({
2073
2081
  import_core8.Select,
2074
2082
  {
2075
2083
  readOnly: mode === "view",
2084
+ withAsterisk: mode !== "view",
2076
2085
  label: "Nivel educativo",
2077
2086
  data: educationLevelOptions,
2078
2087
  ...form.getInputProps("educationLevelId"),
@@ -2264,10 +2273,11 @@ var createPatientPayload = (values) => {
2264
2273
  ocupation: values.occupation,
2265
2274
  use_contact_lens: values.use_contact_lens,
2266
2275
  use_glasses: values.use_glasses,
2267
- stratumId: Number(values.stratumId),
2276
+ stratum_id: Number(values.stratumId),
2268
2277
  ethnicGroupId: Number(values.ethnicGroupId),
2269
2278
  educationLevelId: Number(values.educationLevelId),
2270
- contracts: [mandatoryInsurance, ...voluntaryInsurance]
2279
+ contracts: [mandatoryInsurance, ...voluntaryInsurance],
2280
+ processing_of_personal_data: values.isDataPolicyAccepted
2271
2281
  };
2272
2282
  };
2273
2283
  var createPatientForm = (info) => {
@@ -2298,7 +2308,7 @@ var createPatientForm = (info) => {
2298
2308
  occupation: info.ocupation ?? "",
2299
2309
  use_glasses: info.use_glasses ?? "",
2300
2310
  use_contact_lens: info.use_contact_lens ?? "",
2301
- isDataPolicyAccepted: info.processing_of_personal_data ?? false,
2311
+ isDataPolicyAccepted: Boolean(info.processing_of_personal_data),
2302
2312
  stratumId: String(info.stratum_id ?? ""),
2303
2313
  educationLevelId: String(info.educationLevel.id ?? ""),
2304
2314
  ethnicGroupId: String(info.ethnicGroup.id ?? ""),
package/dist/index.d.cts CHANGED
@@ -1,7 +1,63 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FC, PropsWithChildren } from 'react';
3
3
 
4
+ interface SessionFilters {
5
+ eaccount?: number;
6
+ }
7
+
8
+ interface SelectOption {
9
+ id: number;
10
+ name: string;
11
+ }
12
+
4
13
  type PatientFormMode = "create" | "edit" | "view";
14
+ interface PatientFormValues {
15
+ documentTypeId: string;
16
+ documentNumber: string;
17
+ firstName: string;
18
+ middleName: string;
19
+ surname: string;
20
+ secondSurname: string;
21
+ birthDate: string;
22
+ age: string;
23
+ whatsapp: string;
24
+ gender: string;
25
+ affiliationTypeId: string;
26
+ email: string;
27
+ maritalStatus: string;
28
+ provinceId: string;
29
+ cityId: string;
30
+ homeAddress: string;
31
+ bloodType: string;
32
+ neighborhood: string;
33
+ cellphone: number | string;
34
+ homephone: string;
35
+ emergencyContact: string;
36
+ occupation: string;
37
+ use_glasses: string;
38
+ use_contact_lens: string;
39
+ isDataPolicyAccepted: boolean;
40
+ stratumId: string;
41
+ educationLevelId: string;
42
+ ethnicGroupId: string;
43
+ mandatoryInsurance: {
44
+ companyId: string;
45
+ plan: string;
46
+ population: string;
47
+ groupId: string;
48
+ policyNumber: string;
49
+ };
50
+ voluntaryInsurance: {
51
+ id: string;
52
+ companyTypeTag: string;
53
+ companyType: string;
54
+ companyId: string;
55
+ plan: string;
56
+ population: string;
57
+ groupId: string;
58
+ policyNumber: string;
59
+ }[];
60
+ }
5
61
  interface PatientPayload {
6
62
  docTypeId: number;
7
63
  document: string;
@@ -19,7 +75,7 @@ interface PatientPayload {
19
75
  whatsapp: string;
20
76
  bloodType: string;
21
77
  maritalStatus: string;
22
- stratumId: number;
78
+ stratum_id: number;
23
79
  provinceId: number;
24
80
  contracts: PatientContractPayload[];
25
81
  affiliationType: number;
@@ -32,6 +88,7 @@ interface PatientPayload {
32
88
  documentType: number;
33
89
  educationLevelId: number;
34
90
  ethnicGroupId: number;
91
+ processing_of_personal_data: boolean;
35
92
  }
36
93
  interface PatientContractPayload {
37
94
  companyTypeId?: string;
@@ -42,6 +99,97 @@ interface PatientContractPayload {
42
99
  policy: string;
43
100
  isMain: 0 | 1;
44
101
  }
102
+ interface PatientFilters extends SessionFilters {
103
+ id?: number;
104
+ }
105
+ interface PatientDetail {
106
+ id: number;
107
+ docType: string;
108
+ docTypeId: number;
109
+ document: string;
110
+ firstName: string;
111
+ otherNames: string;
112
+ lastName: string;
113
+ secondSurname: string;
114
+ birthDate: string;
115
+ age: string;
116
+ whatsapp: string;
117
+ gender: string;
118
+ affiliationTypeId: number;
119
+ affiliationTypeName: string;
120
+ email: string;
121
+ maritalStatus: string;
122
+ educationLevel: {
123
+ id: number;
124
+ description: string;
125
+ tag: string;
126
+ };
127
+ ethnicGroup: {
128
+ id: number;
129
+ description: string;
130
+ tag: string;
131
+ };
132
+ stratum_id: number;
133
+ provinceId: number;
134
+ provinceName: string;
135
+ cityId: number;
136
+ cityName: string;
137
+ homeAddress: string;
138
+ bloodType: string;
139
+ cellphone: string;
140
+ homephone: string;
141
+ address_zone: string;
142
+ contracts: {
143
+ account: string;
144
+ accountId: number;
145
+ attGroupId: number;
146
+ attGroupName: string;
147
+ companyTypeId: string;
148
+ companyTypeName: string;
149
+ companyTypeTag: string;
150
+ contractDescription: string;
151
+ contractId: number;
152
+ contractName: string;
153
+ corporateClient: string;
154
+ corporateClientId: number;
155
+ crtId: number;
156
+ crtName: string;
157
+ isCopaymentEditable: number;
158
+ isEnabled: number;
159
+ isMain: number;
160
+ policy: string;
161
+ population: string;
162
+ populationId: number;
163
+ relId: number;
164
+ wsValidated: number;
165
+ }[];
166
+ emergencyContact: string;
167
+ financialInfo: {
168
+ accountNumber: string | null;
169
+ accountType: string | null;
170
+ bank: string | null;
171
+ bankId: number | null;
172
+ owner: string | null;
173
+ };
174
+ neighborhood: string;
175
+ notes_num: number;
176
+ ocupation: string;
177
+ patientCreationReason: null;
178
+ patientCreationReasonId: null;
179
+ risk: {
180
+ administrative: {
181
+ id: number;
182
+ description: string;
183
+ classification: string;
184
+ }[];
185
+ assistance: SelectOption[];
186
+ };
187
+ urlPhoto: string;
188
+ use_contact_lens: string;
189
+ use_glasses: string;
190
+ processing_of_personal_data: 1;
191
+ webscrapperValidated: number;
192
+ }
45
193
 
46
194
  interface PatientFormProps {
47
195
  defaultMode: PatientFormMode;
@@ -60,6 +208,16 @@ interface Comment {
60
208
  comment: string;
61
209
  date: string;
62
210
  }
211
+ interface CommentFilters {
212
+ id?: number;
213
+ entity?: "userClient";
214
+ }
215
+ interface CommentPayload {
216
+ entity: "userClient";
217
+ userId: number;
218
+ comment: string;
219
+ id: number;
220
+ }
63
221
 
64
222
  interface PatientNotesProps {
65
223
  patientId?: number;
@@ -89,6 +247,111 @@ interface PatientAppointmentHistoryProps {
89
247
  }
90
248
  declare const PatientAppointmentHistory: ({ patientId }: PatientAppointmentHistoryProps) => react_jsx_runtime.JSX.Element;
91
249
 
250
+ interface AssistanceRisk {
251
+ clinicalDiseaseId: number;
252
+ clinicalDiseaseName: string;
253
+ }
254
+ interface AdministrativeRisk {
255
+ id: number;
256
+ description: string;
257
+ classification: string;
258
+ }
259
+ interface RiskFilters {
260
+ status?: string;
261
+ }
262
+ interface RiskPayload {
263
+ eaccount: number;
264
+ idPatient: number;
265
+ riskList: {
266
+ assistance?: {
267
+ id: number;
268
+ }[];
269
+ administrative?: {
270
+ id: number;
271
+ }[];
272
+ };
273
+ }
274
+
275
+ interface Appointment {
276
+ IVAClient: number;
277
+ admittedAt: string;
278
+ admittedByName: string;
279
+ appComeBefore: string;
280
+ appDow: string;
281
+ appObs: string;
282
+ appObservations: string;
283
+ bgColorStatus: string;
284
+ ccName: string;
285
+ clinicalHistoryID: number;
286
+ cluBirhDate: string;
287
+ cluDocument: string;
288
+ cluEmail: string;
289
+ cluFirstName: string;
290
+ cluId: number;
291
+ cluLastName: string;
292
+ cluName: string;
293
+ cluOtherNames: string;
294
+ cluSecondSurname: string;
295
+ cluWhatasapp: string;
296
+ conectivityPrice: number;
297
+ contractName: string;
298
+ createdDate: string;
299
+ creatorFullName: string;
300
+ crtName: string;
301
+ ctName: string;
302
+ cupCode: string;
303
+ currency: string;
304
+ date: string;
305
+ dateApp: string;
306
+ doctorPosition: null;
307
+ dom: string;
308
+ dxName: string;
309
+ eaccount: number;
310
+ eaccountAddress: string;
311
+ eaccountEmail: string;
312
+ eaccountName: string;
313
+ eaccountPhone: string;
314
+ emailBodyDefault: string;
315
+ fontColorStatus: string;
316
+ fullNameDoctor: string;
317
+ id: number;
318
+ idContractCorporateClient: number;
319
+ idCorporateClient: number;
320
+ idDoctor: string;
321
+ idPopulation: number;
322
+ imageDoctor: string;
323
+ modality: string;
324
+ month: string;
325
+ observations: string;
326
+ paymentApp: {
327
+ amount: number;
328
+ description: string;
329
+ id: number;
330
+ }[];
331
+ popName: string;
332
+ serviceId: string;
333
+ serviceName: string;
334
+ serviceRecomendations: string;
335
+ serviceValue: string;
336
+ serviceValueOnSite: string;
337
+ site: string;
338
+ siteAddress: string;
339
+ siteName: string;
340
+ status: string;
341
+ statusValue: string;
342
+ statusWeight: number;
343
+ time: string;
344
+ timeApp: string;
345
+ timeEndApp: string;
346
+ usClientPrice: number;
347
+ }
348
+ interface AppointmentFilters {
349
+ idPatient?: number;
350
+ idAccount?: number;
351
+ page?: number;
352
+ perpage?: number;
353
+ }
354
+
92
355
  interface TTNSharedProviderProps {
93
356
  token: string;
94
357
  baseUrl: string;
@@ -99,4 +362,4 @@ interface TTNSharedProviderProps {
99
362
  declare const TTNSharedProvider: FC<PropsWithChildren<TTNSharedProviderProps>>;
100
363
  declare const useTTNSharedContext: () => TTNSharedProviderProps;
101
364
 
102
- export { PatientAdministrativeRisks, PatientAppointmentHistory, PatientAssistanceRisks, PatientForm, PatientNotes, TTNSharedProvider, type TTNSharedProviderProps, useTTNSharedContext };
365
+ export { type AdministrativeRisk, type Appointment, type AppointmentFilters, type AssistanceRisk, type Comment, type CommentFilters, type CommentPayload, PatientAdministrativeRisks, PatientAppointmentHistory, PatientAssistanceRisks, type PatientContractPayload, type PatientDetail, type PatientFilters, PatientForm, type PatientFormMode, type PatientFormValues, PatientNotes, type PatientPayload, type RiskFilters, type RiskPayload, TTNSharedProvider, type TTNSharedProviderProps, useTTNSharedContext };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,63 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FC, PropsWithChildren } from 'react';
3
3
 
4
+ interface SessionFilters {
5
+ eaccount?: number;
6
+ }
7
+
8
+ interface SelectOption {
9
+ id: number;
10
+ name: string;
11
+ }
12
+
4
13
  type PatientFormMode = "create" | "edit" | "view";
14
+ interface PatientFormValues {
15
+ documentTypeId: string;
16
+ documentNumber: string;
17
+ firstName: string;
18
+ middleName: string;
19
+ surname: string;
20
+ secondSurname: string;
21
+ birthDate: string;
22
+ age: string;
23
+ whatsapp: string;
24
+ gender: string;
25
+ affiliationTypeId: string;
26
+ email: string;
27
+ maritalStatus: string;
28
+ provinceId: string;
29
+ cityId: string;
30
+ homeAddress: string;
31
+ bloodType: string;
32
+ neighborhood: string;
33
+ cellphone: number | string;
34
+ homephone: string;
35
+ emergencyContact: string;
36
+ occupation: string;
37
+ use_glasses: string;
38
+ use_contact_lens: string;
39
+ isDataPolicyAccepted: boolean;
40
+ stratumId: string;
41
+ educationLevelId: string;
42
+ ethnicGroupId: string;
43
+ mandatoryInsurance: {
44
+ companyId: string;
45
+ plan: string;
46
+ population: string;
47
+ groupId: string;
48
+ policyNumber: string;
49
+ };
50
+ voluntaryInsurance: {
51
+ id: string;
52
+ companyTypeTag: string;
53
+ companyType: string;
54
+ companyId: string;
55
+ plan: string;
56
+ population: string;
57
+ groupId: string;
58
+ policyNumber: string;
59
+ }[];
60
+ }
5
61
  interface PatientPayload {
6
62
  docTypeId: number;
7
63
  document: string;
@@ -19,7 +75,7 @@ interface PatientPayload {
19
75
  whatsapp: string;
20
76
  bloodType: string;
21
77
  maritalStatus: string;
22
- stratumId: number;
78
+ stratum_id: number;
23
79
  provinceId: number;
24
80
  contracts: PatientContractPayload[];
25
81
  affiliationType: number;
@@ -32,6 +88,7 @@ interface PatientPayload {
32
88
  documentType: number;
33
89
  educationLevelId: number;
34
90
  ethnicGroupId: number;
91
+ processing_of_personal_data: boolean;
35
92
  }
36
93
  interface PatientContractPayload {
37
94
  companyTypeId?: string;
@@ -42,6 +99,97 @@ interface PatientContractPayload {
42
99
  policy: string;
43
100
  isMain: 0 | 1;
44
101
  }
102
+ interface PatientFilters extends SessionFilters {
103
+ id?: number;
104
+ }
105
+ interface PatientDetail {
106
+ id: number;
107
+ docType: string;
108
+ docTypeId: number;
109
+ document: string;
110
+ firstName: string;
111
+ otherNames: string;
112
+ lastName: string;
113
+ secondSurname: string;
114
+ birthDate: string;
115
+ age: string;
116
+ whatsapp: string;
117
+ gender: string;
118
+ affiliationTypeId: number;
119
+ affiliationTypeName: string;
120
+ email: string;
121
+ maritalStatus: string;
122
+ educationLevel: {
123
+ id: number;
124
+ description: string;
125
+ tag: string;
126
+ };
127
+ ethnicGroup: {
128
+ id: number;
129
+ description: string;
130
+ tag: string;
131
+ };
132
+ stratum_id: number;
133
+ provinceId: number;
134
+ provinceName: string;
135
+ cityId: number;
136
+ cityName: string;
137
+ homeAddress: string;
138
+ bloodType: string;
139
+ cellphone: string;
140
+ homephone: string;
141
+ address_zone: string;
142
+ contracts: {
143
+ account: string;
144
+ accountId: number;
145
+ attGroupId: number;
146
+ attGroupName: string;
147
+ companyTypeId: string;
148
+ companyTypeName: string;
149
+ companyTypeTag: string;
150
+ contractDescription: string;
151
+ contractId: number;
152
+ contractName: string;
153
+ corporateClient: string;
154
+ corporateClientId: number;
155
+ crtId: number;
156
+ crtName: string;
157
+ isCopaymentEditable: number;
158
+ isEnabled: number;
159
+ isMain: number;
160
+ policy: string;
161
+ population: string;
162
+ populationId: number;
163
+ relId: number;
164
+ wsValidated: number;
165
+ }[];
166
+ emergencyContact: string;
167
+ financialInfo: {
168
+ accountNumber: string | null;
169
+ accountType: string | null;
170
+ bank: string | null;
171
+ bankId: number | null;
172
+ owner: string | null;
173
+ };
174
+ neighborhood: string;
175
+ notes_num: number;
176
+ ocupation: string;
177
+ patientCreationReason: null;
178
+ patientCreationReasonId: null;
179
+ risk: {
180
+ administrative: {
181
+ id: number;
182
+ description: string;
183
+ classification: string;
184
+ }[];
185
+ assistance: SelectOption[];
186
+ };
187
+ urlPhoto: string;
188
+ use_contact_lens: string;
189
+ use_glasses: string;
190
+ processing_of_personal_data: 1;
191
+ webscrapperValidated: number;
192
+ }
45
193
 
46
194
  interface PatientFormProps {
47
195
  defaultMode: PatientFormMode;
@@ -60,6 +208,16 @@ interface Comment {
60
208
  comment: string;
61
209
  date: string;
62
210
  }
211
+ interface CommentFilters {
212
+ id?: number;
213
+ entity?: "userClient";
214
+ }
215
+ interface CommentPayload {
216
+ entity: "userClient";
217
+ userId: number;
218
+ comment: string;
219
+ id: number;
220
+ }
63
221
 
64
222
  interface PatientNotesProps {
65
223
  patientId?: number;
@@ -89,6 +247,111 @@ interface PatientAppointmentHistoryProps {
89
247
  }
90
248
  declare const PatientAppointmentHistory: ({ patientId }: PatientAppointmentHistoryProps) => react_jsx_runtime.JSX.Element;
91
249
 
250
+ interface AssistanceRisk {
251
+ clinicalDiseaseId: number;
252
+ clinicalDiseaseName: string;
253
+ }
254
+ interface AdministrativeRisk {
255
+ id: number;
256
+ description: string;
257
+ classification: string;
258
+ }
259
+ interface RiskFilters {
260
+ status?: string;
261
+ }
262
+ interface RiskPayload {
263
+ eaccount: number;
264
+ idPatient: number;
265
+ riskList: {
266
+ assistance?: {
267
+ id: number;
268
+ }[];
269
+ administrative?: {
270
+ id: number;
271
+ }[];
272
+ };
273
+ }
274
+
275
+ interface Appointment {
276
+ IVAClient: number;
277
+ admittedAt: string;
278
+ admittedByName: string;
279
+ appComeBefore: string;
280
+ appDow: string;
281
+ appObs: string;
282
+ appObservations: string;
283
+ bgColorStatus: string;
284
+ ccName: string;
285
+ clinicalHistoryID: number;
286
+ cluBirhDate: string;
287
+ cluDocument: string;
288
+ cluEmail: string;
289
+ cluFirstName: string;
290
+ cluId: number;
291
+ cluLastName: string;
292
+ cluName: string;
293
+ cluOtherNames: string;
294
+ cluSecondSurname: string;
295
+ cluWhatasapp: string;
296
+ conectivityPrice: number;
297
+ contractName: string;
298
+ createdDate: string;
299
+ creatorFullName: string;
300
+ crtName: string;
301
+ ctName: string;
302
+ cupCode: string;
303
+ currency: string;
304
+ date: string;
305
+ dateApp: string;
306
+ doctorPosition: null;
307
+ dom: string;
308
+ dxName: string;
309
+ eaccount: number;
310
+ eaccountAddress: string;
311
+ eaccountEmail: string;
312
+ eaccountName: string;
313
+ eaccountPhone: string;
314
+ emailBodyDefault: string;
315
+ fontColorStatus: string;
316
+ fullNameDoctor: string;
317
+ id: number;
318
+ idContractCorporateClient: number;
319
+ idCorporateClient: number;
320
+ idDoctor: string;
321
+ idPopulation: number;
322
+ imageDoctor: string;
323
+ modality: string;
324
+ month: string;
325
+ observations: string;
326
+ paymentApp: {
327
+ amount: number;
328
+ description: string;
329
+ id: number;
330
+ }[];
331
+ popName: string;
332
+ serviceId: string;
333
+ serviceName: string;
334
+ serviceRecomendations: string;
335
+ serviceValue: string;
336
+ serviceValueOnSite: string;
337
+ site: string;
338
+ siteAddress: string;
339
+ siteName: string;
340
+ status: string;
341
+ statusValue: string;
342
+ statusWeight: number;
343
+ time: string;
344
+ timeApp: string;
345
+ timeEndApp: string;
346
+ usClientPrice: number;
347
+ }
348
+ interface AppointmentFilters {
349
+ idPatient?: number;
350
+ idAccount?: number;
351
+ page?: number;
352
+ perpage?: number;
353
+ }
354
+
92
355
  interface TTNSharedProviderProps {
93
356
  token: string;
94
357
  baseUrl: string;
@@ -99,4 +362,4 @@ interface TTNSharedProviderProps {
99
362
  declare const TTNSharedProvider: FC<PropsWithChildren<TTNSharedProviderProps>>;
100
363
  declare const useTTNSharedContext: () => TTNSharedProviderProps;
101
364
 
102
- export { PatientAdministrativeRisks, PatientAppointmentHistory, PatientAssistanceRisks, PatientForm, PatientNotes, TTNSharedProvider, type TTNSharedProviderProps, useTTNSharedContext };
365
+ export { type AdministrativeRisk, type Appointment, type AppointmentFilters, type AssistanceRisk, type Comment, type CommentFilters, type CommentPayload, PatientAdministrativeRisks, PatientAppointmentHistory, PatientAssistanceRisks, type PatientContractPayload, type PatientDetail, type PatientFilters, PatientForm, type PatientFormMode, type PatientFormValues, PatientNotes, type PatientPayload, type RiskFilters, type RiskPayload, TTNSharedProvider, type TTNSharedProviderProps, useTTNSharedContext };
package/dist/index.js CHANGED
@@ -965,7 +965,7 @@ var PatientAssistanceRisks = ({
965
965
  eaccount: userAccountId ?? 0,
966
966
  idPatient: patientId ?? 0,
967
967
  riskList: {
968
- assistance: selectedRisks
968
+ assistance: selectedRisks.map((risk) => ({ id: risk.clinicalDiseaseId }))
969
969
  }
970
970
  });
971
971
  onClose();
@@ -980,8 +980,7 @@ var PatientAssistanceRisks = ({
980
980
  }
981
981
  const formattedRisks = (patientInfo.risk.assistance ?? []).map((risk) => ({
982
982
  clinicalDiseaseId: risk.id,
983
- clinicalDiseaseName: risk.name,
984
- clinicalDiseaseTag: ""
983
+ clinicalDiseaseName: risk.name
985
984
  }));
986
985
  setSelectedRisks(formattedRisks);
987
986
  }, [patientInfo, isOpen]);
@@ -1220,7 +1219,7 @@ var PatientAppointmentHistory = ({ patientId }) => {
1220
1219
  return /* @__PURE__ */ jsxs6(Fragment, { children: [
1221
1220
  /* @__PURE__ */ jsxs6(Box2, { children: [
1222
1221
  /* @__PURE__ */ jsx7(Title3, { order: 6, c: "brand-color", mb: "xs", children: "Historial de citas" }),
1223
- /* @__PURE__ */ jsxs6(Table, { children: [
1222
+ /* @__PURE__ */ jsx7(Table.ScrollContainer, { minWidth: 300, children: /* @__PURE__ */ jsxs6(Table, { children: [
1224
1223
  /* @__PURE__ */ jsx7(Table.Thead, { children: /* @__PURE__ */ jsxs6(Table.Tr, { children: [
1225
1224
  /* @__PURE__ */ jsx7(Table.Th, { ta: "center", children: "Fecha" }),
1226
1225
  /* @__PURE__ */ jsx7(Table.Th, { ta: "start", children: " Servicio" }),
@@ -1256,7 +1255,7 @@ var PatientAppointmentHistory = ({ patientId }) => {
1256
1255
  ] }, appointment.id)),
1257
1256
  !appointments?.length && /* @__PURE__ */ jsx7(Table.Tr, { children: /* @__PURE__ */ jsx7(Table.Td, { ta: "center", colSpan: 4, children: "No hay informaci\xF3n para mostrar." }) })
1258
1257
  ] })
1259
- ] }),
1258
+ ] }) }),
1260
1259
  /* @__PURE__ */ jsx7(
1261
1260
  AppPagination,
1262
1261
  {
@@ -1804,6 +1803,7 @@ var PatientForm = ({
1804
1803
  ActionIcon6,
1805
1804
  {
1806
1805
  variant: "subtle",
1806
+ c: "brand-color",
1807
1807
  onClick: () => setMode("edit"),
1808
1808
  "data-testid": "patient-form-edit-button",
1809
1809
  children: /* @__PURE__ */ jsx9(IconPencil, { style: { width: 24, height: 24 } })
@@ -1813,6 +1813,7 @@ var PatientForm = ({
1813
1813
  ActionIcon6,
1814
1814
  {
1815
1815
  variant: "subtle",
1816
+ c: "brand-color",
1816
1817
  onClick: () => setOpenPatientNotes(true),
1817
1818
  "data-testid": "patient-form-notes-button",
1818
1819
  children: /* @__PURE__ */ jsx9(IconMessage, { style: { width: 24, height: 24 } })
@@ -1822,6 +1823,7 @@ var PatientForm = ({
1822
1823
  ActionIcon6,
1823
1824
  {
1824
1825
  variant: "subtle",
1826
+ c: "#83c036",
1825
1827
  color: "#83c036",
1826
1828
  onClick: () => setOpenPatientAssistanceRisks(true),
1827
1829
  "data-testid": "patient-form-assistance-risks-button",
@@ -1832,6 +1834,7 @@ var PatientForm = ({
1832
1834
  ActionIcon6,
1833
1835
  {
1834
1836
  variant: "subtle",
1837
+ c: "#f39682",
1835
1838
  color: "#f39682",
1836
1839
  onClick: () => setOpenPatientAdministrativeRisks(true),
1837
1840
  "data-testid": "patient-form-administrative-risks-button",
@@ -1978,7 +1981,7 @@ var PatientForm = ({
1978
1981
  /* @__PURE__ */ jsx9(Grid3.Col, { span: 12, mt: "sm", children: /* @__PURE__ */ jsx9(
1979
1982
  Checkbox,
1980
1983
  {
1981
- readOnly: mode === "view",
1984
+ disabled: mode === "view",
1982
1985
  label: /* @__PURE__ */ jsxs8(Text6, { fz: "sm", children: [
1983
1986
  "Autorizo el tratamiento de mis datos personales conforme a la",
1984
1987
  " ",
@@ -1989,7 +1992,10 @@ var PatientForm = ({
1989
1992
  c: "brand-color",
1990
1993
  td: "underline",
1991
1994
  style: { cursor: "pointer" },
1992
- onClick: () => setOpenPatientFormPolicy(true),
1995
+ onClick: (event) => {
1996
+ event.preventDefault();
1997
+ setOpenPatientFormPolicy(true);
1998
+ },
1993
1999
  "data-testid": "patient-form-data-policy-link",
1994
2000
  children: "pol\xEDtica de tratamiento de datos."
1995
2001
  }
@@ -2075,6 +2081,7 @@ var PatientForm = ({
2075
2081
  Select4,
2076
2082
  {
2077
2083
  readOnly: mode === "view",
2084
+ withAsterisk: mode !== "view",
2078
2085
  label: "Estrato",
2079
2086
  data: stratumOptions,
2080
2087
  ...form.getInputProps("stratumId"),
@@ -2085,6 +2092,7 @@ var PatientForm = ({
2085
2092
  Select4,
2086
2093
  {
2087
2094
  readOnly: mode === "view",
2095
+ withAsterisk: mode !== "view",
2088
2096
  label: "Pertenencia \xE9tnica",
2089
2097
  data: ethnicGroupOptions,
2090
2098
  ...form.getInputProps("ethnicGroupId"),
@@ -2095,6 +2103,7 @@ var PatientForm = ({
2095
2103
  Select4,
2096
2104
  {
2097
2105
  readOnly: mode === "view",
2106
+ withAsterisk: mode !== "view",
2098
2107
  label: "Nivel educativo",
2099
2108
  data: educationLevelOptions,
2100
2109
  ...form.getInputProps("educationLevelId"),
@@ -2286,10 +2295,11 @@ var createPatientPayload = (values) => {
2286
2295
  ocupation: values.occupation,
2287
2296
  use_contact_lens: values.use_contact_lens,
2288
2297
  use_glasses: values.use_glasses,
2289
- stratumId: Number(values.stratumId),
2298
+ stratum_id: Number(values.stratumId),
2290
2299
  ethnicGroupId: Number(values.ethnicGroupId),
2291
2300
  educationLevelId: Number(values.educationLevelId),
2292
- contracts: [mandatoryInsurance, ...voluntaryInsurance]
2301
+ contracts: [mandatoryInsurance, ...voluntaryInsurance],
2302
+ processing_of_personal_data: values.isDataPolicyAccepted
2293
2303
  };
2294
2304
  };
2295
2305
  var createPatientForm = (info) => {
@@ -2320,7 +2330,7 @@ var createPatientForm = (info) => {
2320
2330
  occupation: info.ocupation ?? "",
2321
2331
  use_glasses: info.use_glasses ?? "",
2322
2332
  use_contact_lens: info.use_contact_lens ?? "",
2323
- isDataPolicyAccepted: info.processing_of_personal_data ?? false,
2333
+ isDataPolicyAccepted: Boolean(info.processing_of_personal_data),
2324
2334
  stratumId: String(info.stratum_id ?? ""),
2325
2335
  educationLevelId: String(info.educationLevel.id ?? ""),
2326
2336
  ethnicGroupId: String(info.ethnicGroup.id ?? ""),
package/package.json CHANGED
@@ -1,11 +1,19 @@
1
1
  {
2
2
  "name": "@ttn-shared/ui",
3
- "version": "0.1.0",
3
+ "version": "1.0.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
8
8
  ],
9
+ "keywords": [
10
+ "ttn",
11
+ "ui",
12
+ "components",
13
+ "react",
14
+ "shared"
15
+ ],
16
+ "description": "Componentes UI compartidos para apps de Tecnologia Transformando Negocios",
9
17
  "main": "./dist/index.cjs",
10
18
  "module": "./dist/index.js",
11
19
  "types": "./dist/index.d.ts",