@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.
- package/Kotlin-DateTime-library-kotlinx-datetime.mjs +1 -1
- package/api/AccessLogApi.d.mts +279 -0
- package/api/AccessLogBasicApi.d.mts +176 -0
- package/api/AccessLogBasicInGroupApi.d.mts +84 -0
- package/api/AccessLogFlavouredApi.d.mts +114 -0
- package/api/AccessLogFlavouredInGroupApi.d.mts +56 -0
- package/api/AccessLogInGroupApi.d.mts +104 -0
- package/api/AgendaApi.d.mts +86 -0
- package/api/AnonymousRoleApi.d.mts +7 -0
- package/api/AnonymousRoleApi.mjs +2 -0
- package/api/CalendarItemApi.d.mts +333 -0
- package/api/CalendarItemBasicApi.d.mts +201 -0
- package/api/CalendarItemBasicInGroupApi.d.mts +88 -0
- package/api/CalendarItemFlavouredApi.d.mts +148 -0
- package/api/CalendarItemFlavouredInGroupApi.d.mts +56 -0
- package/api/CalendarItemInGroupApi.d.mts +128 -0
- package/api/CardinalMaintenanceTaskApi.d.mts +26 -0
- package/api/ClassificationApi.d.mts +202 -0
- package/api/ClassificationBasicApi.d.mts +91 -0
- package/api/ClassificationFlavouredApi.d.mts +80 -0
- package/api/ContactApi.d.mts +385 -0
- package/api/ContactBasicApi.d.mts +268 -0
- package/api/ContactBasicInGroupApi.d.mts +112 -0
- package/api/ContactFlavouredApi.d.mts +165 -0
- package/api/ContactFlavouredInGroupApi.d.mts +64 -0
- package/api/ContactInGroupApi.d.mts +148 -0
- package/api/CryptoApi.d.mts +37 -0
- package/api/CryptoInGroupApi.d.mts +7 -0
- package/api/DataOwnerApi.d.mts +84 -0
- package/api/DeviceApi.d.mts +40 -0
- package/api/DocumentApi.d.mts +465 -0
- package/api/DocumentBasicApi.d.mts +245 -0
- package/api/DocumentBasicInGroupApi.d.mts +88 -0
- package/api/DocumentFlavouredApi.d.mts +126 -0
- package/api/DocumentFlavouredInGroupApi.d.mts +56 -0
- package/api/DocumentInGroupApi.d.mts +132 -0
- package/api/FormApi.d.mts +303 -0
- package/api/FormBasicApi.d.mts +192 -0
- package/api/FormBasicInGroupApi.d.mts +88 -0
- package/api/FormFlavouredApi.d.mts +134 -0
- package/api/FormFlavouredInGroupApi.d.mts +56 -0
- package/api/FormInGroupApi.d.mts +124 -0
- package/api/FormTemplateApi.d.mts +4 -0
- package/api/GroupApi.d.mts +7 -0
- package/api/HealthElementApi.d.mts +307 -0
- package/api/HealthElementBasicApi.d.mts +187 -0
- package/api/HealthElementBasicInGroupApi.d.mts +88 -0
- package/api/HealthElementFlavouredApi.d.mts +124 -0
- package/api/HealthElementFlavouredInGroupApi.d.mts +56 -0
- package/api/HealthElementInGroupApi.d.mts +128 -0
- package/api/HealthcarePartyApi.d.mts +95 -0
- package/api/InvoiceApi.d.mts +253 -0
- package/api/InvoiceBasicApi.d.mts +142 -0
- package/api/InvoiceBasicInGroupApi.d.mts +72 -0
- package/api/InvoiceFlavouredApi.d.mts +100 -0
- package/api/InvoiceFlavouredInGroupApi.d.mts +48 -0
- package/api/InvoiceInGroupApi.d.mts +108 -0
- package/api/MaintenanceTaskApi.d.mts +252 -0
- package/api/MaintenanceTaskBasicApi.d.mts +144 -0
- package/api/MaintenanceTaskFlavouredApi.d.mts +95 -0
- package/api/MessageApi.d.mts +355 -0
- package/api/MessageBasicApi.d.mts +229 -0
- package/api/MessageBasicInGroupApi.d.mts +88 -0
- package/api/MessageFlavouredApi.d.mts +165 -0
- package/api/MessageFlavouredInGroupApi.d.mts +56 -0
- package/api/MessageInGroupApi.d.mts +124 -0
- package/api/PatientApi.d.mts +445 -0
- package/api/PatientBasicApi.d.mts +246 -0
- package/api/PatientBasicInGroupApi.d.mts +92 -0
- package/api/PatientFlavouredApi.d.mts +195 -0
- package/api/PatientFlavouredInGroupApi.d.mts +64 -0
- package/api/PatientInGroupApi.d.mts +136 -0
- package/api/ReceiptApi.d.mts +147 -0
- package/api/ReceiptBasicApi.d.mts +132 -0
- package/api/ReceiptBasicInGroupApi.d.mts +72 -0
- package/api/ReceiptFlavouredApi.d.mts +90 -0
- package/api/ReceiptFlavouredInGroupApi.d.mts +48 -0
- package/api/ReceiptInGroupApi.d.mts +108 -0
- package/api/RecoveryApi.d.mts +140 -0
- package/api/RoleApi.d.mts +61 -0
- package/api/ShamirKeysManagerApi.d.mts +21 -0
- package/api/TopicApi.d.mts +317 -0
- package/api/TopicBasicApi.d.mts +206 -0
- package/api/TopicBasicInGroupApi.d.mts +88 -0
- package/api/TopicFlavouredApi.d.mts +143 -0
- package/api/TopicFlavouredInGroupApi.d.mts +56 -0
- package/api/TopicInGroupApi.d.mts +124 -0
- package/api/UserApi.d.mts +52 -0
- package/api/UserInGroupApi.d.mts +6 -0
- package/api.d.mts +1 -0
- package/api.mjs +1 -0
- package/cardinal-sdk-ts.mjs +39268 -39198
- package/cardinal-sdk.mjs +71238 -70553
- package/crypto/entities/AccessLogShareOptions.d.mts +4 -0
- package/crypto/entities/AccessLogShareOptions.mjs +4 -0
- package/crypto/entities/CalendarItemShareOptions.d.mts +4 -0
- package/crypto/entities/CalendarItemShareOptions.mjs +4 -0
- package/crypto/entities/ClassificationShareOptions.d.mts +4 -0
- package/crypto/entities/ClassificationShareOptions.mjs +4 -0
- package/crypto/entities/ContactShareOptions.d.mts +4 -0
- package/crypto/entities/ContactShareOptions.mjs +4 -0
- package/crypto/entities/DocumentShareOptions.d.mts +4 -0
- package/crypto/entities/DocumentShareOptions.mjs +4 -0
- package/crypto/entities/EntityAccessInformation.d.mts +21 -0
- package/crypto/entities/EntityAccessInformation.mjs +4 -0
- package/crypto/entities/EntityWithEncryptionMetadataTypeName.d.mts +6 -0
- package/crypto/entities/EntityWithEncryptionMetadataTypeName.mjs +6 -0
- package/crypto/entities/ExchangeDataInjectionDetails.d.mts +4 -0
- package/crypto/entities/ExchangeDataInjectionDetails.mjs +4 -0
- package/crypto/entities/FormShareOptions.d.mts +4 -0
- package/crypto/entities/FormShareOptions.mjs +4 -0
- package/crypto/entities/HealthElementShareOptions.d.mts +4 -0
- package/crypto/entities/HealthElementShareOptions.mjs +4 -0
- package/crypto/entities/InvoiceShareOptions.d.mts +4 -0
- package/crypto/entities/InvoiceShareOptions.mjs +4 -0
- package/crypto/entities/MessageShareOptions.d.mts +4 -0
- package/crypto/entities/MessageShareOptions.mjs +4 -0
- package/crypto/entities/RawDecryptedExchangeData.d.mts +8 -0
- package/crypto/entities/RawDecryptedExchangeData.mjs +8 -0
- package/crypto/entities/RecoveryKeyOptions.d.mts +13 -0
- package/crypto/entities/RecoveryKeyOptions.mjs +9 -0
- package/crypto/entities/RecoveryKeySize.d.mts +4 -0
- package/crypto/entities/RecoveryKeySize.mjs +4 -0
- package/crypto/entities/SecretIdShareOptions.d.mts +19 -0
- package/crypto/entities/SecretIdShareOptions.mjs +15 -0
- package/crypto/entities/SecretIdUseOption.d.mts +11 -0
- package/crypto/entities/SecretIdUseOption.mjs +6 -0
- package/crypto/entities/ShamirUpdateRequest.d.mts +12 -0
- package/crypto/entities/ShamirUpdateRequest.mjs +4 -0
- package/crypto/entities/ShareAllPatientDataOptions.d.mts +4 -0
- package/crypto/entities/ShareAllPatientDataOptions.mjs +4 -0
- package/crypto/entities/ShareMetadataBehaviour.d.mts +4 -0
- package/crypto/entities/ShareMetadataBehaviour.mjs +4 -0
- package/crypto/entities/TopicShareOptions.d.mts +4 -0
- package/crypto/entities/TopicShareOptions.mjs +4 -0
- package/filters/AccessLogFilters.d.mts +120 -0
- package/filters/AgendaFilters.d.mts +79 -0
- package/filters/CalendarItemFilters.d.mts +166 -0
- package/filters/ClassificationFilters.d.mts +87 -0
- package/filters/CodeFilters.d.mts +96 -0
- package/filters/ContactFilters.d.mts +403 -0
- package/filters/DeviceFilters.d.mts +19 -0
- package/filters/DocumentFilters.d.mts +296 -0
- package/filters/FormFilters.d.mts +120 -0
- package/filters/FormTemplateFilters.d.mts +6 -0
- package/filters/GroupFilters.d.mts +27 -0
- package/filters/HealthElementFilters.d.mts +266 -0
- package/filters/HealthcarePartyFilters.d.mts +75 -0
- package/filters/MaintenanceTaskFilters.d.mts +68 -0
- package/filters/MessageFilters.d.mts +314 -0
- package/filters/PatientFilters.d.mts +298 -0
- package/filters/ServiceFilters.d.mts +342 -0
- package/filters/TopicFilters.d.mts +25 -0
- package/filters/UserFilters.d.mts +33 -0
- package/kotlinx-coroutines-core.mjs +1 -1
- package/model/AccessLog.d.mts +202 -0
- package/model/AccessLog.mjs +168 -0
- package/model/Agenda.d.mts +89 -0
- package/model/Agenda.mjs +85 -0
- package/model/BooleanResponse.d.mts +9 -0
- package/model/BooleanResponse.mjs +5 -0
- package/model/CalendarItem.d.mts +431 -0
- package/model/CalendarItem.mjs +320 -0
- package/model/CalendarItemType.d.mts +72 -0
- package/model/CalendarItemType.mjs +68 -0
- package/model/Classification.d.mts +187 -0
- package/model/Classification.mjs +160 -0
- package/model/Code.d.mts +63 -0
- package/model/Code.mjs +59 -0
- package/model/Contact.d.mts +354 -0
- package/model/Contact.mjs +274 -0
- package/model/CryptoActorStub.d.mts +6 -0
- package/model/CryptoActorStub.mjs +6 -0
- package/model/CryptoActorStubWithType.d.mts +14 -0
- package/model/CryptoActorStubWithType.mjs +6 -0
- package/model/DataOwnerRegistrationSuccess.d.mts +18 -0
- package/model/DataOwnerRegistrationSuccess.mjs +6 -0
- package/model/DataOwnerType.d.mts +6 -0
- package/model/DataOwnerType.mjs +6 -0
- package/model/DataOwnerWithType.d.mts +6 -0
- package/model/DatabaseInitialisation.d.mts +22 -0
- package/model/DatabaseInitialisation.mjs +22 -0
- package/model/Device.d.mts +103 -0
- package/model/Device.mjs +99 -0
- package/model/Document.d.mts +309 -0
- package/model/Document.mjs +238 -0
- package/model/EntityReferenceInGroup.d.mts +23 -0
- package/model/EntityReferenceInGroup.mjs +23 -0
- package/model/FrontEndMigration.d.mts +60 -0
- package/model/FrontEndMigration.mjs +56 -0
- package/model/Group.d.mts +79 -0
- package/model/Group.mjs +71 -0
- package/model/GroupDeletionReport.d.mts +17 -0
- package/model/GroupDeletionReport.mjs +5 -0
- package/model/GroupScoped.d.mts +10 -0
- package/model/GroupScoped.mjs +10 -0
- package/model/HealthElement.d.mts +355 -0
- package/model/HealthElement.mjs +272 -0
- package/model/HealthcareParty.d.mts +168 -0
- package/model/HealthcareParty.mjs +164 -0
- package/model/IdWithRev.d.mts +14 -0
- package/model/IdWithRev.mjs +10 -0
- package/model/IndexingInfo.d.mts +10 -0
- package/model/IndexingInfo.mjs +10 -0
- package/model/Insurance.d.mts +51 -0
- package/model/Insurance.mjs +43 -0
- package/model/Invoice.d.mts +705 -0
- package/model/Invoice.mjs +502 -0
- package/model/ListOfProperties.d.mts +9 -0
- package/model/ListOfProperties.mjs +9 -0
- package/model/MaintenanceTask.d.mts +202 -0
- package/model/MaintenanceTask.mjs +170 -0
- package/model/Message.d.mts +321 -0
- package/model/Message.mjs +246 -0
- package/model/PaginatedDocumentKeyIdPair.d.mts +14 -0
- package/model/PaginatedDocumentKeyIdPair.mjs +14 -0
- package/model/PaginatedList.d.mts +17 -0
- package/model/PaginatedList.mjs +17 -0
- package/model/Patient.d.mts +715 -0
- package/model/Patient.mjs +546 -0
- package/model/Place.d.mts +25 -0
- package/model/Place.mjs +21 -0
- package/model/PropertyStub.d.mts +59 -0
- package/model/PropertyStub.mjs +42 -0
- package/model/PropertyTypeStub.d.mts +14 -0
- package/model/PropertyTypeStub.mjs +14 -0
- package/model/PublicAgendasAndCalendarItemTypes.d.mts +15 -1
- package/model/PublicAgendasAndCalendarItemTypes.mjs +22 -4
- package/model/PublicKey.d.mts +13 -0
- package/model/PublicKey.mjs +13 -0
- package/model/Receipt.d.mts +195 -0
- package/model/Receipt.mjs +162 -0
- package/model/RegistrationInformation.d.mts +41 -0
- package/model/RegistrationInformation.mjs +37 -0
- package/model/RegistrationSuccess.d.mts +18 -0
- package/model/RegistrationSuccess.mjs +6 -0
- package/model/Replication.d.mts +30 -0
- package/model/Replication.mjs +26 -0
- package/model/ReplicationInfo.d.mts +21 -0
- package/model/ReplicationInfo.mjs +21 -0
- package/model/Role.d.mts +33 -0
- package/model/Role.mjs +29 -0
- package/model/StoredDocumentIdentifier.d.mts +4 -0
- package/model/StoredDocumentIdentifier.mjs +4 -0
- package/model/Topic.d.mts +213 -0
- package/model/Topic.mjs +174 -0
- package/model/TopicRole.d.mts +5 -0
- package/model/TopicRole.mjs +5 -0
- package/model/User.d.mts +96 -0
- package/model/User.mjs +92 -0
- package/model/UserGroup.d.mts +54 -0
- package/model/UserGroup.mjs +54 -0
- package/model/base/CodeIdentification.d.mts +6 -0
- package/model/base/CodeStub.d.mts +31 -0
- package/model/base/CodeStub.mjs +31 -0
- package/model/base/CryptoActor.d.mts +7 -0
- package/model/base/DataOwner.d.mts +7 -0
- package/model/base/HasCodes.d.mts +6 -0
- package/model/base/HasEncryptionMetadata.d.mts +7 -0
- package/model/base/HasEndOfLife.d.mts +5 -0
- package/model/base/HasTags.d.mts +7 -0
- package/model/base/ICureDocument.d.mts +7 -0
- package/model/base/Identifiable.d.mts +5 -0
- package/model/base/Identifier.d.mts +43 -0
- package/model/base/Identifier.mjs +43 -0
- package/model/base/LinkQualification.d.mts +31 -0
- package/model/base/LinkQualification.mjs +31 -0
- package/model/base/Named.d.mts +5 -0
- package/model/base/ParticipantType.d.mts +7 -0
- package/model/base/ParticipantType.mjs +7 -0
- package/model/base/Person.d.mts +5 -0
- package/model/base/StoredDocument.d.mts +6 -0
- package/model/base/Versionable.d.mts +6 -0
- package/model/couchdb/Basic.d.mts +14 -0
- package/model/couchdb/Basic.mjs +6 -0
- package/model/couchdb/DatabaseInfo.d.mts +46 -0
- package/model/couchdb/DatabaseInfo.mjs +42 -0
- package/model/couchdb/DesignDocument.d.mts +43 -0
- package/model/couchdb/DesignDocument.mjs +39 -0
- package/model/couchdb/DocIdentifier.d.mts +13 -0
- package/model/couchdb/DocIdentifier.mjs +13 -0
- package/model/couchdb/GroupDatabasesInfo.d.mts +19 -0
- package/model/couchdb/GroupDatabasesInfo.mjs +7 -0
- package/model/couchdb/Remote.d.mts +14 -0
- package/model/couchdb/Remote.mjs +10 -0
- package/model/couchdb/RemoteAuthentication.d.mts +9 -0
- package/model/couchdb/RemoteAuthentication.mjs +9 -0
- package/model/couchdb/ReplicationStats.d.mts +41 -0
- package/model/couchdb/ReplicationStats.mjs +41 -0
- package/model/couchdb/ReplicatorDocument.d.mts +62 -0
- package/model/couchdb/ReplicatorDocument.mjs +58 -0
- package/model/couchdb/View.d.mts +13 -0
- package/model/couchdb/View.mjs +9 -0
- package/model/data/LabelledOccurence.d.mts +14 -0
- package/model/data/LabelledOccurence.mjs +6 -0
- package/model/embed/AccessLevel.d.mts +6 -0
- package/model/embed/AccessLevel.mjs +6 -0
- package/model/embed/AddressType.d.mts +5 -0
- package/model/embed/AddressType.mjs +5 -0
- package/model/embed/AdministrationQuantity.d.mts +18 -0
- package/model/embed/AdministrationQuantity.mjs +18 -0
- package/model/embed/AgendaSlottingAlgorithm.d.mts +13 -0
- package/model/embed/AgendaSlottingAlgorithm.mjs +13 -0
- package/model/embed/Annotation.d.mts +48 -0
- package/model/embed/Annotation.mjs +44 -0
- package/model/embed/AuthenticationClass.d.mts +6 -0
- package/model/embed/AuthenticationClass.mjs +6 -0
- package/model/embed/CalendarItemTag.d.mts +71 -0
- package/model/embed/CalendarItemTag.mjs +50 -0
- package/model/embed/CareTeamMember.d.mts +70 -0
- package/model/embed/CareTeamMember.mjs +44 -0
- package/model/embed/CareTeamMemberType.d.mts +5 -0
- package/model/embed/CareTeamMemberType.mjs +5 -0
- package/model/embed/CareTeamMembership.d.mts +74 -0
- package/model/embed/CareTeamMembership.mjs +52 -0
- package/model/embed/ContactParticipant.d.mts +13 -0
- package/model/embed/ContactParticipant.mjs +5 -0
- package/model/embed/Content.d.mts +177 -0
- package/model/embed/Content.mjs +118 -0
- package/model/embed/ContractChangeType.d.mts +5 -0
- package/model/embed/ContractChangeType.mjs +5 -0
- package/model/embed/DataAttachment.d.mts +18 -0
- package/model/embed/DataAttachment.mjs +18 -0
- package/model/embed/DatabaseSynchronization.d.mts +22 -0
- package/model/embed/DatabaseSynchronization.mjs +22 -0
- package/model/embed/DelegationTag.d.mts +6 -0
- package/model/embed/DelegationTag.mjs +6 -0
- package/model/embed/DeletedAttachment.d.mts +23 -0
- package/model/embed/DeletedAttachment.mjs +23 -0
- package/model/embed/DocumentGroup.d.mts +13 -0
- package/model/embed/DocumentGroup.mjs +13 -0
- package/model/embed/DocumentStatus.d.mts +6 -0
- package/model/embed/DocumentStatus.mjs +6 -0
- package/model/embed/DocumentType.d.mts +5 -0
- package/model/embed/DocumentType.mjs +5 -0
- package/model/embed/Duration.d.mts +13 -0
- package/model/embed/Duration.mjs +13 -0
- package/model/embed/EmbeddedTimeTableHour.d.mts +13 -0
- package/model/embed/EmbeddedTimeTableHour.mjs +5 -0
- package/model/embed/EmbeddedTimeTableItem.d.mts +42 -0
- package/model/embed/EmbeddedTimeTableItem.mjs +30 -0
- package/model/embed/Encryptable.d.mts +7 -0
- package/model/embed/Episode.d.mts +78 -0
- package/model/embed/Episode.mjs +52 -0
- package/model/embed/FinancialInstitutionInformation.d.mts +110 -0
- package/model/embed/FinancialInstitutionInformation.mjs +76 -0
- package/model/embed/FrontEndMigrationStatus.d.mts +5 -0
- package/model/embed/FrontEndMigrationStatus.mjs +5 -0
- package/model/embed/Gender.d.mts +6 -0
- package/model/embed/Gender.mjs +6 -0
- package/model/embed/GroupType.d.mts +5 -0
- package/model/embed/GroupType.mjs +5 -0
- package/model/embed/IdentityDocumentReader.d.mts +30 -0
- package/model/embed/IdentityDocumentReader.mjs +30 -0
- package/model/embed/InvoiceType.d.mts +5 -0
- package/model/embed/InvoiceType.mjs +5 -0
- package/model/embed/InvoicingCode.d.mts +689 -0
- package/model/embed/InvoicingCode.mjs +454 -0
- package/model/embed/Laterality.d.mts +5 -0
- package/model/embed/Laterality.mjs +5 -0
- package/model/embed/Measure.d.mts +54 -0
- package/model/embed/Measure.mjs +54 -0
- package/model/embed/MedicalHouseContract.d.mts +413 -0
- package/model/embed/MedicalHouseContract.mjs +278 -0
- package/model/embed/Medication.d.mts +5 -0
- package/model/embed/Medication.mjs +5 -0
- package/model/embed/Medicinalproduct.d.mts +25 -0
- package/model/embed/Medicinalproduct.mjs +25 -0
- package/model/embed/MediumType.d.mts +5 -0
- package/model/embed/MediumType.mjs +5 -0
- package/model/embed/MembershipType.d.mts +5 -0
- package/model/embed/MembershipType.mjs +5 -0
- package/model/embed/MessageReadStatus.d.mts +14 -0
- package/model/embed/MessageReadStatus.mjs +14 -0
- package/model/embed/MhcSignatureType.d.mts +6 -0
- package/model/embed/MhcSignatureType.mjs +6 -0
- package/model/embed/Partnership.d.mts +18 -0
- package/model/embed/Partnership.mjs +18 -0
- package/model/embed/PartnershipStatus.d.mts +5 -0
- package/model/embed/PartnershipStatus.mjs +5 -0
- package/model/embed/PartnershipType.d.mts +6 -0
- package/model/embed/PartnershipType.mjs +6 -0
- package/model/embed/PatientHealthCareParty.d.mts +15 -0
- package/model/embed/PatientHealthCareParty.mjs +10 -0
- package/model/embed/PatientHealthCarePartyType.d.mts +5 -0
- package/model/embed/PatientHealthCarePartyType.mjs +5 -0
- package/model/embed/Payment.d.mts +17 -0
- package/model/embed/Payment.mjs +17 -0
- package/model/embed/PaymentType.d.mts +5 -0
- package/model/embed/PaymentType.mjs +5 -0
- package/model/embed/PersonName.d.mts +39 -0
- package/model/embed/PersonName.mjs +39 -0
- package/model/embed/PersonNameUse.d.mts +5 -0
- package/model/embed/PersonNameUse.mjs +5 -0
- package/model/embed/PersonalStatus.d.mts +5 -0
- package/model/embed/PersonalStatus.mjs +5 -0
- package/model/embed/Range.d.mts +13 -0
- package/model/embed/Range.mjs +13 -0
- package/model/embed/ReferenceRange.d.mts +34 -0
- package/model/embed/ReferenceRange.mjs +34 -0
- package/model/embed/ReferralPeriod.d.mts +17 -0
- package/model/embed/ReferralPeriod.mjs +17 -0
- package/model/embed/RegimenItem.d.mts +32 -0
- package/model/embed/RegimenItem.mjs +32 -0
- package/model/embed/Renewal.d.mts +14 -0
- package/model/embed/Renewal.mjs +14 -0
- package/model/embed/ResourceGroupAllocationSchedule.d.mts +34 -0
- package/model/embed/ResourceGroupAllocationSchedule.mjs +34 -0
- package/model/embed/RoleConfiguration.d.mts +14 -0
- package/model/embed/RoleConfiguration.mjs +10 -0
- package/model/embed/SecureDelegation.d.mts +41 -0
- package/model/embed/SecureDelegation.mjs +37 -0
- package/model/embed/SecurityMetadata.d.mts +11 -0
- package/model/embed/SecurityMetadata.mjs +6 -0
- package/model/embed/Substanceproduct.d.mts +25 -0
- package/model/embed/Substanceproduct.mjs +25 -0
- package/model/embed/SuspensionReason.d.mts +5 -0
- package/model/embed/SuspensionReason.mjs +5 -0
- package/model/embed/TaskStatus.d.mts +5 -0
- package/model/embed/TaskStatus.mjs +5 -0
- package/model/embed/TelecomType.d.mts +6 -0
- package/model/embed/TelecomType.mjs +6 -0
- package/model/embed/TimeSeries.d.mts +34 -0
- package/model/embed/TimeSeries.mjs +34 -0
- package/model/embed/TypedValue.d.mts +101 -0
- package/model/embed/TypedValue.mjs +70 -0
- package/model/embed/TypedValuesType.d.mts +5 -0
- package/model/embed/TypedValuesType.mjs +5 -0
- package/model/embed/UserAccessLevel.d.mts +11 -0
- package/model/embed/UserAccessLevel.mjs +11 -0
- package/model/embed/UserType.d.mts +5 -0
- package/model/embed/UserType.mjs +5 -0
- package/model/embed/ValueWithPrecision.d.mts +13 -0
- package/model/embed/ValueWithPrecision.mjs +5 -0
- package/model/embed/Weekday.d.mts +13 -0
- package/model/embed/Weekday.mjs +13 -0
- package/model/embed/form/template/Action.d.mts +18 -0
- package/model/embed/form/template/Action.mjs +18 -0
- package/model/embed/form/template/CheckBox.d.mts +5 -0
- package/model/embed/form/template/CheckBox.mjs +5 -0
- package/model/embed/form/template/DatePicker.d.mts +5 -0
- package/model/embed/form/template/DatePicker.mjs +5 -0
- package/model/embed/form/template/DateTimePicker.d.mts +5 -0
- package/model/embed/form/template/DateTimePicker.mjs +5 -0
- package/model/embed/form/template/DropdownField.d.mts +5 -0
- package/model/embed/form/template/DropdownField.mjs +5 -0
- package/model/embed/form/template/Field.d.mts +9 -0
- package/model/embed/form/template/FieldsGroup.d.mts +14 -0
- package/model/embed/form/template/FieldsGroup.mjs +10 -0
- package/model/embed/form/template/FormTemplateLayout.d.mts +26 -0
- package/model/embed/form/template/FormTemplateLayout.mjs +22 -0
- package/model/embed/form/template/Launcher.d.mts +18 -0
- package/model/embed/form/template/Launcher.mjs +10 -0
- package/model/embed/form/template/MeasureField.d.mts +5 -0
- package/model/embed/form/template/MeasureField.mjs +5 -0
- package/model/embed/form/template/MultipleChoice.d.mts +5 -0
- package/model/embed/form/template/MultipleChoice.mjs +5 -0
- package/model/embed/form/template/NumberField.d.mts +5 -0
- package/model/embed/form/template/NumberField.mjs +5 -0
- package/model/embed/form/template/RadioButton.d.mts +5 -0
- package/model/embed/form/template/RadioButton.mjs +5 -0
- package/model/embed/form/template/Section.d.mts +22 -0
- package/model/embed/form/template/Section.mjs +14 -0
- package/model/embed/form/template/State.d.mts +17 -0
- package/model/embed/form/template/State.mjs +9 -0
- package/model/embed/form/template/StateToUpdate.d.mts +5 -0
- package/model/embed/form/template/StateToUpdate.mjs +5 -0
- package/model/embed/form/template/StructureElement.d.mts +6 -0
- package/model/embed/form/template/TextField.d.mts +73 -0
- package/model/embed/form/template/TextField.mjs +69 -0
- package/model/embed/form/template/TimePicker.d.mts +5 -0
- package/model/embed/form/template/TimePicker.mjs +5 -0
- package/model/embed/form/template/Trigger.d.mts +5 -0
- package/model/embed/form/template/Trigger.mjs +5 -0
- package/model/enums/UsersStatus.d.mts +5 -0
- package/model/enums/UsersStatus.mjs +5 -0
- package/model/filter/predicate/AlwaysPredicate.d.mts +5 -0
- package/model/filter/predicate/AlwaysPredicate.mjs +5 -0
- package/model/filter/predicate/AndPredicate.d.mts +9 -0
- package/model/filter/predicate/AndPredicate.mjs +9 -0
- package/model/filter/predicate/KeyValuePredicate.d.mts +17 -0
- package/model/filter/predicate/KeyValuePredicate.mjs +17 -0
- package/model/filter/predicate/NotPredicate.d.mts +9 -0
- package/model/filter/predicate/NotPredicate.mjs +5 -0
- package/model/filter/predicate/Operator.d.mts +5 -0
- package/model/filter/predicate/Operator.mjs +5 -0
- package/model/filter/predicate/OrPredicate.d.mts +9 -0
- package/model/filter/predicate/OrPredicate.mjs +9 -0
- package/model/filter/predicate/Predicate.d.mts +6 -0
- package/model/requests/RequestedPermission.d.mts +5 -0
- package/model/requests/RequestedPermission.mjs +5 -0
- package/model/security/AlwaysPermissionItem.d.mts +10 -0
- package/model/security/AlwaysPermissionItem.mjs +6 -0
- package/model/security/AuthenticationToken.d.mts +23 -0
- package/model/security/AuthenticationToken.mjs +15 -0
- package/model/security/Enable2faRequest.d.mts +13 -0
- package/model/security/Enable2faRequest.mjs +5 -0
- package/model/security/ExternalJwtConfig.d.mts +110 -0
- package/model/security/ExternalJwtConfig.mjs +59 -0
- package/model/security/LoginIdentifier.d.mts +14 -0
- package/model/security/LoginIdentifier.mjs +6 -0
- package/model/security/Operation.d.mts +5 -0
- package/model/security/Operation.mjs +5 -0
- package/model/security/OperationToken.d.mts +27 -0
- package/model/security/OperationToken.mjs +11 -0
- package/model/security/Permission.d.mts +14 -0
- package/model/security/Permission.mjs +14 -0
- package/model/security/PermissionItem.d.mts +7 -0
- package/model/security/PermissionType.d.mts +6 -0
- package/model/security/PermissionType.mjs +6 -0
- package/model/security/TokenWithGroup.d.mts +17 -0
- package/model/security/TokenWithGroup.mjs +9 -0
- package/model/specializations/AesExchangeKeyEncryptionKeypairIdentifier.d.mts +7 -0
- package/package.json +1 -1
- package/subscription/EntitySubscriptionConfiguration.d.mts +24 -0
- package/subscription/EntitySubscriptionConfiguration.mjs +24 -0
- package/subscription/EntitySubscriptionEvent.d.mts +21 -0
- package/subscription/EntitySubscriptionEvent.mjs +9 -0
package/api/PatientApi.d.mts
CHANGED
|
@@ -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>>;
|