@icure/cardinal-sdk 3.0.0-PREVIEW.7 → 3.0.0-PREVIEW.8

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.
Files changed (112) hide show
  1. package/Kotlin-DateTime-library-kotlinx-datetime.mjs +1 -1
  2. package/api/AccessLogApi.d.mts +11 -0
  3. package/api/AccessLogBasicApi.d.mts +11 -0
  4. package/api/AccessLogBasicInGroupApi.d.mts +6 -0
  5. package/api/AccessLogInGroupApi.d.mts +33 -1
  6. package/api/ApplicationSettingsApi.d.mts +6 -0
  7. package/api/ApplicationSettingsApi.mjs +1 -0
  8. package/api/CalendarItemApi.d.mts +11 -0
  9. package/api/CalendarItemBasicApi.d.mts +11 -0
  10. package/api/CalendarItemBasicInGroupApi.d.mts +6 -0
  11. package/api/CalendarItemInGroupApi.d.mts +6 -0
  12. package/api/ContactApi.d.mts +22 -0
  13. package/api/ContactBasicApi.d.mts +22 -0
  14. package/api/ContactBasicInGroupApi.d.mts +11 -0
  15. package/api/ContactInGroupApi.d.mts +11 -0
  16. package/api/DocumentApi.d.mts +11 -0
  17. package/api/DocumentBasicApi.d.mts +11 -0
  18. package/api/DocumentBasicInGroupApi.d.mts +6 -0
  19. package/api/DocumentInGroupApi.d.mts +6 -0
  20. package/api/DocumentTemplateApi.d.mts +22 -0
  21. package/api/DocumentTemplateApi.mjs +1 -0
  22. package/api/EntityReferenceApi.d.mts +5 -0
  23. package/api/EntityReferenceApi.mjs +1 -0
  24. package/api/EntityTemplateApi.d.mts +24 -0
  25. package/api/EntityTemplateApi.mjs +1 -0
  26. package/api/FormApi.d.mts +11 -0
  27. package/api/FormBasicApi.d.mts +11 -0
  28. package/api/FormBasicInGroupApi.d.mts +6 -0
  29. package/api/FormInGroupApi.d.mts +6 -0
  30. package/api/HealthElementApi.d.mts +11 -0
  31. package/api/HealthElementBasicApi.d.mts +11 -0
  32. package/api/HealthElementBasicInGroupApi.d.mts +6 -0
  33. package/api/HealthElementInGroupApi.d.mts +6 -0
  34. package/api/InvoiceApi.d.mts +11 -0
  35. package/api/InvoiceBasicApi.d.mts +11 -0
  36. package/api/InvoiceBasicInGroupApi.d.mts +6 -0
  37. package/api/InvoiceInGroupApi.d.mts +6 -0
  38. package/api/KeywordApi.d.mts +14 -0
  39. package/api/KeywordApi.mjs +1 -0
  40. package/api/MedicalLocationApi.d.mts +17 -0
  41. package/api/MedicalLocationApi.mjs +1 -0
  42. package/api/MessageApi.d.mts +11 -0
  43. package/api/MessageBasicApi.d.mts +11 -0
  44. package/api/MessageBasicInGroupApi.d.mts +6 -0
  45. package/api/MessageInGroupApi.d.mts +6 -0
  46. package/api/ReceiptApi.d.mts +11 -0
  47. package/api/ReceiptBasicApi.d.mts +11 -0
  48. package/api/ReceiptBasicInGroupApi.d.mts +6 -0
  49. package/api/ReceiptInGroupApi.d.mts +6 -0
  50. package/api/RelatedPersonApi.d.mts +11 -0
  51. package/api/RelatedPersonBasicApi.d.mts +11 -0
  52. package/api/RelatedPersonBasicInGroupApi.d.mts +6 -0
  53. package/api/RelatedPersonInGroupApi.d.mts +6 -0
  54. package/api/TarificationApi.d.mts +27 -0
  55. package/api/TarificationApi.mjs +1 -0
  56. package/api/TimeTableApi.d.mts +26 -0
  57. package/api/TimeTableApi.mjs +1 -0
  58. package/api/TopicApi.d.mts +11 -0
  59. package/api/TopicBasicApi.d.mts +11 -0
  60. package/api/TopicBasicInGroupApi.d.mts +6 -0
  61. package/api/TopicInGroupApi.d.mts +6 -0
  62. package/cardinal-sdk-ts.mjs +47824 -44170
  63. package/cardinal-sdk.mjs +77922 -77616
  64. package/crypto/entities/DelegateShareOptions.d.mts +9 -0
  65. package/crypto/entities/DelegateShareOptions.mjs +8 -0
  66. package/crypto/entities/ShareAllPatientDataOptions.d.mts +49 -0
  67. package/crypto/entities/ShareAllPatientDataOptions.mjs +58 -0
  68. package/filters/ClassificationFilters.d.mts +114 -0
  69. package/filters/ClassificationFilters.mjs +8 -0
  70. package/filters/MedicalLocationFilters.d.mts +8 -0
  71. package/filters/MedicalLocationFilters.mjs +6 -0
  72. package/filters/TimeTableFilters.d.mts +12 -0
  73. package/filters/TimeTableFilters.mjs +6 -0
  74. package/kotlin-kotlin-stdlib.mjs +4 -4
  75. package/kotlinx-coroutines-core.mjs +1 -1
  76. package/model/ApplicationSettings.d.mts +87 -0
  77. package/model/ApplicationSettings.mjs +256 -0
  78. package/model/DocumentTemplate.d.mts +35 -0
  79. package/model/DocumentTemplate.mjs +162 -0
  80. package/model/EntityReference.d.mts +10 -0
  81. package/model/EntityReference.mjs +46 -0
  82. package/model/EntityTemplate.d.mts +16 -0
  83. package/model/EntityTemplate.mjs +81 -0
  84. package/model/Keyword.d.mts +23 -0
  85. package/model/Keyword.mjs +99 -0
  86. package/model/ListOfIds.d.mts +6 -0
  87. package/model/ListOfIds.mjs +28 -0
  88. package/model/MedicalLocation.d.mts +28 -0
  89. package/model/MedicalLocation.mjs +116 -0
  90. package/model/Tarification.d.mts +50 -0
  91. package/model/Tarification.mjs +178 -0
  92. package/model/TimeTable.d.mts +25 -0
  93. package/model/TimeTable.mjs +111 -0
  94. package/model/base/AppendixType.d.mts +5 -0
  95. package/model/base/AppendixType.mjs +7 -0
  96. package/model/base/CodeFlag.d.mts +80 -0
  97. package/model/base/CodeFlag.mjs +82 -0
  98. package/model/base/ReportVersion.d.mts +3 -0
  99. package/model/base/ReportVersion.mjs +5 -0
  100. package/model/embed/KeywordSubword.d.mts +8 -0
  101. package/model/embed/KeywordSubword.mjs +35 -0
  102. package/model/embed/LetterValue.d.mts +9 -0
  103. package/model/embed/LetterValue.mjs +47 -0
  104. package/model/embed/Periodicity.d.mts +8 -0
  105. package/model/embed/Periodicity.mjs +36 -0
  106. package/model/embed/TimeTableHour.d.mts +7 -0
  107. package/model/embed/TimeTableHour.mjs +35 -0
  108. package/model/embed/TimeTableItem.d.mts +19 -0
  109. package/model/embed/TimeTableItem.mjs +96 -0
  110. package/model/embed/Valorisation.d.mts +56 -0
  111. package/model/embed/Valorisation.mjs +188 -0
  112. package/package.json +1 -1
@@ -367,7 +367,7 @@ function addFormatStructureForDate(structure) {
367
367
  function addFormatStructureForTime(structure) {
368
368
  this.k40(structure);
369
369
  }
370
- initMetadataForInterface(AbstractWithDateTimeBuilder, 'AbstractWithDateTimeBuilder', VOID, VOID, [AbstractWithDateBuilder, AbstractWithTimeBuilder, WithTime, WithDate]);
370
+ initMetadataForInterface(AbstractWithDateTimeBuilder, 'AbstractWithDateTimeBuilder', VOID, VOID, [AbstractWithDateBuilder, AbstractWithTimeBuilder, WithDate, WithTime]);
371
371
  initMetadataForClass(Builder_0, 'Builder', VOID, VOID, [AbstractDateTimeFormatBuilder, AbstractWithDateTimeBuilder]);
372
372
  initMetadataForClass(LocalDateTimeFormat, 'LocalDateTimeFormat', VOID, AbstractDateTimeFormat);
373
373
  function set_fractionOfSecond(value) {
@@ -1,6 +1,7 @@
1
1
  import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { AccessLogDelegateOptions } from '../crypto/entities/AccessLogDelegateOptions.mjs';
3
3
  import { AccessLogShareOptions } from '../crypto/entities/AccessLogShareOptions.mjs';
4
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
4
5
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
5
6
  import { AccessLog, DecryptedAccessLog, EncryptedAccessLog } from '../model/AccessLog.mjs';
6
7
  import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs';
@@ -228,6 +229,16 @@ export interface AccessLogApi {
228
229
  * because you had no write access to them) they will not be included in this list.
229
230
  */
230
231
  purgeAccessLogs(accessLogs: Array<AccessLog>): Promise<Array<StoredDocumentIdentifier>>;
232
+ /**
233
+ *
234
+ * Get all data owners with access to the provided access log, attempting to identify any unknown anonymous data owners
235
+ * using delegations de-anonymization metadata.
236
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
237
+ * anonymous data owners and the behaviour of basic apis.
238
+ * @param accessLog an access log
239
+ * @return information on users with access to the provided access log
240
+ */
241
+ getDataOwnersWithAccessTo(accessLog: AccessLog): Promise<EntityAccessInformation>;
231
242
  /**
232
243
  *
233
244
  * Share an access log with another data owner.
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { AccessLog, EncryptedAccessLog } from '../model/AccessLog.mjs';
3
4
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
4
5
  import { AccessLogBasicInGroupApi } from './AccessLogBasicInGroupApi.mjs';
@@ -119,6 +120,16 @@ export interface AccessLogBasicApi {
119
120
  * because you had no write access to them) they will not be included in this list.
120
121
  */
121
122
  purgeAccessLogs(accessLogs: Array<AccessLog>): Promise<Array<StoredDocumentIdentifier>>;
123
+ /**
124
+ *
125
+ * Get all data owners with access to the provided access log, attempting to identify any unknown anonymous data owners
126
+ * using delegations de-anonymization metadata.
127
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
128
+ * anonymous data owners and the behaviour of basic apis.
129
+ * @param accessLog an access log
130
+ * @return information on users with access to the provided access log
131
+ */
132
+ getDataOwnersWithAccessTo(accessLog: AccessLog): Promise<EntityAccessInformation>;
122
133
  /**
123
134
  *
124
135
  * Create a new access log. The provided access log must have the encryption metadata initialized.
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { AccessLog, EncryptedAccessLog } from '../model/AccessLog.mjs';
3
4
  import { GroupScoped } from '../model/GroupScoped.mjs';
4
5
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
@@ -59,6 +60,11 @@ export interface AccessLogBasicInGroupApi {
59
60
  */
60
61
  purgeAccessLog(accessLog: GroupScoped<AccessLog>): Promise<void>;
61
62
  purgeAccessLogs(accessLogs: Array<GroupScoped<AccessLog>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
63
+ /**
64
+ *
65
+ * In-group version of [AccessLogBasicFlavourlessApi.getDataOwnersWithAccessTo].
66
+ */
67
+ getDataOwnersWithAccessTo(accessLog: GroupScoped<AccessLog>): Promise<EntityAccessInformation>;
62
68
  /**
63
69
  *
64
70
  * In-group version of [AccessLogBasicFlavouredApi.createAccessLog].
@@ -1,5 +1,7 @@
1
- import { FilterOptions, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
1
+ import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { AccessLogDelegateOptions } from '../crypto/entities/AccessLogDelegateOptions.mjs';
3
+ import { AccessLogShareOptions } from '../crypto/entities/AccessLogShareOptions.mjs';
4
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
3
5
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
4
6
  import { AccessLog, DecryptedAccessLog, EncryptedAccessLog } from '../model/AccessLog.mjs';
5
7
  import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs';
@@ -117,6 +119,36 @@ export interface AccessLogInGroupApi {
117
119
  */
118
120
  purgeAccessLog(accessLog: GroupScoped<AccessLog>): Promise<void>;
119
121
  purgeAccessLogs(accessLogs: Array<GroupScoped<AccessLog>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
122
+ /**
123
+ *
124
+ * In-group version of [AccessLogBasicFlavourlessApi.getDataOwnersWithAccessTo].
125
+ */
126
+ getDataOwnersWithAccessTo(accessLog: GroupScoped<AccessLog>): Promise<EntityAccessInformation>;
127
+ /**
128
+ *
129
+ * In-group version of [AccessLogFlavouredApi.shareWith]
130
+ */
131
+ shareWith(delegate: EntityReferenceInGroup, accessLog: GroupScoped<DecryptedAccessLog>, options?: {
132
+ options?: AccessLogShareOptions | undefined;
133
+ }): Promise<GroupScoped<DecryptedAccessLog>>;
134
+ /**
135
+ *
136
+ * In-group version of [AccessLogFlavouredApi.shareWithMany]
137
+ */
138
+ shareWithMany(accessLog: GroupScoped<DecryptedAccessLog>, delegates: ArrayWithUniqueKeys<{
139
+ delegate: EntityReferenceInGroup;
140
+ shareOptions: AccessLogShareOptions;
141
+ }, 'delegate'>): Promise<GroupScoped<DecryptedAccessLog>>;
142
+ /**
143
+ *
144
+ * In-group version of [AccessLogFlavouredApi.filterAccessLogsBy]
145
+ */
146
+ filterAccessLogsBy(groupId: string, filter: FilterOptions<AccessLog>): Promise<PaginatedListIterator<GroupScoped<DecryptedAccessLog>>>;
147
+ /**
148
+ *
149
+ * In-group version of [AccessLogFlavouredApi.filterAccessLogsBySorted]
150
+ */
151
+ filterAccessLogsBySorted(groupId: string, filter: SortableFilterOptions<AccessLog>): Promise<PaginatedListIterator<GroupScoped<DecryptedAccessLog>>>;
120
152
  /**
121
153
  *
122
154
  * In-group version of [AccessLogBasicFlavouredApi.createAccessLog].
@@ -0,0 +1,6 @@
1
+ import { EncryptedApplicationSettings } from '../model/ApplicationSettings.mjs';
2
+ export interface ApplicationSettingsApi {
3
+ getApplicationSettings(): Promise<Array<EncryptedApplicationSettings>>;
4
+ createApplicationSettings(applicationSettings: EncryptedApplicationSettings): Promise<EncryptedApplicationSettings>;
5
+ updateApplicationSettings(applicationSettings: EncryptedApplicationSettings): Promise<EncryptedApplicationSettings>;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -2,6 +2,7 @@ import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../
2
2
  import { BulkShareByIdsResult } from '../crypto/entities/BulkShareByIdsResult.mjs';
3
3
  import { CalendarItemDelegateOptions } from '../crypto/entities/CalendarItemDelegateOptions.mjs';
4
4
  import { CalendarItemShareOptions } from '../crypto/entities/CalendarItemShareOptions.mjs';
5
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
5
6
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
6
7
  import { CalendarItem, DecryptedCalendarItem, EncryptedCalendarItem } from '../model/CalendarItem.mjs';
7
8
  import { CalendarItemOccupancy } from '../model/CalendarItemOccupancy.mjs';
@@ -303,6 +304,16 @@ export interface CalendarItemApi {
303
304
  * because you had no write access to them) they will not be included in this list.
304
305
  */
305
306
  purgeCalendarItems(calendarItems: Array<CalendarItem>): Promise<Array<StoredDocumentIdentifier>>;
307
+ /**
308
+ *
309
+ * Get all data owners with access to the provided calendar item, attempting to identify any unknown anonymous data owners
310
+ * using delegations de-anonymization metadata.
311
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
312
+ * anonymous data owners and the behaviour of basic apis.
313
+ * @param calendarItem a calendar item
314
+ * @return information on users with access to the provided calendar item
315
+ */
316
+ getDataOwnersWithAccessTo(calendarItem: CalendarItem): Promise<EntityAccessInformation>;
306
317
  /**
307
318
  *
308
319
  * Share a calendar item with another data owner. The calendar item must already exist in the database for this method to
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, FilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { CalendarItem, EncryptedCalendarItem } from '../model/CalendarItem.mjs';
3
4
  import { CalendarItemOccupancy } from '../model/CalendarItemOccupancy.mjs';
4
5
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
@@ -158,6 +159,16 @@ export interface CalendarItemBasicApi {
158
159
  * because you had no write access to them) they will not be included in this list.
159
160
  */
160
161
  purgeCalendarItems(calendarItems: Array<CalendarItem>): Promise<Array<StoredDocumentIdentifier>>;
162
+ /**
163
+ *
164
+ * Get all data owners with access to the provided calendar item, attempting to identify any unknown anonymous data owners
165
+ * using delegations de-anonymization metadata.
166
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
167
+ * anonymous data owners and the behaviour of basic apis.
168
+ * @param calendarItem a calendar item
169
+ * @return information on users with access to the provided calendar item
170
+ */
171
+ getDataOwnersWithAccessTo(calendarItem: CalendarItem): Promise<EntityAccessInformation>;
161
172
  /**
162
173
  *
163
174
  * Create a new calendar item. The provided calendar item must have the encryption metadata initialized.
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { CalendarItem, EncryptedCalendarItem } from '../model/CalendarItem.mjs';
3
4
  import { CalendarItemOccupancy } from '../model/CalendarItemOccupancy.mjs';
4
5
  import { GroupScoped } from '../model/GroupScoped.mjs';
@@ -79,6 +80,11 @@ export interface CalendarItemBasicInGroupApi {
79
80
  * In-group version of [CalendarItemBasicFlavourlessApi.purgeCalendarItems]
80
81
  */
81
82
  purgeCalendarItems(calendarItems: Array<GroupScoped<CalendarItem>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
83
+ /**
84
+ *
85
+ * In-group version of [CalendarItemBasicFlavourlessApi.getDataOwnersWithAccessTo].
86
+ */
87
+ getDataOwnersWithAccessTo(calendarItem: GroupScoped<CalendarItem>): Promise<EntityAccessInformation>;
82
88
  /**
83
89
  *
84
90
  * In-group version of [CalendarItemBasicFlavouredApi.createCalendarItem].
@@ -1,6 +1,7 @@
1
1
  import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { CalendarItemDelegateOptions } from '../crypto/entities/CalendarItemDelegateOptions.mjs';
3
3
  import { CalendarItemShareOptions } from '../crypto/entities/CalendarItemShareOptions.mjs';
4
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
4
5
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
5
6
  import { CalendarItem, DecryptedCalendarItem, EncryptedCalendarItem } from '../model/CalendarItem.mjs';
6
7
  import { CalendarItemOccupancy } from '../model/CalendarItemOccupancy.mjs';
@@ -140,6 +141,11 @@ export interface CalendarItemInGroupApi {
140
141
  * In-group version of [CalendarItemBasicFlavourlessApi.purgeCalendarItems]
141
142
  */
142
143
  purgeCalendarItems(calendarItems: Array<GroupScoped<CalendarItem>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
144
+ /**
145
+ *
146
+ * In-group version of [CalendarItemBasicFlavourlessApi.getDataOwnersWithAccessTo].
147
+ */
148
+ getDataOwnersWithAccessTo(calendarItem: GroupScoped<CalendarItem>): Promise<EntityAccessInformation>;
143
149
  /**
144
150
  *
145
151
  * In-group version of [CalendarItemFlavouredApi.shareWith]
@@ -2,6 +2,7 @@ import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../
2
2
  import { BulkShareByIdsResult } from '../crypto/entities/BulkShareByIdsResult.mjs';
3
3
  import { ContactDelegateOptions } from '../crypto/entities/ContactDelegateOptions.mjs';
4
4
  import { ContactShareOptions } from '../crypto/entities/ContactShareOptions.mjs';
5
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
5
6
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
6
7
  import { Contact, DecryptedContact, EncryptedContact } from '../model/Contact.mjs';
7
8
  import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs';
@@ -320,6 +321,27 @@ export interface ContactApi {
320
321
  * @return the occurrences for codes of type [codeType] in services.
321
322
  */
322
323
  getServiceCodesOccurrences(codeType: string, minOccurrences: number): Promise<Array<LabelledOccurence>>;
324
+ /**
325
+ *
326
+ * Get all data owners with access to the provided contact, attempting to identify any unknown anonymous data owners
327
+ * using delegations de-anonymization metadata.
328
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
329
+ * anonymous data owners and the behaviour of basic apis.
330
+ * @param contact a contact
331
+ * @return information on users with access to the provided contact
332
+ */
333
+ getDataOwnersWithAccessTo(contact: Contact): Promise<EntityAccessInformation>;
334
+ /**
335
+ *
336
+ * Get all data owners with access to the provided service, attempting to identify any unknown anonymous data owners
337
+ * using delegations de-anonymization metadata. Services share the security metadata of the contact containing them,
338
+ * so this reflects the access to that contact.
339
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
340
+ * anonymous data owners and the behaviour of basic apis.
341
+ * @param service a service
342
+ * @return information on users with access to the provided service
343
+ */
344
+ getDataOwnersWithAccessToService(service: Service): Promise<EntityAccessInformation>;
323
345
  /**
324
346
  *
325
347
  * Share a contact with another data owner. The contact must already exist in the database for this method to
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { Contact, EncryptedContact } from '../model/Contact.mjs';
3
4
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
4
5
  import { LabelledOccurence } from '../model/data/LabelledOccurence.mjs';
@@ -196,6 +197,27 @@ export interface ContactBasicApi {
196
197
  * @return the occurrences for codes of type [codeType] in services.
197
198
  */
198
199
  getServiceCodesOccurrences(codeType: string, minOccurrences: number): Promise<Array<LabelledOccurence>>;
200
+ /**
201
+ *
202
+ * Get all data owners with access to the provided contact, attempting to identify any unknown anonymous data owners
203
+ * using delegations de-anonymization metadata.
204
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
205
+ * anonymous data owners and the behaviour of basic apis.
206
+ * @param contact a contact
207
+ * @return information on users with access to the provided contact
208
+ */
209
+ getDataOwnersWithAccessTo(contact: Contact): Promise<EntityAccessInformation>;
210
+ /**
211
+ *
212
+ * Get all data owners with access to the provided service, attempting to identify any unknown anonymous data owners
213
+ * using delegations de-anonymization metadata. Services share the security metadata of the contact containing them,
214
+ * so this reflects the access to that contact.
215
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
216
+ * anonymous data owners and the behaviour of basic apis.
217
+ * @param service a service
218
+ * @return information on users with access to the provided service
219
+ */
220
+ getDataOwnersWithAccessToService(service: Service): Promise<EntityAccessInformation>;
199
221
  /**
200
222
  *
201
223
  * Create a new contact. The provided contact must have the encryption metadata initialized.
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { Contact, EncryptedContact } from '../model/Contact.mjs';
3
4
  import { GroupScoped } from '../model/GroupScoped.mjs';
4
5
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
@@ -84,6 +85,16 @@ export interface ContactBasicInGroupApi {
84
85
  * In-group version of [ContactBasicFlavourlessApi.purgeContacts]
85
86
  */
86
87
  purgeContacts(contacts: Array<GroupScoped<Contact>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
88
+ /**
89
+ *
90
+ * In-group version of [ContactBasicFlavourlessApi.getDataOwnersWithAccessTo].
91
+ */
92
+ getDataOwnersWithAccessTo(contact: GroupScoped<Contact>): Promise<EntityAccessInformation>;
93
+ /**
94
+ *
95
+ * In-group version of [ContactBasicFlavourlessApi.getDataOwnersWithAccessToService].
96
+ */
97
+ getDataOwnersWithAccessToService(service: GroupScoped<Service>): Promise<EntityAccessInformation>;
87
98
  /**
88
99
  *
89
100
  * In-group version of [ContactBasicFlavouredApi.createContact].
@@ -1,6 +1,7 @@
1
1
  import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { ContactDelegateOptions } from '../crypto/entities/ContactDelegateOptions.mjs';
3
3
  import { ContactShareOptions } from '../crypto/entities/ContactShareOptions.mjs';
4
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
4
5
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
5
6
  import { Contact, DecryptedContact, EncryptedContact } from '../model/Contact.mjs';
6
7
  import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs';
@@ -146,6 +147,16 @@ export interface ContactInGroupApi {
146
147
  * In-group version of [ContactBasicFlavourlessApi.purgeContacts]
147
148
  */
148
149
  purgeContacts(contacts: Array<GroupScoped<Contact>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
150
+ /**
151
+ *
152
+ * In-group version of [ContactBasicFlavourlessApi.getDataOwnersWithAccessTo].
153
+ */
154
+ getDataOwnersWithAccessTo(contact: GroupScoped<Contact>): Promise<EntityAccessInformation>;
155
+ /**
156
+ *
157
+ * In-group version of [ContactBasicFlavourlessApi.getDataOwnersWithAccessToService].
158
+ */
159
+ getDataOwnersWithAccessToService(service: GroupScoped<Service>): Promise<EntityAccessInformation>;
149
160
  /**
150
161
  *
151
162
  * In-group version of [ContactFlavouredApi.shareWith]
@@ -1,6 +1,7 @@
1
1
  import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { DocumentDelegateOptions } from '../crypto/entities/DocumentDelegateOptions.mjs';
3
3
  import { DocumentShareOptions } from '../crypto/entities/DocumentShareOptions.mjs';
4
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
4
5
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
5
6
  import { DecryptedDocument, Document, EncryptedDocument } from '../model/Document.mjs';
6
7
  import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs';
@@ -476,6 +477,16 @@ export interface DocumentApi {
476
477
  * @return the updated document
477
478
  */
478
479
  deleteSecondaryAttachment(documentId: string, key: string, rev: string): Promise<EncryptedDocument>;
480
+ /**
481
+ *
482
+ * Get all data owners with access to the provided document, attempting to identify any unknown anonymous data owners
483
+ * using delegations de-anonymization metadata.
484
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
485
+ * anonymous data owners and the behaviour of basic apis.
486
+ * @param document a document
487
+ * @return information on users with access to the provided document
488
+ */
489
+ getDataOwnersWithAccessTo(document: Document): Promise<EntityAccessInformation>;
479
490
  /**
480
491
  *
481
492
  * Share a document with another data owner. The document must already exist in the database for this method to
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { Document, EncryptedDocument } from '../model/Document.mjs';
3
4
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
4
5
  import { DocumentBasicInGroupApi } from './DocumentBasicInGroupApi.mjs';
@@ -190,6 +191,16 @@ export interface DocumentBasicApi {
190
191
  * @return the updated document
191
192
  */
192
193
  deleteSecondaryAttachment(documentId: string, key: string, rev: string): Promise<EncryptedDocument>;
194
+ /**
195
+ *
196
+ * Get all data owners with access to the provided document, attempting to identify any unknown anonymous data owners
197
+ * using delegations de-anonymization metadata.
198
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
199
+ * anonymous data owners and the behaviour of basic apis.
200
+ * @param document a document
201
+ * @return information on users with access to the provided document
202
+ */
203
+ getDataOwnersWithAccessTo(document: Document): Promise<EntityAccessInformation>;
193
204
  /**
194
205
  *
195
206
  * Create a new document. The provided document must have the encryption metadata initialized.
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { Document, EncryptedDocument } from '../model/Document.mjs';
3
4
  import { GroupScoped } from '../model/GroupScoped.mjs';
4
5
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
@@ -63,6 +64,11 @@ export interface DocumentBasicInGroupApi {
63
64
  * In-group version of [DocumentBasicFlavourlessApi.purgeDocuments]
64
65
  */
65
66
  purgeDocuments(documents: Array<GroupScoped<Document>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
67
+ /**
68
+ *
69
+ * In-group version of [DocumentBasicFlavourlessApi.getDataOwnersWithAccessTo].
70
+ */
71
+ getDataOwnersWithAccessTo(document: GroupScoped<Document>): Promise<EntityAccessInformation>;
66
72
  /**
67
73
  *
68
74
  * In-group version of [DocumentBasicFlavouredApi.createDocument].
@@ -1,6 +1,7 @@
1
1
  import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { DocumentDelegateOptions } from '../crypto/entities/DocumentDelegateOptions.mjs';
3
3
  import { DocumentShareOptions } from '../crypto/entities/DocumentShareOptions.mjs';
4
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
4
5
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
5
6
  import { DecryptedDocument, Document, EncryptedDocument } from '../model/Document.mjs';
6
7
  import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs';
@@ -163,6 +164,11 @@ export interface DocumentInGroupApi {
163
164
  * In-group version of [DocumentBasicFlavourlessApi.purgeDocuments]
164
165
  */
165
166
  purgeDocuments(documents: Array<GroupScoped<Document>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
167
+ /**
168
+ *
169
+ * In-group version of [DocumentBasicFlavourlessApi.getDataOwnersWithAccessTo].
170
+ */
171
+ getDataOwnersWithAccessTo(document: GroupScoped<Document>): Promise<EntityAccessInformation>;
166
172
  /**
167
173
  *
168
174
  * In-group version of [DocumentFlavouredApi.shareWith]
@@ -0,0 +1,22 @@
1
+ import { DocumentTemplate } from '../model/DocumentTemplate.mjs';
2
+ import { PaginatedList } from '../model/PaginatedList.mjs';
3
+ import { DocIdentifier } from '../model/couchdb/DocIdentifier.mjs';
4
+ export interface DocumentTemplateApi {
5
+ getDocumentTemplate(documentTemplateId: string): Promise<DocumentTemplate | undefined>;
6
+ createDocumentTemplate(documentTemplate: DocumentTemplate): Promise<DocumentTemplate>;
7
+ modifyDocumentTemplate(documentTemplate: DocumentTemplate): Promise<DocumentTemplate>;
8
+ deleteDocumentTemplates(documentTemplateIds: Array<string>): Promise<Array<DocIdentifier>>;
9
+ listDocumentTemplatesBySpeciality(specialityCode: string): Promise<Array<DocumentTemplate>>;
10
+ listDocumentTemplatesByDocumentType(documentTypeCode: string): Promise<Array<DocumentTemplate>>;
11
+ listDocumentTemplatesByDocumentTypeForCurrentUser(documentTypeCode: string): Promise<Array<DocumentTemplate>>;
12
+ listDocumentTemplates(): Promise<Array<DocumentTemplate>>;
13
+ findAllDocumentTemplates(options?: {
14
+ startKey?: string | undefined;
15
+ startDocumentId?: string | undefined;
16
+ limit?: number | undefined;
17
+ }): Promise<PaginatedList<DocumentTemplate>>;
18
+ getDocumentTemplateAttachment(documentTemplateId: string, attachmentId: string): Promise<Int8Array>;
19
+ getAttachmentText(documentTemplateId: string, attachmentId: string): Promise<Int8Array>;
20
+ setDocumentTemplateAttachment(documentTemplateId: string, payload: Int8Array): Promise<DocumentTemplate>;
21
+ getAttachmentUrl(documentId: string, attachmentId: string): string;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { EntityReference } from '../model/EntityReference.mjs';
2
+ export interface EntityReferenceApi {
3
+ getLatest(prefix: string): Promise<EntityReference>;
4
+ createEntityReference(entityReference: EntityReference): Promise<EntityReference>;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import { EntityTemplate } from '../model/EntityTemplate.mjs';
2
+ import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
3
+ import { DocIdentifier } from '../model/couchdb/DocIdentifier.mjs';
4
+ export interface EntityTemplateApi {
5
+ getEntityTemplate(documentTemplateId: string): Promise<EntityTemplate | undefined>;
6
+ createEntityTemplate(applicationSettings: EntityTemplate): Promise<EntityTemplate>;
7
+ modifyEntityTemplate(documentTemplate: EntityTemplate): Promise<EntityTemplate>;
8
+ listEntityTemplatesBy(userId: string, type: string, options?: {
9
+ searchString?: string | undefined;
10
+ includeEntities?: boolean | undefined;
11
+ }): Promise<Array<EntityTemplate>>;
12
+ listAllEntityTemplatesBy(type: string, options?: {
13
+ searchString?: string | undefined;
14
+ includeEntities?: boolean | undefined;
15
+ }): Promise<Array<EntityTemplate>>;
16
+ listEntityTemplatesByKeyword(userId: string, type: string, keyword: string, options?: {
17
+ includeEntities?: boolean | undefined;
18
+ }): Promise<Array<EntityTemplate>>;
19
+ findAllEntityTemplatesByKeyword(type: string, keyword: string, includeEntities: boolean | undefined): Promise<Array<EntityTemplate>>;
20
+ getEntityTemplates(entityTemplateIds: Array<string>): Promise<Array<EntityTemplate>>;
21
+ modifyEntityTemplates(entityTemplates: Array<EntityTemplate>): Promise<Array<EntityTemplate>>;
22
+ createEntityTemplates(entityTemplates: Array<EntityTemplate>): Promise<Array<EntityTemplate>>;
23
+ deleteEntityTemplates(entityTemplateIds: Array<StoredDocumentIdentifier>): Promise<Array<DocIdentifier>>;
24
+ }
@@ -0,0 +1 @@
1
+ export {};
package/api/FormApi.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { BaseFilterOptions, FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { BulkShareByIdsResult } from '../crypto/entities/BulkShareByIdsResult.mjs';
3
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
3
4
  import { FormDelegateOptions } from '../crypto/entities/FormDelegateOptions.mjs';
4
5
  import { FormShareOptions } from '../crypto/entities/FormShareOptions.mjs';
5
6
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
@@ -249,6 +250,16 @@ export interface FormApi {
249
250
  * because you had no write access to them) they will not be included in this list.
250
251
  */
251
252
  purgeForms(forms: Array<Form>): Promise<Array<StoredDocumentIdentifier>>;
253
+ /**
254
+ *
255
+ * Get all data owners with access to the provided form, attempting to identify any unknown anonymous data owners
256
+ * using delegations de-anonymization metadata.
257
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
258
+ * anonymous data owners and the behaviour of basic apis.
259
+ * @param form a form
260
+ * @return information on users with access to the provided form
261
+ */
262
+ getDataOwnersWithAccessTo(form: Form): Promise<EntityAccessInformation>;
252
263
  getFormTemplate(formTemplateId: string, options?: {
253
264
  raw?: boolean | undefined;
254
265
  }): Promise<FormTemplate>;
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { EncryptedForm, Form } from '../model/Form.mjs';
3
4
  import { FormTemplate } from '../model/FormTemplate.mjs';
4
5
  import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs';
@@ -120,6 +121,16 @@ export interface FormBasicApi {
120
121
  * because you had no write access to them) they will not be included in this list.
121
122
  */
122
123
  purgeForms(forms: Array<Form>): Promise<Array<StoredDocumentIdentifier>>;
124
+ /**
125
+ *
126
+ * Get all data owners with access to the provided form, attempting to identify any unknown anonymous data owners
127
+ * using delegations de-anonymization metadata.
128
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
129
+ * anonymous data owners and the behaviour of basic apis.
130
+ * @param form a form
131
+ * @return information on users with access to the provided form
132
+ */
133
+ getDataOwnersWithAccessTo(form: Form): Promise<EntityAccessInformation>;
123
134
  getFormTemplate(formTemplateId: string, options?: {
124
135
  raw?: boolean | undefined;
125
136
  }): Promise<FormTemplate>;
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { EncryptedForm, Form } from '../model/Form.mjs';
3
4
  import { FormTemplate } from '../model/FormTemplate.mjs';
4
5
  import { GroupScoped } from '../model/GroupScoped.mjs';
@@ -64,6 +65,11 @@ export interface FormBasicInGroupApi {
64
65
  * In-group version of [FormBasicFlavourlessApi.purgeForms]
65
66
  */
66
67
  purgeForms(forms: Array<GroupScoped<Form>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
68
+ /**
69
+ *
70
+ * In-group version of [FormBasicFlavourlessApi.getDataOwnersWithAccessTo].
71
+ */
72
+ getDataOwnersWithAccessTo(form: GroupScoped<Form>): Promise<EntityAccessInformation>;
67
73
  createFormTemplate(formTemplate: GroupScoped<FormTemplate>): Promise<GroupScoped<FormTemplate>>;
68
74
  createFormTemplates(formTemplates: Array<GroupScoped<FormTemplate>>): Promise<Array<GroupScoped<FormTemplate>>>;
69
75
  getFormTemplate(groupId: string, formTemplateId: string): Promise<GroupScoped<FormTemplate> | undefined>;
@@ -1,4 +1,5 @@
1
1
  import { BaseFilterOptions, FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
2
3
  import { FormDelegateOptions } from '../crypto/entities/FormDelegateOptions.mjs';
3
4
  import { FormShareOptions } from '../crypto/entities/FormShareOptions.mjs';
4
5
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
@@ -121,6 +122,11 @@ export interface FormInGroupApi {
121
122
  * In-group version of [FormBasicFlavourlessApi.purgeForms]
122
123
  */
123
124
  purgeForms(forms: Array<GroupScoped<Form>>): Promise<Array<GroupScoped<StoredDocumentIdentifier>>>;
125
+ /**
126
+ *
127
+ * In-group version of [FormBasicFlavourlessApi.getDataOwnersWithAccessTo].
128
+ */
129
+ getDataOwnersWithAccessTo(form: GroupScoped<Form>): Promise<EntityAccessInformation>;
124
130
  createFormTemplate(formTemplate: GroupScoped<FormTemplate>): Promise<GroupScoped<FormTemplate>>;
125
131
  createFormTemplates(formTemplates: Array<GroupScoped<FormTemplate>>): Promise<Array<GroupScoped<FormTemplate>>>;
126
132
  getFormTemplate(groupId: string, formTemplateId: string): Promise<GroupScoped<FormTemplate> | undefined>;
@@ -1,5 +1,6 @@
1
1
  import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs';
2
2
  import { BulkShareByIdsResult } from '../crypto/entities/BulkShareByIdsResult.mjs';
3
+ import { EntityAccessInformation } from '../crypto/entities/EntityAccessInformation.mjs';
3
4
  import { HealthElementDelegateOptions } from '../crypto/entities/HealthElementDelegateOptions.mjs';
4
5
  import { HealthElementShareOptions } from '../crypto/entities/HealthElementShareOptions.mjs';
5
6
  import { SecretIdUseOption } from '../crypto/entities/SecretIdUseOption.mjs';
@@ -263,6 +264,16 @@ export interface HealthElementApi {
263
264
  * because you had no write access to them) they will not be included in this list.
264
265
  */
265
266
  purgeHealthElements(healthElements: Array<HealthElement>): Promise<Array<StoredDocumentIdentifier>>;
267
+ /**
268
+ *
269
+ * Get all data owners with access to the provided health element, attempting to identify any unknown anonymous data owners
270
+ * using delegations de-anonymization metadata.
271
+ * See [com.icure.cardinal.sdk.crypto.EntityAccessInformationProvider.getDataOwnersWithAccessTo] for the semantics of
272
+ * anonymous data owners and the behaviour of basic apis.
273
+ * @param healthElement a health element
274
+ * @return information on users with access to the provided health element
275
+ */
276
+ getDataOwnersWithAccessTo(healthElement: HealthElement): Promise<EntityAccessInformation>;
266
277
  /**
267
278
  *
268
279
  * Share a health element with another data owner. The health element must already exist in the database for this method to