@icure/cardinal-sdk 2.5.0 → 2.6.0

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.
@@ -1,4 +1,4 @@
1
- import { BaseFilterOptions, BaseSortableFilterOptions, FilterOptions, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
1
+ import { BaseFilterOptions, FilterOptions, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs';
3
3
  import { Patient } from '../model/Patient.mjs';
4
4
  import { Identifier } from '../model/base/Identifier.mjs';
@@ -40,55 +40,48 @@ interface PatientFiltersFactory {
40
40
  * an identifier that has the same exact [Identifier.system] and [Identifier.value] as one of the provided
41
41
  * [identifiers]. Other properties of the provided identifiers are ignored.
42
42
  *
43
- * These options are sortable. When sorting using these options the patients will be in the same order as the input
44
- * identifiers. In case an entity has multiple identifiers only the first matching identifier is considered for the
45
- * sorting.
46
- *
47
43
  * @param identifiers a list of identifiers
48
44
  * @param dataOwnerId a data owner id
49
45
  * @return options for patient filtering
50
46
  */
51
- byIdentifiersForDataOwner(dataOwnerId: string, identifiers: Array<Identifier>): BaseSortableFilterOptions<Patient>;
47
+ byIdentifiersForDataOwner(dataOwnerId: string, identifiers: Array<Identifier>): BaseFilterOptions<Patient>;
52
48
  /**
53
49
  *
54
50
  * In-group version of [byIdentifiersForDataOwner].
55
51
  * The data owner can be from a different group than the group of the user executing the query.
56
52
  */
57
- byIdentifiersForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, identifiers: Array<Identifier>): BaseSortableFilterOptions<Patient>;
53
+ byIdentifiersForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, identifiers: Array<Identifier>): BaseFilterOptions<Patient>;
58
54
  /**
59
55
  *
60
56
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with a specific data owner that have
61
57
  * [Patient.ssin] matching one of the provided ssins.
62
- * These options are sortable. When sorting using these options the patients will be in the same order as the
63
- * provided ssins.
64
58
  *
65
59
  * @param ssins a list of ssins
66
60
  * @param dataOwnerId a data owner id
67
61
  */
68
- bySsinsForDataOwner(dataOwnerId: string, ssins: Array<string>): BaseSortableFilterOptions<Patient>;
62
+ bySsinsForDataOwner(dataOwnerId: string, ssins: Array<string>): BaseFilterOptions<Patient>;
69
63
  /**
70
64
  *
71
65
  * In-group version of [bySsinsForDataOwner].
72
66
  * The data owner can be from a different group than the group of the user executing the query.
73
67
  */
74
- bySsinsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, ssins: Array<string>): BaseSortableFilterOptions<Patient>;
68
+ bySsinsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, ssins: Array<string>): BaseFilterOptions<Patient>;
75
69
  /**
76
70
  *
77
71
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with a specific data owner that have
78
72
  * [Patient.dateOfBirth] between the provided values (inclusive).
79
- * These options are sortable. When sorting using these options the patients will be ordered by date of birth.
80
73
  *
81
74
  * @param fromDate the start date in YYYYMMDD format (inclusive)
82
75
  * @param toDate the end date in YYYYMMDD format (inclusive)
83
76
  * @param dataOwnerId a data owner id
84
77
  */
85
- byDateOfBirthBetweenForDataOwner(dataOwnerId: string, fromDate: number, toDate: number): BaseSortableFilterOptions<Patient>;
78
+ byDateOfBirthBetweenForDataOwner(dataOwnerId: string, fromDate: number, toDate: number): BaseFilterOptions<Patient>;
86
79
  /**
87
80
  *
88
81
  * In-group version of [byDateOfBirthBetweenForDataOwner].
89
82
  * The data owner can be from a different group than the group of the user executing the query.
90
83
  */
91
- byDateOfBirthBetweenForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, fromDate: number, toDate: number): BaseSortableFilterOptions<Patient>;
84
+ byDateOfBirthBetweenForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, fromDate: number, toDate: number): BaseFilterOptions<Patient>;
92
85
  /**
93
86
  *
94
87
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with a specific data owner that have the
@@ -111,9 +104,6 @@ interface PatientFiltersFactory {
111
104
  * provided [Patient.gender], and optionally also the provided [Patient.education] and [Patient.profession].
112
105
  * Note you can only provide profession if you have provided the education.
113
106
  *
114
- * These options are sortable. When sorting using these options the patients will be ordered first by education
115
- * then by profession.
116
- *
117
107
  * @param gender the patient gender.
118
108
  * @param education the patient education. If not provided patient the education of the patient will be ignored by
119
109
  * this filter.
@@ -125,7 +115,7 @@ interface PatientFiltersFactory {
125
115
  byGenderEducationProfessionForDataOwner(dataOwnerId: string, gender: Gender, options?: {
126
116
  education?: string | undefined;
127
117
  profession?: string | undefined;
128
- }): BaseSortableFilterOptions<Patient>;
118
+ }): BaseFilterOptions<Patient>;
129
119
  /**
130
120
  *
131
121
  * In-group version of [byGenderEducationProfessionForDataOwner].
@@ -134,7 +124,7 @@ interface PatientFiltersFactory {
134
124
  byGenderEducationProfessionForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, gender: Gender, options?: {
135
125
  education?: string | undefined;
136
126
  profession?: string | undefined;
137
- }): BaseSortableFilterOptions<Patient>;
127
+ }): BaseFilterOptions<Patient>;
138
128
  /**
139
129
  *
140
130
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with a specific data owner that have the
@@ -156,28 +146,22 @@ interface PatientFiltersFactory {
156
146
  * an address with a [Patient.addresses] where one of the [Address.telecoms] has a [Telecom.telecomNumber] that
157
147
  * starts with the provided [searchString].
158
148
  *
159
- * These options are sortable. When sorting using these options the patients will be ordered lexicographically by
160
- * the matching telecom number.
161
- *
162
149
  * @param searchString start of a patient telecom. Non-alphanumeric characters are ignored.
163
150
  * @param dataOwnerId a data owner id
164
151
  */
165
- byTelecomForDataOwner(dataOwnerId: string, searchString: string): BaseSortableFilterOptions<Patient>;
152
+ byTelecomForDataOwner(dataOwnerId: string, searchString: string): BaseFilterOptions<Patient>;
166
153
  /**
167
154
  *
168
155
  * In-group version of [byTelecomForDataOwner].
169
156
  * The data owner can be from a different group than the group of the user executing the query.
170
157
  */
171
- byTelecomForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, searchString: string): BaseSortableFilterOptions<Patient>;
158
+ byTelecomForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, searchString: string): BaseFilterOptions<Patient>;
172
159
  /**
173
160
  *
174
161
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with a specific data owner that have at least
175
162
  * an [Patient.addresses] where the [Address.street] or [Address.city] contain the provided [searchString] and
176
163
  * [Address.postalCode] matches the provided [postalCode].
177
- * Additionally you can limit the search to a specific house number.
178
- *
179
- * These options are sortable. When sorting using these options the patients will be ordered lexicographically first
180
- * by the matching portion of street+city, then by postal code and finally by house number.
164
+ * Additionally, you can limit the search to a specific house number.
181
165
  *
182
166
  * @param searchString part of a patient address street or city
183
167
  * @param postalCode the patient postal code
@@ -186,7 +170,7 @@ interface PatientFiltersFactory {
186
170
  */
187
171
  byAddressPostalCodeHouseNumberForDataOwner(dataOwnerId: string, searchString: string, postalCode: string, options?: {
188
172
  houseNumber?: string | undefined;
189
- }): BaseSortableFilterOptions<Patient>;
173
+ }): BaseFilterOptions<Patient>;
190
174
  /**
191
175
  *
192
176
  * In-group version of [byAddressPostalCodeHouseNumberForDataOwner].
@@ -194,60 +178,50 @@ interface PatientFiltersFactory {
194
178
  */
195
179
  byAddressPostalCodeHouseNumberForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, searchString: string, postalCode: string, options?: {
196
180
  houseNumber?: string | undefined;
197
- }): BaseSortableFilterOptions<Patient>;
181
+ }): BaseFilterOptions<Patient>;
198
182
  /**
199
183
  *
200
184
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with a specific data owner that have at least
201
185
  * an [Patient.addresses] where the [Address.street], [Address.postalCode] or [Address.city] contain the provided
202
186
  * [searchString].
203
187
  *
204
- * These options are sortable. When sorting using these options the patients will be ordered lexicographically first
205
- * by the matching portion of street+postalCode+city, then by postal code and finally by house number.
206
- *
207
188
  * @param searchString part of a patient address street, postal code, or city
208
189
  * @param dataOwnerId a data owner id
209
190
  */
210
- byAddressForDataOwner(dataOwnerId: string, searchString: string): BaseSortableFilterOptions<Patient>;
191
+ byAddressForDataOwner(dataOwnerId: string, searchString: string): BaseFilterOptions<Patient>;
211
192
  /**
212
193
  *
213
194
  * In-group version of [byAddressForDataOwner].
214
195
  * The data owner can be from a different group than the group of the user executing the query.
215
196
  */
216
- byAddressForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, searchString: string): BaseSortableFilterOptions<Patient>;
197
+ byAddressForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, searchString: string): BaseFilterOptions<Patient>;
217
198
  /**
218
199
  *
219
200
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner that have at least
220
201
  * an identifier that has the same exact [Identifier.system] and [Identifier.value] as one of the provided
221
202
  * [identifiers]. Other properties of the provided identifiers are ignored.
222
203
  *
223
- * These options are sortable. When sorting using these options the patients will be in the same order as the input
224
- * identifiers. In case an entity has multiple identifiers only the first matching identifier is considered for the
225
- * sorting.
226
- *
227
204
  * @param identifiers a list of identifiers
228
205
  * @return options for patient filtering
229
206
  */
230
- byIdentifiersForSelf(identifiers: Array<Identifier>): SortableFilterOptions<Patient>;
207
+ byIdentifiersForSelf(identifiers: Array<Identifier>): FilterOptions<Patient>;
231
208
  /**
232
209
  *
233
210
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner that have
234
211
  * [Patient.ssin] matching one of the provided ssins.
235
- * These options are sortable. When sorting using these options the patients will be in the same order as the
236
- * provided ssins.
237
212
  *
238
213
  * @param ssins a list of ssins
239
214
  */
240
- bySsinsForSelf(ssins: Array<string>): SortableFilterOptions<Patient>;
215
+ bySsinsForSelf(ssins: Array<string>): FilterOptions<Patient>;
241
216
  /**
242
217
  *
243
218
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner that have
244
219
  * [Patient.dateOfBirth] between the provided values (inclusive).
245
- * These options are sortable. When sorting using these options the patients will be ordered by date of birth.
246
220
  *
247
221
  * @param fromDate the start date in YYYYMMDD format (inclusive)
248
222
  * @param toDate the end date in YYYYMMDD format (inclusive)
249
223
  */
250
- byDateOfBirthBetweenForSelf(fromDate: number, toDate: number): SortableFilterOptions<Patient>;
224
+ byDateOfBirthBetweenForSelf(fromDate: number, toDate: number): FilterOptions<Patient>;
251
225
  /**
252
226
  *
253
227
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner that have the
@@ -263,9 +237,6 @@ interface PatientFiltersFactory {
263
237
  * provided [Patient.gender], and optionally also the provided [Patient.education] and [Patient.profession].
264
238
  * Note you can only provide profession if you have provided the education.
265
239
  *
266
- * These options are sortable. When sorting using these options the patients will be ordered first by education
267
- * then by profession.
268
- *
269
240
  * @param gender the patient gender.
270
241
  * @param education the patient education. If not provided patient the education of the patient will be ignored by
271
242
  * this filter.
@@ -276,7 +247,7 @@ interface PatientFiltersFactory {
276
247
  byGenderEducationProfessionForSelf(gender: Gender, options?: {
277
248
  education?: string | undefined;
278
249
  profession?: string | undefined;
279
- }): SortableFilterOptions<Patient>;
250
+ }): FilterOptions<Patient>;
280
251
  /**
281
252
  *
282
253
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner that have the
@@ -291,21 +262,15 @@ interface PatientFiltersFactory {
291
262
  * an address with a [Patient.addresses] where one of the [Address.telecoms] has a [Telecom.telecomNumber] that
292
263
  * starts with the provided [searchString].
293
264
  *
294
- * These options are sortable. When sorting using these options the patients will be ordered lexicographically by
295
- * the matching telecom number.
296
- *
297
265
  * @param searchString start of a patient telecom. Non-alphanumeric characters are ignored.
298
266
  */
299
- byTelecomForSelf(searchString: string): SortableFilterOptions<Patient>;
267
+ byTelecomForSelf(searchString: string): FilterOptions<Patient>;
300
268
  /**
301
269
  *
302
270
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner that have at least
303
271
  * an [Patient.addresses] where the [Address.street] or [Address.city] contain the provided [searchString] and
304
272
  * [Address.postalCode] matches the provided [postalCode].
305
- * Additionally you can limit the search to a specific house number.
306
- *
307
- * These options are sortable. When sorting using these options the patients will be ordered lexicographically first
308
- * by the matching portion of street+city, then by postal code and finally by house number.
273
+ * Additionally, you can limit the search to a specific house number.
309
274
  *
310
275
  * @param searchString part of a patient address street or city
311
276
  * @param postalCode the patient postal code
@@ -313,19 +278,16 @@ interface PatientFiltersFactory {
313
278
  */
314
279
  byAddressPostalCodeHouseNumberForSelf(searchString: string, postalCode: string, options?: {
315
280
  houseNumber?: string | undefined;
316
- }): SortableFilterOptions<Patient>;
281
+ }): FilterOptions<Patient>;
317
282
  /**
318
283
  *
319
284
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner that have at least
320
285
  * an [Patient.addresses] where the [Address.street], [Address.postalCode] or [Address.city] contain the provided
321
286
  * [searchString].
322
287
  *
323
- * These options are sortable. When sorting using these options the patients will be ordered lexicographically first
324
- * by the matching portion of street+postalCode+city, then by postal code and finally by house number.
325
- *
326
288
  * @param searchString part of a patient address street, postal code, or city
327
289
  */
328
- byAddressForSelf(searchString: string): SortableFilterOptions<Patient>;
290
+ byAddressForSelf(searchString: string): FilterOptions<Patient>;
329
291
  /**
330
292
  *
331
293
  * Options for patient filtering which match all the patients shared directly (i.e. ignoring hierarchies) with the current data owner
@@ -29,19 +29,16 @@ interface ServiceFiltersFactory {
29
29
  * an identifier that has the same exact [Identifier.system] and [Identifier.value] as one of the provided
30
30
  * [identifiers]. Other properties of the provided identifiers are ignored.
31
31
  *
32
- * These options are sortable. When sorting using these options the services will be in the same order as the input
33
- * identifiers. In case an entity has multiple identifiers only the first matching identifier is considered for the
34
- * sorting.
35
32
  * @param identifiers a list of identifiers
36
33
  * @param dataOwnerId a data owner id
37
34
  * @return options for service filtering
38
35
  */
39
- byIdentifiersForDataOwner(dataOwnerId: string, identifiers: Array<Identifier>): BaseSortableFilterOptions<Service>;
36
+ byIdentifiersForDataOwner(dataOwnerId: string, identifiers: Array<Identifier>): BaseFilterOptions<Service>;
40
37
  /**
41
38
  *
42
39
  * In group version of [byIdentifiersForDataOwner].
43
40
  */
44
- byIdentifiersForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, identifiers: Array<Identifier>): BaseSortableFilterOptions<Service>;
41
+ byIdentifiersForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, identifiers: Array<Identifier>): BaseFilterOptions<Service>;
45
42
  /**
46
43
  *
47
44
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that have a certain code.
@@ -50,9 +47,6 @@ interface ServiceFiltersFactory {
50
47
  * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate]
51
48
  * if the first is missing), but in that case you must specify the [codeCode].
52
49
  *
53
- * These options are sortable. When sorting using these options the services will be sorted first by [codeCode] then
54
- * by [Service.valueDate].
55
- *
56
50
  * @param codeType a code type
57
51
  * @param codeCode a code for the provided code type, or null if you want the filter to accept any entity
58
52
  * with a code of the provided type.
@@ -67,7 +61,7 @@ interface ServiceFiltersFactory {
67
61
  codeCode?: string | undefined;
68
62
  startOfServiceValueDate?: number | undefined;
69
63
  endOfServiceValueDate?: number | undefined;
70
- }): BaseSortableFilterOptions<Service>;
64
+ }): BaseFilterOptions<Service>;
71
65
  /**
72
66
  *
73
67
  * In group version of [byCodeAndValueDateForDataOwner].
@@ -76,7 +70,7 @@ interface ServiceFiltersFactory {
76
70
  codeCode?: string | undefined;
77
71
  startOfServiceValueDate?: number | undefined;
78
72
  endOfServiceValueDate?: number | undefined;
79
- }): BaseSortableFilterOptions<Service>;
73
+ }): BaseFilterOptions<Service>;
80
74
  /**
81
75
  *
82
76
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that have a certain tag.
@@ -85,9 +79,6 @@ interface ServiceFiltersFactory {
85
79
  * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate]
86
80
  * if the first is missing), but in that case you must specify the [tagCode].
87
81
  *
88
- * These options are sortable. When sorting using these options the services will be sorted first by [tagCode] then
89
- * by [Service.valueDate].
90
- *
91
82
  * @param tagType a tag type
92
83
  * @param tagCode a code for the provided tag type, or null if you want the filter to accept any entity
93
84
  * with a tag of the provided type.
@@ -102,7 +93,7 @@ interface ServiceFiltersFactory {
102
93
  tagCode?: string | undefined;
103
94
  startOfServiceValueDate?: number | undefined;
104
95
  endOfServiceValueDate?: number | undefined;
105
- }): BaseSortableFilterOptions<Service>;
96
+ }): BaseFilterOptions<Service>;
106
97
  /**
107
98
  *
108
99
  * In group version of [byTagAndValueDateForDataOwner].
@@ -111,7 +102,7 @@ interface ServiceFiltersFactory {
111
102
  tagCode?: string | undefined;
112
103
  startOfServiceValueDate?: number | undefined;
113
104
  endOfServiceValueDate?: number | undefined;
114
- }): BaseSortableFilterOptions<Service>;
105
+ }): BaseFilterOptions<Service>;
115
106
  /**
116
107
  *
117
108
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that are linked with one
@@ -124,63 +115,54 @@ interface ServiceFiltersFactory {
124
115
  * simply be ignored.
125
116
  * Note that these may not be used in methods of apis from [CardinalBaseApis].
126
117
  *
127
- * These options are sortable. When sorting using these options the services will be sorted by the patients, using
128
- * the same order as the input patients.
129
118
  * @param patients a list of patients.
130
119
  * @param dataOwnerId a data owner id
131
120
  */
132
- byPatientsForDataOwner(dataOwnerId: string, patients: Array<Patient>): SortableFilterOptions<Service>;
121
+ byPatientsForDataOwner(dataOwnerId: string, patients: Array<Patient>): FilterOptions<Service>;
133
122
  /**
134
123
  *
135
124
  * In group version of [byPatientsForDataOwner].
136
125
  */
137
- byPatientsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array<Patient>): SortableFilterOptions<Service>;
126
+ byPatientsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array<Patient>): FilterOptions<Service>;
138
127
  /**
139
128
  *
140
129
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that are linked with a
141
130
  * patient through one of the provided secret ids.
142
- * These options are sortable. When sorting using these options the services will be sorted by the linked patients
143
- * secret id, using the same order as the input.
131
+ *
144
132
  * @param secretIds a list of patients secret ids
145
133
  * @param dataOwnerId a data owner id
146
134
  */
147
- byPatientsSecretIdsForDataOwner(dataOwnerId: string, secretIds: Array<string>): BaseSortableFilterOptions<Service>;
135
+ byPatientsSecretIdsForDataOwner(dataOwnerId: string, secretIds: Array<string>): BaseFilterOptions<Service>;
148
136
  /**
149
137
  *
150
138
  * In group version of [byPatientsSecretIdsForDataOwner].
151
139
  */
152
- byPatientsSecretIdsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array<string>): BaseSortableFilterOptions<Service>;
140
+ byPatientsSecretIdsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array<string>): BaseFilterOptions<Service>;
153
141
  /**
154
142
  *
155
143
  * Options for service filtering which match all services from shared directly (i.e. ignoring hierarchies) with a specific data owner that exist in at
156
144
  * least a [SubContact] (from [Contact.subContacts]) where [SubContact.healthElementId] matches one of the provided
157
145
  * id.
158
146
  *
159
- * These options are sortable. When sorting using these options the services will be sorted in the same order as the
160
- * input health element ids. If a service exists in multiple subcontacts only the first subcontact with matching
161
- * health element service is considered for the ordering.
162
147
  * @param healthElementIds a list of health element ids
163
148
  * @param dataOwnerId a data owner id
164
149
  */
165
- byHealthElementIdFromSubContactForDataOwner(dataOwnerId: string, healthElementIds: Array<string>): BaseSortableFilterOptions<Service>;
150
+ byHealthElementIdFromSubContactForDataOwner(dataOwnerId: string, healthElementIds: Array<string>): BaseFilterOptions<Service>;
166
151
  /**
167
152
  *
168
153
  * In group version of [byHealthElementIdFromSubContactForDataOwner].
169
154
  */
170
- byHealthElementIdFromSubContactForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, healthElementIds: Array<string>): BaseSortableFilterOptions<Service>;
155
+ byHealthElementIdFromSubContactForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, healthElementIds: Array<string>): BaseFilterOptions<Service>;
171
156
  /**
172
157
  *
173
158
  * Options for service filtering which match all the services shared directly (i.e. ignoring hierarchies) with the current data owner that have at least
174
159
  * an identifier that has the same exact [Identifier.system] and [Identifier.value] as one of the provided
175
160
  * [identifiers]. Other properties of the provided identifiers are ignored.
176
161
  *
177
- * These options are sortable. When sorting using these options the services will be in the same order as the input
178
- * identifiers. In case an entity has multiple identifiers only the first matching identifier is considered for the
179
- * sorting.
180
162
  * @param identifiers a list of identifiers
181
163
  * @return options for service filtering
182
164
  */
183
- byIdentifiersForSelf(identifiers: Array<Identifier>): SortableFilterOptions<Service>;
165
+ byIdentifiersForSelf(identifiers: Array<Identifier>): FilterOptions<Service>;
184
166
  /**
185
167
  *
186
168
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that have a certain code.
@@ -189,9 +171,6 @@ interface ServiceFiltersFactory {
189
171
  * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate]
190
172
  * if the first is missing), but in that case you must specify the [codeCode].
191
173
  *
192
- * These options are sortable. When sorting using these options the services will be sorted first by [codeCode] then
193
- * by [Service.valueDate].
194
- *
195
174
  * @param codeType a code type
196
175
  * @param codeCode a code for the provided code type, or null if you want the filter to accept any entity
197
176
  * with a code of the provided type.
@@ -205,7 +184,7 @@ interface ServiceFiltersFactory {
205
184
  codeCode?: string | undefined;
206
185
  startOfServiceValueDate?: number | undefined;
207
186
  endOfServiceValueDate?: number | undefined;
208
- }): SortableFilterOptions<Service>;
187
+ }): FilterOptions<Service>;
209
188
  /**
210
189
  *
211
190
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that have a certain tag.
@@ -214,9 +193,6 @@ interface ServiceFiltersFactory {
214
193
  * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate]
215
194
  * if the first is missing), but in that case you must specify the [tagCode].
216
195
  *
217
- * These options are sortable. When sorting using these options the services will be sorted first by [tagCode] then
218
- * by [Service.valueDate].
219
- *
220
196
  * @param tagType a tag type
221
197
  * @param tagCode a code for the provided tag type, or null if you want the filter to accept any entity
222
198
  * with a tag of the provided type.
@@ -230,7 +206,7 @@ interface ServiceFiltersFactory {
230
206
  tagCode?: string | undefined;
231
207
  startOfServiceValueDate?: number | undefined;
232
208
  endOfServiceValueDate?: number | undefined;
233
- }): SortableFilterOptions<Service>;
209
+ }): FilterOptions<Service>;
234
210
  /**
235
211
  *
236
212
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that are linked with one
@@ -243,35 +219,26 @@ interface ServiceFiltersFactory {
243
219
  * simply be ignored.
244
220
  * Note that these may not be used in methods of apis from [CardinalBaseApis].
245
221
  *
246
- * These options are sortable. When sorting using these options the services will be sorted by the patients, using
247
- * the same order as the input patients.
248
- *
249
222
  * @param patients a list of patients.
250
223
  */
251
- byPatientsForSelf(patients: Array<Patient>): SortableFilterOptions<Service>;
224
+ byPatientsForSelf(patients: Array<Patient>): FilterOptions<Service>;
252
225
  /**
253
226
  *
254
227
  * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that are linked with a
255
228
  * patient through one of the provided secret ids.
256
- * These options are sortable. When sorting using these options the services will be sorted by the linked patients
257
- * secret id, using the same order as the input.
258
229
  *
259
230
  * @param secretIds a list of patients secret ids
260
231
  */
261
- byPatientsSecretIdsForSelf(secretIds: Array<string>): SortableFilterOptions<Service>;
232
+ byPatientsSecretIdsForSelf(secretIds: Array<string>): FilterOptions<Service>;
262
233
  /**
263
234
  *
264
235
  * Options for service filtering which match all services from shared directly (i.e. ignoring hierarchies) with the current data owner that exist in at
265
236
  * least a [SubContact] (from [Contact.subContacts]) where [SubContact.healthElementId] matches one of the provided
266
237
  * id.
267
238
  *
268
- * These options are sortable. When sorting using these options the services will be sorted in the same order as the
269
- * input health element ids. If a service exists in multiple subcontacts only the first subcontact with matching
270
- * health element service is considered for the ordering.
271
- *
272
239
  * @param healthElementIds a list of health element ids
273
240
  */
274
- byHealthElementIdFromSubContactForSelf(healthElementIds: Array<string>): SortableFilterOptions<Service>;
241
+ byHealthElementIdFromSubContactForSelf(healthElementIds: Array<string>): FilterOptions<Service>;
275
242
  /**
276
243
  *
277
244
  * Filter options that match all services with one of the provided ids.
@@ -48,12 +48,6 @@ if (typeof Math.clz32 === 'undefined') {
48
48
  };
49
49
  }(Math.log, Math.LN2);
50
50
  }
51
- if (typeof String.prototype.startsWith === 'undefined') {
52
- Object.defineProperty(String.prototype, 'startsWith', {value: function (searchString, position) {
53
- position = position || 0;
54
- return this.lastIndexOf(searchString, position) === position;
55
- }});
56
- }
57
51
  if (typeof String.prototype.endsWith === 'undefined') {
58
52
  Object.defineProperty(String.prototype, 'endsWith', {value: function (searchString, position) {
59
53
  var subjectString = this.toString();
@@ -65,6 +59,12 @@ if (typeof String.prototype.endsWith === 'undefined') {
65
59
  return lastIndex !== -1 && lastIndex === position;
66
60
  }});
67
61
  }
62
+ if (typeof String.prototype.startsWith === 'undefined') {
63
+ Object.defineProperty(String.prototype, 'startsWith', {value: function (searchString, position) {
64
+ position = position || 0;
65
+ return this.lastIndexOf(searchString, position) === position;
66
+ }});
67
+ }
68
68
  //endregion
69
69
  //region block: imports
70
70
  var imul_0 = Math.imul;
@@ -235,6 +235,11 @@ initMetadataForClass(BufferedChannelIterator, 'BufferedChannelIterator', VOID, V
235
235
  initMetadataForCoroutine($sendCOROUTINE$, CoroutineImpl);
236
236
  initMetadataForCoroutine($receiveCOROUTINE$, CoroutineImpl);
237
237
  initMetadataForCoroutine($receiveCatchingCOROUTINE$, CoroutineImpl);
238
+ function close$default(cause, $super) {
239
+ cause = cause === VOID ? null : cause;
240
+ return $super === VOID ? this.s1d(cause) : $super.s1d.call(this, cause);
241
+ }
242
+ initMetadataForInterface(SendChannel, 'SendChannel', VOID, VOID, VOID, [1]);
238
243
  function cancel$default_0(cause, $super) {
239
244
  cause = cause === VOID ? null : cause;
240
245
  var tmp;
@@ -247,12 +252,7 @@ function cancel$default_0(cause, $super) {
247
252
  return tmp;
248
253
  }
249
254
  initMetadataForInterface(ReceiveChannel, 'ReceiveChannel', VOID, VOID, VOID, [0]);
250
- function close$default(cause, $super) {
251
- cause = cause === VOID ? null : cause;
252
- return $super === VOID ? this.s1d(cause) : $super.s1d.call(this, cause);
253
- }
254
- initMetadataForInterface(SendChannel, 'SendChannel', VOID, VOID, VOID, [1]);
255
- initMetadataForClass(BufferedChannel, 'BufferedChannel', VOID, VOID, [ReceiveChannel, SendChannel], [1, 4, 0, 3]);
255
+ initMetadataForClass(BufferedChannel, 'BufferedChannel', VOID, VOID, [SendChannel, ReceiveChannel], [1, 4, 0, 3]);
256
256
  initMetadataForClass(WaiterEB, 'WaiterEB');
257
257
  initMetadataForClass(ReceiveCatching, 'ReceiveCatching', VOID, VOID, [Waiter]);
258
258
  initMetadataForObject(Factory, 'Factory');
@@ -262,7 +262,7 @@ initMetadataForCompanion(Companion);
262
262
  initMetadataForClass(ChannelResult, 'ChannelResult');
263
263
  initMetadataForClass(ClosedReceiveChannelException, 'ClosedReceiveChannelException', VOID, NoSuchElementException);
264
264
  initMetadataForClass(ClosedSendChannelException, 'ClosedSendChannelException', VOID, IllegalStateException);
265
- initMetadataForClass(ChannelCoroutine, 'ChannelCoroutine', VOID, AbstractCoroutine, [ReceiveChannel, SendChannel], [1, 0]);
265
+ initMetadataForClass(ChannelCoroutine, 'ChannelCoroutine', VOID, AbstractCoroutine, [SendChannel, ReceiveChannel], [1, 0]);
266
266
  initMetadataForClass(ConflatedBufferedChannel, 'ConflatedBufferedChannel', VOID, BufferedChannel, VOID, [1, 0]);
267
267
  initMetadataForInterface(ProducerScope, 'ProducerScope', VOID, VOID, [CoroutineScope, SendChannel], [1]);
268
268
  initMetadataForClass(ProducerCoroutine, 'ProducerCoroutine', VOID, ChannelCoroutine, [ProducerScope], [1, 0]);
package/model/User.d.mts CHANGED
@@ -141,6 +141,12 @@ export declare namespace User {
141
141
  loginIdentifiers: Array<LoginIdentifier>;
142
142
  verifiedEmail: boolean | undefined;
143
143
  verifiedMobilePhone: boolean | undefined;
144
+ /**
145
+ *
146
+ *
147
+ * True if the user has 2fa enabled for login with password
148
+ */
149
+ uses2fa: boolean | undefined;
144
150
  constructor(partial: Partial<SystemMetadata> & Pick<SystemMetadata, "roles" | "isAdmin" | "inheritsRoles">);
145
151
  toJSON(): object;
146
152
  static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array<string>): SystemMetadata;
package/model/User.mjs CHANGED
@@ -251,6 +251,12 @@ export class User {
251
251
  this.loginIdentifiers = [];
252
252
  this.verifiedEmail = undefined;
253
253
  this.verifiedMobilePhone = undefined;
254
+ /**
255
+ *
256
+ *
257
+ * True if the user has 2fa enabled for login with password
258
+ */
259
+ this.uses2fa = undefined;
254
260
  this.roles = partial.roles;
255
261
  this.isAdmin = partial.isAdmin;
256
262
  this.inheritsRoles = partial.inheritsRoles;
@@ -260,6 +266,8 @@ export class User {
260
266
  this.verifiedEmail = partial.verifiedEmail;
261
267
  if ('verifiedMobilePhone' in partial)
262
268
  this.verifiedMobilePhone = partial.verifiedMobilePhone;
269
+ if ('uses2fa' in partial)
270
+ this.uses2fa = partial.uses2fa;
263
271
  }
264
272
  toJSON() {
265
273
  const res = {};
@@ -271,6 +279,8 @@ export class User {
271
279
  res['verifiedEmail'] = this.verifiedEmail;
272
280
  if (this.verifiedMobilePhone != undefined)
273
281
  res['verifiedMobilePhone'] = this.verifiedMobilePhone;
282
+ if (this.uses2fa != undefined)
283
+ res['uses2fa'] = this.uses2fa;
274
284
  return res;
275
285
  }
276
286
  static fromJSON(json, ignoreUnknownKeys = false, path = ['SystemMetadata']) {
@@ -284,6 +294,7 @@ export class User {
284
294
  loginIdentifiers: expectArray(extractEntry(jCpy, 'loginIdentifiers', false, path), false, [...path, ".loginIdentifiers"], (x0, p0) => expectObject(x0, false, ignoreUnknownKeys, p0, LoginIdentifier.fromJSON)),
285
295
  verifiedEmail: expectBoolean(extractEntry(jCpy, 'verifiedEmail', false, path), true, [...path, ".verifiedEmail"]),
286
296
  verifiedMobilePhone: expectBoolean(extractEntry(jCpy, 'verifiedMobilePhone', false, path), true, [...path, ".verifiedMobilePhone"]),
297
+ uses2fa: expectBoolean(extractEntry(jCpy, 'uses2fa', false, path), true, [...path, ".uses2fa"]),
287
298
  });
288
299
  if (!ignoreUnknownKeys) {
289
300
  const unused = Object.keys(jCpy);
@@ -10,8 +10,8 @@ export var CryptoActor;
10
10
  case 'com.icure.cardinal.sdk.model.Device': return Device.fromJSON(json, ignoreUnknownKeys);
11
11
  case 'com.icure.cardinal.sdk.model.CryptoActorStub': return CryptoActorStub.fromJSON(json, ignoreUnknownKeys);
12
12
  case 'com.icure.cardinal.sdk.model.HealthcareParty': return HealthcareParty.fromJSON(json, ignoreUnknownKeys);
13
- case 'com.icure.cardinal.sdk.model.DecryptedPatient': return DecryptedPatient.fromJSON(json, ignoreUnknownKeys);
14
13
  case 'com.icure.cardinal.sdk.model.EncryptedPatient': return EncryptedPatient.fromJSON(json, ignoreUnknownKeys);
14
+ case 'com.icure.cardinal.sdk.model.DecryptedPatient': return DecryptedPatient.fromJSON(json, ignoreUnknownKeys);
15
15
  default: throw new Error('Unexpected discriminator for CryptoActor: ' + json.$ktClass);
16
16
  }
17
17
  }
@@ -17,4 +17,4 @@ import { TimePicker } from './TimePicker.mjs';
17
17
  * validation rules, and optional codification and tagging.
18
18
  * /
19
19
  */
20
- export type Field = TextField | MeasureField | DatePicker | DateTimePicker | MultipleChoice | TimePicker | DropdownField | RadioButton | NumberField | CheckBox;
20
+ export type Field = DropdownField | DateTimePicker | RadioButton | MultipleChoice | MeasureField | CheckBox | TextField | TimePicker | DatePicker | NumberField;
@@ -6,7 +6,7 @@ import { FieldsGroup } from './FieldsGroup.mjs';
6
6
  * groups.
7
7
  * /
8
8
  */
9
- export type StructureElement = FieldsGroup | Field;
9
+ export type StructureElement = Field | FieldsGroup;
10
10
  export declare namespace StructureElement {
11
11
  function fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array<string>): StructureElement;
12
12
  }