@icure/cardinal-sdk 2.1.1 → 2.1.2

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 (518) hide show
  1. package/Kotlin-DateTime-library-kotlinx-datetime.mjs +1 -1
  2. package/api/AccessLogApi.d.mts +279 -0
  3. package/api/AccessLogBasicApi.d.mts +176 -0
  4. package/api/AccessLogBasicInGroupApi.d.mts +84 -0
  5. package/api/AccessLogFlavouredApi.d.mts +114 -0
  6. package/api/AccessLogFlavouredInGroupApi.d.mts +56 -0
  7. package/api/AccessLogInGroupApi.d.mts +104 -0
  8. package/api/AgendaApi.d.mts +86 -0
  9. package/api/AnonymousRoleApi.d.mts +7 -0
  10. package/api/AnonymousRoleApi.mjs +2 -0
  11. package/api/CalendarItemApi.d.mts +333 -0
  12. package/api/CalendarItemBasicApi.d.mts +201 -0
  13. package/api/CalendarItemBasicInGroupApi.d.mts +88 -0
  14. package/api/CalendarItemFlavouredApi.d.mts +148 -0
  15. package/api/CalendarItemFlavouredInGroupApi.d.mts +56 -0
  16. package/api/CalendarItemInGroupApi.d.mts +128 -0
  17. package/api/CardinalMaintenanceTaskApi.d.mts +26 -0
  18. package/api/ClassificationApi.d.mts +202 -0
  19. package/api/ClassificationBasicApi.d.mts +91 -0
  20. package/api/ClassificationFlavouredApi.d.mts +80 -0
  21. package/api/ContactApi.d.mts +385 -0
  22. package/api/ContactBasicApi.d.mts +268 -0
  23. package/api/ContactBasicInGroupApi.d.mts +112 -0
  24. package/api/ContactFlavouredApi.d.mts +165 -0
  25. package/api/ContactFlavouredInGroupApi.d.mts +64 -0
  26. package/api/ContactInGroupApi.d.mts +148 -0
  27. package/api/CryptoApi.d.mts +37 -0
  28. package/api/CryptoInGroupApi.d.mts +7 -0
  29. package/api/DataOwnerApi.d.mts +84 -0
  30. package/api/DeviceApi.d.mts +40 -0
  31. package/api/DocumentApi.d.mts +465 -0
  32. package/api/DocumentBasicApi.d.mts +245 -0
  33. package/api/DocumentBasicInGroupApi.d.mts +88 -0
  34. package/api/DocumentFlavouredApi.d.mts +126 -0
  35. package/api/DocumentFlavouredInGroupApi.d.mts +56 -0
  36. package/api/DocumentInGroupApi.d.mts +132 -0
  37. package/api/FormApi.d.mts +303 -0
  38. package/api/FormBasicApi.d.mts +192 -0
  39. package/api/FormBasicInGroupApi.d.mts +88 -0
  40. package/api/FormFlavouredApi.d.mts +134 -0
  41. package/api/FormFlavouredInGroupApi.d.mts +56 -0
  42. package/api/FormInGroupApi.d.mts +124 -0
  43. package/api/FormTemplateApi.d.mts +4 -0
  44. package/api/GroupApi.d.mts +7 -0
  45. package/api/HealthElementApi.d.mts +307 -0
  46. package/api/HealthElementBasicApi.d.mts +187 -0
  47. package/api/HealthElementBasicInGroupApi.d.mts +88 -0
  48. package/api/HealthElementFlavouredApi.d.mts +124 -0
  49. package/api/HealthElementFlavouredInGroupApi.d.mts +56 -0
  50. package/api/HealthElementInGroupApi.d.mts +128 -0
  51. package/api/HealthcarePartyApi.d.mts +95 -0
  52. package/api/InvoiceApi.d.mts +253 -0
  53. package/api/InvoiceBasicApi.d.mts +142 -0
  54. package/api/InvoiceBasicInGroupApi.d.mts +72 -0
  55. package/api/InvoiceFlavouredApi.d.mts +100 -0
  56. package/api/InvoiceFlavouredInGroupApi.d.mts +48 -0
  57. package/api/InvoiceInGroupApi.d.mts +108 -0
  58. package/api/MaintenanceTaskApi.d.mts +252 -0
  59. package/api/MaintenanceTaskBasicApi.d.mts +144 -0
  60. package/api/MaintenanceTaskFlavouredApi.d.mts +95 -0
  61. package/api/MessageApi.d.mts +355 -0
  62. package/api/MessageBasicApi.d.mts +229 -0
  63. package/api/MessageBasicInGroupApi.d.mts +88 -0
  64. package/api/MessageFlavouredApi.d.mts +165 -0
  65. package/api/MessageFlavouredInGroupApi.d.mts +56 -0
  66. package/api/MessageInGroupApi.d.mts +124 -0
  67. package/api/PatientApi.d.mts +445 -0
  68. package/api/PatientBasicApi.d.mts +246 -0
  69. package/api/PatientBasicInGroupApi.d.mts +92 -0
  70. package/api/PatientFlavouredApi.d.mts +195 -0
  71. package/api/PatientFlavouredInGroupApi.d.mts +64 -0
  72. package/api/PatientInGroupApi.d.mts +136 -0
  73. package/api/ReceiptApi.d.mts +147 -0
  74. package/api/ReceiptBasicApi.d.mts +132 -0
  75. package/api/ReceiptBasicInGroupApi.d.mts +72 -0
  76. package/api/ReceiptFlavouredApi.d.mts +90 -0
  77. package/api/ReceiptFlavouredInGroupApi.d.mts +48 -0
  78. package/api/ReceiptInGroupApi.d.mts +108 -0
  79. package/api/RecoveryApi.d.mts +140 -0
  80. package/api/RoleApi.d.mts +61 -0
  81. package/api/ShamirKeysManagerApi.d.mts +21 -0
  82. package/api/TopicApi.d.mts +317 -0
  83. package/api/TopicBasicApi.d.mts +206 -0
  84. package/api/TopicBasicInGroupApi.d.mts +88 -0
  85. package/api/TopicFlavouredApi.d.mts +143 -0
  86. package/api/TopicFlavouredInGroupApi.d.mts +56 -0
  87. package/api/TopicInGroupApi.d.mts +124 -0
  88. package/api/UserApi.d.mts +52 -0
  89. package/api/UserInGroupApi.d.mts +6 -0
  90. package/api.d.mts +1 -0
  91. package/api.mjs +1 -0
  92. package/cardinal-sdk-ts.mjs +39268 -39198
  93. package/cardinal-sdk.mjs +71238 -70553
  94. package/crypto/entities/AccessLogShareOptions.d.mts +4 -0
  95. package/crypto/entities/AccessLogShareOptions.mjs +4 -0
  96. package/crypto/entities/CalendarItemShareOptions.d.mts +4 -0
  97. package/crypto/entities/CalendarItemShareOptions.mjs +4 -0
  98. package/crypto/entities/ClassificationShareOptions.d.mts +4 -0
  99. package/crypto/entities/ClassificationShareOptions.mjs +4 -0
  100. package/crypto/entities/ContactShareOptions.d.mts +4 -0
  101. package/crypto/entities/ContactShareOptions.mjs +4 -0
  102. package/crypto/entities/DocumentShareOptions.d.mts +4 -0
  103. package/crypto/entities/DocumentShareOptions.mjs +4 -0
  104. package/crypto/entities/EntityAccessInformation.d.mts +21 -0
  105. package/crypto/entities/EntityAccessInformation.mjs +4 -0
  106. package/crypto/entities/EntityWithEncryptionMetadataTypeName.d.mts +6 -0
  107. package/crypto/entities/EntityWithEncryptionMetadataTypeName.mjs +6 -0
  108. package/crypto/entities/ExchangeDataInjectionDetails.d.mts +4 -0
  109. package/crypto/entities/ExchangeDataInjectionDetails.mjs +4 -0
  110. package/crypto/entities/FormShareOptions.d.mts +4 -0
  111. package/crypto/entities/FormShareOptions.mjs +4 -0
  112. package/crypto/entities/HealthElementShareOptions.d.mts +4 -0
  113. package/crypto/entities/HealthElementShareOptions.mjs +4 -0
  114. package/crypto/entities/InvoiceShareOptions.d.mts +4 -0
  115. package/crypto/entities/InvoiceShareOptions.mjs +4 -0
  116. package/crypto/entities/MessageShareOptions.d.mts +4 -0
  117. package/crypto/entities/MessageShareOptions.mjs +4 -0
  118. package/crypto/entities/RawDecryptedExchangeData.d.mts +8 -0
  119. package/crypto/entities/RawDecryptedExchangeData.mjs +8 -0
  120. package/crypto/entities/RecoveryKeyOptions.d.mts +13 -0
  121. package/crypto/entities/RecoveryKeyOptions.mjs +9 -0
  122. package/crypto/entities/RecoveryKeySize.d.mts +4 -0
  123. package/crypto/entities/RecoveryKeySize.mjs +4 -0
  124. package/crypto/entities/SecretIdShareOptions.d.mts +19 -0
  125. package/crypto/entities/SecretIdShareOptions.mjs +15 -0
  126. package/crypto/entities/SecretIdUseOption.d.mts +11 -0
  127. package/crypto/entities/SecretIdUseOption.mjs +6 -0
  128. package/crypto/entities/ShamirUpdateRequest.d.mts +12 -0
  129. package/crypto/entities/ShamirUpdateRequest.mjs +4 -0
  130. package/crypto/entities/ShareAllPatientDataOptions.d.mts +4 -0
  131. package/crypto/entities/ShareAllPatientDataOptions.mjs +4 -0
  132. package/crypto/entities/ShareMetadataBehaviour.d.mts +4 -0
  133. package/crypto/entities/ShareMetadataBehaviour.mjs +4 -0
  134. package/crypto/entities/TopicShareOptions.d.mts +4 -0
  135. package/crypto/entities/TopicShareOptions.mjs +4 -0
  136. package/filters/AccessLogFilters.d.mts +120 -0
  137. package/filters/AgendaFilters.d.mts +79 -0
  138. package/filters/CalendarItemFilters.d.mts +166 -0
  139. package/filters/ClassificationFilters.d.mts +87 -0
  140. package/filters/CodeFilters.d.mts +96 -0
  141. package/filters/ContactFilters.d.mts +403 -0
  142. package/filters/DeviceFilters.d.mts +19 -0
  143. package/filters/DocumentFilters.d.mts +296 -0
  144. package/filters/FormFilters.d.mts +120 -0
  145. package/filters/FormTemplateFilters.d.mts +6 -0
  146. package/filters/GroupFilters.d.mts +27 -0
  147. package/filters/HealthElementFilters.d.mts +266 -0
  148. package/filters/HealthcarePartyFilters.d.mts +75 -0
  149. package/filters/MaintenanceTaskFilters.d.mts +68 -0
  150. package/filters/MessageFilters.d.mts +314 -0
  151. package/filters/PatientFilters.d.mts +298 -0
  152. package/filters/ServiceFilters.d.mts +342 -0
  153. package/filters/TopicFilters.d.mts +25 -0
  154. package/filters/UserFilters.d.mts +33 -0
  155. package/kotlinx-coroutines-core.mjs +1 -1
  156. package/model/AccessLog.d.mts +202 -0
  157. package/model/AccessLog.mjs +168 -0
  158. package/model/Agenda.d.mts +89 -0
  159. package/model/Agenda.mjs +85 -0
  160. package/model/BooleanResponse.d.mts +9 -0
  161. package/model/BooleanResponse.mjs +5 -0
  162. package/model/CalendarItem.d.mts +431 -0
  163. package/model/CalendarItem.mjs +320 -0
  164. package/model/CalendarItemType.d.mts +72 -0
  165. package/model/CalendarItemType.mjs +68 -0
  166. package/model/Classification.d.mts +187 -0
  167. package/model/Classification.mjs +160 -0
  168. package/model/Code.d.mts +63 -0
  169. package/model/Code.mjs +59 -0
  170. package/model/Contact.d.mts +354 -0
  171. package/model/Contact.mjs +274 -0
  172. package/model/CryptoActorStub.d.mts +6 -0
  173. package/model/CryptoActorStub.mjs +6 -0
  174. package/model/CryptoActorStubWithType.d.mts +14 -0
  175. package/model/CryptoActorStubWithType.mjs +6 -0
  176. package/model/DataOwnerRegistrationSuccess.d.mts +18 -0
  177. package/model/DataOwnerRegistrationSuccess.mjs +6 -0
  178. package/model/DataOwnerType.d.mts +6 -0
  179. package/model/DataOwnerType.mjs +6 -0
  180. package/model/DataOwnerWithType.d.mts +6 -0
  181. package/model/DatabaseInitialisation.d.mts +22 -0
  182. package/model/DatabaseInitialisation.mjs +22 -0
  183. package/model/Device.d.mts +103 -0
  184. package/model/Device.mjs +99 -0
  185. package/model/Document.d.mts +309 -0
  186. package/model/Document.mjs +238 -0
  187. package/model/EntityReferenceInGroup.d.mts +23 -0
  188. package/model/EntityReferenceInGroup.mjs +23 -0
  189. package/model/FrontEndMigration.d.mts +60 -0
  190. package/model/FrontEndMigration.mjs +56 -0
  191. package/model/Group.d.mts +79 -0
  192. package/model/Group.mjs +71 -0
  193. package/model/GroupDeletionReport.d.mts +17 -0
  194. package/model/GroupDeletionReport.mjs +5 -0
  195. package/model/GroupScoped.d.mts +10 -0
  196. package/model/GroupScoped.mjs +10 -0
  197. package/model/HealthElement.d.mts +355 -0
  198. package/model/HealthElement.mjs +272 -0
  199. package/model/HealthcareParty.d.mts +168 -0
  200. package/model/HealthcareParty.mjs +164 -0
  201. package/model/IdWithRev.d.mts +14 -0
  202. package/model/IdWithRev.mjs +10 -0
  203. package/model/IndexingInfo.d.mts +10 -0
  204. package/model/IndexingInfo.mjs +10 -0
  205. package/model/Insurance.d.mts +51 -0
  206. package/model/Insurance.mjs +43 -0
  207. package/model/Invoice.d.mts +705 -0
  208. package/model/Invoice.mjs +502 -0
  209. package/model/ListOfProperties.d.mts +9 -0
  210. package/model/ListOfProperties.mjs +9 -0
  211. package/model/MaintenanceTask.d.mts +202 -0
  212. package/model/MaintenanceTask.mjs +170 -0
  213. package/model/Message.d.mts +321 -0
  214. package/model/Message.mjs +246 -0
  215. package/model/PaginatedDocumentKeyIdPair.d.mts +14 -0
  216. package/model/PaginatedDocumentKeyIdPair.mjs +14 -0
  217. package/model/PaginatedList.d.mts +17 -0
  218. package/model/PaginatedList.mjs +17 -0
  219. package/model/Patient.d.mts +715 -0
  220. package/model/Patient.mjs +546 -0
  221. package/model/Place.d.mts +25 -0
  222. package/model/Place.mjs +21 -0
  223. package/model/PropertyStub.d.mts +59 -0
  224. package/model/PropertyStub.mjs +42 -0
  225. package/model/PropertyTypeStub.d.mts +14 -0
  226. package/model/PropertyTypeStub.mjs +14 -0
  227. package/model/PublicAgendasAndCalendarItemTypes.d.mts +15 -1
  228. package/model/PublicAgendasAndCalendarItemTypes.mjs +22 -4
  229. package/model/PublicKey.d.mts +13 -0
  230. package/model/PublicKey.mjs +13 -0
  231. package/model/Receipt.d.mts +195 -0
  232. package/model/Receipt.mjs +162 -0
  233. package/model/RegistrationInformation.d.mts +41 -0
  234. package/model/RegistrationInformation.mjs +37 -0
  235. package/model/RegistrationSuccess.d.mts +18 -0
  236. package/model/RegistrationSuccess.mjs +6 -0
  237. package/model/Replication.d.mts +30 -0
  238. package/model/Replication.mjs +26 -0
  239. package/model/ReplicationInfo.d.mts +21 -0
  240. package/model/ReplicationInfo.mjs +21 -0
  241. package/model/Role.d.mts +33 -0
  242. package/model/Role.mjs +29 -0
  243. package/model/StoredDocumentIdentifier.d.mts +4 -0
  244. package/model/StoredDocumentIdentifier.mjs +4 -0
  245. package/model/Topic.d.mts +213 -0
  246. package/model/Topic.mjs +174 -0
  247. package/model/TopicRole.d.mts +5 -0
  248. package/model/TopicRole.mjs +5 -0
  249. package/model/User.d.mts +96 -0
  250. package/model/User.mjs +92 -0
  251. package/model/UserGroup.d.mts +54 -0
  252. package/model/UserGroup.mjs +54 -0
  253. package/model/base/CodeIdentification.d.mts +6 -0
  254. package/model/base/CodeStub.d.mts +31 -0
  255. package/model/base/CodeStub.mjs +31 -0
  256. package/model/base/CryptoActor.d.mts +7 -0
  257. package/model/base/DataOwner.d.mts +7 -0
  258. package/model/base/HasCodes.d.mts +6 -0
  259. package/model/base/HasEncryptionMetadata.d.mts +7 -0
  260. package/model/base/HasEndOfLife.d.mts +5 -0
  261. package/model/base/HasTags.d.mts +7 -0
  262. package/model/base/ICureDocument.d.mts +7 -0
  263. package/model/base/Identifiable.d.mts +5 -0
  264. package/model/base/Identifier.d.mts +43 -0
  265. package/model/base/Identifier.mjs +43 -0
  266. package/model/base/LinkQualification.d.mts +31 -0
  267. package/model/base/LinkQualification.mjs +31 -0
  268. package/model/base/Named.d.mts +5 -0
  269. package/model/base/ParticipantType.d.mts +7 -0
  270. package/model/base/ParticipantType.mjs +7 -0
  271. package/model/base/Person.d.mts +5 -0
  272. package/model/base/StoredDocument.d.mts +6 -0
  273. package/model/base/Versionable.d.mts +6 -0
  274. package/model/couchdb/Basic.d.mts +14 -0
  275. package/model/couchdb/Basic.mjs +6 -0
  276. package/model/couchdb/DatabaseInfo.d.mts +46 -0
  277. package/model/couchdb/DatabaseInfo.mjs +42 -0
  278. package/model/couchdb/DesignDocument.d.mts +43 -0
  279. package/model/couchdb/DesignDocument.mjs +39 -0
  280. package/model/couchdb/DocIdentifier.d.mts +13 -0
  281. package/model/couchdb/DocIdentifier.mjs +13 -0
  282. package/model/couchdb/GroupDatabasesInfo.d.mts +19 -0
  283. package/model/couchdb/GroupDatabasesInfo.mjs +7 -0
  284. package/model/couchdb/Remote.d.mts +14 -0
  285. package/model/couchdb/Remote.mjs +10 -0
  286. package/model/couchdb/RemoteAuthentication.d.mts +9 -0
  287. package/model/couchdb/RemoteAuthentication.mjs +9 -0
  288. package/model/couchdb/ReplicationStats.d.mts +41 -0
  289. package/model/couchdb/ReplicationStats.mjs +41 -0
  290. package/model/couchdb/ReplicatorDocument.d.mts +62 -0
  291. package/model/couchdb/ReplicatorDocument.mjs +58 -0
  292. package/model/couchdb/View.d.mts +13 -0
  293. package/model/couchdb/View.mjs +9 -0
  294. package/model/data/LabelledOccurence.d.mts +14 -0
  295. package/model/data/LabelledOccurence.mjs +6 -0
  296. package/model/embed/AccessLevel.d.mts +6 -0
  297. package/model/embed/AccessLevel.mjs +6 -0
  298. package/model/embed/AddressType.d.mts +5 -0
  299. package/model/embed/AddressType.mjs +5 -0
  300. package/model/embed/AdministrationQuantity.d.mts +18 -0
  301. package/model/embed/AdministrationQuantity.mjs +18 -0
  302. package/model/embed/AgendaSlottingAlgorithm.d.mts +13 -0
  303. package/model/embed/AgendaSlottingAlgorithm.mjs +13 -0
  304. package/model/embed/Annotation.d.mts +48 -0
  305. package/model/embed/Annotation.mjs +44 -0
  306. package/model/embed/AuthenticationClass.d.mts +6 -0
  307. package/model/embed/AuthenticationClass.mjs +6 -0
  308. package/model/embed/CalendarItemTag.d.mts +71 -0
  309. package/model/embed/CalendarItemTag.mjs +50 -0
  310. package/model/embed/CareTeamMember.d.mts +70 -0
  311. package/model/embed/CareTeamMember.mjs +44 -0
  312. package/model/embed/CareTeamMemberType.d.mts +5 -0
  313. package/model/embed/CareTeamMemberType.mjs +5 -0
  314. package/model/embed/CareTeamMembership.d.mts +74 -0
  315. package/model/embed/CareTeamMembership.mjs +52 -0
  316. package/model/embed/ContactParticipant.d.mts +13 -0
  317. package/model/embed/ContactParticipant.mjs +5 -0
  318. package/model/embed/Content.d.mts +177 -0
  319. package/model/embed/Content.mjs +118 -0
  320. package/model/embed/ContractChangeType.d.mts +5 -0
  321. package/model/embed/ContractChangeType.mjs +5 -0
  322. package/model/embed/DataAttachment.d.mts +18 -0
  323. package/model/embed/DataAttachment.mjs +18 -0
  324. package/model/embed/DatabaseSynchronization.d.mts +22 -0
  325. package/model/embed/DatabaseSynchronization.mjs +22 -0
  326. package/model/embed/DelegationTag.d.mts +6 -0
  327. package/model/embed/DelegationTag.mjs +6 -0
  328. package/model/embed/DeletedAttachment.d.mts +23 -0
  329. package/model/embed/DeletedAttachment.mjs +23 -0
  330. package/model/embed/DocumentGroup.d.mts +13 -0
  331. package/model/embed/DocumentGroup.mjs +13 -0
  332. package/model/embed/DocumentStatus.d.mts +6 -0
  333. package/model/embed/DocumentStatus.mjs +6 -0
  334. package/model/embed/DocumentType.d.mts +5 -0
  335. package/model/embed/DocumentType.mjs +5 -0
  336. package/model/embed/Duration.d.mts +13 -0
  337. package/model/embed/Duration.mjs +13 -0
  338. package/model/embed/EmbeddedTimeTableHour.d.mts +13 -0
  339. package/model/embed/EmbeddedTimeTableHour.mjs +5 -0
  340. package/model/embed/EmbeddedTimeTableItem.d.mts +42 -0
  341. package/model/embed/EmbeddedTimeTableItem.mjs +30 -0
  342. package/model/embed/Encryptable.d.mts +7 -0
  343. package/model/embed/Episode.d.mts +78 -0
  344. package/model/embed/Episode.mjs +52 -0
  345. package/model/embed/FinancialInstitutionInformation.d.mts +110 -0
  346. package/model/embed/FinancialInstitutionInformation.mjs +76 -0
  347. package/model/embed/FrontEndMigrationStatus.d.mts +5 -0
  348. package/model/embed/FrontEndMigrationStatus.mjs +5 -0
  349. package/model/embed/Gender.d.mts +6 -0
  350. package/model/embed/Gender.mjs +6 -0
  351. package/model/embed/GroupType.d.mts +5 -0
  352. package/model/embed/GroupType.mjs +5 -0
  353. package/model/embed/IdentityDocumentReader.d.mts +30 -0
  354. package/model/embed/IdentityDocumentReader.mjs +30 -0
  355. package/model/embed/InvoiceType.d.mts +5 -0
  356. package/model/embed/InvoiceType.mjs +5 -0
  357. package/model/embed/InvoicingCode.d.mts +689 -0
  358. package/model/embed/InvoicingCode.mjs +454 -0
  359. package/model/embed/Laterality.d.mts +5 -0
  360. package/model/embed/Laterality.mjs +5 -0
  361. package/model/embed/Measure.d.mts +54 -0
  362. package/model/embed/Measure.mjs +54 -0
  363. package/model/embed/MedicalHouseContract.d.mts +413 -0
  364. package/model/embed/MedicalHouseContract.mjs +278 -0
  365. package/model/embed/Medication.d.mts +5 -0
  366. package/model/embed/Medication.mjs +5 -0
  367. package/model/embed/Medicinalproduct.d.mts +25 -0
  368. package/model/embed/Medicinalproduct.mjs +25 -0
  369. package/model/embed/MediumType.d.mts +5 -0
  370. package/model/embed/MediumType.mjs +5 -0
  371. package/model/embed/MembershipType.d.mts +5 -0
  372. package/model/embed/MembershipType.mjs +5 -0
  373. package/model/embed/MessageReadStatus.d.mts +14 -0
  374. package/model/embed/MessageReadStatus.mjs +14 -0
  375. package/model/embed/MhcSignatureType.d.mts +6 -0
  376. package/model/embed/MhcSignatureType.mjs +6 -0
  377. package/model/embed/Partnership.d.mts +18 -0
  378. package/model/embed/Partnership.mjs +18 -0
  379. package/model/embed/PartnershipStatus.d.mts +5 -0
  380. package/model/embed/PartnershipStatus.mjs +5 -0
  381. package/model/embed/PartnershipType.d.mts +6 -0
  382. package/model/embed/PartnershipType.mjs +6 -0
  383. package/model/embed/PatientHealthCareParty.d.mts +15 -0
  384. package/model/embed/PatientHealthCareParty.mjs +10 -0
  385. package/model/embed/PatientHealthCarePartyType.d.mts +5 -0
  386. package/model/embed/PatientHealthCarePartyType.mjs +5 -0
  387. package/model/embed/Payment.d.mts +17 -0
  388. package/model/embed/Payment.mjs +17 -0
  389. package/model/embed/PaymentType.d.mts +5 -0
  390. package/model/embed/PaymentType.mjs +5 -0
  391. package/model/embed/PersonName.d.mts +39 -0
  392. package/model/embed/PersonName.mjs +39 -0
  393. package/model/embed/PersonNameUse.d.mts +5 -0
  394. package/model/embed/PersonNameUse.mjs +5 -0
  395. package/model/embed/PersonalStatus.d.mts +5 -0
  396. package/model/embed/PersonalStatus.mjs +5 -0
  397. package/model/embed/Range.d.mts +13 -0
  398. package/model/embed/Range.mjs +13 -0
  399. package/model/embed/ReferenceRange.d.mts +34 -0
  400. package/model/embed/ReferenceRange.mjs +34 -0
  401. package/model/embed/ReferralPeriod.d.mts +17 -0
  402. package/model/embed/ReferralPeriod.mjs +17 -0
  403. package/model/embed/RegimenItem.d.mts +32 -0
  404. package/model/embed/RegimenItem.mjs +32 -0
  405. package/model/embed/Renewal.d.mts +14 -0
  406. package/model/embed/Renewal.mjs +14 -0
  407. package/model/embed/ResourceGroupAllocationSchedule.d.mts +34 -0
  408. package/model/embed/ResourceGroupAllocationSchedule.mjs +34 -0
  409. package/model/embed/RoleConfiguration.d.mts +14 -0
  410. package/model/embed/RoleConfiguration.mjs +10 -0
  411. package/model/embed/SecureDelegation.d.mts +41 -0
  412. package/model/embed/SecureDelegation.mjs +37 -0
  413. package/model/embed/SecurityMetadata.d.mts +11 -0
  414. package/model/embed/SecurityMetadata.mjs +6 -0
  415. package/model/embed/Substanceproduct.d.mts +25 -0
  416. package/model/embed/Substanceproduct.mjs +25 -0
  417. package/model/embed/SuspensionReason.d.mts +5 -0
  418. package/model/embed/SuspensionReason.mjs +5 -0
  419. package/model/embed/TaskStatus.d.mts +5 -0
  420. package/model/embed/TaskStatus.mjs +5 -0
  421. package/model/embed/TelecomType.d.mts +6 -0
  422. package/model/embed/TelecomType.mjs +6 -0
  423. package/model/embed/TimeSeries.d.mts +34 -0
  424. package/model/embed/TimeSeries.mjs +34 -0
  425. package/model/embed/TypedValue.d.mts +101 -0
  426. package/model/embed/TypedValue.mjs +70 -0
  427. package/model/embed/TypedValuesType.d.mts +5 -0
  428. package/model/embed/TypedValuesType.mjs +5 -0
  429. package/model/embed/UserAccessLevel.d.mts +11 -0
  430. package/model/embed/UserAccessLevel.mjs +11 -0
  431. package/model/embed/UserType.d.mts +5 -0
  432. package/model/embed/UserType.mjs +5 -0
  433. package/model/embed/ValueWithPrecision.d.mts +13 -0
  434. package/model/embed/ValueWithPrecision.mjs +5 -0
  435. package/model/embed/Weekday.d.mts +13 -0
  436. package/model/embed/Weekday.mjs +13 -0
  437. package/model/embed/form/template/Action.d.mts +18 -0
  438. package/model/embed/form/template/Action.mjs +18 -0
  439. package/model/embed/form/template/CheckBox.d.mts +5 -0
  440. package/model/embed/form/template/CheckBox.mjs +5 -0
  441. package/model/embed/form/template/DatePicker.d.mts +5 -0
  442. package/model/embed/form/template/DatePicker.mjs +5 -0
  443. package/model/embed/form/template/DateTimePicker.d.mts +5 -0
  444. package/model/embed/form/template/DateTimePicker.mjs +5 -0
  445. package/model/embed/form/template/DropdownField.d.mts +5 -0
  446. package/model/embed/form/template/DropdownField.mjs +5 -0
  447. package/model/embed/form/template/Field.d.mts +9 -0
  448. package/model/embed/form/template/FieldsGroup.d.mts +14 -0
  449. package/model/embed/form/template/FieldsGroup.mjs +10 -0
  450. package/model/embed/form/template/FormTemplateLayout.d.mts +26 -0
  451. package/model/embed/form/template/FormTemplateLayout.mjs +22 -0
  452. package/model/embed/form/template/Launcher.d.mts +18 -0
  453. package/model/embed/form/template/Launcher.mjs +10 -0
  454. package/model/embed/form/template/MeasureField.d.mts +5 -0
  455. package/model/embed/form/template/MeasureField.mjs +5 -0
  456. package/model/embed/form/template/MultipleChoice.d.mts +5 -0
  457. package/model/embed/form/template/MultipleChoice.mjs +5 -0
  458. package/model/embed/form/template/NumberField.d.mts +5 -0
  459. package/model/embed/form/template/NumberField.mjs +5 -0
  460. package/model/embed/form/template/RadioButton.d.mts +5 -0
  461. package/model/embed/form/template/RadioButton.mjs +5 -0
  462. package/model/embed/form/template/Section.d.mts +22 -0
  463. package/model/embed/form/template/Section.mjs +14 -0
  464. package/model/embed/form/template/State.d.mts +17 -0
  465. package/model/embed/form/template/State.mjs +9 -0
  466. package/model/embed/form/template/StateToUpdate.d.mts +5 -0
  467. package/model/embed/form/template/StateToUpdate.mjs +5 -0
  468. package/model/embed/form/template/StructureElement.d.mts +6 -0
  469. package/model/embed/form/template/TextField.d.mts +73 -0
  470. package/model/embed/form/template/TextField.mjs +69 -0
  471. package/model/embed/form/template/TimePicker.d.mts +5 -0
  472. package/model/embed/form/template/TimePicker.mjs +5 -0
  473. package/model/embed/form/template/Trigger.d.mts +5 -0
  474. package/model/embed/form/template/Trigger.mjs +5 -0
  475. package/model/enums/UsersStatus.d.mts +5 -0
  476. package/model/enums/UsersStatus.mjs +5 -0
  477. package/model/filter/predicate/AlwaysPredicate.d.mts +5 -0
  478. package/model/filter/predicate/AlwaysPredicate.mjs +5 -0
  479. package/model/filter/predicate/AndPredicate.d.mts +9 -0
  480. package/model/filter/predicate/AndPredicate.mjs +9 -0
  481. package/model/filter/predicate/KeyValuePredicate.d.mts +17 -0
  482. package/model/filter/predicate/KeyValuePredicate.mjs +17 -0
  483. package/model/filter/predicate/NotPredicate.d.mts +9 -0
  484. package/model/filter/predicate/NotPredicate.mjs +5 -0
  485. package/model/filter/predicate/Operator.d.mts +5 -0
  486. package/model/filter/predicate/Operator.mjs +5 -0
  487. package/model/filter/predicate/OrPredicate.d.mts +9 -0
  488. package/model/filter/predicate/OrPredicate.mjs +9 -0
  489. package/model/filter/predicate/Predicate.d.mts +6 -0
  490. package/model/requests/RequestedPermission.d.mts +5 -0
  491. package/model/requests/RequestedPermission.mjs +5 -0
  492. package/model/security/AlwaysPermissionItem.d.mts +10 -0
  493. package/model/security/AlwaysPermissionItem.mjs +6 -0
  494. package/model/security/AuthenticationToken.d.mts +23 -0
  495. package/model/security/AuthenticationToken.mjs +15 -0
  496. package/model/security/Enable2faRequest.d.mts +13 -0
  497. package/model/security/Enable2faRequest.mjs +5 -0
  498. package/model/security/ExternalJwtConfig.d.mts +110 -0
  499. package/model/security/ExternalJwtConfig.mjs +59 -0
  500. package/model/security/LoginIdentifier.d.mts +14 -0
  501. package/model/security/LoginIdentifier.mjs +6 -0
  502. package/model/security/Operation.d.mts +5 -0
  503. package/model/security/Operation.mjs +5 -0
  504. package/model/security/OperationToken.d.mts +27 -0
  505. package/model/security/OperationToken.mjs +11 -0
  506. package/model/security/Permission.d.mts +14 -0
  507. package/model/security/Permission.mjs +14 -0
  508. package/model/security/PermissionItem.d.mts +7 -0
  509. package/model/security/PermissionType.d.mts +6 -0
  510. package/model/security/PermissionType.mjs +6 -0
  511. package/model/security/TokenWithGroup.d.mts +17 -0
  512. package/model/security/TokenWithGroup.mjs +9 -0
  513. package/model/specializations/AesExchangeKeyEncryptionKeypairIdentifier.d.mts +7 -0
  514. package/package.json +1 -1
  515. package/subscription/EntitySubscriptionConfiguration.d.mts +24 -0
  516. package/subscription/EntitySubscriptionConfiguration.mjs +24 -0
  517. package/subscription/EntitySubscriptionEvent.d.mts +21 -0
  518. package/subscription/EntitySubscriptionEvent.mjs +9 -0
@@ -17,13 +17,62 @@ export interface PatientApi {
17
17
  encrypted: PatientFlavouredApi<EncryptedPatient>;
18
18
  tryAndRecover: PatientFlavouredApi<Patient>;
19
19
  inGroup: PatientInGroupApi;
20
+ /**
21
+ *
22
+ * Decrypts patients, throwing an exception if it is not possible.
23
+ * @param patients encrypted patients
24
+ * @return the decrypted patients
25
+ * @throws EntityEncryptionException if any of the provided patients couldn't be decrypted
26
+ */
20
27
  decrypt(patients: Array<EncryptedPatient>): Promise<Array<DecryptedPatient>>;
28
+ /**
29
+ *
30
+ * Tries to decrypt a patient, returns the input if it is not possible.
31
+ * @param patients encrypted patients
32
+ * @return all the provided patients, each of them decrypted if possible or unchanged (still encrypted)
33
+ */
21
34
  tryDecrypt(patients: Array<EncryptedPatient>): Promise<Array<Patient>>;
35
+ /**
36
+ *
37
+ * Encrypts provided decrypted patients, and validates already encrypted patients.
38
+ * @param patients patients to encrypt and/or validate
39
+ * @return the encrypted and validates patients
40
+ * @throws EntityEncryptionException if any of the provided decrypted patients couldn't be encrypted (the current
41
+ * user can't access its encryption key or no key was initialized) or if the already encrypted patients don't
42
+ * respect the manifest.
43
+ */
22
44
  encryptOrValidate(patients: Array<Patient>): Promise<Array<EncryptedPatient>>;
45
+ /**
46
+ *
47
+ * Get all the secret ids that the current data owner can access from the provided patient.
48
+ * @param patient a patient
49
+ * @return the secret ids of the provided patient associated to the data owners which are known to have access
50
+ * to that id.
51
+ */
23
52
  getSecretIdsOf(patient: Patient): Promise<{
24
53
  [key: string]: Array<EntityReferenceInGroup>;
25
54
  }>;
55
+ /**
56
+ *
57
+ * Attempts to extract the encryption keys of a patient. If the user doesn't have access to any encryption key
58
+ * of the access log the method will return an empty set.
59
+ * Note: entities now have only one encryption key, but this method returns a set for compatibility with older
60
+ * versions of iCure where this wasn't a guarantee.
61
+ * @param patient a patient
62
+ * @return the encryption keys extracted from the provided patient.
63
+ */
26
64
  getEncryptionKeysOf(patient: Patient): Promise<Array<HexString>>;
65
+ /**
66
+ *
67
+ * Creates a new patient with initialized encryption metadata
68
+ * @param base a patient with initialized content and uninitialized encryption metadata. The result of this
69
+ * method takes the content from [base] if provided.
70
+ * @param user the current user, will be used for the auto-delegations if provided.
71
+ * @param delegates additional data owners that will have access to the newly created entity. You may choose the
72
+ * permissions that the delegates will have on the entity, but they will have access to all encryption metadata.
73
+ * @return a patient with initialized encryption metadata.
74
+ * @throws IllegalArgumentException if base is not null and has a revision or has encryption metadata.
75
+ */
27
76
  withEncryptionMetadata(base: DecryptedPatient | undefined, options?: {
28
77
  user?: User | undefined;
29
78
  delegates?: {
@@ -31,15 +80,143 @@ export interface PatientApi {
31
80
  };
32
81
  alternateRootDelegateId?: string | undefined;
33
82
  }): Promise<DecryptedPatient>;
83
+ /**
84
+ *
85
+ * Specifies if the current user has write access to a patient through delegations.
86
+ * Doesn't consider actual permissions on the server side: for example, if the data owner has access to all entities
87
+ * thanks to extended permission but has no delegation on the provided entity this method returns false. Similarly,
88
+ * if the SDK was initialized in hierarchical mode but the user is lacking the hierarchical permission on the server
89
+ * side this method will still return true if there is a delegation to the parent.
90
+ * @param patient a patient
91
+ * @return if the current user has write access to the provided patient
92
+ */
34
93
  hasWriteAccess(patient: Patient): Promise<boolean>;
94
+ /**
95
+ *
96
+ * Create metadata to allow other users to identify the anonymous delegates of a patient.
97
+ *
98
+ * When calling this method the SDK will use all the information available to the current user to try to identify
99
+ * any anonymous data-owners in the delegations of the provided patient. The SDK will be able to identify the
100
+ * anonymous data owners of the delegations only under the following conditions:
101
+ * - The other participant of the delegation is the current data owner
102
+ * - The SDK is using hierarchical data owners and the other participant of the delegation is a parent of the
103
+ * current data owner
104
+ * - There is de-anonymization metadata for the delegation shared with the current data owner.
105
+ *
106
+ * After identifying the anonymous delegates in the patient the sdk will create the corresponding de-anonymization
107
+ * metadata if it does not yet exist, and then share it with the provided delegates.
108
+ *
109
+ * Note that this delegation metadata may be used to de-anonymize the corresponding delegation in any Patient,
110
+ * not only in the provided instance.
111
+ *
112
+ * ## Example
113
+ *
114
+ * If you have a patient E, and you have shared it with patient P and healthcare party H, H will not
115
+ * be able to know that P has access to E until you create delegations de anonymization metadata and share that with
116
+ * H. From now on, for any patient that you have shared with P, H will be able to know that the patient was
117
+ * shared with P, regardless of whether it was created before or after the corresponding de-anonymization metadata.
118
+ *
119
+ * At the same time since the de-anonymization metadata applies to a specific delegation and therefore to a specific
120
+ * delegator-delegate pair, you will not be able to see if P has access to a patient that was created by H and
121
+ * shared with you and P unless also H creates delegations de-anonymization metadata.
122
+ *
123
+ * @param entity a patient
124
+ * @param delegates a set of data owner ids
125
+ */
35
126
  createDelegationDeAnonymizationMetadata(entity: Patient, delegates: Array<string>): Promise<void>;
127
+ /**
128
+ *
129
+ * Share a patient and all data associated to that patient that the current user can access with other data owners.
130
+ * @param patientId the id of the patient id to share
131
+ * @param delegatesWithShareType the data owners which will gain access to the patient data, and the type of data
132
+ * they should actually get access to.
133
+ * @return details on the result of the operation
134
+ */
36
135
  shareAllDataOfPatient(patientId: string, delegatesWithShareType: {
37
136
  [key: string]: Array<ShareAllPatientDataOptions.Tag>;
38
137
  }): Promise<ShareAllPatientDataOptions.Result>;
138
+ /**
139
+ *
140
+ * Get all confidential secret ids of a patient
141
+ *
142
+ * A "confidential" secret id is a secret id that was not shared with any of the current data owner parents, at
143
+ * least to the extent of the knowledge of the current data owner. If the current data owner is missing access to
144
+ * some of the keys of his parents a secret id that is not confidential may be mistakenly identified as confidential.
145
+ * The confidential secret id may be shared in a second moment with a parent data owner, making it not confidential
146
+ * anymore. It may also be possible to share the secret id with another non-parent data owner, in which case the
147
+ * secret id will still be considered as confidential.
148
+ *
149
+ * Confidential secret ids only make sense in environments where a hierarchical data owner structure is used. In
150
+ * other environments all secret ids are confidential by nature.
151
+ *
152
+ * @param patient a patient
153
+ * @return the confidential secret ids of the patient
154
+ */
39
155
  getConfidentialSecretIdsOf(patient: Patient): Promise<Array<string>>;
156
+ /**
157
+ *
158
+ * Initializes the exchange data towards a newly invited patient. This allows the doctor to share data with the
159
+ * patient even if the patient has not yet initialized a keypair for himself.
160
+ *
161
+ * This method should be used only if the patient has not yet initialized a keypair for himself. If the patient has
162
+ * already initialized a keypair this method does nothing and returns false. In this case the exchange data will be
163
+ * automatically created the first time you share data with the patient, and your implementation of the crypto
164
+ * strategies will be used to validate the public keys of the patient.
165
+ *
166
+ * Once exchange data is initialized you can use the [RecoveryApi.createExchangeDataRecoveryInfo] to
167
+ * generate a key that the patient will be able to use on his first login to immediately gain access to the exchange
168
+ * data (through the [RecoveryApi.recoverExchangeData] method).
169
+ *
170
+ * @param patientId the id of the newly invited patient.
171
+ * @return true if exchange data was initialized, false if the patient already has a key pair and the exchange data
172
+ * will be initialized in the standard way (automatically on the first time data is shared with the user).
173
+ */
40
174
  forceInitializeExchangeDataToNewlyInvitedPatient(patientId: string): Promise<boolean>;
175
+ /**
176
+ *
177
+ * Get the ids of all patients matching the provided filter.
178
+ *
179
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
180
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
181
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
182
+ * If you need ordered data use [matchPatientsBySorted] instead.
183
+ *
184
+ * @param filter a patient filter
185
+ * @return a list of patient ids
186
+ */
41
187
  matchPatientsBy(filter: FilterOptions<Patient>): Promise<Array<string>>;
188
+ /**
189
+ *
190
+ * Get the ids of all patients matching the provided filter.
191
+ *
192
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
193
+ * but the operation may take longer than [matchPatientsBy].
194
+ *
195
+ * @param filter a patient filter
196
+ * @return a list of patient ids
197
+ */
42
198
  matchPatientsBySorted(filter: SortableFilterOptions<Patient>): Promise<Array<string>>;
199
+ /**
200
+ *
201
+ * Can only be used if the current data owner is a patient.
202
+ * Initializes the encryption metadata for the current user's patient if it is not already initialized in a way that
203
+ * allows the current user to produce medical data for himself.
204
+ * - If there is no encryption metadata initialized at all, the method will initialize the encryption key and secret
205
+ * ids for the patient.
206
+ * - If there is some encryption metadata initialized but the current user can't access any secret id of the patient
207
+ * this method will create a new secret id for the patient, unless [ignoreIfEncryptionMetadataExists] is true: in
208
+ * that case this method does nothing.
209
+ * - In all other cases, this method does nothing. Note that this doesn't mean that the patient can access his own
210
+ * encrypted information. If the encryption key was initialized by someone else and not shared with the patient,
211
+ * then the patient will only have access to a new secret id (unless [ignoreIfEncryptionMetadataExists] is true,
212
+ * in that case the patient won't even have access to the secret id).
213
+ * If you provided any value for [sharingWith] any metadata created by this method will be immediately shared with
214
+ * the provided delegates: note that this doesn't share any existing data (if no new data was created the delegates
215
+ * may not have access to any secret id for the current patient).
216
+ * If the patient is initialized in keyless mode [alternateRootDelegateId] must be provided to specify which
217
+ * delegate to use in the root delegation. If not in keyless mode this parameter must be null.
218
+ * @throws IllegalArgumentException If the current user is not a patient
219
+ */
43
220
  ensureEncryptionMetadataForSelfIsInitialized(options?: {
44
221
  sharingWith?: {
45
222
  [key: string]: AccessLevel;
@@ -47,36 +224,304 @@ export interface PatientApi {
47
224
  ignoreIfEncryptionMetadataExists?: boolean;
48
225
  alternateRootDelegateId?: string | undefined;
49
226
  }): Promise<EncryptedPatient>;
227
+ /**
228
+ *
229
+ * Deletes a patient. If you don't have write access to the patient the method will fail.
230
+ * @param entityId id of the patient.
231
+ * @param rev the latest known rev of the patient to delete
232
+ * @return the id and revision of the deleted patient.
233
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
234
+ */
50
235
  deletePatientById(entityId: string, rev: string): Promise<StoredDocumentIdentifier>;
236
+ /**
237
+ *
238
+ * Deletes many patients. Ids that do not correspond to an entity, or that correspond to an entity for which
239
+ * you don't have write access will be ignored.
240
+ * @param entityIds ids and revisions of the patients to delete.
241
+ * @return the id and revision of the deleted patients. If some entities could not be deleted (for example
242
+ * because you had no write access to them) they will not be included in this list.
243
+ */
51
244
  deletePatientsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
245
+ /**
246
+ *
247
+ * Permanently deletes a patient.
248
+ * @param id id of the patient to purge
249
+ * @param rev latest revision of the patient
250
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
251
+ */
52
252
  purgePatientById(id: string, rev: string): Promise<void>;
253
+ /**
254
+ *
255
+ * Permanently deletes many patients.
256
+ * @param entityIds ids and revisions of the patients to delete
257
+ * @return the id and revision of the deleted patients. If some entities couldn't be deleted (for example
258
+ * because you had no write access to them) they will not be included in this list.
259
+ */
53
260
  purgePatientsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
261
+ /**
262
+ *
263
+ * Deletes a patient. If you don't have write access to the patient the method will fail.
264
+ * @param patient the patient to delete
265
+ * @return the id and revision of the deleted patient.
266
+ * @throws RevisionConflictException if the provided patient doesn't match the latest known revision
267
+ */
54
268
  deletePatient(patient: Patient): Promise<StoredDocumentIdentifier>;
269
+ /**
270
+ *
271
+ * Deletes many patients. Ignores patient for which you don't have write access or that don't match the latest revision.
272
+ * @param patients the patients to delete
273
+ * @return the id and revision of the deleted patients. If some entities couldn't be deleted they will not be
274
+ * included in this list.
275
+ */
55
276
  deletePatients(patients: Array<Patient>): Promise<Array<StoredDocumentIdentifier>>;
277
+ /**
278
+ *
279
+ * Permanently deletes a patient.
280
+ * @param patient the patient to purge.
281
+ * @throws RevisionConflictException if the provided patient doesn't match the latest known revision
282
+ */
56
283
  purgePatient(patient: Patient): Promise<void>;
284
+ /**
285
+ *
286
+ * Permanently deletes many patients.
287
+ * @param patients the patients to purge.
288
+ * @return the id and revision of the deleted patients. If some entities couldn't be deleted (for example
289
+ * because you had no write access to them) they will not be included in this list.
290
+ */
57
291
  purgePatients(patients: Array<Patient>): Promise<Array<StoredDocumentIdentifier>>;
292
+ /**
293
+ *
294
+ * Get all data owners with access to the provided patient, attempting to identify any unknown anonymous data owners
295
+ * using delegations de-anonymization metadata.
296
+ * @param patient a patient
297
+ * @return information on users with access to the provided patient
298
+ */
58
299
  getDataOwnersWithAccessTo(patient: Patient): Promise<EntityAccessInformation>;
300
+ /**
301
+ *
302
+ * Share a patient with another data owner. The patient must already exist in the database for this method to
303
+ * succeed. If you want to share the patient before creation you should instead pass provide the delegates in
304
+ * the initialize encryption metadata method.
305
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
306
+ * @param delegateId the owner that will gain access to the patient
307
+ * @param patient the patient to share with [delegateId]
308
+ * @param options specifies how the patient will be shared. Refer to the documentation of [PatientShareOptions] for more information.
309
+ * @return the updated patient if the sharing was successful, or details on the errors if the sharing failed.
310
+ */
59
311
  shareWith(delegateId: string, patient: DecryptedPatient, options?: {
60
312
  options?: PatientShareOptions | undefined;
61
313
  }): Promise<DecryptedPatient>;
314
+ /**
315
+ *
316
+ * Share a patient with multiple data owners. The patient must already exist in the database for this method to
317
+ * succeed. If you want to share the patient before creation you should instead pass provide the delegates in
318
+ * the initialize encryption metadata method.
319
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
320
+ * Throws an exception if the operation fails.
321
+ * @param patient the patient to share
322
+ * @param delegates specify the data owners which will gain access to the entity and the options for sharing with
323
+ * each of them.
324
+ * @return the updated patient.
325
+ */
62
326
  shareWithMany(patient: DecryptedPatient, delegates: {
63
327
  [key: string]: PatientShareOptions;
64
328
  }): Promise<DecryptedPatient>;
329
+ /**
330
+ *
331
+ * Initializes a new "confidential" secret id for the provided patient if there is none, and saves it. Returns the
332
+ * updated patient if a new secret id was initialized, or the input if there was already a confidential secret id
333
+ * available.
334
+ *
335
+ * A "confidential" secret id is a secret id that was not shared with any of the current data owner parents, at
336
+ * least to the extent of the knowledge of the current data owner. If the current data owner is missing access to
337
+ * some of the keys of his parents a secret id that is not confidential may be mistakenly identified as confidential.
338
+ * The confidential secret id may be shared in a second moment with a parent data owner, making it not confidential
339
+ * anymore. It may also be possible to share the secret id with another non-parent data owner, in which case the
340
+ * secret id will still be considered as confidential.
341
+ *
342
+ * Confidential secret ids only make sense in environments where a hierarchical data owner structure is used. In
343
+ * other environments all secret ids are confidential by nature.
344
+ *
345
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
346
+ *
347
+ * @param patient a patient
348
+ * @return the input if there is already a secret id available for the patient, or the updated patient otherwise.
349
+ */
65
350
  initializeConfidentialSecretId(patient: DecryptedPatient): Promise<DecryptedPatient>;
351
+ /**
352
+ *
353
+ * Get an iterator that iterates through all patients matching the provided filter, executing multiple requests to
354
+ * the api if needed.
355
+ *
356
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
357
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
358
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
359
+ * If you need ordered data use [filterPatientsBySorted] instead.
360
+ *
361
+ * @param filter a patient filter
362
+ * @return an iterator that iterates over all patients matching the provided filter.
363
+ */
66
364
  filterPatientsBy(filter: FilterOptions<Patient>): Promise<PaginatedListIterator<DecryptedPatient>>;
365
+ /**
366
+ *
367
+ * Get an iterator that iterates through all patients matching the provided filter, executing multiple requests to
368
+ * the api if needed.
369
+ *
370
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
371
+ * but the operation may take longer than [filterPatientsBy].
372
+ *
373
+ * @param filter a patient filter
374
+ * @return an iterator that iterates over all patients matching the provided filter.
375
+ */
67
376
  filterPatientsBySorted(filter: SortableFilterOptions<Patient>): Promise<PaginatedListIterator<DecryptedPatient>>;
377
+ /**
378
+ *
379
+ * Create a new patient. The provided patient must have the encryption metadata initialized.
380
+ * @param patient a patient with initialized encryption metadata
381
+ * @return the created patient with updated revision.
382
+ * @throws IllegalArgumentException if the encryption metadata of the input wasn't initialized.
383
+ */
68
384
  createPatient(patient: DecryptedPatient): Promise<DecryptedPatient>;
385
+ /**
386
+ *
387
+ * Bulk version of [createPatient], returns all the successfully created patients.
388
+ * If a patient couldn't be created (for example because there is already a patient with the same id) it will be
389
+ * excluded from the result.
390
+ */
69
391
  createPatients(patients: Array<DecryptedPatient>): Promise<Array<DecryptedPatient>>;
392
+ /**
393
+ *
394
+ * Restores a patient that was marked as deleted.
395
+ * @param patient the patient to undelete
396
+ * @return the restored patient.
397
+ * @throws RevisionConflictException if the provided patient doesn't match the latest known revision
398
+ */
70
399
  undeletePatient(patient: Patient): Promise<Patient>;
400
+ /**
401
+ *
402
+ * Restores a batch of patients that were marked as deleted.
403
+ * @param patients the patients to restore.
404
+ * @return the restored patients. If some entities couldn't be restored (because the user does not have access or the revision is not
405
+ * up-to-date), then those entities will not be restored and will not appear in this list.
406
+ */
71
407
  undeletePatients(patients: Array<Patient>): Promise<Array<DecryptedPatient>>;
408
+ /**
409
+ *
410
+ * Modifies a patient. You need to have write access to the entity.
411
+ * Flavoured method.
412
+ * @param entity a patient with update content
413
+ * @return the patient updated with the provided content and a new revision.
414
+ */
72
415
  modifyPatient(entity: DecryptedPatient): Promise<DecryptedPatient>;
416
+ /**
417
+ *
418
+ * Restores a patient that was marked as deleted.
419
+ * @param id the id of the entity
420
+ * @param rev the latest revision of the entity.
421
+ * @return the restored entity.
422
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
423
+ */
73
424
  undeletePatientById(id: string, rev: string): Promise<DecryptedPatient>;
425
+ /**
426
+ *
427
+ * Restores one or more patients that were marked as deleted.
428
+ * Ignores any entities that the current user is not allowed to restore or that have a revision different from the
429
+ * provided revision.
430
+ * @param ids the ids and revisions of the patients to restore
431
+ * @return the restored entities.
432
+ */
74
433
  undeletePatientsByIds(ids: Array<StoredDocumentIdentifier>): Promise<Array<DecryptedPatient>>;
434
+ /**
435
+ *
436
+ * Get a patient by its id. You must have read access to the entity. Fails if the id does not correspond to any
437
+ * entity, corresponds to an entity that is not a patient, or corresponds to an entity for which you don't have
438
+ * read access.
439
+ * Flavoured method.
440
+ * @param entityId a patient id.
441
+ * @return the patient with id [entityId].
442
+ */
75
443
  getPatient(entityId: string): Promise<DecryptedPatient | undefined>;
444
+ /**
445
+ *
446
+ * Get the patient with the provided id and follows the chain of patient merges indicated by the
447
+ * [Patient.mergeToPatientId] field until a patient that was not merged into another patient is reached, then that
448
+ * patient is returned.
449
+ * You can optionally limit the maximum depth of merges this method will go through by providing a [maxMergeDepth]
450
+ * parameter. This parameter limits the amount of links that will be resolved: if by the time the [maxMergeDepth] is
451
+ * reached the end of the merge chain is not yet reached this method will throw an exception.
452
+ * @param patientId the id of a patient
453
+ * @param maxMergeDepth a number greater than 0 or null if you don't want to limit the merge depth
454
+ * @return the patient at the end of the merge chain
455
+ * @throws IllegalArgumentException if maxMergeLevel is less than 1, or if the max merge level has been reached but
456
+ * the end of the merge chain was not yet reached.
457
+ */
76
458
  getPatientResolvingMerges(patientId: string, maxMergeDepth: number | undefined): Promise<DecryptedPatient>;
459
+ /**
460
+ *
461
+ * Get multiple patients by their ids. Ignores all ids that do not correspond to an entity, correspond to
462
+ * an entity that is not a patient, or correspond to an entity for which you don't have read access.
463
+ * Flavoured method.
464
+ * @param patientIds a list of patients ids
465
+ * @return all patients that you can access with one of the provided ids.
466
+ */
77
467
  getPatients(patientIds: Array<string>): Promise<Array<DecryptedPatient>>;
468
+ /**
469
+ *
470
+ * Bulk version of [modifyPatient], returns all the successfully updated patients.
471
+ * If a patient couldn't be updated (for example because of a revision mismatch) it will be excluded from the
472
+ * result.
473
+ */
78
474
  modifyPatients(patients: Array<DecryptedPatient>): Promise<Array<DecryptedPatient>>;
475
+ /**
476
+ *
477
+ * Merge two patients into one. This method performs the following operations:
478
+ * - The `from` patient will be soft-deleted, and it will point to the `into` patient. Only the `deletionDate` and `mergeToPatientId` fields of the
479
+ * patient will be changed (automatically by this method). Note that the value of [from] is only used to verify that the client is aware of
480
+ * the last version of the `from` patient: any changes to its content and/or metadata compared to what is actually stored in the database will be
481
+ * ignored.
482
+ * - The metadata of the `into` patient will be automatically updated to contain also the metadata of the `from` patient and to keep track of the
483
+ * merge:
484
+ * - the `mergedIds` will be updated to contain the `from` patient id
485
+ * - all secret ids of the `from` patient will be added to the `into` patient
486
+ * - all data owners (including anonymous data owners) with access to the `from` patient will have the same access to the merged `into` patient
487
+ * (unless they already had greater access to the `into` patient, in which case they keep the greater access)
488
+ * - The content of the `into` patient will be updated to match the content (name, address, note, ...) of the provided [mergedInto] parameter.
489
+ * Note that since the metadata is automatically updated by this method you must not change the metadata of the `mergedInto` patient
490
+ * (`delegations`, mergedInto`, ...): if there is any change between the metadata of the provided `mergedInto` patient and the stored patient this
491
+ * method will fail.
492
+ *
493
+ * In case the revisions of [from] and/or [mergedInto] does not match the latest revisions for these patients in the database this
494
+ * method will fail without soft-deleting the `from` patient and without updating the `into` patient with the merged content and metadata. You will
495
+ * have to retrieve the updated versions of both patients before retrying the merge.
496
+ *
497
+ * Finally, note that this method only merges existing data, and does not perform any automatic sharing of the data. The secret ids and encryption
498
+ * keys will not be shared with users that had access only to one of the entity, you will have to use a share method after the merge
499
+ * if you want to do so.
500
+ * For example consider hcps A, B with access to P' and hcps A, C with access to P'', and we merge P'' into P'. After the merge:
501
+ * - A has access to all secret ids of the merged patient and to the encryption key of the merged patient
502
+ * - B has access to the encryption key of the merged patient (since it is the same as in P'), but only to the secret id which was originally from
503
+ * the unmerged P'
504
+ * - C has no access to the encryption key of the merged patient, and has access only to the secret id which was originally from the unmerged P''
505
+ *
506
+ * Note that the user performing this operation must have write access to both patients.
507
+ *
508
+ * @param from the original, unmodified `from` patient. Its content will be unchanged and its metadata will be automatically updated by this method
509
+ * to reflect the merge.
510
+ * @param mergedInto the `into` patient with updated content result of the merge with the `from` patient, as specified by your application logic.
511
+ * The metadata of the `mergedInto` patient must not differ from the metadata of the stored version of the patient, since it will be automatically
512
+ * updated by the method.
513
+ * @return the updated `into` patient.
514
+ */
79
515
  mergePatients(from: Patient, mergedInto: DecryptedPatient): Promise<DecryptedPatient>;
516
+ /**
517
+ *
518
+ * Subscribe to receive real-time notifications when an entity is updated.
519
+ * @param events the type of events that will be notified to the subscription
520
+ * @param filter the subscription will receive notifications only for entities matching this filter, you should
521
+ * make the filter as restrictive as possible.
522
+ * @param subscriptionConfig customize the configuration for the subscription
523
+ * @return a subscription that receives notifications for the configured events.
524
+ */
80
525
  subscribeToEvents(events: Array<SubscriptionEventType>, filter: FilterOptions<Patient>, options?: {
81
526
  subscriptionConfig?: EntitySubscriptionConfiguration | undefined;
82
527
  }): Promise<EntitySubscription<EncryptedPatient>>;