@icure/api 5.3.6 → 5.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/icc-api → icc-api}/model/models.d.ts +2 -2
- package/{dist/icc-x-api → icc-x-api}/auth/AuthenticationProvider.js +6 -6
- package/icc-x-api/auth/AuthenticationProvider.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/crypto/AES.d.ts +1 -0
- package/{dist/icc-x-api → icc-x-api}/crypto/AES.js +13 -4
- package/icc-x-api/crypto/AES.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/filters/filters.d.ts +1 -1
- package/{dist/icc-x-api → icc-x-api}/icc-accesslog-x-api.js +9 -6
- package/icc-x-api/icc-accesslog-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/icc-bekmehr-x-api.d.ts +1 -1
- package/{dist/icc-x-api → icc-x-api}/icc-calendar-item-x-api.js +8 -2
- package/icc-x-api/icc-calendar-item-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/icc-contact-x-api.js +11 -7
- package/icc-x-api/icc-contact-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/icc-crypto-x-api.d.ts +7 -1
- package/{dist/icc-x-api → icc-x-api}/icc-crypto-x-api.js +57 -41
- package/icc-x-api/icc-crypto-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/icc-form-x-api.js +2 -1
- package/icc-x-api/icc-form-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/icc-helement-x-api.js +8 -2
- package/icc-x-api/icc-helement-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/icc-maintenance-task-x-api.js +8 -2
- package/icc-x-api/icc-maintenance-task-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/icc-patient-x-api.js +62 -57
- package/icc-x-api/icc-patient-x-api.js.map +1 -0
- package/{dist/icc-x-api → icc-x-api}/utils/asn1-packer.d.ts +1 -1
- package/{dist/icc-x-api → icc-x-api}/utils/asn1-parser.d.ts +1 -1
- package/{dist/icc-x-api → icc-x-api}/utils/net-utils.d.ts +2 -2
- package/package.json +3 -65
- package/.editorconfig +0 -11
- package/.eslintrc.js +0 -31
- package/.github/workflows/build.yml +0 -41
- package/.gitmodules +0 -3
- package/.nyc_output/4fb11039-5260-43aa-bbec-20ed9a7243b5.json +0 -1
- package/.nyc_output/d3da738f-2735-4cbe-9ce5-8270e16e2706.json +0 -1
- package/.nyc_output/processinfo/4fb11039-5260-43aa-bbec-20ed9a7243b5.json +0 -1
- package/.nyc_output/processinfo/d3da738f-2735-4cbe-9ce5-8270e16e2706.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/.pre-commit-config.yaml +0 -22
- package/.prettierrc +0 -5
- package/.secrets.baseline +0 -174
- package/CHANGELOG.md +0 -112
- package/Dockerfile +0 -25
- package/InstantiateIccXApiWithAuthProvider.md +0 -72
- package/LICENSE +0 -7
- package/README.md +0 -75
- package/apidocs/.swagger-codegen-ignore +0 -23
- package/ci/cloudbuild.yaml +0 -16
- package/dist/icc-x-api/auth/AuthenticationProvider.js.map +0 -1
- package/dist/icc-x-api/crypto/AES.js.map +0 -1
- package/dist/icc-x-api/icc-accesslog-x-api.js.map +0 -1
- package/dist/icc-x-api/icc-calendar-item-x-api.js.map +0 -1
- package/dist/icc-x-api/icc-contact-x-api.js.map +0 -1
- package/dist/icc-x-api/icc-crypto-x-api.js.map +0 -1
- package/dist/icc-x-api/icc-form-x-api.js.map +0 -1
- package/dist/icc-x-api/icc-helement-x-api.js.map +0 -1
- package/dist/icc-x-api/icc-maintenance-task-x-api.js.map +0 -1
- package/dist/icc-x-api/icc-patient-x-api.js.map +0 -1
- package/dist/package.json +0 -22
- package/fake-secrets.txt +0 -3
- package/icc-api/.swagger-codegen/VERSION +0 -1
- package/icc-api/.swagger-codegen-ignore +0 -23
- package/icc-api/LICENSE +0 -201
- package/icc-api/api/IccAccesslogApi.ts +0 -265
- package/icc-api/api/IccAgendaApi.ts +0 -151
- package/icc-api/api/IccAnonymousAccessApi.ts +0 -126
- package/icc-api/api/IccApplicationsettingsApi.ts +0 -89
- package/icc-api/api/IccArticleApi.ts +0 -120
- package/icc-api/api/IccAuthApi.ts +0 -235
- package/icc-api/api/IccBeefactApi.ts +0 -66
- package/icc-api/api/IccBekmehrApi.ts +0 -909
- package/icc-api/api/IccBeresultexportApi.ts +0 -134
- package/icc-api/api/IccBeresultimportApi.ts +0 -130
- package/icc-api/api/IccBesamv2Api.ts +0 -790
- package/icc-api/api/IccCalendarItemApi.ts +0 -353
- package/icc-api/api/IccCalendarItemTypeApi.ts +0 -134
- package/icc-api/api/IccClassificationApi.ts +0 -180
- package/icc-api/api/IccClassificationTemplateApi.ts +0 -188
- package/icc-api/api/IccCodeApi.ts +0 -423
- package/icc-api/api/IccContactApi.ts +0 -669
- package/icc-api/api/IccDataownerApi.ts +0 -66
- package/icc-api/api/IccDeviceApi.ts +0 -358
- package/icc-api/api/IccDoctemplateApi.ts +0 -258
- package/icc-api/api/IccDocumentApi.ts +0 -444
- package/icc-api/api/IccDocumentTemplateApi.ts +0 -261
- package/icc-api/api/IccEntityrefApi.ts +0 -73
- package/icc-api/api/IccEntitytemplateApi.ts +0 -249
- package/icc-api/api/IccFormApi.ts +0 -547
- package/icc-api/api/IccFrontendmigrationApi.ts +0 -135
- package/icc-api/api/IccGroupApi.ts +0 -504
- package/icc-api/api/IccHcpartyApi.ts +0 -487
- package/icc-api/api/IccHelementApi.ts +0 -330
- package/icc-api/api/IccIcureApi.ts +0 -303
- package/icc-api/api/IccInsuranceApi.ts +0 -154
- package/icc-api/api/IccInvoiceApi.ts +0 -721
- package/icc-api/api/IccKeywordApi.ts +0 -135
- package/icc-api/api/IccMaintenanceTaskApi.ts +0 -133
- package/icc-api/api/IccMedexApi.ts +0 -58
- package/icc-api/api/IccMedicallocationApi.ts +0 -120
- package/icc-api/api/IccMessageApi.ts +0 -478
- package/icc-api/api/IccPatientApi.ts +0 -822
- package/icc-api/api/IccPermissionApi.ts +0 -59
- package/icc-api/api/IccPlaceApi.ts +0 -120
- package/icc-api/api/IccPubsubApi.ts +0 -106
- package/icc-api/api/IccReceiptApi.ts +0 -168
- package/icc-api/api/IccReplicationApi.ts +0 -106
- package/icc-api/api/IccTarificationApi.ts +0 -236
- package/icc-api/api/IccTimeTableApi.ts +0 -146
- package/icc-api/api/IccTmpApi.ts +0 -1298
- package/icc-api/api/IccUserApi.ts +0 -525
- package/icc-api/api/XHR.ts +0 -146
- package/icc-api/iccApi.ts +0 -46
- package/icc-api/index.ts +0 -44
- package/icc-api/model/AbstractFilterCode.ts +0 -19
- package/icc-api/model/AbstractFilterContact.ts +0 -19
- package/icc-api/model/AbstractFilterDevice.ts +0 -19
- package/icc-api/model/AbstractFilterHealthElement.ts +0 -19
- package/icc-api/model/AbstractFilterHealthcareParty.ts +0 -19
- package/icc-api/model/AbstractFilterInvoice.ts +0 -19
- package/icc-api/model/AbstractFilterMaintenanceTask.ts +0 -19
- package/icc-api/model/AbstractFilterPatient.ts +0 -19
- package/icc-api/model/AbstractFilterService.ts +0 -19
- package/icc-api/model/AbstractFilterUser.ts +0 -19
- package/icc-api/model/AccessLog.ts +0 -108
- package/icc-api/model/AddedDocument.ts +0 -27
- package/icc-api/model/Address.ts +0 -99
- package/icc-api/model/AdministrationQuantity.ts +0 -22
- package/icc-api/model/Agenda.ts +0 -61
- package/icc-api/model/AgreementAppendix.ts +0 -22
- package/icc-api/model/Amp.ts +0 -57
- package/icc-api/model/AmpComponent.ts +0 -51
- package/icc-api/model/Ampp.ts +0 -75
- package/icc-api/model/AmppComponent.ts +0 -36
- package/icc-api/model/Annotation.ts +0 -42
- package/icc-api/model/ApplicationSettings.ts +0 -58
- package/icc-api/model/Appointment.ts +0 -31
- package/icc-api/model/AppointmentImport.ts +0 -39
- package/icc-api/model/AppointmentTypeAndPlace.ts +0 -27
- package/icc-api/model/Article.ts +0 -82
- package/icc-api/model/Atc.ts +0 -20
- package/icc-api/model/Attachment.ts +0 -23
- package/icc-api/model/AttachmentMetadata.ts +0 -25
- package/icc-api/model/AuthenticationResponse.ts +0 -27
- package/icc-api/model/AuthenticationToken.ts +0 -35
- package/icc-api/model/Basic.ts +0 -20
- package/icc-api/model/Body.ts +0 -20
- package/icc-api/model/Body3.ts +0 -20
- package/icc-api/model/BulkAttachmentUpdateOptions.ts +0 -30
- package/icc-api/model/ByteArray.ts +0 -20
- package/icc-api/model/CalendarItem.ts +0 -105
- package/icc-api/model/CalendarItemTag.ts +0 -22
- package/icc-api/model/CalendarItemType.ts +0 -32
- package/icc-api/model/CareTeamMember.ts +0 -38
- package/icc-api/model/CareTeamMembership.ts +0 -39
- package/icc-api/model/CheckSMFPatientResult.ts +0 -24
- package/icc-api/model/Classification.ts +0 -81
- package/icc-api/model/ClassificationTemplate.ts +0 -80
- package/icc-api/model/Code.ts +0 -202
- package/icc-api/model/CodeStub.ts +0 -24
- package/icc-api/model/CodeType.ts +0 -19
- package/icc-api/model/CommentedClassification.ts +0 -21
- package/icc-api/model/Commercialization.ts +0 -25
- package/icc-api/model/Company.ts +0 -35
- package/icc-api/model/Contact.ts +0 -129
- package/icc-api/model/Content.ts +0 -45
- package/icc-api/model/Copayment.ts +0 -22
- package/icc-api/model/Data.ts +0 -17
- package/icc-api/model/DataAttachment.ts +0 -34
- package/icc-api/model/DataOwnerRegistrationSuccess.ts +0 -21
- package/icc-api/model/DataOwnerWithType.ts +0 -19
- package/icc-api/model/DatabaseInfo.ts +0 -28
- package/icc-api/model/DatabaseInitialisation.ts +0 -27
- package/icc-api/model/DatabaseSynchronization.ts +0 -30
- package/icc-api/model/Delegation.ts +0 -25
- package/icc-api/model/DeletedAttachment.ts +0 -38
- package/icc-api/model/Device.ts +0 -93
- package/icc-api/model/DeviceType.ts +0 -23
- package/icc-api/model/DiaryNoteExportInfo.ts +0 -30
- package/icc-api/model/Dmpp.ts +0 -45
- package/icc-api/model/DocIdentifier.ts +0 -20
- package/icc-api/model/Document.ts +0 -274
- package/icc-api/model/DocumentGroup.ts +0 -20
- package/icc-api/model/DocumentTemplate.ts +0 -162
- package/icc-api/model/Duration.ts +0 -21
- package/icc-api/model/EIDItem.ts +0 -23
- package/icc-api/model/Editor.ts +0 -37
- package/icc-api/model/EfactInvoice.ts +0 -43
- package/icc-api/model/EmailOrSmsMessage.ts +0 -39
- package/icc-api/model/EmailTemplate.ts +0 -20
- package/icc-api/model/Employer.ts +0 -21
- package/icc-api/model/EmploymentInfo.ts +0 -24
- package/icc-api/model/EntityReference.ts +0 -25
- package/icc-api/model/EntityTemplate.ts +0 -31
- package/icc-api/model/Episode.ts +0 -30
- package/icc-api/model/FilterChainCode.ts +0 -23
- package/icc-api/model/FilterChainContact.ts +0 -23
- package/icc-api/model/FilterChainDevice.ts +0 -23
- package/icc-api/model/FilterChainHealthElement.ts +0 -23
- package/icc-api/model/FilterChainHealthcareParty.ts +0 -23
- package/icc-api/model/FilterChainInvoice.ts +0 -23
- package/icc-api/model/FilterChainMaintenanceTask.ts +0 -23
- package/icc-api/model/FilterChainPatient.ts +0 -23
- package/icc-api/model/FilterChainService.ts +0 -23
- package/icc-api/model/FilterChainUser.ts +0 -23
- package/icc-api/model/FinancialInstitutionInformation.ts +0 -32
- package/icc-api/model/FlatRateTarification.ts +0 -39
- package/icc-api/model/FlowItem.ts +0 -51
- package/icc-api/model/Form.ts +0 -116
- package/icc-api/model/FormColumn.ts +0 -22
- package/icc-api/model/FormDataOption.ts +0 -20
- package/icc-api/model/FormLayout.ts +0 -29
- package/icc-api/model/FormLayoutData.ts +0 -44
- package/icc-api/model/FormPlanning.ts +0 -26
- package/icc-api/model/FormSection.ts +0 -23
- package/icc-api/model/FormTemplate.ts +0 -48
- package/icc-api/model/FormTemplateLayout.ts +0 -23
- package/icc-api/model/Formula.ts +0 -31
- package/icc-api/model/FrontEndMigration.ts +0 -47
- package/icc-api/model/Group.ts +0 -69
- package/icc-api/model/GroupDatabasesInfo.ts +0 -22
- package/icc-api/model/GroupDeletionReport.ts +0 -21
- package/icc-api/model/GuiCode.ts +0 -20
- package/icc-api/model/GuiCodeType.ts +0 -19
- package/icc-api/model/HealthElement.ts +0 -159
- package/icc-api/model/HealthcareParty.ts +0 -224
- package/icc-api/model/HealthcarePartyHistoryStatus.ts +0 -33
- package/icc-api/model/IcureStub.ts +0 -74
- package/icc-api/model/IdWithRev.ts +0 -20
- package/icc-api/model/Identifier.ts +0 -27
- package/icc-api/model/IdentityDocumentReader.ts +0 -24
- package/icc-api/model/ImportMapping.ts +0 -24
- package/icc-api/model/ImportResult.ts +0 -34
- package/icc-api/model/IncapacityExportInfo.ts +0 -54
- package/icc-api/model/IndexedIdentifier.ts +0 -21
- package/icc-api/model/IndexingInfo.ts +0 -19
- package/icc-api/model/Ingredient.ts +0 -36
- package/icc-api/model/Insurability.ts +0 -61
- package/icc-api/model/Insurance.ts +0 -33
- package/icc-api/model/Invoice.ts +0 -205
- package/icc-api/model/InvoiceItem.ts +0 -97
- package/icc-api/model/InvoiceSender.ts +0 -28
- package/icc-api/model/InvoicesBatch.ts +0 -29
- package/icc-api/model/InvoicingCode.ts +0 -86
- package/icc-api/model/Keyword.ts +0 -61
- package/icc-api/model/KeywordSubword.ts +0 -20
- package/icc-api/model/LabelledOccurence.ts +0 -20
- package/icc-api/model/LetterValue.ts +0 -22
- package/icc-api/model/ListOfIds.ts +0 -22
- package/icc-api/model/ListOfProperties.ts +0 -23
- package/icc-api/model/LoginCredentials.ts +0 -20
- package/icc-api/model/MaintenanceTask.ts +0 -93
- package/icc-api/model/MapOfIds.ts +0 -19
- package/icc-api/model/Measure.ts +0 -31
- package/icc-api/model/MedexInfo.ts +0 -33
- package/icc-api/model/MedicalHouseContract.ts +0 -81
- package/icc-api/model/MedicalLocation.ts +0 -37
- package/icc-api/model/Medication.ts +0 -72
- package/icc-api/model/MedicationSchemeExportInfo.ts +0 -25
- package/icc-api/model/Medicinalproduct.ts +0 -24
- package/icc-api/model/Message.ts +0 -145
- package/icc-api/model/MessageReadStatus.ts +0 -23
- package/icc-api/model/MessageWithBatch.ts +0 -22
- package/icc-api/model/MessagesReadStatusUpdate.ts +0 -22
- package/icc-api/model/MikronoAppointmentTypeRest.ts +0 -25
- package/icc-api/model/MikronoCredentials.ts +0 -21
- package/icc-api/model/MimeAttachment.ts +0 -22
- package/icc-api/model/ModelHelper.ts +0 -87
- package/icc-api/model/Nmp.ts +0 -34
- package/icc-api/model/NoGenericPrescriptionReason.ts +0 -21
- package/icc-api/model/NoSwitchReason.ts +0 -21
- package/icc-api/model/NumeratorRange.ts +0 -21
- package/icc-api/model/OperationToken.ts +0 -22
- package/icc-api/model/PackagingType.ts +0 -23
- package/icc-api/model/PaginatedDocumentKeyIdPairObject.ts +0 -20
- package/icc-api/model/PaginatedListAccessLog.ts +0 -24
- package/icc-api/model/PaginatedListAmp.ts +0 -24
- package/icc-api/model/PaginatedListCalendarItem.ts +0 -24
- package/icc-api/model/PaginatedListClassification.ts +0 -24
- package/icc-api/model/PaginatedListClassificationTemplate.ts +0 -24
- package/icc-api/model/PaginatedListCode.ts +0 -24
- package/icc-api/model/PaginatedListContact.ts +0 -24
- package/icc-api/model/PaginatedListDevice.ts +0 -24
- package/icc-api/model/PaginatedListDocument.ts +0 -24
- package/icc-api/model/PaginatedListEntityTemplate.ts +0 -24
- package/icc-api/model/PaginatedListForm.ts +0 -24
- package/icc-api/model/PaginatedListGroup.ts +0 -24
- package/icc-api/model/PaginatedListHealthElement.ts +0 -24
- package/icc-api/model/PaginatedListHealthcareParty.ts +0 -24
- package/icc-api/model/PaginatedListInvoice.ts +0 -24
- package/icc-api/model/PaginatedListMaintenanceTask.ts +0 -24
- package/icc-api/model/PaginatedListMessage.ts +0 -24
- package/icc-api/model/PaginatedListNmp.ts +0 -24
- package/icc-api/model/PaginatedListPatient.ts +0 -24
- package/icc-api/model/PaginatedListService.ts +0 -24
- package/icc-api/model/PaginatedListString.ts +0 -23
- package/icc-api/model/PaginatedListTarification.ts +0 -24
- package/icc-api/model/PaginatedListUser.ts +0 -24
- package/icc-api/model/PaginatedListVmp.ts +0 -24
- package/icc-api/model/PaginatedListVmpGroup.ts +0 -24
- package/icc-api/model/Paragraph.ts +0 -41
- package/icc-api/model/ParagraphAgreement.ts +0 -41
- package/icc-api/model/Part.ts +0 -17
- package/icc-api/model/Partnership.ts +0 -118
- package/icc-api/model/Patient.ts +0 -370
- package/icc-api/model/PatientByHcPartyGenderEducationProfession.ts +0 -35
- package/icc-api/model/PatientHealthCareParty.ts +0 -64
- package/icc-api/model/PatientRegistrationSuccess.ts +0 -21
- package/icc-api/model/Payment.ts +0 -34
- package/icc-api/model/Periodicity.ts +0 -21
- package/icc-api/model/Permission.ts +0 -30
- package/icc-api/model/PermissionCriterion.ts +0 -46
- package/icc-api/model/PermissionItem.ts +0 -56
- package/icc-api/model/PersonName.ts +0 -66
- package/icc-api/model/PharmaceuticalForm.ts +0 -29
- package/icc-api/model/PharmaceuticalFormStub.ts +0 -24
- package/icc-api/model/Place.ts +0 -27
- package/icc-api/model/PlanOfAction.ts +0 -114
- package/icc-api/model/Predicate.ts +0 -17
- package/icc-api/model/Pricing.ts +0 -21
- package/icc-api/model/PropertyStub.ts +0 -31
- package/icc-api/model/PropertyTypeStub.ts +0 -32
- package/icc-api/model/PublicKey.ts +0 -20
- package/icc-api/model/Quantity.ts +0 -20
- package/icc-api/model/Receipt.ts +0 -83
- package/icc-api/model/ReferralPeriod.ts +0 -33
- package/icc-api/model/RefreshTokenExpiredError.ts +0 -5
- package/icc-api/model/RegimenItem.ts +0 -27
- package/icc-api/model/RegistrationInformation.ts +0 -23
- package/icc-api/model/RegistrationSuccess.ts +0 -21
- package/icc-api/model/Reimbursement.ts +0 -57
- package/icc-api/model/ReimbursementCriterion.ts +0 -22
- package/icc-api/model/Remote.ts +0 -21
- package/icc-api/model/RemoteAuthentication.ts +0 -20
- package/icc-api/model/Renewal.ts +0 -21
- package/icc-api/model/ReplicateCommand.ts +0 -25
- package/icc-api/model/Replication.ts +0 -28
- package/icc-api/model/ReplicationInfo.ts +0 -22
- package/icc-api/model/ReplicationStats.ts +0 -27
- package/icc-api/model/ReplicatorDocument.ts +0 -34
- package/icc-api/model/ReplicatorResponse.ts +0 -23
- package/icc-api/model/ResultInfo.ts +0 -33
- package/icc-api/model/RevisionInfo.ts +0 -20
- package/icc-api/model/Right.ts +0 -22
- package/icc-api/model/RouteOfAdministration.ts +0 -22
- package/icc-api/model/SamText.ts +0 -22
- package/icc-api/model/SamVersion.ts +0 -26
- package/icc-api/model/SchoolingInfo.ts +0 -23
- package/icc-api/model/Section.ts +0 -23
- package/icc-api/model/Service.ts +0 -155
- package/icc-api/model/ServiceLink.ts +0 -22
- package/icc-api/model/SoftwareMedicalFileExport.ts +0 -23
- package/icc-api/model/StandardSubstance.ts +0 -33
- package/icc-api/model/StrengthRange.ts +0 -22
- package/icc-api/model/StructureElement.ts +0 -17
- package/icc-api/model/SubContact.ts +0 -89
- package/icc-api/model/Substance.ts +0 -31
- package/icc-api/model/SubstanceStub.ts +0 -26
- package/icc-api/model/Substanceproduct.ts +0 -24
- package/icc-api/model/Suggest.ts +0 -23
- package/icc-api/model/SumehrContent.ts +0 -26
- package/icc-api/model/SumehrExportInfo.ts +0 -30
- package/icc-api/model/SumehrValidity.ts +0 -27
- package/icc-api/model/SupplyProblem.ts +0 -25
- package/icc-api/model/Suspension.ts +0 -22
- package/icc-api/model/Tag.ts +0 -20
- package/icc-api/model/Tarification.ts +0 -213
- package/icc-api/model/Telecom.ts +0 -64
- package/icc-api/model/TimeSeries.ts +0 -28
- package/icc-api/model/TimeTable.ts +0 -84
- package/icc-api/model/TimeTableHour.ts +0 -20
- package/icc-api/model/TimeTableItem.ts +0 -30
- package/icc-api/model/TokenWithGroup.ts +0 -21
- package/icc-api/model/TypedValueObject.ts +0 -40
- package/icc-api/model/Unit.ts +0 -17
- package/icc-api/model/User.ts +0 -132
- package/icc-api/model/UserAndHealthcareParty.ts +0 -25
- package/icc-api/model/UserGroup.ts +0 -31
- package/icc-api/model/Valorisation.ts +0 -31
- package/icc-api/model/Verse.ts +0 -65
- package/icc-api/model/VirtualForm.ts +0 -22
- package/icc-api/model/VirtualIngredient.ts +0 -33
- package/icc-api/model/Vmp.ts +0 -40
- package/icc-api/model/VmpComponent.ts +0 -28
- package/icc-api/model/VmpGroup.ts +0 -34
- package/icc-api/model/VmpGroupStub.ts +0 -23
- package/icc-api/model/VmpStub.ts +0 -24
- package/icc-api/model/Vtm.ts +0 -23
- package/icc-api/model/Wada.ts +0 -22
- package/icc-api/model/WebSession.ts +0 -26
- package/icc-api/model/WebSessionMaxIdleTime.ts +0 -24
- package/icc-api/model/WebSessionMaxIdleTimeUnits.ts +0 -21
- package/icc-api/model/Weekday.ts +0 -21
- package/icc-api/model/models.ts +0 -289
- package/icc-x-api/auth/AuthService.ts +0 -18
- package/icc-x-api/auth/AuthenticationProvider.ts +0 -92
- package/icc-x-api/auth/BasicAuthService.ts +0 -25
- package/icc-x-api/auth/EnsembleAuthService.ts +0 -64
- package/icc-x-api/auth/JwtAuthService.ts +0 -82
- package/icc-x-api/auth/JwtBridgedAuthService.ts +0 -127
- package/icc-x-api/auth/NoAuthService.ts +0 -18
- package/icc-x-api/crypto/AES.ts +0 -173
- package/icc-x-api/crypto/RSA.ts +0 -170
- package/icc-x-api/crypto/shamir.ts +0 -326
- package/icc-x-api/crypto/utils.ts +0 -0
- package/icc-x-api/filters/AllCodesFilter.ts +0 -22
- package/icc-x-api/filters/AllDevicesFilter.ts +0 -23
- package/icc-x-api/filters/AllHealthcarePartiesFilter.ts +0 -23
- package/icc-x-api/filters/AllUsersFilter.ts +0 -23
- package/icc-x-api/filters/CodeByIdsFilter.ts +0 -25
- package/icc-x-api/filters/CodeByRegionTypeLabelLanguageFilter.ts +0 -28
- package/icc-x-api/filters/CodeIdsByTypeCodeVersionIntervalFilter.ts +0 -30
- package/icc-x-api/filters/ComplementFilter.ts +0 -13
- package/icc-x-api/filters/ConstantFilter.ts +0 -9
- package/icc-x-api/filters/ContactByHcPartyFilter.ts +0 -25
- package/icc-x-api/filters/ContactByHcPartyPatientTagCodeDateFilter.ts +0 -32
- package/icc-x-api/filters/ContactByHcPartyTagCodeDateFilter.ts +0 -32
- package/icc-x-api/filters/ContactByServiceIdsFilter.ts +0 -24
- package/icc-x-api/filters/DeviceByHcPartyFilter.ts +0 -26
- package/icc-x-api/filters/DeviceByIdsFilter.ts +0 -26
- package/icc-x-api/filters/HealthElementByHcPartyFilter.ts +0 -24
- package/icc-x-api/filters/HealthElementByHcPartyIdentifiersFilter.ts +0 -26
- package/icc-x-api/filters/HealthElementByHcPartySecretForeignKeysFilter.ts +0 -27
- package/icc-x-api/filters/HealthElementByHcPartyTagCodeFilter.ts +0 -29
- package/icc-x-api/filters/HealthElementByIdsFilter.ts +0 -24
- package/icc-x-api/filters/HealthcarePartyByIdsFilter.ts +0 -24
- package/icc-x-api/filters/HealthcarePartyByTagCodeFilter.ts +0 -27
- package/icc-x-api/filters/IntersectionFilter.ts +0 -11
- package/icc-x-api/filters/InvoiceByHcPartyCodeDateFilter.ts +0 -27
- package/icc-x-api/filters/MaintenanceTaskAfterDateFilter.ts +0 -25
- package/icc-x-api/filters/MaintenanceTaskByHcPartyAndIdentifiersFilter.ts +0 -26
- package/icc-x-api/filters/MaintenanceTaskByHcPartyAndTypeFilter.ts +0 -25
- package/icc-x-api/filters/MaintenanceTaskByIdsFilter.ts +0 -24
- package/icc-x-api/filters/PatientByHcPartyAndActiveFilter.ts +0 -25
- package/icc-x-api/filters/PatientByHcPartyAndAddressFilter.ts +0 -27
- package/icc-x-api/filters/PatientByHcPartyAndExternalIdFilter.ts +0 -25
- package/icc-x-api/filters/PatientByHcPartyAndIdentifiersFilter.ts +0 -26
- package/icc-x-api/filters/PatientByHcPartyAndSsinFilter.ts +0 -25
- package/icc-x-api/filters/PatientByHcPartyAndSsinsFilter.ts +0 -25
- package/icc-x-api/filters/PatientByHcPartyDateOfBirthBetweenFilter.ts +0 -26
- package/icc-x-api/filters/PatientByHcPartyDateOfBirthFilter.ts +0 -25
- package/icc-x-api/filters/PatientByHcPartyFilter.ts +0 -24
- package/icc-x-api/filters/PatientByHcPartyGenderEducationProfession.ts +0 -19
- package/icc-x-api/filters/PatientByHcPartyNameContainsFuzzyFilter.ts +0 -25
- package/icc-x-api/filters/PatientByHcPartyNameFilter.ts +0 -25
- package/icc-x-api/filters/PatientByIdsFilter.ts +0 -24
- package/icc-x-api/filters/ServiceByContactsAndSubcontactsFilter.ts +0 -28
- package/icc-x-api/filters/ServiceByHcPartyFilter.ts +0 -24
- package/icc-x-api/filters/ServiceByHcPartyHealthElementIdsFilter.ts +0 -25
- package/icc-x-api/filters/ServiceByHcPartyIdentifiersFilter.ts +0 -26
- package/icc-x-api/filters/ServiceByHcPartyTagCodeDateFilter.ts +0 -31
- package/icc-x-api/filters/ServiceByIdsFilter.ts +0 -24
- package/icc-x-api/filters/ServiceBySecretForeignKeys.ts +0 -25
- package/icc-x-api/filters/UnionFilter.ts +0 -10
- package/icc-x-api/filters/UserByIdsFilter.ts +0 -24
- package/icc-x-api/filters/UserByNameEmailPhoneFilter.ts +0 -24
- package/icc-x-api/filters/UsersByPatientIdFilter.ts +0 -25
- package/icc-x-api/filters/filters.ts +0 -361
- package/icc-x-api/icc-accesslog-x-api.ts +0 -342
- package/icc-x-api/icc-bekmehr-x-api.ts +0 -360
- package/icc-x-api/icc-calendar-item-x-api.ts +0 -325
- package/icc-x-api/icc-classification-x-api.ts +0 -108
- package/icc-x-api/icc-code-x-api.ts +0 -133
- package/icc-x-api/icc-contact-x-api.ts +0 -979
- package/icc-x-api/icc-crypto-x-api.ts +0 -2350
- package/icc-x-api/icc-data-owner-x-api.ts +0 -37
- package/icc-x-api/icc-doctemplate-x-api.ts +0 -104
- package/icc-x-api/icc-document-x-api.ts +0 -772
- package/icc-x-api/icc-form-x-api.ts +0 -186
- package/icc-x-api/icc-hcparty-x-api.ts +0 -150
- package/icc-x-api/icc-helement-x-api.ts +0 -433
- package/icc-x-api/icc-invoice-x-api.ts +0 -207
- package/icc-x-api/icc-maintenance-task-x-api.ts +0 -243
- package/icc-x-api/icc-message-x-api.ts +0 -92
- package/icc-x-api/icc-patient-x-api.ts +0 -1275
- package/icc-x-api/icc-receipt-x-api.ts +0 -105
- package/icc-x-api/icc-time-table-x-api.ts +0 -69
- package/icc-x-api/icc-user-x-api.ts +0 -20
- package/icc-x-api/index.ts +0 -227
- package/icc-x-api/rsrc/codelng.ts +0 -8
- package/icc-x-api/rsrc/contact.i18n.ts +0 -110
- package/icc-x-api/rsrc/icd10.ts +0 -113
- package/icc-x-api/rsrc/icpc2.ts +0 -22
- package/icc-x-api/storage/KeyStorageFacade.ts +0 -35
- package/icc-x-api/storage/KeyStorageImpl.ts +0 -37
- package/icc-x-api/storage/LocalStorageImpl.ts +0 -24
- package/icc-x-api/storage/StorageFacade.ts +0 -21
- package/icc-x-api/utils/asn1-packer.ts +0 -87
- package/icc-x-api/utils/asn1-parser.ts +0 -151
- package/icc-x-api/utils/binary-utils.ts +0 -163
- package/icc-x-api/utils/code-util.ts +0 -39
- package/icc-x-api/utils/crypto-utils.ts +0 -235
- package/icc-x-api/utils/error-reporting.ts +0 -416
- package/icc-x-api/utils/formatting-util.ts +0 -220
- package/icc-x-api/utils/functional-util.ts +0 -16
- package/icc-x-api/utils/hcp-util.ts +0 -122
- package/icc-x-api/utils/index.ts +0 -7
- package/icc-x-api/utils/insurability-util.ts +0 -54
- package/icc-x-api/utils/net-utils.ts +0 -243
- package/icc-x-api/utils/person-util.ts +0 -29
- package/icc-x-api/utils/uuid-encoder.ts +0 -127
- package/icure-pre-commit/.pre-commit-config.yaml +0 -16
- package/icure-pre-commit/.secrets.baseline +0 -109
- package/icure-pre-commit/README.md +0 -18
- package/icure-pre-commit/basic.pre-commit-config.yaml +0 -16
- package/icure-pre-commit/icure_detect_secrets/filters/is_icure_safe_data.py +0 -89
- package/icure-pre-commit/icure_detect_secrets/filters/is_key_format.py +0 -9
- package/icure-pre-commit/icure_detect_secrets/plugins/EncodedFileDetector.py +0 -71
- package/icure-pre-commit/icure_detect_secrets/plugins/KeyFileDetector.py +0 -57
- package/icure-pre-commit/install_optional_detect-secrets.sh +0 -45
- package/icure-pre-commit/install_required_tools.sh +0 -35
- package/icure-pre-commit/kotlin.pre-commit-config.yaml +0 -21
- package/icure-pre-commit/scan-secrets.sh +0 -7
- package/index.ts +0 -8
- package/node-compat.ts +0 -11
- package/package-lock.json +0 -26824
- package/sonar-project.properties +0 -20
- package/test/icc-api/api/IccDocumentApi.ts +0 -141
- package/test/icc-api/api/IccUserApi.ts +0 -22
- package/test/icc-api/e2e/IccCalendarItemApi.ts +0 -37
- package/test/icc-api/model/modelHelpersTest.ts +0 -54
- package/test/icc-x-api/auth/jwt-concurrency-test.ts +0 -142
- package/test/icc-x-api/crypto/concurrency.ts +0 -33
- package/test/icc-x-api/crypto/crypto-utils.ts +0 -89
- package/test/icc-x-api/crypto/cryptoTest.ts +0 -291
- package/test/icc-x-api/crypto/delegate-ci-to-patient-with-missing-keys-test.ts +0 -168
- package/test/icc-x-api/crypto/full-crypto-test.ts +0 -569
- package/test/icc-x-api/crypto/shamir.ts +0 -46
- package/test/icc-x-api/crypto/share-to-newly-created-patient-from-hcp.ts +0 -137
- package/test/icc-x-api/error-reporting-test.ts +0 -85
- package/test/icc-x-api/filters/filters.ts +0 -58
- package/test/icc-x-api/icc-accesslog-x-api.ts +0 -104
- package/test/icc-x-api/icc-auth-api.ts +0 -44
- package/test/icc-x-api/icc-calendar-item-x-api.ts +0 -97
- package/test/icc-x-api/icc-contact-x-api.ts +0 -235
- package/test/icc-x-api/icc-form-x-api-test.ts +0 -273
- package/test/icc-x-api/icc-form-x-api.ts +0 -97
- package/test/icc-x-api/icc-helement-x-api-test.ts +0 -150
- package/test/icc-x-api/icc-invoice-x-api.ts +0 -100
- package/test/icc-x-api/icc-maintenance-task-x-api-test.ts +0 -273
- package/test/icc-x-api/icc-patient-x-api-test.ts +0 -58
- package/test/icc-x-api/icc-time-table-x-api.ts +0 -84
- package/test/icc-x-api/patient-user.ts +0 -154
- package/test/icc-x-api/storage/storage.ts +0 -51
- package/test/mocha.opts +0 -1
- package/test/scratch/docker-compose-cloud.yaml +0 -121
- package/test/scratch/docker-compose.yaml +0 -46
- package/test/scratch/docker.ini +0 -9
- package/test/scratch/haproxy/haproxy.cfg +0 -26
- package/test/support/CSM-87.ts +0 -30
- package/test/support/CSM-93.ts +0 -127
- package/test/utils/test-utils-decorators.ts +0 -409
- package/test/utils/test_utils.ts +0 -167
- package/test-scripts/cleanup.ts +0 -26
- package/tsconfig.json +0 -21
- /package/{dist/icc-api → icc-api}/api/IccAccesslogApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAccesslogApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAccesslogApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAgendaApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAgendaApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAgendaApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAnonymousAccessApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAnonymousAccessApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAnonymousAccessApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccApplicationsettingsApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccApplicationsettingsApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccApplicationsettingsApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccArticleApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccArticleApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccArticleApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAuthApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAuthApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccAuthApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeefactApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeefactApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeefactApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBekmehrApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBekmehrApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBekmehrApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeresultexportApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeresultexportApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeresultexportApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeresultimportApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeresultimportApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBeresultimportApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBesamv2Api.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBesamv2Api.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccBesamv2Api.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCalendarItemApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCalendarItemApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCalendarItemApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCalendarItemTypeApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCalendarItemTypeApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCalendarItemTypeApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccClassificationApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccClassificationApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccClassificationApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccClassificationTemplateApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccClassificationTemplateApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccClassificationTemplateApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCodeApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCodeApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccCodeApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccContactApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccContactApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccContactApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDataownerApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDataownerApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDataownerApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDeviceApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDeviceApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDeviceApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDoctemplateApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDoctemplateApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDoctemplateApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDocumentApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDocumentApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDocumentApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDocumentTemplateApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDocumentTemplateApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccDocumentTemplateApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccEntityrefApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccEntityrefApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccEntityrefApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccEntitytemplateApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccEntitytemplateApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccEntitytemplateApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccFormApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccFormApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccFormApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccFrontendmigrationApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccFrontendmigrationApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccFrontendmigrationApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccGroupApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccGroupApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccGroupApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccHcpartyApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccHcpartyApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccHcpartyApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccHelementApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccHelementApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccHelementApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccIcureApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccIcureApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccIcureApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccInsuranceApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccInsuranceApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccInsuranceApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccInvoiceApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccInvoiceApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccInvoiceApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccKeywordApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccKeywordApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccKeywordApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMaintenanceTaskApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMaintenanceTaskApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMaintenanceTaskApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMedexApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMedexApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMedexApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMedicallocationApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMedicallocationApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMedicallocationApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMessageApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMessageApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccMessageApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPatientApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPatientApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPatientApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPermissionApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPermissionApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPermissionApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPlaceApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPlaceApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPlaceApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPubsubApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPubsubApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccPubsubApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccReceiptApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccReceiptApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccReceiptApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccReplicationApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccReplicationApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccReplicationApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTarificationApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTarificationApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTarificationApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTimeTableApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTimeTableApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTimeTableApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTmpApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTmpApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccTmpApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/IccUserApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/IccUserApi.js +0 -0
- /package/{dist/icc-api → icc-api}/api/IccUserApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/api/XHR.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/api/XHR.js +0 -0
- /package/{dist/icc-api → icc-api}/api/XHR.js.map +0 -0
- /package/{dist/icc-api → icc-api}/iccApi.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/iccApi.js +0 -0
- /package/{dist/icc-api → icc-api}/iccApi.js.map +0 -0
- /package/{dist/icc-api → icc-api}/index.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/index.js +0 -0
- /package/{dist/icc-api → icc-api}/index.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterCode.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterCode.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterCode.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterContact.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterContact.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterContact.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterDevice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterDevice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterDevice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterHealthElement.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterHealthElement.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterHealthElement.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterHealthcareParty.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterHealthcareParty.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterHealthcareParty.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterInvoice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterInvoice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterInvoice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterMaintenanceTask.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterMaintenanceTask.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterMaintenanceTask.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterPatient.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterPatient.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterPatient.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterService.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterService.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterService.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterUser.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterUser.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AbstractFilterUser.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AccessLog.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AccessLog.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AccessLog.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AddedDocument.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AddedDocument.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AddedDocument.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Address.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Address.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Address.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AdministrationQuantity.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AdministrationQuantity.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AdministrationQuantity.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Agenda.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Agenda.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Agenda.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AgreementAppendix.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AgreementAppendix.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AgreementAppendix.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Amp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Amp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Amp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AmpComponent.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AmpComponent.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AmpComponent.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Ampp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Ampp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Ampp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AmppComponent.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AmppComponent.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AmppComponent.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Annotation.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Annotation.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Annotation.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ApplicationSettings.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ApplicationSettings.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ApplicationSettings.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Appointment.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Appointment.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Appointment.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AppointmentImport.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AppointmentImport.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AppointmentImport.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AppointmentTypeAndPlace.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AppointmentTypeAndPlace.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AppointmentTypeAndPlace.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Article.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Article.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Article.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Atc.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Atc.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Atc.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Attachment.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Attachment.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Attachment.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AttachmentMetadata.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AttachmentMetadata.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AttachmentMetadata.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AuthenticationResponse.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AuthenticationResponse.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AuthenticationResponse.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/AuthenticationToken.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/AuthenticationToken.js +0 -0
- /package/{dist/icc-api → icc-api}/model/AuthenticationToken.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Basic.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Basic.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Basic.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Body.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Body.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Body.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Body3.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Body3.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Body3.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/BulkAttachmentUpdateOptions.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/BulkAttachmentUpdateOptions.js +0 -0
- /package/{dist/icc-api → icc-api}/model/BulkAttachmentUpdateOptions.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ByteArray.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ByteArray.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ByteArray.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItemTag.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItemTag.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItemTag.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItemType.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItemType.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CalendarItemType.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CareTeamMember.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CareTeamMember.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CareTeamMember.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CareTeamMembership.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CareTeamMembership.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CareTeamMembership.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CheckSMFPatientResult.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CheckSMFPatientResult.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CheckSMFPatientResult.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Classification.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Classification.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Classification.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ClassificationTemplate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ClassificationTemplate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ClassificationTemplate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Code.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Code.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Code.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CodeStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CodeStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CodeStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CodeType.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CodeType.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CodeType.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/CommentedClassification.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/CommentedClassification.js +0 -0
- /package/{dist/icc-api → icc-api}/model/CommentedClassification.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Commercialization.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Commercialization.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Commercialization.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Company.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Company.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Company.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Contact.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Contact.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Contact.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Content.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Content.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Content.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Copayment.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Copayment.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Copayment.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Data.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Data.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Data.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DataAttachment.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DataAttachment.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DataAttachment.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DataOwnerRegistrationSuccess.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DataOwnerRegistrationSuccess.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DataOwnerRegistrationSuccess.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DataOwnerWithType.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DataOwnerWithType.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DataOwnerWithType.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseInitialisation.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseInitialisation.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseInitialisation.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseSynchronization.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseSynchronization.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DatabaseSynchronization.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Delegation.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Delegation.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Delegation.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DeletedAttachment.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DeletedAttachment.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DeletedAttachment.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Device.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Device.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Device.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DeviceType.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DeviceType.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DeviceType.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DiaryNoteExportInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DiaryNoteExportInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DiaryNoteExportInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Dmpp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Dmpp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Dmpp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DocIdentifier.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DocIdentifier.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DocIdentifier.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Document.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Document.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Document.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DocumentGroup.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DocumentGroup.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DocumentGroup.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/DocumentTemplate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/DocumentTemplate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/DocumentTemplate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Duration.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Duration.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Duration.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/EIDItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/EIDItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/EIDItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Editor.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Editor.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Editor.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/EfactInvoice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/EfactInvoice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/EfactInvoice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/EmailOrSmsMessage.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/EmailOrSmsMessage.js +0 -0
- /package/{dist/icc-api → icc-api}/model/EmailOrSmsMessage.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/EmailTemplate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/EmailTemplate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/EmailTemplate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Employer.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Employer.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Employer.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/EmploymentInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/EmploymentInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/EmploymentInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/EntityReference.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/EntityReference.js +0 -0
- /package/{dist/icc-api → icc-api}/model/EntityReference.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/EntityTemplate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/EntityTemplate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/EntityTemplate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Episode.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Episode.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Episode.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainCode.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainCode.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainCode.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainContact.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainContact.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainContact.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainDevice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainDevice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainDevice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainHealthElement.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainHealthElement.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainHealthElement.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainHealthcareParty.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainHealthcareParty.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainHealthcareParty.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainInvoice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainInvoice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainInvoice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainMaintenanceTask.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainMaintenanceTask.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainMaintenanceTask.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainPatient.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainPatient.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainPatient.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainService.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainService.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainService.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainUser.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainUser.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FilterChainUser.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FinancialInstitutionInformation.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FinancialInstitutionInformation.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FinancialInstitutionInformation.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FlatRateTarification.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FlatRateTarification.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FlatRateTarification.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FlowItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FlowItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FlowItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Form.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Form.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Form.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormColumn.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormColumn.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormColumn.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormDataOption.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormDataOption.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormDataOption.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormLayout.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormLayout.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormLayout.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormLayoutData.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormLayoutData.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormLayoutData.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormPlanning.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormPlanning.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormPlanning.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormSection.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormSection.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormSection.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormTemplate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormTemplate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormTemplate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FormTemplateLayout.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FormTemplateLayout.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FormTemplateLayout.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Formula.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Formula.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Formula.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/FrontEndMigration.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/FrontEndMigration.js +0 -0
- /package/{dist/icc-api → icc-api}/model/FrontEndMigration.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Group.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Group.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Group.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/GroupDatabasesInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/GroupDatabasesInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/GroupDatabasesInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/GroupDeletionReport.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/GroupDeletionReport.js +0 -0
- /package/{dist/icc-api → icc-api}/model/GroupDeletionReport.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/GuiCode.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/GuiCode.js +0 -0
- /package/{dist/icc-api → icc-api}/model/GuiCode.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/GuiCodeType.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/GuiCodeType.js +0 -0
- /package/{dist/icc-api → icc-api}/model/GuiCodeType.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthElement.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthElement.js +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthElement.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthcareParty.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthcareParty.js +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthcareParty.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthcarePartyHistoryStatus.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthcarePartyHistoryStatus.js +0 -0
- /package/{dist/icc-api → icc-api}/model/HealthcarePartyHistoryStatus.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/IcureStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/IcureStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/IcureStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/IdWithRev.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/IdWithRev.js +0 -0
- /package/{dist/icc-api → icc-api}/model/IdWithRev.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Identifier.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Identifier.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Identifier.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/IdentityDocumentReader.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/IdentityDocumentReader.js +0 -0
- /package/{dist/icc-api → icc-api}/model/IdentityDocumentReader.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ImportMapping.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ImportMapping.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ImportMapping.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ImportResult.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ImportResult.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ImportResult.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/IncapacityExportInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/IncapacityExportInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/IncapacityExportInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/IndexedIdentifier.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/IndexedIdentifier.js +0 -0
- /package/{dist/icc-api → icc-api}/model/IndexedIdentifier.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/IndexingInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/IndexingInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/IndexingInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Ingredient.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Ingredient.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Ingredient.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Insurability.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Insurability.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Insurability.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Insurance.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Insurance.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Insurance.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Invoice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Invoice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Invoice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoiceItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoiceItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoiceItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoiceSender.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoiceSender.js +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoiceSender.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoicesBatch.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoicesBatch.js +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoicesBatch.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoicingCode.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoicingCode.js +0 -0
- /package/{dist/icc-api → icc-api}/model/InvoicingCode.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Keyword.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Keyword.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Keyword.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/KeywordSubword.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/KeywordSubword.js +0 -0
- /package/{dist/icc-api → icc-api}/model/KeywordSubword.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/LabelledOccurence.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/LabelledOccurence.js +0 -0
- /package/{dist/icc-api → icc-api}/model/LabelledOccurence.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/LetterValue.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/LetterValue.js +0 -0
- /package/{dist/icc-api → icc-api}/model/LetterValue.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ListOfIds.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ListOfIds.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ListOfIds.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ListOfProperties.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ListOfProperties.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ListOfProperties.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/LoginCredentials.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/LoginCredentials.js +0 -0
- /package/{dist/icc-api → icc-api}/model/LoginCredentials.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MaintenanceTask.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MaintenanceTask.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MaintenanceTask.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MapOfIds.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MapOfIds.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MapOfIds.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Measure.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Measure.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Measure.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MedexInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MedexInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MedexInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicalHouseContract.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicalHouseContract.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicalHouseContract.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicalLocation.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicalLocation.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicalLocation.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Medication.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Medication.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Medication.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicationSchemeExportInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicationSchemeExportInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MedicationSchemeExportInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Medicinalproduct.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Medicinalproduct.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Medicinalproduct.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Message.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Message.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Message.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MessageReadStatus.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MessageReadStatus.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MessageReadStatus.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MessageWithBatch.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MessageWithBatch.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MessageWithBatch.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MessagesReadStatusUpdate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MessagesReadStatusUpdate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MessagesReadStatusUpdate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MikronoAppointmentTypeRest.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MikronoAppointmentTypeRest.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MikronoAppointmentTypeRest.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MikronoCredentials.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MikronoCredentials.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MikronoCredentials.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/MimeAttachment.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/MimeAttachment.js +0 -0
- /package/{dist/icc-api → icc-api}/model/MimeAttachment.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ModelHelper.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ModelHelper.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ModelHelper.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Nmp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Nmp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Nmp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/NoGenericPrescriptionReason.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/NoGenericPrescriptionReason.js +0 -0
- /package/{dist/icc-api → icc-api}/model/NoGenericPrescriptionReason.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/NoSwitchReason.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/NoSwitchReason.js +0 -0
- /package/{dist/icc-api → icc-api}/model/NoSwitchReason.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/NumeratorRange.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/NumeratorRange.js +0 -0
- /package/{dist/icc-api → icc-api}/model/NumeratorRange.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/OperationToken.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/OperationToken.js +0 -0
- /package/{dist/icc-api → icc-api}/model/OperationToken.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PackagingType.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PackagingType.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PackagingType.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedDocumentKeyIdPairObject.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedDocumentKeyIdPairObject.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedDocumentKeyIdPairObject.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListAccessLog.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListAccessLog.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListAccessLog.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListAmp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListAmp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListAmp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListCalendarItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListCalendarItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListCalendarItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListClassification.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListClassification.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListClassification.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListClassificationTemplate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListClassificationTemplate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListClassificationTemplate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListCode.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListCode.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListCode.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListContact.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListContact.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListContact.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListDevice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListDevice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListDevice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListDocument.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListDocument.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListDocument.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListEntityTemplate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListEntityTemplate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListEntityTemplate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListForm.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListForm.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListForm.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListGroup.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListGroup.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListGroup.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListHealthElement.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListHealthElement.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListHealthElement.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListHealthcareParty.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListHealthcareParty.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListHealthcareParty.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListInvoice.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListInvoice.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListInvoice.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListMaintenanceTask.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListMaintenanceTask.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListMaintenanceTask.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListMessage.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListMessage.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListMessage.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListNmp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListNmp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListNmp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListPatient.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListPatient.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListPatient.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListService.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListService.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListService.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListString.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListString.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListString.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListTarification.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListTarification.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListTarification.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListUser.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListUser.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListUser.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListVmp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListVmp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListVmp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListVmpGroup.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListVmpGroup.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PaginatedListVmpGroup.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Paragraph.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Paragraph.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Paragraph.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ParagraphAgreement.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ParagraphAgreement.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ParagraphAgreement.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Part.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Part.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Part.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Partnership.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Partnership.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Partnership.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Patient.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Patient.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Patient.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientByHcPartyGenderEducationProfession.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientByHcPartyGenderEducationProfession.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientByHcPartyGenderEducationProfession.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientHealthCareParty.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientHealthCareParty.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientHealthCareParty.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientRegistrationSuccess.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientRegistrationSuccess.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PatientRegistrationSuccess.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Payment.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Payment.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Payment.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Periodicity.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Periodicity.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Periodicity.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Permission.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Permission.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Permission.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PermissionCriterion.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PermissionCriterion.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PermissionCriterion.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PermissionItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PermissionItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PermissionItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PersonName.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PersonName.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PersonName.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PharmaceuticalForm.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PharmaceuticalForm.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PharmaceuticalForm.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PharmaceuticalFormStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PharmaceuticalFormStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PharmaceuticalFormStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Place.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Place.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Place.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PlanOfAction.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PlanOfAction.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PlanOfAction.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Predicate.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Predicate.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Predicate.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Pricing.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Pricing.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Pricing.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PropertyStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PropertyStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PropertyStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PropertyTypeStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PropertyTypeStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PropertyTypeStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/PublicKey.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/PublicKey.js +0 -0
- /package/{dist/icc-api → icc-api}/model/PublicKey.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Quantity.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Quantity.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Quantity.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Receipt.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Receipt.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Receipt.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ReferralPeriod.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ReferralPeriod.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ReferralPeriod.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/RefreshTokenExpiredError.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/RefreshTokenExpiredError.js +0 -0
- /package/{dist/icc-api → icc-api}/model/RefreshTokenExpiredError.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/RegimenItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/RegimenItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/RegimenItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/RegistrationInformation.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/RegistrationInformation.js +0 -0
- /package/{dist/icc-api → icc-api}/model/RegistrationInformation.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/RegistrationSuccess.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/RegistrationSuccess.js +0 -0
- /package/{dist/icc-api → icc-api}/model/RegistrationSuccess.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Reimbursement.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Reimbursement.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Reimbursement.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ReimbursementCriterion.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ReimbursementCriterion.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ReimbursementCriterion.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Remote.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Remote.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Remote.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/RemoteAuthentication.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/RemoteAuthentication.js +0 -0
- /package/{dist/icc-api → icc-api}/model/RemoteAuthentication.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Renewal.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Renewal.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Renewal.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicateCommand.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicateCommand.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicateCommand.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Replication.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Replication.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Replication.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicationInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicationInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicationInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicationStats.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicationStats.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicationStats.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicatorDocument.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicatorDocument.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicatorDocument.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicatorResponse.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicatorResponse.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ReplicatorResponse.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ResultInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ResultInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ResultInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/RevisionInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/RevisionInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/RevisionInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Right.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Right.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Right.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/RouteOfAdministration.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/RouteOfAdministration.js +0 -0
- /package/{dist/icc-api → icc-api}/model/RouteOfAdministration.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SamText.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SamText.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SamText.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SamVersion.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SamVersion.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SamVersion.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SchoolingInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SchoolingInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SchoolingInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Section.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Section.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Section.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Service.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Service.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Service.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/ServiceLink.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/ServiceLink.js +0 -0
- /package/{dist/icc-api → icc-api}/model/ServiceLink.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SoftwareMedicalFileExport.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SoftwareMedicalFileExport.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SoftwareMedicalFileExport.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/StandardSubstance.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/StandardSubstance.js +0 -0
- /package/{dist/icc-api → icc-api}/model/StandardSubstance.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/StrengthRange.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/StrengthRange.js +0 -0
- /package/{dist/icc-api → icc-api}/model/StrengthRange.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/StructureElement.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/StructureElement.js +0 -0
- /package/{dist/icc-api → icc-api}/model/StructureElement.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SubContact.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SubContact.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SubContact.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Substance.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Substance.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Substance.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SubstanceStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SubstanceStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SubstanceStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Substanceproduct.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Substanceproduct.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Substanceproduct.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Suggest.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Suggest.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Suggest.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrContent.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrContent.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrContent.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrExportInfo.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrExportInfo.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrExportInfo.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrValidity.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrValidity.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SumehrValidity.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/SupplyProblem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/SupplyProblem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/SupplyProblem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Suspension.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Suspension.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Suspension.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Tag.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Tag.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Tag.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Tarification.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Tarification.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Tarification.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Telecom.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Telecom.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Telecom.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeSeries.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeSeries.js +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeSeries.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTable.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTable.js +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTable.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTableHour.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTableHour.js +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTableHour.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTableItem.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTableItem.js +0 -0
- /package/{dist/icc-api → icc-api}/model/TimeTableItem.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/TokenWithGroup.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/TokenWithGroup.js +0 -0
- /package/{dist/icc-api → icc-api}/model/TokenWithGroup.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/TypedValueObject.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/TypedValueObject.js +0 -0
- /package/{dist/icc-api → icc-api}/model/TypedValueObject.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Unit.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Unit.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Unit.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/User.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/User.js +0 -0
- /package/{dist/icc-api → icc-api}/model/User.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/UserAndHealthcareParty.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/UserAndHealthcareParty.js +0 -0
- /package/{dist/icc-api → icc-api}/model/UserAndHealthcareParty.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/UserGroup.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/UserGroup.js +0 -0
- /package/{dist/icc-api → icc-api}/model/UserGroup.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Valorisation.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Valorisation.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Valorisation.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Verse.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Verse.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Verse.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/VirtualForm.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/VirtualForm.js +0 -0
- /package/{dist/icc-api → icc-api}/model/VirtualForm.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/VirtualIngredient.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/VirtualIngredient.js +0 -0
- /package/{dist/icc-api → icc-api}/model/VirtualIngredient.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Vmp.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Vmp.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Vmp.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpComponent.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpComponent.js +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpComponent.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpGroup.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpGroup.js +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpGroup.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpGroupStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpGroupStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpGroupStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpStub.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpStub.js +0 -0
- /package/{dist/icc-api → icc-api}/model/VmpStub.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Vtm.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Vtm.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Vtm.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Wada.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Wada.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Wada.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSession.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSession.js +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSession.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSessionMaxIdleTime.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSessionMaxIdleTime.js +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSessionMaxIdleTime.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSessionMaxIdleTimeUnits.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSessionMaxIdleTimeUnits.js +0 -0
- /package/{dist/icc-api → icc-api}/model/WebSessionMaxIdleTimeUnits.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/Weekday.d.ts +0 -0
- /package/{dist/icc-api → icc-api}/model/Weekday.js +0 -0
- /package/{dist/icc-api → icc-api}/model/Weekday.js.map +0 -0
- /package/{dist/icc-api → icc-api}/model/models.js +0 -0
- /package/{dist/icc-api → icc-api}/model/models.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/AuthService.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/AuthService.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/AuthService.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/AuthenticationProvider.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/BasicAuthService.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/BasicAuthService.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/BasicAuthService.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/EnsembleAuthService.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/EnsembleAuthService.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/EnsembleAuthService.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/JwtAuthService.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/JwtAuthService.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/JwtAuthService.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/JwtBridgedAuthService.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/JwtBridgedAuthService.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/JwtBridgedAuthService.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/NoAuthService.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/NoAuthService.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/auth/NoAuthService.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/RSA.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/RSA.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/RSA.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/shamir.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/shamir.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/shamir.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/utils.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/utils.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/crypto/utils.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllCodesFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllCodesFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllCodesFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllDevicesFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllDevicesFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllDevicesFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllHealthcarePartiesFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllHealthcarePartiesFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllHealthcarePartiesFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllUsersFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllUsersFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/AllUsersFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeByRegionTypeLabelLanguageFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeByRegionTypeLabelLanguageFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeByRegionTypeLabelLanguageFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeIdsByTypeCodeVersionIntervalFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeIdsByTypeCodeVersionIntervalFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/CodeIdsByTypeCodeVersionIntervalFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ComplementFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ComplementFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ComplementFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ConstantFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ConstantFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ConstantFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyPatientTagCodeDateFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyPatientTagCodeDateFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyPatientTagCodeDateFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyTagCodeDateFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyTagCodeDateFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByHcPartyTagCodeDateFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByServiceIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByServiceIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ContactByServiceIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/DeviceByHcPartyFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/DeviceByHcPartyFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/DeviceByHcPartyFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/DeviceByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/DeviceByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/DeviceByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyIdentifiersFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyIdentifiersFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyIdentifiersFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartySecretForeignKeysFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartySecretForeignKeysFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartySecretForeignKeysFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyTagCodeFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyTagCodeFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByHcPartyTagCodeFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthElementByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthcarePartyByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthcarePartyByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthcarePartyByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthcarePartyByTagCodeFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthcarePartyByTagCodeFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/HealthcarePartyByTagCodeFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/IntersectionFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/IntersectionFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/IntersectionFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/InvoiceByHcPartyCodeDateFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/InvoiceByHcPartyCodeDateFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/InvoiceByHcPartyCodeDateFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskAfterDateFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskAfterDateFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskAfterDateFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByHcPartyAndIdentifiersFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByHcPartyAndIdentifiersFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByHcPartyAndIdentifiersFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByHcPartyAndTypeFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByHcPartyAndTypeFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByHcPartyAndTypeFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/MaintenanceTaskByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndActiveFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndActiveFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndActiveFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndAddressFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndAddressFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndAddressFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndExternalIdFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndExternalIdFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndExternalIdFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndIdentifiersFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndIdentifiersFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndIdentifiersFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndSsinFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndSsinFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndSsinFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndSsinsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndSsinsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyAndSsinsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyDateOfBirthBetweenFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyDateOfBirthBetweenFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyDateOfBirthBetweenFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyDateOfBirthFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyDateOfBirthFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyDateOfBirthFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyGenderEducationProfession.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyGenderEducationProfession.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyGenderEducationProfession.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyNameContainsFuzzyFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyNameContainsFuzzyFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyNameContainsFuzzyFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyNameFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyNameFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByHcPartyNameFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/PatientByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByContactsAndSubcontactsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByContactsAndSubcontactsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByContactsAndSubcontactsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyHealthElementIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyHealthElementIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyHealthElementIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyIdentifiersFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyIdentifiersFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyIdentifiersFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyTagCodeDateFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyTagCodeDateFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByHcPartyTagCodeDateFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceBySecretForeignKeys.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceBySecretForeignKeys.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/ServiceBySecretForeignKeys.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UnionFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UnionFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UnionFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UserByIdsFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UserByIdsFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UserByIdsFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UserByNameEmailPhoneFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UserByNameEmailPhoneFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UserByNameEmailPhoneFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UsersByPatientIdFilter.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UsersByPatientIdFilter.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/UsersByPatientIdFilter.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/filters.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/filters/filters.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-accesslog-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-bekmehr-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-bekmehr-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-calendar-item-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-classification-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-classification-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-classification-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-code-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-code-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-code-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-contact-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-data-owner-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-data-owner-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-data-owner-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-doctemplate-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-doctemplate-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-doctemplate-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-document-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-document-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-document-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-form-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-hcparty-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-hcparty-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-hcparty-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-helement-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-invoice-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-invoice-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-invoice-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-maintenance-task-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-message-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-message-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-message-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-patient-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-receipt-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-receipt-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-receipt-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-time-table-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-time-table-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-time-table-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-user-x-api.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-user-x-api.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/icc-user-x-api.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/index.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/index.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/index.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/codelng.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/codelng.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/codelng.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/contact.i18n.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/contact.i18n.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/contact.i18n.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/icd10.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/icd10.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/icd10.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/icpc2.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/icpc2.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/rsrc/icpc2.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/KeyStorageFacade.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/KeyStorageFacade.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/KeyStorageFacade.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/KeyStorageImpl.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/KeyStorageImpl.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/KeyStorageImpl.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/LocalStorageImpl.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/LocalStorageImpl.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/LocalStorageImpl.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/StorageFacade.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/StorageFacade.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/storage/StorageFacade.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/asn1-packer.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/asn1-packer.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/asn1-parser.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/asn1-parser.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/binary-utils.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/binary-utils.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/binary-utils.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/code-util.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/code-util.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/code-util.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/crypto-utils.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/crypto-utils.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/crypto-utils.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/error-reporting.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/error-reporting.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/error-reporting.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/formatting-util.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/formatting-util.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/formatting-util.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/functional-util.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/functional-util.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/functional-util.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/hcp-util.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/hcp-util.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/hcp-util.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/index.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/index.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/index.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/insurability-util.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/insurability-util.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/insurability-util.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/net-utils.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/net-utils.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/person-util.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/person-util.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/person-util.js.map +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/uuid-encoder.d.ts +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/uuid-encoder.js +0 -0
- /package/{dist/icc-x-api → icc-x-api}/utils/uuid-encoder.js.map +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/index.js.map → index.js.map} +0 -0
- /package/{dist/node-compat.d.ts → node-compat.d.ts} +0 -0
- /package/{dist/node-compat.js → node-compat.js} +0 -0
- /package/{dist/node-compat.js.map → node-compat.js.map} +0 -0
|
@@ -270,5 +270,5 @@ export * from './VmpStub';
|
|
|
270
270
|
export * from './Vtm';
|
|
271
271
|
export * from './Wada';
|
|
272
272
|
export * from './Weekday';
|
|
273
|
-
export type EncryptedEntity = AccessLog | Article | CalendarItem | Classification | Contact | Document | Form | HealthElement | Invoice | MaintenanceTask | Message | Patient | Receipt;
|
|
274
|
-
export type EncryptedParentEntity = Message | Patient;
|
|
273
|
+
export declare type EncryptedEntity = AccessLog | Article | CalendarItem | Classification | Contact | Document | Form | HealthElement | Invoice | MaintenanceTask | Message | Patient | Receipt;
|
|
274
|
+
export declare type EncryptedParentEntity = Message | Patient;
|
|
@@ -33,9 +33,6 @@ class EnsembleAuthenticationProvider {
|
|
|
33
33
|
}
|
|
34
34
|
exports.EnsembleAuthenticationProvider = EnsembleAuthenticationProvider;
|
|
35
35
|
class JwtAuthenticationProvider {
|
|
36
|
-
getIcureTokens() {
|
|
37
|
-
return Promise.resolve({ refreshToken: '', token: '' });
|
|
38
|
-
}
|
|
39
36
|
/**
|
|
40
37
|
* @internal
|
|
41
38
|
* @param authApi
|
|
@@ -48,19 +45,22 @@ class JwtAuthenticationProvider {
|
|
|
48
45
|
? new JwtAuthService_1.JwtAuthService(authApi, icureToken.token, icureToken.refreshToken)
|
|
49
46
|
: new JwtBridgedAuthService_1.JwtBridgedAuthService(authApi, username, password);
|
|
50
47
|
}
|
|
48
|
+
getIcureTokens() {
|
|
49
|
+
return Promise.resolve({ refreshToken: '', token: '' });
|
|
50
|
+
}
|
|
51
51
|
getAuthService() {
|
|
52
52
|
return this.jwtAuth;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
exports.JwtAuthenticationProvider = JwtAuthenticationProvider;
|
|
56
56
|
class BasicAuthenticationProvider {
|
|
57
|
-
getIcureTokens() {
|
|
58
|
-
return Promise.resolve();
|
|
59
|
-
}
|
|
60
57
|
constructor(username, password) {
|
|
61
58
|
this.username = username;
|
|
62
59
|
this.password = password;
|
|
63
60
|
}
|
|
61
|
+
getIcureTokens() {
|
|
62
|
+
return Promise.resolve();
|
|
63
|
+
}
|
|
64
64
|
getAuthService() {
|
|
65
65
|
return new BasicAuthService_1.BasicAuthService(this.username, this.password);
|
|
66
66
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthenticationProvider.js","sourceRoot":"","sources":["../../../icc-x-api/auth/AuthenticationProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { AuthService } from './AuthService'\nimport { IccAuthApi, OAuthThirdParty } from '../../icc-api'\nimport { EnsembleAuthService } from './EnsembleAuthService'\nimport { JwtBridgedAuthService } from './JwtBridgedAuthService'\nimport { NoAuthService } from './NoAuthService'\nimport { BasicAuthService } from './BasicAuthService'\nimport { JwtAuthService } from './JwtAuthService'\n\nexport interface AuthenticationProvider {\n getAuthService(): AuthService\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined>\n}\n\nexport class EnsembleAuthenticationProvider implements AuthenticationProvider {\n private readonly basicAuth: BasicAuthService\n private jwtAuth: JwtBridgedAuthService\n private suspensionEnd: Date | undefined\n\n constructor(\n private authApi: IccAuthApi,\n private username: string,\n private password: string,\n private jwtTimeout: number = 3600,\n thirdPartyTokens: { [thirdParty: string]: string } = {}\n ) {\n this.jwtAuth = new JwtBridgedAuthService(this.authApi, this.username, this.password, thirdPartyTokens)\n this.basicAuth = new BasicAuthService(this.username, this.password)\n }\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return this.jwtAuth.getIcureTokens()\n }\n\n getAuthService(): AuthService {\n // If the jwtAuth is in an error state, it instantiates a new one,\n // but it will not use it until the suspension ends\n if (this.jwtAuth.isInErrorState()) {\n console.warn('Error state in JWT, I will skip it')\n this.jwtAuth = new JwtBridgedAuthService(this.authApi, this.username, this.password)\n this.suspensionEnd = new Date(new Date().getTime() + this.jwtTimeout * 1000)\n }\n\n return !!this.suspensionEnd && new Date() <= this.suspensionEnd\n ? new EnsembleAuthService(null, new NoAuthService(), this.basicAuth)\n : new EnsembleAuthService(this.jwtAuth, new NoAuthService(), this.basicAuth)\n }\n}\n\nexport class JwtAuthenticationProvider implements AuthenticationProvider {\n getIcureTokens(): Promise<{ token: string; refreshToken: string }> {\n return Promise.resolve({ refreshToken: '', token: '' })\n }\n private readonly jwtAuth: AuthService\n\n /**\n * @internal\n * @param authApi\n * @param username\n * @param password\n * @param icureToken\n */\n constructor(authApi: IccAuthApi, username?: string, password?: string, icureToken?: { token: string; refreshToken: string }) {\n this.jwtAuth = icureToken\n ? new JwtAuthService(authApi, icureToken.token, icureToken.refreshToken)\n : new JwtBridgedAuthService(authApi, username!, password!)\n }\n\n getAuthService(): AuthService {\n return this.jwtAuth\n }\n}\n\nexport class BasicAuthenticationProvider implements AuthenticationProvider {\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return Promise.resolve() as Promise<undefined>\n }\n constructor(private username: string, private password: string) {}\n\n getAuthService(): AuthService {\n return new BasicAuthService(this.username, this.password)\n }\n}\n\nexport class NoAuthenticationProvider implements AuthenticationProvider {\n getAuthService(): AuthService {\n return new NoAuthService()\n }\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return Promise.resolve() as Promise<undefined>\n }\n}\n"]}
|
|
@@ -12,9 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.AES = exports.AESUtils = void 0;
|
|
13
13
|
const utils_1 = require("../utils");
|
|
14
14
|
class AESUtils {
|
|
15
|
-
set debug(value) {
|
|
16
|
-
this._debug = value;
|
|
17
|
-
}
|
|
18
15
|
constructor(crypto = typeof window !== 'undefined' ? window.crypto : typeof self !== 'undefined' ? self.crypto : {}) {
|
|
19
16
|
/********* AES Config **********/
|
|
20
17
|
this.ivLength = 16;
|
|
@@ -23,9 +20,13 @@ class AESUtils {
|
|
|
23
20
|
name: 'AES-CBC',
|
|
24
21
|
length: 256,
|
|
25
22
|
};
|
|
23
|
+
this.aesImportParams = { name: this.aesAlgorithmEncryptName };
|
|
26
24
|
this._debug = false;
|
|
27
25
|
this.crypto = crypto;
|
|
28
26
|
}
|
|
27
|
+
set debug(value) {
|
|
28
|
+
this._debug = value;
|
|
29
|
+
}
|
|
29
30
|
encrypt(cryptoKey, plainData, rawKey = '<NA>') {
|
|
30
31
|
return new Promise((resolve, reject) => {
|
|
31
32
|
if (plainData instanceof Uint8Array) {
|
|
@@ -137,7 +138,15 @@ class AESUtils {
|
|
|
137
138
|
return new Promise((resolve, reject) => {
|
|
138
139
|
const extractable = true;
|
|
139
140
|
const keyUsages = ['decrypt', 'encrypt'];
|
|
140
|
-
return this.crypto.subtle
|
|
141
|
+
return this.crypto.subtle
|
|
142
|
+
.importKey(format, aesKey, this.aesImportParams, extractable, keyUsages)
|
|
143
|
+
.catch((err) => {
|
|
144
|
+
if (format == 'raw' && (aesKey instanceof ArrayBuffer || ArrayBuffer.isView(aesKey))) {
|
|
145
|
+
console.warn(`Import of key ${(0, utils_1.ua2hex)(aesKey)} failed`);
|
|
146
|
+
}
|
|
147
|
+
throw err;
|
|
148
|
+
})
|
|
149
|
+
.then(resolve, reject);
|
|
141
150
|
});
|
|
142
151
|
}
|
|
143
152
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AES.js","sourceRoot":"","sources":["../../../icc-x-api/crypto/AES.ts"],"names":[],"mappings":"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","sourcesContent":["import { appendBuffer, ua2hex } from '../utils'\n\nexport class AESUtils {\n /********* AES Config **********/\n ivLength = 16\n aesAlgorithmEncryptName = 'AES-CBC'\n\n aesKeyGenParams: AesKeyGenParams = {\n name: 'AES-CBC',\n length: 256,\n }\n private aesImportParams: AlgorithmIdentifier = { name: this.aesAlgorithmEncryptName }\n private crypto: Crypto\n private _debug: boolean = false\n\n set debug(value: boolean) {\n this._debug = value\n }\n\n constructor(crypto: Crypto = typeof window !== 'undefined' ? window.crypto : typeof self !== 'undefined' ? self.crypto : ({} as Crypto)) {\n this.crypto = crypto\n }\n\n encrypt(cryptoKey: CryptoKey, plainData: ArrayBuffer | Uint8Array, rawKey = '<NA>'): Promise<ArrayBuffer> {\n return new Promise((resolve: (value: ArrayBuffer) => any, reject: (reason: any) => any) => {\n if (plainData instanceof Uint8Array) {\n const buffer = plainData.buffer\n plainData = (buffer.byteLength > plainData.byteLength ? buffer.slice(0, plainData.byteLength) : buffer) as ArrayBuffer\n }\n const aesAlgorithmEncrypt = {\n name: this.aesAlgorithmEncryptName,\n iv: this.generateIV(this.ivLength),\n }\n this._debug && console.log(`encrypt ${ua2hex(plainData)} with ${rawKey}`)\n this.crypto.subtle\n .encrypt(\n {\n ...aesAlgorithmEncrypt,\n } /* some ill behaved implementations change the values in place */,\n cryptoKey,\n plainData\n )\n .then(\n (cipherData) => {\n this._debug && console.log(`cipherData: ${ua2hex(cipherData)}`)\n return resolve(appendBuffer(aesAlgorithmEncrypt.iv.buffer as ArrayBuffer, cipherData))\n },\n (err) => reject('AES encryption failed: ' + err)\n )\n })\n }\n\n /**\n *\n * @param cryptoKey (CryptoKey)\n * @param encryptedData (ArrayBuffer)\n * @param rawKey\n * @returns {Promise} will be ArrayBuffer\n */\n decrypt(cryptoKey: CryptoKey, encryptedData: ArrayBuffer | Uint8Array, rawKey = '<NA>'): Promise<ArrayBuffer> {\n return new Promise((resolve: (value: ArrayBuffer) => any, reject: (reason: any) => any) => {\n if (!cryptoKey) {\n return reject('No crypto key provided for decryption')\n }\n const encryptedDataUint8 = encryptedData instanceof ArrayBuffer ? new Uint8Array(encryptedData) : encryptedData\n const aesAlgorithmEncrypt = {\n name: this.aesAlgorithmEncryptName,\n iv: encryptedDataUint8.subarray(0, this.ivLength),\n\n /*\n * IF THIS BIT OF CODE PRODUCES A DOMEXCEPTION CODE 0 ERROR, IT MIGHT BE RELATED TO THIS:\n *\n * NOTOK:\n * if (!hcparty.hcPartyKeys && !hcparty.hcPartyKeys[hcpartyId] && hcparty.hcPartyKeys[hcpartyId].length !== 2) {\n * throw 'No hcPartyKey for this Healthcare party(' + hcpartyId + ').';\n * }\n * var delegateHcPartyKey = hcparty.hcPartyKeys[hcpartyId][1];\n *\n * SHOULD BE:\n * var delegatorId = patient.delegations[hcpartyId][0].owner;\n * if (!hcparty.hcPartyKeys && !hcparty.hcPartyKeys[delegatorId] && hcparty.hcPartyKeys[delegatorId].length !== 2) {\n * throw 'No hcPartyKey for this Healthcare party(' + delegatorId + ').';\n * }\n * var delegateHcPartyKey = hcparty.hcPartyKeys[delegatorId][1];\n */\n }\n this._debug && console.log(`decrypt ${ua2hex(encryptedData)} with ${rawKey}`)\n this.crypto.subtle.decrypt(aesAlgorithmEncrypt, cryptoKey, encryptedDataUint8.subarray(this.ivLength, encryptedDataUint8.length)).then(\n (decipheredData) => {\n this._debug && console.log(`decipheredData: ${ua2hex(decipheredData)}`)\n resolve(decipheredData)\n },\n (err) => {\n reject('AES decryption failed: ' + err)\n }\n )\n })\n }\n\n async decryptSome(cryptoKeys: CryptoKey[], uint8Array: Uint8Array): Promise<ArrayBuffer> {\n try {\n return this.decrypt(cryptoKeys[0], uint8Array)\n } catch (e) {\n if (cryptoKeys.length > 1) {\n return this.decryptSome(cryptoKeys.slice(1), uint8Array)\n } else {\n throw e\n }\n }\n }\n\n // generate an AES key\n // noinspection JSUnusedGlobalSymbols\n /**\n *\n * @param toHex boolean, if true, it returns hex String\n * @returns {Promise} either Hex string or CryptoKey\n */\n generateCryptoKey(toHex: false): Promise<CryptoKey>\n generateCryptoKey(toHex: true): Promise<string>\n generateCryptoKey(toHex: boolean): Promise<string | CryptoKey> {\n return new Promise((resolve: (value: CryptoKey | string) => any, reject: (reason: any) => any) => {\n const extractable = true\n const keyUsages: KeyUsage[] = ['decrypt', 'encrypt']\n const cryptoKeyPromise: Promise<CryptoKey> = this.crypto.subtle.generateKey(this.aesKeyGenParams, extractable, keyUsages) as Promise<CryptoKey>\n return toHex === undefined || !toHex\n ? cryptoKeyPromise.then(resolve, reject)\n : cryptoKeyPromise.then((k) => this.exportKey(k, 'raw'), reject).then((raw) => resolve(ua2hex(raw)), reject)\n })\n }\n\n // noinspection JSMethodCanBeStatic\n generateIV(ivByteLength: number): Uint8Array {\n return new Uint8Array(this.crypto.getRandomValues(new Uint8Array(ivByteLength)))\n }\n\n /**\n * This function return a promise which will be the key Format will be either 'raw' or 'jwk'.\n * JWK: Json Web key (ref. http://tools.ietf.org/html/draft-ietf-jose-json-web-key-11)\n *\n * @param cryptoKey CryptoKey\n * @param format will be 'raw' or 'jwk'\n * @returns {Promise} will the AES Key\n */\n exportKey(cryptoKey: CryptoKey, format: 'raw'): Promise<ArrayBuffer>\n exportKey(cryptoKey: CryptoKey, format: 'jwk'): Promise<JsonWebKey>\n exportKey(cryptoKey: CryptoKey, format: 'jwk' | 'raw'): Promise<ArrayBuffer | JsonWebKey> {\n return new Promise((resolve: (value: ArrayBuffer | JsonWebKey) => any, reject: (reason: any) => any) => {\n return this.crypto.subtle.exportKey(format as any, cryptoKey).then(resolve, reject)\n })\n }\n\n /**\n * the ability to import a key that have already been created elsewhere, for use within the web\n * application that is invoking the import function, for use within the importing web application's\n * origin. This necessiates an interoperable key format, such as JSON Web Key [JWK] which may be\n * represented as octets.\n *\n * https://chromium.googlesource.com/chromium/blink.git/+/6b902997e3ca0384c8fa6fe56f79ecd7589d3ca6/LayoutTests/crypto/resources/common.js\n *\n * @param format 'raw' or 'jwk'\n * @param aesKey\n * @returns {*}\n */\n importKey(format: 'jwk' | 'raw', aesKey: JsonWebKey | ArrayBuffer | Uint8Array): Promise<CryptoKey> {\n return new Promise((resolve: (value: CryptoKey) => any, reject: (reason: any) => any) => {\n const extractable = true\n const keyUsages: KeyUsage[] = ['decrypt', 'encrypt']\n return this.crypto.subtle\n .importKey(format as any, aesKey as any, this.aesImportParams, extractable, keyUsages)\n .catch((err) => {\n if (format == 'raw' && (aesKey instanceof ArrayBuffer || ArrayBuffer.isView(aesKey))) {\n console.warn(`Import of key ${ua2hex(aesKey)} failed`)\n }\n throw err\n })\n .then(resolve, reject)\n })\n }\n}\n\nexport const AES = new AESUtils()\n"]}
|
|
@@ -57,7 +57,7 @@ export * from './UserByIdsFilter';
|
|
|
57
57
|
export declare class Filter {
|
|
58
58
|
static patient(): PatientFilterBuilder;
|
|
59
59
|
}
|
|
60
|
-
export type AbstractFilter<T> = T extends Patient ? AbstractFilterPatient | ConstantFilter<Patient> | IntersectionFilter<Patient> | UnionFilter<Patient> | ComplementFilter<Patient> : T extends Contact ? AbstractFilterContact | ConstantFilter<T> | IntersectionFilter<T> | UnionFilter<T> | ComplementFilter<T> : T extends Service ? AbstractFilterService | ConstantFilter<T> | IntersectionFilter<T> | UnionFilter<T> | ComplementFilter<T> : ConstantFilter<T> | IntersectionFilter<T> | UnionFilter<T> | ComplementFilter<T>;
|
|
60
|
+
export declare type AbstractFilter<T> = T extends Patient ? AbstractFilterPatient | ConstantFilter<Patient> | IntersectionFilter<Patient> | UnionFilter<Patient> | ComplementFilter<Patient> : T extends Contact ? AbstractFilterContact | ConstantFilter<T> | IntersectionFilter<T> | UnionFilter<T> | ComplementFilter<T> : T extends Service ? AbstractFilterService | ConstantFilter<T> | IntersectionFilter<T> | UnionFilter<T> | ComplementFilter<T> : ConstantFilter<T> | IntersectionFilter<T> | UnionFilter<T> | ComplementFilter<T>;
|
|
61
61
|
declare abstract class FilterBuilder<T> {
|
|
62
62
|
filterProvider?: () => AbstractFilter<T>;
|
|
63
63
|
composer: (thisFilterBuilder: FilterBuilder<T>, otherFilterBuilder: FilterBuilder<T>) => FilterBuilder<T>;
|
|
@@ -80,9 +80,9 @@ class IccAccesslogXApi extends icc_api_1.IccAccesslogApi {
|
|
|
80
80
|
return this.crypto
|
|
81
81
|
.extractDelegationsSFKs(patient, hcpartyId)
|
|
82
82
|
.then((secretForeignKeys) => secretForeignKeys && secretForeignKeys.extractedKeys && secretForeignKeys.extractedKeys.length > 0
|
|
83
|
-
?
|
|
84
|
-
this.findByHCPartyPatientSecretFKeysArray(secretForeignKeys.hcpartyId, _.uniq(secretForeignKeys.extractedKeys))
|
|
85
|
-
this.findByHCPartyPatientSecretFKeys(secretForeignKeys.hcpartyId, _.uniq(secretForeignKeys.extractedKeys).join(','))
|
|
83
|
+
? usingPost
|
|
84
|
+
? this.findByHCPartyPatientSecretFKeysArray(secretForeignKeys.hcpartyId, _.uniq(secretForeignKeys.extractedKeys))
|
|
85
|
+
: this.findByHCPartyPatientSecretFKeys(secretForeignKeys.hcpartyId, _.uniq(secretForeignKeys.extractedKeys).join(','))
|
|
86
86
|
: Promise.resolve([]));
|
|
87
87
|
}
|
|
88
88
|
findByHCPartyPatientSecretFKeys(hcPartyId, secretFKeys) {
|
|
@@ -98,6 +98,7 @@ class IccAccesslogXApi extends icc_api_1.IccAccesslogApi {
|
|
|
98
98
|
? this.crypto
|
|
99
99
|
.extractKeysFromDelegationsForHcpHierarchy(hcpId, accessLog.id, _.size(accessLog.encryptionKeys) ? accessLog.encryptionKeys : accessLog.delegations)
|
|
100
100
|
.then(({ extractedKeys: sfks }) => {
|
|
101
|
+
sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks);
|
|
101
102
|
if (!sfks || !sfks.length) {
|
|
102
103
|
//console.log("Cannot decrypt contact", ctc.id)
|
|
103
104
|
return Promise.resolve(accessLog);
|
|
@@ -136,9 +137,11 @@ class IccAccesslogXApi extends icc_api_1.IccAccesslogApi {
|
|
|
136
137
|
: this.initEncryptionKeys(user, accessLog))
|
|
137
138
|
.then((accessLog) => this.crypto.extractKeysFromDelegationsForHcpHierarchy(this.dataOwnerApi.getDataOwnerOf(user), accessLog.id, accessLog.encryptionKeys))
|
|
138
139
|
.then((eks) => __awaiter(this, void 0, void 0, function* () {
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
const keys = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(eks.extractedKeys);
|
|
141
|
+
if (!keys.length)
|
|
142
|
+
throw new Error('No valid keys found for access log encryption');
|
|
143
|
+
const key = yield this.crypto.AES.importKey('raw', (0, utils_1.hex2ua)(keys[0]));
|
|
144
|
+
return (0, utils_1.crypt)(accessLog, (obj) => this.crypto.AES.encrypt(key, (0, utils_1.utf8_2ua)(JSON.stringify(obj)), keys[0]), this.cryptedKeys);
|
|
142
145
|
}))));
|
|
143
146
|
}
|
|
144
147
|
createAccessLog(body) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icc-accesslog-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-accesslog-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccAccesslogApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as models from '../icc-api/model/models'\nimport { AccessLog, PaginatedListAccessLog } from '../icc-api/model/models'\n\nimport * as _ from 'lodash'\nimport { crypt, decrypt, hex2ua, ua2utf8, utf8_2ua } from './utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\nimport { AuthenticationProvider, NoAuthenticationProvider } from './auth/AuthenticationProvider'\n\nexport interface AccessLogWithPatientId extends AccessLog {\n patientId: string\n}\n\nexport class IccAccesslogXApi extends IccAccesslogApi {\n crypto: IccCryptoXApi\n cryptedKeys = ['detail', 'objectId']\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n dataOwnerApi: IccDataOwnerXApi,\n authenticationProvider: AuthenticationProvider = new NoAuthenticationProvider(),\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.crypto = crypto\n this.dataOwnerApi = dataOwnerApi\n }\n\n newInstance(user: models.User, patient: models.Patient, h: any) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n\n const accessslog = _.assign(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.AccessLog',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n date: +new Date(),\n responsible: dataOwnerId,\n author: user.id,\n codes: [],\n tags: [],\n user: user.id,\n patientId: patient.id,\n accessType: 'USER_ACCESS',\n },\n h || {}\n )\n\n return this.crypto.extractDelegationsSFKs(patient, dataOwnerId).then(async (secretForeignKeys) => {\n const dels = await this.crypto.initObjectDelegations(accessslog, patient, dataOwnerId!, secretForeignKeys.extractedKeys[0])\n const eks = await this.crypto.initEncryptionKeys(accessslog, dataOwnerId!)\n\n _.extend(accessslog, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(accessslog)\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then(() =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, accessslog, dataOwnerId!, delegateId, dels.secretId, eks.secretId).catch((e) => {\n console.log(e)\n return accessslog\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n /**\n * 1. Check whether there is a delegation with 'hcpartyId' or not.\n * 2. 'fetchHcParty[hcpartyId][1]': is encrypted AES exchange key by RSA public key of him.\n * 3. Obtain the AES exchange key, by decrypting the previous step value with hcparty private key\n * 3.1. KeyPair should be fetch from cache (in jwk)\n * 3.2. if it doesn't exist in the cache, it has to be loaded from Browser Local store, and then import it to WebCrypto\n * 4. Obtain the array of delegations which are delegated to his ID (hcpartyId) in this patient\n * 5. Decrypt and collect all keys (secretForeignKeys) within delegations of previous step (with obtained AES key of step 4)\n * 6. Do the REST call to get all helements with (allSecretForeignKeysDelimitedByComa, hcpartyId)\n *\n * After these painful steps, you have the helements of the patient.\n *\n * @param hcpartyId\n * @param patient (Promise)\n * @param keepObsoleteVersions\n * @param usingPost\n */\n\n findBy(hcpartyId: string, patient: models.Patient, usingPost: boolean = false) {\n return this.crypto\n .extractDelegationsSFKs(patient, hcpartyId)\n .then((secretForeignKeys) =>\n secretForeignKeys && secretForeignKeys.extractedKeys && secretForeignKeys.extractedKeys.length > 0\n ? usingPost\n ? this.findByHCPartyPatientSecretFKeysArray(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys))\n : this.findByHCPartyPatientSecretFKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n : Promise.resolve([])\n )\n }\n\n findByHCPartyPatientSecretFKeys(hcPartyId: string, secretFKeys: string): Promise<Array<AccessLog> | any> {\n return super.findAccessLogsByHCPartyPatientForeignKeys(hcPartyId, secretFKeys).then((accesslogs) => this.decrypt(hcPartyId, accesslogs))\n }\n\n findByHCPartyPatientSecretFKeysArray(hcPartyId: string, secretFKeys: string[]): Promise<Array<AccessLog> | any> {\n return super.findAccessLogsByHCPartyPatientForeignKeysUsingPost(hcPartyId, secretFKeys).then((accesslogs) => this.decrypt(hcPartyId, accesslogs))\n }\n\n decrypt(hcpId: string, accessLogs: Array<models.AccessLog>): Promise<Array<models.AccessLog>> {\n //First check that we have no dangling delegation\n\n return Promise.all(\n accessLogs.map((accessLog) => {\n return accessLog.encryptedSelf\n ? this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(\n hcpId!,\n accessLog.id!,\n _.size(accessLog.encryptionKeys) ? accessLog.encryptionKeys! : accessLog.delegations!\n )\n .then(({ extractedKeys: sfks }) => {\n sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks)\n if (!sfks || !sfks.length) {\n //console.log(\"Cannot decrypt contact\", ctc.id)\n return Promise.resolve(accessLog)\n }\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, ''))).then((key) =>\n decrypt(accessLog, (ec) =>\n this.crypto.AES.decrypt(key, ec).then((dec) => {\n const jsonContent = dec && ua2utf8(dec)\n try {\n return JSON.parse(jsonContent)\n } catch (e) {\n console.log('Cannot parse access log', accessLog.id, jsonContent || 'Invalid content')\n return {}\n }\n })\n )\n )\n })\n : Promise.resolve(accessLog)\n })\n )\n }\n\n initEncryptionKeys(user: models.User, accessLog: models.AccessLog): Promise<models.AccessLog> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n\n return this.crypto.initEncryptionKeys(accessLog, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(accessLog, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((accessLog) =>\n this.crypto.appendEncryptionKeys(accessLog, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n encrypt(user: models.User, accessLogs: Array<models.AccessLog>): Promise<Array<models.AccessLog>> {\n return Promise.all(\n accessLogs.map((accessLog) =>\n (accessLog.encryptionKeys && Object.keys(accessLog.encryptionKeys).length\n ? Promise.resolve(accessLog)\n : this.initEncryptionKeys(user, accessLog)\n )\n .then((accessLog: AccessLog) =>\n this.crypto.extractKeysFromDelegationsForHcpHierarchy(this.dataOwnerApi.getDataOwnerOf(user)!, accessLog.id!, accessLog.encryptionKeys!)\n )\n .then(async (eks: { extractedKeys: Array<string>; hcpartyId: string }) => {\n const keys = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(eks.extractedKeys)\n if (!keys.length) throw new Error('No valid keys found for access log encryption')\n const key = await this.crypto.AES.importKey('raw', hex2ua(keys[0]))\n return crypt(\n accessLog,\n (obj: { [key: string]: string }) => this.crypto.AES.encrypt(key, utf8_2ua(JSON.stringify(obj)), keys[0]),\n this.cryptedKeys\n )\n })\n )\n )\n }\n\n createAccessLog(body?: models.AccessLog): never {\n throw new Error('Cannot call a method that returns access logs without providing a user for de/encryption')\n }\n\n createAccessLogWithUser(user: models.User, body?: models.AccessLog): Promise<models.AccessLog | any> {\n return body\n ? this.encrypt(user, [_.cloneDeep(body)])\n .then((als) => super.createAccessLog(als[0]))\n .then((accessLog) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [accessLog]))\n .then((als) => als[0])\n : Promise.resolve()\n }\n\n getAccessLog(accessLogId: string): never {\n throw new Error('Cannot call a method that returns access logs without providing a user for de/encryption')\n }\n\n getAccessLogWithUser(user: models.User, accessLogId: string): Promise<models.AccessLog | any> {\n return super\n .getAccessLog(accessLogId)\n .then((accessLog) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [accessLog]))\n .then((als) => als[0])\n }\n\n listAccessLogs(fromEpoch?: number, toEpoch?: number, startKey?: number, startDocumentId?: string, limit?: number): never {\n throw new Error('Cannot call a method that returns access logs without providing a user for de/encryption')\n }\n\n listAccessLogsWithUser(\n user: models.User,\n fromEpoch?: number,\n toEpoch?: number,\n startKey?: number,\n startDocumentId?: string,\n limit?: number,\n descending?: boolean\n ): Promise<PaginatedListAccessLog> {\n return super\n .listAccessLogs(fromEpoch, toEpoch, startKey, startDocumentId, limit, descending)\n .then((accessLog) =>\n this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, accessLog.rows!).then((dr) => Object.assign(accessLog, { rows: dr }))\n )\n }\n\n modifyAccessLog(body?: models.AccessLog): never {\n throw new Error('Cannot call a method that returns access logs without providing a user for de/encryption')\n }\n\n async modifyAccessLogWithUser(user: models.User, body?: models.AccessLog): Promise<models.AccessLog | null> {\n return body\n ? this.encrypt(user, [_.cloneDeep(body)])\n .then((als) => super.modifyAccessLog(als[0]))\n .then((accessLog) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [accessLog]))\n .then((als) => als[0])\n : null\n }\n\n findByUserAfterDate(\n userId: string,\n accessType?: string,\n startDate?: number,\n startKey?: string,\n startDocumentId?: string,\n limit?: number,\n descending?: boolean\n ): never {\n throw new Error('Cannot call a method that returns access logs without providing a user for de/encryption')\n }\n\n findByUserAfterDateWithUser(\n user: models.User,\n userId: string,\n accessType?: string,\n startDate?: number,\n startKey?: string,\n startDocumentId?: string,\n limit?: number,\n descending?: boolean\n ): Promise<models.AccessLog | any> {\n return super\n .findByUserAfterDate(userId, accessType, startDate, startKey, startDocumentId, limit, descending)\n .then((accessLog) =>\n this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, accessLog.rows!).then((dr) => Object.assign(accessLog, { rows: dr }))\n )\n }\n\n async findLatestAccessLogsOfPatientsWithUser(user: models.User, userId: string, limit = 100, startDate?: number): Promise<models.AccessLog[]> {\n let foundAccessLogs: AccessLogWithPatientId[] = [],\n nextKeyPair: models.PaginatedDocumentKeyIdPairObject | undefined = undefined\n const numberRequestedAccessLogs = 100\n const MAX_WHILE_ITERATIONS = 5\n\n for (let currentIteration = 0; foundAccessLogs.length < limit && currentIteration < MAX_WHILE_ITERATIONS; currentIteration++) {\n const currentLimit = limit - foundAccessLogs.length\n const { rows: logs, nextKeyPair: newNextKeyPair }: models.PaginatedListAccessLog = (await super.findByUserAfterDate(\n userId,\n 'USER_ACCESS',\n startDate,\n nextKeyPair && JSON.stringify(nextKeyPair.startKey!),\n nextKeyPair && nextKeyPair.startKeyDocId!,\n numberRequestedAccessLogs,\n true\n )) as models.PaginatedListAccessLog\n const logsWithPatientId: AccessLogWithPatientId[] = await this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, logs as AccessLog[]).then(\n (decryptedLogs) =>\n Promise.all(\n _.map(decryptedLogs, (decryptedLog) => {\n return this.crypto.extractCryptedFKs(decryptedLog, user.healthcarePartyId as string).then(\n (keys) =>\n ({\n ...decryptedLog,\n patientId: _.head(keys.extractedKeys),\n } as AccessLogWithPatientId)\n )\n })\n )\n )\n\n const uniqueLogs: AccessLogWithPatientId[] = _.chain(logsWithPatientId)\n .reject((log) => _.some(foundAccessLogs, ({ patientId }) => patientId === log.patientId))\n .uniqBy((log: AccessLogWithPatientId) => log.patientId)\n .value()\n .slice(0, currentLimit)\n\n foundAccessLogs = [...foundAccessLogs, ...uniqueLogs]\n\n if ((logs || []).length < numberRequestedAccessLogs) {\n break\n } else if (newNextKeyPair) {\n nextKeyPair = newNextKeyPair\n } else {\n break\n }\n }\n\n return foundAccessLogs\n }\n}\n"]}
|
|
@@ -5,7 +5,7 @@ import { IccDocumentXApi } from './icc-document-x-api';
|
|
|
5
5
|
import { IccHelementXApi } from './icc-helement-x-api';
|
|
6
6
|
import { Contact, Document, HealthElement, Service } from '../icc-api/model/models';
|
|
7
7
|
import { AuthenticationProvider } from './auth/AuthenticationProvider';
|
|
8
|
-
export type Patcher = ContactPatcher | HealthElementPatcher | DocumentPatcher | ServicePatcher;
|
|
8
|
+
export declare type Patcher = ContactPatcher | HealthElementPatcher | DocumentPatcher | ServicePatcher;
|
|
9
9
|
export interface ContactPatcher {
|
|
10
10
|
type: 'ContactDto';
|
|
11
11
|
patch: (contacts: Contact[]) => Promise<Contact[]>;
|
|
@@ -206,7 +206,12 @@ class IccCalendarItemXApi extends icc_api_1.IccCalendarItemApi {
|
|
|
206
206
|
? Promise.resolve(calendarItem)
|
|
207
207
|
: this.initEncryptionKeys(user, calendarItem))
|
|
208
208
|
.then((calendarItem) => this.crypto.extractKeysFromDelegationsForHcpHierarchy(this.dataOwnerApi.getDataOwnerOf(user), calendarItem.id, calendarItem.encryptionKeys))
|
|
209
|
-
.then((eks) =>
|
|
209
|
+
.then((eks) => {
|
|
210
|
+
const keys = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(eks.extractedKeys);
|
|
211
|
+
if (!keys.length)
|
|
212
|
+
throw new Error('No valid keys found for calendar item encryption');
|
|
213
|
+
return this.crypto.AES.importKey('raw', (0, utils_1.hex2ua)(keys[0]));
|
|
214
|
+
})
|
|
210
215
|
.then((key) => (0, utils_1.crypt)(calendarItem, (obj) => this.crypto.AES.encrypt(key, (0, utils_1.utf8_2ua)(JSON.stringify(obj))), this.encryptedKeys))));
|
|
211
216
|
}
|
|
212
217
|
decrypt(hcpId, calendarItems) {
|
|
@@ -216,10 +221,11 @@ class IccCalendarItemXApi extends icc_api_1.IccCalendarItemApi {
|
|
|
216
221
|
? this.crypto
|
|
217
222
|
.extractKeysFromDelegationsForHcpHierarchy(hcpId, calendarItem.id, _.size(calendarItem.encryptionKeys) ? calendarItem.encryptionKeys : calendarItem.delegations)
|
|
218
223
|
.then(({ extractedKeys: sfks }) => {
|
|
224
|
+
sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks);
|
|
219
225
|
if (!sfks || !sfks.length) {
|
|
220
226
|
return Promise.resolve(calendarItem);
|
|
221
227
|
}
|
|
222
|
-
return this.crypto.AES.importKey('raw', (0, utils_1.hex2ua)(sfks[0]
|
|
228
|
+
return this.crypto.AES.importKey('raw', (0, utils_1.hex2ua)(sfks[0])).then((key) => (0, utils_1.decrypt)(calendarItem, (ec) => this.crypto.AES.decrypt(key, ec)
|
|
223
229
|
.then((dec) => {
|
|
224
230
|
const jsonContent = dec && (0, utils_1.ua2utf8)(dec);
|
|
225
231
|
try {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icc-calendar-item-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-calendar-item-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import * as i18n from './rsrc/contact.i18n'\n\nimport * as _ from 'lodash'\nimport * as models from '../icc-api/model/models'\nimport { CalendarItem, PaginatedListCalendarItem, PaginatedListContact, User } from '../icc-api/model/models'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\nimport { IccCalendarItemApi } from '../icc-api'\nimport { crypt, decrypt, hex2ua, ua2utf8, utf8_2ua } from './utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\nimport { AuthenticationProvider, NoAuthenticationProvider } from './auth/AuthenticationProvider'\n\nexport class IccCalendarItemXApi extends IccCalendarItemApi {\n i18n: any = i18n\n crypto: IccCryptoXApi\n dataOwnerApi: IccDataOwnerXApi\n encryptedKeys = ['details', 'title', 'patientId']\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n dataOwnerApi: IccDataOwnerXApi,\n encryptedKeys: Array<string> = ['details', 'title', 'patientId'],\n authenticationProvider: AuthenticationProvider = new NoAuthenticationProvider(),\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.crypto = crypto\n this.dataOwnerApi = dataOwnerApi\n this.encryptedKeys = encryptedKeys\n }\n\n newInstance(user: User, ci: CalendarItem, delegates: string[] = []) {\n return this.newInstancePatient(user, null, ci, delegates)\n }\n\n newInstancePatient(user: models.User, patient: models.Patient | null, ci: any, delegates: string[] = []): Promise<models.CalendarItem> {\n const calendarItem = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.CalendarItem',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n ci || {}\n )\n\n return this.initDelegationsAndEncryptionKeys(user, patient, calendarItem, delegates)\n }\n\n initDelegationsAndEncryptionKeys(\n user: models.User,\n patient: models.Patient | null,\n calendarItem: models.CalendarItem,\n delegates: string[] = []\n ): Promise<models.CalendarItem> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n\n return this.crypto.extractDelegationsSFKs(patient, dataOwnerId!).then(async (secretForeignKeys) => {\n const sfk = secretForeignKeys.extractedKeys[0]\n if (!!patient && !sfk) {\n await this.crypto.reportError('Get sfk for CalendarItem creation', [patient], dataOwnerId!)\n throw new Error(\"Could not find secret foreign key for patient '\" + patient.id + \"'\")\n }\n const dels = await this.crypto.initObjectDelegations(calendarItem, patient, dataOwnerId!, sfk)\n const eks = await this.crypto.initEncryptionKeys(calendarItem, dataOwnerId!)\n\n _.extend(calendarItem, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(calendarItem)\n _.uniq(\n delegates.concat(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : [])\n ).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, contact, dataOwnerId!, delegateId, dels.secretId, eks.secretId)\n ))\n )\n return promise\n })\n }\n\n findBy(hcpartyId: string, patient: models.Patient, usingPost: boolean = false) {\n return this.crypto.extractDelegationsSFKs(patient, hcpartyId).then((secretForeignKeys) => {\n return secretForeignKeys && secretForeignKeys.extractedKeys && secretForeignKeys.extractedKeys.length > 0\n ? usingPost\n ? this.findByHCPartyPatientSecretFKeysArray(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys))\n : this.findByHCPartyPatientSecretFKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n : Promise.resolve([])\n })\n }\n\n findByHCPartyPatientSecretFKeys(hcPartyId: string, secretFKeys: string): Promise<Array<models.CalendarItem> | any> {\n return super.findCalendarItemsByHCPartyPatientForeignKeys(hcPartyId, secretFKeys).then((calendarItems) => this.decrypt(hcPartyId, calendarItems))\n }\n\n findByHCPartyPatientSecretFKeysArray(hcPartyId: string, secretFKeys: string[]): Promise<Array<models.CalendarItem> | any> {\n return super\n .findCalendarItemsByHCPartyPatientForeignKeysUsingPost(hcPartyId, secretFKeys)\n .then((calendarItems) => this.decrypt(hcPartyId, calendarItems))\n }\n\n findCalendarItemsByHCPartyPatientForeignKeysPaginated(\n hcPartyId: string,\n secretFKeys: string,\n limit: number,\n startKey?: string,\n startDocumentId?: string\n ): Promise<PaginatedListCalendarItem | any> {\n return super\n .findCalendarItemsByHCPartyPatientForeignKeysPaginated(hcPartyId, secretFKeys, limit, startKey, startDocumentId)\n .then((calendarItems) => this.decrypt(hcPartyId, calendarItems))\n }\n\n findCalendarItemsByHCPartyPatientForeignKeysUsingPostPaginated(\n hcPartyId: string,\n secretFKeys: string[],\n limit: number,\n startKey?: string,\n startDocumentId?: string\n ): Promise<PaginatedListCalendarItem | any> {\n return super\n .findCalendarItemsByHCPartyPatientForeignKeysUsingPostPaginated(hcPartyId, secretFKeys, limit, startKey, startDocumentId)\n .then((calendarItems) => this.decrypt(hcPartyId, calendarItems))\n }\n\n createCalendarItem(body?: CalendarItem): never {\n throw new Error('Cannot call a method that must encrypt a calendar item without providing a user for de/encryption')\n }\n\n async createCalendarItemWithHcParty(user: models.User, body?: models.CalendarItem): Promise<models.CalendarItem | any> {\n return body\n ? this.encrypt(user, [_.cloneDeep(body)])\n .then((items) => super.createCalendarItem(items[0]))\n .then((ci) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [ci]))\n .then((cis) => cis[0])\n : null\n }\n\n getCalendarItemWithUser(user: models.User, calendarItemId: string): Promise<CalendarItem | any> {\n return super\n .getCalendarItem(calendarItemId)\n .then((calendarItem) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [calendarItem]))\n .then((cis) => cis[0])\n }\n\n getCalendarItem(calendarItemId: string): never {\n throw new Error('Cannot call a method that must en/decrypt a calendar item without providing a user for de/encryption')\n }\n\n getCalendarItemsWithUser(user: models.User): Promise<Array<CalendarItem> | any> {\n return super.getCalendarItems().then((calendarItems) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, calendarItems))\n }\n\n getCalendarItems(): never {\n throw new Error('Cannot call a method that must en/decrypt a calendar item without providing a user for de/encryption')\n }\n\n getCalendarItemsWithIdsWithUser(user: models.User, body?: models.ListOfIds): Promise<Array<CalendarItem> | any> {\n return super.getCalendarItemsWithIds(body).then((calendarItems) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, calendarItems))\n }\n\n getCalendarItemsWithIds(body?: models.ListOfIds): never {\n throw new Error('Cannot call a method that must en/decrypt a calendar item without providing a user for de/encryption')\n }\n\n getCalendarItemsByPeriodAndHcPartyIdWithUser(\n user: models.User,\n startDate: number,\n endDate: number,\n hcPartyId: string\n ): Promise<Array<CalendarItem> | any> {\n return super\n .getCalendarItemsByPeriodAndHcPartyId(startDate, endDate, hcPartyId)\n .then((calendarItems) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, calendarItems))\n }\n\n getCalendarItemsByPeriodAndHcPartyId(startDate?: number, endDate?: number, hcPartyId?: string): never {\n throw new Error('Cannot call a method that must en/decrypt a calendar item without providing a user for de/encryption')\n }\n\n getCalendarsByPeriodAndAgendaIdWithUser(\n user: models.User,\n startDate: number,\n endDate: number,\n agendaId: string\n ): Promise<Array<CalendarItem> | any> {\n return super\n .getCalendarsByPeriodAndAgendaId(startDate, endDate, agendaId)\n .then((calendarItems) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, calendarItems))\n }\n\n getCalendarsByPeriodAndAgendaId(startDate?: number, endDate?: number, agendaId?: string): never {\n throw new Error('Cannot call a method that must en/decrypt a calendar item without providing a user for de/encryption')\n }\n\n modifyCalendarItem(body?: CalendarItem): never {\n throw new Error('Cannot call a method that must encrypt a calendar item without providing a user for de/encryption')\n }\n\n /**\n * Remove the following delegation objects from the\n * CalendarItem instance: cryptedForeignKeys, secretForeignKeys.\n *\n * The delegations & encryptionKeys objects are not removed because\n * in the case the CalendarItem is saved in the DB & then encrypted,\n * if later we remove the patient from it, it'd reset the delegations\n * and encryptionKeys thus impossibilitating further access.\n *\n * @param calendarItem The Calendar Item object\n */\n resetCalendarDelegationObjects(calendarItem: models.CalendarItem): models.CalendarItem {\n const { cryptedForeignKeys, secretForeignKeys, ...resetCalendarItem } = calendarItem\n return resetCalendarItem\n }\n\n async modifyCalendarItemWithHcParty(user: models.User, body?: models.CalendarItem): Promise<models.CalendarItem | any> {\n return body\n ? this.encrypt(user, [_.cloneDeep(body)])\n .then((items) => super.modifyCalendarItem(items[0]))\n .then((ci) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [ci]))\n .then((cis) => cis[0])\n : null\n }\n\n initEncryptionKeys(user: models.User, calendarItem: models.CalendarItem): Promise<models.CalendarItem> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n\n return this.crypto.initEncryptionKeys(calendarItem, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(calendarItem, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((item) =>\n this.crypto.appendEncryptionKeys(item, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n encrypt(user: models.User, calendarItems: Array<models.CalendarItem>): Promise<Array<models.CalendarItem>> {\n return Promise.all(\n calendarItems.map((calendarItem) =>\n (calendarItem.encryptionKeys && Object.keys(calendarItem.encryptionKeys).length\n ? Promise.resolve(calendarItem)\n : this.initEncryptionKeys(user, calendarItem)\n )\n .then((calendarItem: CalendarItem) =>\n this.crypto.extractKeysFromDelegationsForHcpHierarchy(\n this.dataOwnerApi.getDataOwnerOf(user)!,\n calendarItem.id!,\n calendarItem.encryptionKeys!\n )\n )\n .then((eks: { extractedKeys: Array<string>; hcpartyId: string }) => {\n const keys = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(eks.extractedKeys)\n if (!keys.length) throw new Error('No valid keys found for calendar item encryption')\n return this.crypto.AES.importKey('raw', hex2ua(keys[0]))\n })\n .then((key: CryptoKey) =>\n crypt(calendarItem, (obj: { [key: string]: string }) => this.crypto.AES.encrypt(key, utf8_2ua(JSON.stringify(obj))), this.encryptedKeys)\n )\n )\n )\n }\n\n decrypt(hcpId: string, calendarItems: Array<models.CalendarItem>): Promise<Array<models.CalendarItem>> {\n //First check that we have no dangling delegation\n\n return Promise.all(\n calendarItems.map((calendarItem) => {\n return calendarItem.encryptedSelf\n ? this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(\n hcpId!,\n calendarItem.id!,\n _.size(calendarItem.encryptionKeys) ? calendarItem.encryptionKeys! : calendarItem.delegations!\n )\n .then(({ extractedKeys: sfks }) => {\n sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks)\n if (!sfks || !sfks.length) {\n return Promise.resolve(calendarItem)\n }\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0])).then((key) =>\n decrypt(calendarItem, (ec) =>\n this.crypto.AES.decrypt(key, ec)\n .then((dec) => {\n const jsonContent = dec && ua2utf8(dec)\n try {\n return JSON.parse(jsonContent)\n } catch (e) {\n console.log('Cannot parse calendar item', calendarItem.id, jsonContent || 'Invalid content')\n return {}\n }\n })\n .catch((err) => {\n console.log('Error during AES decryption', err)\n return {}\n })\n )\n )\n })\n : Promise.resolve(calendarItem)\n })\n )\n }\n}\n"]}
|
|
@@ -325,17 +325,20 @@ class IccContactXApi extends icc_api_1.IccContactApi {
|
|
|
325
325
|
? ctc
|
|
326
326
|
: yield (ctc.encryptionKeys && Object.keys(ctc.encryptionKeys || {}).length ? Promise.resolve(ctc) : this.initEncryptionKeys(user, ctc));
|
|
327
327
|
const sfks = yield this.crypto.extractKeysFromDelegationsForHcpHierarchy(hcpartyId, initialisedCtc.id, initialisedCtc.encryptionKeys);
|
|
328
|
-
const
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
328
|
+
const keys = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks.extractedKeys);
|
|
329
|
+
if (!keys.length)
|
|
330
|
+
throw new Error('No valid keys found for contact encryption');
|
|
331
|
+
const key = yield this.crypto.AES.importKey('raw', (0, binary_utils_1.hex2ua)(keys[0]));
|
|
332
|
+
initialisedCtc.services = yield this.encryptServices(key, keys[0], ctc.services || []);
|
|
333
|
+
initialisedCtc.encryptedSelf = (0, binary_utils_1.b2a)((0, binary_utils_1.ua2string)(yield this.crypto.AES.encrypt(key, (0, binary_utils_1.utf8_2ua)(JSON.stringify({ descr: ctc.descr })), keys[0])));
|
|
332
334
|
delete initialisedCtc.descr;
|
|
333
335
|
return initialisedCtc;
|
|
334
336
|
})));
|
|
335
337
|
}
|
|
336
338
|
decrypt(hcpartyId, ctcs) {
|
|
337
339
|
return Promise.all(ctcs.map((ctc) => __awaiter(this, void 0, void 0, function* () {
|
|
338
|
-
|
|
340
|
+
let { extractedKeys: sfks } = yield this.crypto.extractKeysFromDelegationsForHcpHierarchy(hcpartyId, ctc.id, _.size(ctc.encryptionKeys) ? ctc.encryptionKeys : ctc.delegations);
|
|
341
|
+
sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks);
|
|
339
342
|
if (!sfks || !sfks.length) {
|
|
340
343
|
console.log('Cannot decrypt contact', ctc.id);
|
|
341
344
|
return ctc;
|
|
@@ -365,8 +368,9 @@ class IccContactXApi extends icc_api_1.IccContactApi {
|
|
|
365
368
|
decryptServices(hcpartyId, svcs, key, rawKey) {
|
|
366
369
|
return Promise.all(svcs.map((svc) => __awaiter(this, void 0, void 0, function* () {
|
|
367
370
|
if (!key) {
|
|
368
|
-
|
|
369
|
-
|
|
371
|
+
let { extractedKeys: sfks } = yield this.crypto.extractKeysFromDelegationsForHcpHierarchy(hcpartyId, svc.id, _.size(svc.encryptionKeys) ? svc.encryptionKeys : svc.delegations);
|
|
372
|
+
sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks);
|
|
373
|
+
key = yield this.crypto.AES.importKey('raw', (0, binary_utils_1.hex2ua)(sfks[0]));
|
|
370
374
|
}
|
|
371
375
|
if (svc.encryptedContent) {
|
|
372
376
|
try {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icc-contact-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-contact-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccContactApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport i18n from './rsrc/contact.i18n'\n\nimport * as moment from 'moment'\nimport * as _ from 'lodash'\nimport * as models from '../icc-api/model/models'\nimport { Contact, FilterChainService, ListOfIds, Service } from '../icc-api/model/models'\nimport { PaginatedListContact } from '../icc-api/model/PaginatedListContact'\nimport { a2b, b2a, hex2ua, string2ua, ua2string, ua2utf8, utf8_2ua } from './utils/binary-utils'\nimport { ServiceByIdsFilter } from './filters/ServiceByIdsFilter'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\nimport { truncateTrailingNulls, before } from './utils'\nimport { AuthenticationProvider, NoAuthenticationProvider } from './auth/AuthenticationProvider'\n\nexport class IccContactXApi extends IccContactApi {\n i18n: any = i18n\n crypto: IccCryptoXApi\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n dataOwnerApi: IccDataOwnerXApi,\n authenticationProvider: AuthenticationProvider = new NoAuthenticationProvider(),\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.crypto = crypto\n this.dataOwnerApi = dataOwnerApi\n }\n\n newInstance(user: models.User, patient: models.Patient, c: any, confidential = false, delegates: string[] = []): Promise<models.Contact> {\n const contact = new models.Contact(\n _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Contact',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n groupId: this.crypto.randomUuid(),\n subContacts: [],\n services: [],\n openingDate: parseInt(moment().format('YYYYMMDDHHmmss')),\n },\n c || {}\n )\n )\n\n return this.initDelegationsAndEncryptionKeys(user, patient, contact, confidential, delegates)\n }\n\n /**\n * 1. Extract(decrypt) the patient's secretForeignKeys from the\n * \"delegations\" object.\n * 2. Initialize & encrypt the Contact's delegations & cryptedForeignKeys.\n * 3. Initialize & encrypt the Contact's encryptionKeys.\n * 4. Return the contact with the extended delegations, cryptedForeignKeys\n * & encryptionKeys.\n */\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n patient: models.Patient,\n contact: models.Contact,\n confidential = false,\n delegates: string[] = []\n ): Promise<models.Contact> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n\n return this.crypto.extractPreferredSfk(patient, dataOwnerId!, confidential).then(async (key) => {\n if (!key) {\n await this.crypto.reportError('Get sfk for Contact creation (confidential: ' + confidential + ')', [patient], dataOwnerId!)\n console.error(`SFK cannot be found for Contact ${key}. The contact will not be reachable from the patient side`)\n throw new Error(\"Could not find secret foreign key for patient '\" + patient.id + \"'\")\n }\n const dels = await this.crypto.initObjectDelegations(contact, patient, dataOwnerId!, key ?? null)\n const eks = await this.crypto.initEncryptionKeys(contact, dataOwnerId!)\n _.extend(contact, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(contact)\n _.uniq(\n delegates.concat(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : [])\n ).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, contact, dataOwnerId!, delegateId, dels.secretId, eks.secretId).catch((e) => {\n console.log(e)\n return contact\n })\n ))\n )\n ;(user.autoDelegations && user.autoDelegations.anonymousMedicalInformation ? user.autoDelegations.anonymousMedicalInformation : []).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, contact, dataOwnerId!, delegateId, null, eks.secretId).catch((e) => {\n console.log(e)\n return contact\n })\n ))\n )\n return promise\n })\n }\n\n initEncryptionKeys(user: models.User, ctc: models.Contact) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n\n return this.crypto.initEncryptionKeys(ctc, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(ctc, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations\n ? (user.autoDelegations.all || [])\n .concat(user.autoDelegations.medicalInformation || [])\n .concat(user.autoDelegations.anonymousMedicalInformation || [])\n : []\n ).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto\n .appendEncryptionKeys(contact, dataOwnerId!, delegateId, eks.secretId)\n .then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n .catch((e) => {\n console.log(e.message)\n return contact\n })\n ))\n )\n return promise\n })\n }\n\n /**\n * 1. Check whether there is a delegation with 'hcpartyId' or not.\n * 2. 'fetchHcParty[hcpartyId][1]': is encrypted AES exchange key by RSA public key of him.\n * 3. Obtain the AES exchange key, by decrypting the previous step value with hcparty private key\n * 3.1. KeyPair should be fetch from cache (in jwk)\n * 3.2. if it doesn't exist in the cache, it has to be loaded from Browser Local store, and then import it to WebCrypto\n * 4. Obtain the array of delegations which are delegated to his ID (hcpartyId) in this patient\n * 5. Decrypt and collect all keys (secretForeignKeys) within delegations of previous step (with obtained AES key of step 4)\n * 6. Do the REST call to get all contacts with (allSecretForeignKeysDelimitedByComa, hcpartyId)\n *\n * After these painful steps, you have the contacts of the patient.\n *\n * @param hcpartyId\n * @param patient (Promise)\n * @param usingPost\n */\n findBy(hcpartyId: string, patient: models.Patient, usingPost: boolean = false) {\n return this.crypto.extractSFKsHierarchyFromDelegations(patient, hcpartyId).then((secretForeignKeys) =>\n secretForeignKeys && secretForeignKeys.length > 0\n ? Promise.all(\n secretForeignKeys\n .reduce((acc, level) => {\n return acc.concat([\n {\n hcpartyId: level.hcpartyId,\n extractedKeys: level.extractedKeys.filter((key) => !acc.some((previousLevel) => previousLevel.extractedKeys.includes(key))),\n },\n ])\n }, [] as Array<{ hcpartyId: string; extractedKeys: Array<string> }>)\n .filter((l) => l.extractedKeys.length > 0)\n .map(({ hcpartyId, extractedKeys }) =>\n usingPost\n ? this.findByHCPartyPatientSecretFKeysArray(hcpartyId, _.uniq(extractedKeys))\n : this.findByHCPartyPatientSecretFKeys(hcpartyId, _.uniq(extractedKeys).join(','))\n )\n ).then((results) => _.uniqBy(_.flatMap(results), (x) => x.id))\n : Promise.resolve([])\n )\n }\n\n async findByPatientSFKs(hcpartyId: string, patients: Array<models.Patient>): Promise<Array<models.Contact>> {\n const perHcpId: { [key: string]: string[] } = {}\n for (const patient of patients) {\n ;(await this.crypto.extractSFKsHierarchyFromDelegations(patient, hcpartyId))\n .reduce((acc, level) => {\n return acc.concat([\n {\n hcpartyId: level.hcpartyId,\n extractedKeys: level.extractedKeys.filter((key) => !acc.some((previousLevel) => previousLevel.extractedKeys.includes(key))),\n },\n ])\n }, [] as Array<{ hcpartyId: string; extractedKeys: Array<string> }>)\n .filter((l) => l.extractedKeys.length > 0)\n .forEach(({ hcpartyId, extractedKeys }) => {\n ;(perHcpId[hcpartyId] || (perHcpId[hcpartyId] = [])).push(...extractedKeys)\n })\n }\n\n return _.uniqBy(\n _.flatMap(\n await Promise.all(\n Object.keys(perHcpId).map((hcpId) =>\n this.findContactsByHCPartyPatientForeignKeys(\n hcpartyId,\n new models.ListOfIds({\n ids: perHcpId[hcpId],\n })\n )\n )\n )\n ),\n (x) => x.id\n )\n }\n\n filterBy(startKey?: string, startDocumentId?: string, limit?: number, body?: models.FilterChainContact): never {\n throw new Error('Cannot call a method that returns contacts without providing a user for de/encryption')\n }\n\n listContactsByOpeningDate(startKey: number, endKey: number, hcpartyid: string, startDocumentId?: string, limit?: number): never {\n throw new Error('Cannot call a method that returns contacts without providing a user for de/encryption')\n }\n\n listServices(body?: ListOfIds): Promise<Array<Service>> {\n throw new Error('Cannot call a method that returns services without providing a user for de/encryption')\n }\n\n findByHCPartyFormId(hcPartyId?: string, formId?: string): never {\n throw new Error('Cannot call a method that returns contacts without providing a user for de/encryption')\n }\n\n findByHCPartyFormIds(hcPartyId?: string, body?: models.ListOfIds): never {\n throw new Error('Cannot call a method that returns contacts without providing a user for de/encryption')\n }\n\n getContact(contactId: string): never {\n throw new Error('Cannot call a method that returns contacts without providing a user for de/encryption')\n }\n\n getContacts(body?: models.ListOfIds): never {\n throw new Error('Cannot call a method that returns contacts without providing a user for de/encryption')\n }\n\n modifyContact(body?: Contact): never {\n throw new Error('Cannot call a method that modify contacts without providing a user for de/encryption')\n }\n\n modifyContacts(body?: Array<Contact>): never {\n throw new Error('Cannot call a method that modify contacts without providing a user for de/encryption')\n }\n\n createContact(body?: Contact): never {\n throw new Error('Cannot call a method that modify contacts without providing a user for de/encryption')\n }\n\n findByHCPartyPatientSecretFKeys(\n hcPartyId: string,\n secretFKeys: string,\n planOfActionIds?: string,\n skipClosedContacts?: boolean\n ): Promise<Array<models.Contact> | any> {\n return super\n .findByHCPartyPatientSecretFKeys(hcPartyId, secretFKeys, planOfActionIds, skipClosedContacts)\n .then((contacts) => this.decrypt(hcPartyId, contacts))\n }\n\n findByHCPartyPatientSecretFKeysArray(\n hcPartyId: string,\n secretFKeys: string[],\n planOfActionIds?: string,\n skipClosedContacts?: boolean\n ): Promise<Array<models.Contact> | any> {\n return super\n .findByHCPartyPatientSecretFKeysUsingPost(hcPartyId, planOfActionIds, skipClosedContacts, secretFKeys)\n .then((contacts) => this.decrypt(hcPartyId, contacts))\n }\n\n filterByWithUser(\n user: models.User,\n startDocumentId?: string,\n limit?: number,\n body?: models.FilterChainContact\n ): Promise<PaginatedListContact | any> {\n return super\n .filterContactsBy(startDocumentId, limit, body)\n .then((ctcs) =>\n this.decrypt(user.healthcarePartyId! || user.patientId!, ctcs.rows!).then((decryptedRows) => Object.assign(ctcs, { rows: decryptedRows }))\n )\n }\n\n listContactsByOpeningDateWithUser(\n user: models.User,\n startKey: number,\n endKey: number,\n hcpartyid: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListContact | any> {\n return super\n .listContactsByOpeningDate(startKey, endKey, hcpartyid, startDocumentId, limit)\n .then((ctcs) =>\n this.decrypt(user.healthcarePartyId! || user.patientId!, ctcs.rows!).then((decryptedRows) => Object.assign(ctcs, { rows: decryptedRows }))\n )\n }\n\n listServicesWithUser(user: models.User, serviceIds: ListOfIds): Promise<Array<Service> | any> {\n return super\n .filterServicesBy(undefined, serviceIds.ids?.length, new FilterChainService({ filter: new ServiceByIdsFilter({ ids: serviceIds.ids }) }))\n .then((paginatedList) => this.decryptServices(user.healthcarePartyId! || user.patientId!, paginatedList.rows ?? [], undefined, undefined))\n }\n\n findByHCPartyFormIdWithUser(user: models.User, hcPartyId: string, formId: string): Promise<Array<models.Contact> | any> {\n return super.findByHCPartyFormId(hcPartyId, formId).then((ctcs) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, ctcs))\n }\n\n findByHCPartyFormIdsWithUser(user: models.User, hcPartyId: string, body: models.ListOfIds): Promise<Array<models.Contact> | any> {\n return super.findByHCPartyFormIds(hcPartyId, body).then((ctcs) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, ctcs))\n }\n\n getContactWithUser(user: models.User, contactId: string): Promise<models.Contact | any> {\n return super\n .getContact(contactId)\n .then((ctc) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [ctc]))\n .then((ctcs) => ctcs[0])\n }\n\n getContactsWithUser(user: models.User, body?: models.ListOfIds): Promise<Array<models.Contact> | any> {\n return super.getContacts(body).then((ctcs) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, ctcs))\n }\n\n async modifyContactWithUser(user: models.User, body?: models.Contact): Promise<models.Contact | any> {\n return body\n ? this.encrypt(user, [_.cloneDeep(body)])\n .then((ctcs) => super.modifyContact(ctcs[0]))\n .then((ctc) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [ctc]))\n .then((ctcs) => ctcs[0])\n : null\n }\n\n async modifyContactsWithUser(user: models.User, bodies?: Array<models.Contact>): Promise<models.Contact[] | any> {\n return bodies\n ? this.encrypt(\n user,\n bodies.map((c) => _.cloneDeep(c))\n )\n .then((ctcs) => super.modifyContacts(ctcs))\n .then((ctcs) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, ctcs))\n : null\n }\n\n async createContactWithUser(user: models.User, body?: models.Contact): Promise<models.Contact | any> {\n return body\n ? this.encrypt(user, [_.cloneDeep(body)])\n .then((ctcs) => super.createContact(ctcs[0]))\n .then((ctc) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, [ctc]))\n .then((ctcs) => ctcs[0])\n : null\n }\n\n async createContactsWithUser(user: models.User, bodies?: Array<models.Contact>): Promise<models.Contact[] | any> {\n return bodies\n ? this.encrypt(\n user,\n bodies.map((c) => _.cloneDeep(c))\n )\n .then((ctcs) => super.createContacts(ctcs))\n .then((ctcs) => this.decrypt(this.dataOwnerApi.getDataOwnerOf(user)!, ctcs))\n : null\n }\n\n encryptServices(key: CryptoKey, rawKey: string, services: Service[]): PromiseLike<Service[]> {\n return Promise.all(\n services.map(async (svc) => {\n if (!svc.content) {\n return svc\n }\n\n if (\n Object.values(svc.content).every(\n (c) =>\n c.compoundValue &&\n !c.stringValue &&\n !c.documentId &&\n !c.measureValue &&\n !c.medicationValue &&\n (c.booleanValue === null || c.booleanValue === undefined) &&\n (c.numberValue === null || c.numberValue === undefined) &&\n !c.instantValue &&\n !c.fuzzyDateValue &&\n !c.binaryValue\n )\n ) {\n svc.content = _.fromPairs(\n await Promise.all(\n _.toPairs(svc.content).map(async (p) => {\n if (p[1].compoundValue?.length) {\n p[1].compoundValue = await this.encryptServices(key, rawKey, p[1].compoundValue!)\n }\n return p\n })\n )\n )\n } else {\n svc.encryptedSelf = b2a(ua2string(await this.crypto.AES.encrypt(key, utf8_2ua(JSON.stringify({ content: svc.content })), rawKey)))\n delete svc.content\n }\n return svc\n })\n )\n }\n\n encrypt(user: models.User, ctcs: Array<models.Contact>) {\n const hcpartyId = this.dataOwnerApi.getDataOwnerOf(user)!\n const bypassEncryption = false //Used for debug\n\n return Promise.all(\n ctcs.map(async (ctc) => {\n const initialisedCtc = bypassEncryption //Prevent encryption for test ctc\n ? ctc\n : await (ctc.encryptionKeys && Object.keys(ctc.encryptionKeys || {}).length ? Promise.resolve(ctc) : this.initEncryptionKeys(user, ctc))\n\n const sfks: {\n extractedKeys: Array<string>\n hcpartyId: string\n } = await this.crypto.extractKeysFromDelegationsForHcpHierarchy(hcpartyId, initialisedCtc.id!, initialisedCtc.encryptionKeys!)\n const keys = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks.extractedKeys)\n if (!keys.length) throw new Error('No valid keys found for contact encryption')\n const key = await this.crypto.AES.importKey('raw', hex2ua(keys[0]))\n\n initialisedCtc.services = await this.encryptServices(key, keys[0], ctc.services || [])\n initialisedCtc.encryptedSelf = b2a(ua2string(await this.crypto.AES.encrypt(key, utf8_2ua(JSON.stringify({ descr: ctc.descr })), keys[0])))\n delete initialisedCtc.descr\n\n return initialisedCtc\n })\n )\n }\n\n decrypt(hcpartyId: string, ctcs: Array<models.Contact>): Promise<Array<models.Contact>> {\n return Promise.all(\n ctcs.map(async (ctc) => {\n let { extractedKeys: sfks } = await this.crypto.extractKeysFromDelegationsForHcpHierarchy(\n hcpartyId,\n ctc.id!,\n _.size(ctc.encryptionKeys) ? ctc.encryptionKeys! : ctc.delegations!\n )\n sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks)\n if (!sfks || !sfks.length) {\n console.log('Cannot decrypt contact', ctc.id)\n return ctc\n }\n const rawKey = sfks[0].replace(/-/g, '')\n const key = await this.crypto.AES.importKey('raw', hex2ua(rawKey))\n\n ctc.services = await this.decryptServices(hcpartyId, ctc.services || [], key, rawKey)\n if (ctc.encryptedSelf) {\n try {\n const dec = await this.crypto.AES.decrypt(key, string2ua(a2b(ctc.encryptedSelf!)), rawKey)\n let jsonContent\n try {\n jsonContent = dec && ua2utf8(dec)\n jsonContent && _.assign(ctc, JSON.parse(jsonContent))\n } catch (e) {\n console.log('Cannot parse ctc', ctc.id, jsonContent || '<- Invalid encoding')\n }\n } catch {\n console.log('Cannot decrypt contact', ctc.id)\n }\n }\n return ctc\n })\n )\n }\n\n decryptServices(hcpartyId: string, svcs: Array<models.Service>, key?: CryptoKey, rawKey?: string): Promise<Array<models.Service>> {\n return Promise.all(\n svcs.map(async (svc) => {\n if (!key) {\n let { extractedKeys: sfks } = await this.crypto.extractKeysFromDelegationsForHcpHierarchy(\n hcpartyId,\n svc.id!,\n _.size(svc.encryptionKeys) ? svc.encryptionKeys! : svc.delegations!\n )\n sfks = this.crypto.filterAndFixValidEntityEncryptionKeyStrings(sfks)\n key = await this.crypto.AES.importKey('raw', hex2ua(sfks[0]))\n }\n\n if (svc.encryptedContent) {\n try {\n const dec = await this.crypto.AES.decrypt(key, string2ua(a2b(svc.encryptedContent!)))\n let jsonContent\n try {\n jsonContent = ua2utf8(truncateTrailingNulls(new Uint8Array(dec)))\n Object.assign(svc, { content: JSON.parse(jsonContent) })\n } catch (e) {\n console.log('Cannot parse service', svc.id, jsonContent || '<- Invalid encoding')\n }\n } catch {\n console.log('Cannot decrypt service', svc.id)\n }\n } else if (svc.encryptedSelf) {\n try {\n const dec = await this.crypto.AES.decrypt(key, string2ua(a2b(svc.encryptedSelf!)))\n let jsonContent\n try {\n jsonContent = ua2utf8(truncateTrailingNulls(new Uint8Array(dec)))\n Object.assign(svc, JSON.parse(jsonContent))\n } catch (e) {\n console.log('Cannot parse service', svc.id, jsonContent || '<- Invalid encoding')\n }\n } catch {\n console.log('Cannot decrypt service', svc.id)\n }\n } else {\n svc.content = _.fromPairs(\n await Promise.all(\n _.toPairs(svc.content).map(async (p) => {\n if (p[1].compoundValue) {\n p[1].compoundValue = await this.decryptServices(hcpartyId, p[1].compoundValue, key, rawKey)\n }\n return p\n })\n )\n )\n }\n return svc\n })\n )\n }\n\n contactOfService(ctcs: Array<models.Contact>, svcId: string): models.Contact | undefined {\n let latestContact: models.Contact | undefined = undefined\n let latestService: models.Service\n ctcs.forEach((c) => {\n const s: models.Service | undefined = c.services!.find((it) => svcId === it.id)\n if (s && (!latestService || moment(s.valueDate).isAfter(moment(latestService.valueDate)))) {\n latestContact = c\n latestService = s\n }\n })\n return latestContact\n }\n\n filteredServices(ctcs: Array<models.Contact>, filter: any): Array<models.Service> {\n const byIds: { [key: string]: models.Service } = {}\n ctcs.forEach((c) =>\n (c.services || [])\n .filter((s) => filter(s, c))\n .forEach((s) => {\n const ps = byIds[s.id!]\n if (!ps || !ps.modified || (s.modified && ps.modified < s.modified)) {\n byIds[s.id!] = s\n s.contactId = c.id\n }\n })\n )\n return _.values(byIds).filter((s: any) => !s.deleted && !s.endOfLife)\n }\n\n //Return a promise\n filterServices(ctcs: Array<models.Contact>, filter: any): Promise<Array<models.Service>> {\n return Promise.resolve(this.filteredServices(ctcs, filter))\n }\n\n services(ctc: models.Contact, label: string) {\n return ctc.services!.filter((s) => s.label === label)\n }\n\n preferredContent(svc: models.Service, lng: string) {\n return (\n svc && svc.content && (svc.content[lng] || svc.content['fr'] || (Object.keys(svc.content)[0] ? svc.content[Object.keys(svc.content)[0]] : null))\n )\n }\n\n contentValue(c: models.Content) {\n return (\n c.stringValue ||\n ((c.numberValue || c.numberValue === 0) && c.numberValue) ||\n (c.measureValue && (c.measureValue.value || c.measureValue.value === 0) ? c.measureValue : null) ||\n c.medicationValue ||\n c.booleanValue\n )\n }\n\n shortServiceDescription(svc: models.Service, lng: string) {\n const c = this.preferredContent(svc, lng)\n return !c ? '' : this.shortContentDescription(c, lng, svc.label)\n }\n\n shortContentDescription(c: models.Content, lng: string, label?: string) {\n return (\n c.stringValue ||\n ((c.numberValue || c.numberValue === 0) && c.numberValue) ||\n (c.measureValue &&\n '' +\n (c.measureValue.value || c.measureValue.value === 0 ? c.measureValue.value : '-') +\n (c.measureValue.unit ? ' ' + c.measureValue.unit : '')) ||\n (c.medicationValue ? this.medication().medicationToString(c.medicationValue, lng) : null) ||\n (c.booleanValue && label) ||\n 'OK'\n )\n }\n\n medicationValue(svc: models.Service, lng: string) {\n const c =\n svc && svc.content && (svc.content[lng] || svc.content['fr'] || (Object.keys(svc.content)[0] ? svc.content[Object.keys(svc.content)[0]] : null))\n return c && c.medicationValue\n }\n\n contentHasData(c: any): boolean {\n return c.stringValue || c.numberValue || c.measureValue || c.booleanValue || c.booleanValue === false || c.medicationValue || c.documentId\n }\n\n localize(e: any, lng: string) {\n if (!e) {\n return null\n }\n return e[lng] || e.fr || e.en || e.nl\n }\n\n /**\n * Modifies the subcontacts this svc belongs to while minimizing the number of references to the svcs inside the subcontacts\n * After the invocation, there is at least one subcontact with provided poaId and heId that contains the svc\n * The svc is not removed from a previous subcontact it would belong to except if the new conditions are compatible\n * Note that undefined and null do not have the same meaning for formId\n * If formId is null: the subcontact which refers svc must have a null formId\n * If formId is undefined, the subcontact can have any value for formId\n *\n * When a svc does not exist yet in the current contact but exists in a previous contact, all the scs it was belonging to are\n * copied in the current contact\n *\n * the svc returned is the one that's inside the ctc\n *\n * @param ctc\n * @param user\n * @param ctcs\n * @param svc\n * @param formId\n * @param poaId aMap {heId2: [poaId11, poaId12], heId2: [poaId21] }\n * @param heId an Array of heIds, equivalent to poaIds = {heId: [], ...}\n * @param init\n * @returns {*}\n */\n\n promoteServiceInContact(\n ctc: models.Contact,\n user: models.User,\n ctcs: Array<models.Contact>,\n svc: models.Service,\n formId: string,\n poaIds?: { [key: string]: string[] },\n heIds?: Array<string>,\n init?: any\n ) {\n if (!ctc) {\n return null\n }\n const existing = ctc.services!.find((s) => s.id === svc.id)\n const promoted = _.extend(_.extend(existing || {}, svc), {\n author: user.id,\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n modified: new Date().getTime(),\n })\n if (!existing) {\n ;(ctc.services || (ctc.services = [])).push(promoted)\n }\n const allSubcontactsInCurrentContactContainingService = (ctc.subContacts || []).filter((csc) =>\n (csc.services || []).some((s) => s.serviceId === svc.id)\n )\n\n //Rearrange poaIds and heIds as a hierarchy\n const hierarchyOfHeAndPoaIds: { [key: string]: Array<any> } = {}\n ;(heIds || []).forEach((id) => (hierarchyOfHeAndPoaIds[id || '_'] = []))\n Object.keys(poaIds || {}).forEach((k: string) => {\n const poas = hierarchyOfHeAndPoaIds[k]\n if (poas) {\n hierarchyOfHeAndPoaIds[k] = _.concat(poas, (poaIds || {})[k])\n } else {\n hierarchyOfHeAndPoaIds[k] = (poaIds || {})[k]\n }\n })\n\n const pastCtc =\n (svc.contactId && svc.contactId !== ctc.id && ctcs.find((c) => c.id === svc.contactId)) ||\n ctcs.reduce(\n (selected: { s: models.Service | null; c: models.Contact | null }, c: models.Contact) => {\n const candidate = (c.services || []).find((s) => s.id === svc.id)\n return ctc.id !== c.id && candidate && (selected.s === null || before(selected.s.modified || 0, candidate.modified || 0))\n ? { s: candidate, c: c }\n : selected\n },\n { s: null, c: null }\n ).c\n //Make sure that all scs the svc was belonging to are copied inside the current contact\n pastCtc &&\n pastCtc\n .subContacts!.filter((psc) => psc.services!.some((s) => s.serviceId === svc.id))\n .forEach((psc) => {\n const sameInCurrent = allSubcontactsInCurrentContactContainingService.find(\n (csc) => csc.formId === psc.formId && csc.planOfActionId === psc.planOfActionId && csc.healthElementId === psc.healthElementId\n )\n if (sameInCurrent) {\n if (!sameInCurrent.services!.some((s) => s.serviceId === svc.id)) {\n sameInCurrent.services!.push({ serviceId: svc.id })\n }\n } else {\n const newSubContact = _.assign(_.assign({}, psc), {\n services: [{ serviceId: svc.id }],\n })\n ctc.subContacts!.push(newSubContact)\n allSubcontactsInCurrentContactContainingService.push(newSubContact)\n }\n })\n\n if (!Object.keys(hierarchyOfHeAndPoaIds).length) {\n hierarchyOfHeAndPoaIds._ = [] //Default is to have at least one option with heId equals to null (represented by _)\n }\n\n Object.keys(hierarchyOfHeAndPoaIds).forEach((heId: string | null) => {\n if (heId === '_') {\n heId = null\n }\n const subPoaIds = heId ? hierarchyOfHeAndPoaIds[heId] : []\n ;((subPoaIds || []).length ? subPoaIds : [null]).forEach((poaId) => {\n //Create or assign subcontacts for all pairs he/poa (can be null/null)\n let destinationSubcontact = ctc.subContacts!.find(\n (sc) =>\n (!formId || sc.formId === formId) &&\n ((!poaId && !sc.planOfActionId) || sc.planOfActionId === poaId) &&\n ((!heId && !sc.healthElementId) || sc.healthElementId === heId)\n )\n if (!destinationSubcontact) {\n ctc.subContacts!.push(\n (destinationSubcontact = new models.SubContact({\n formId: formId || undefined,\n planOfActionId: poaId,\n healthElementId: heId,\n services: [],\n }))\n )\n }\n\n const redundantSubcontact =\n allSubcontactsInCurrentContactContainingService.find((aSc) => destinationSubcontact === aSc) ||\n allSubcontactsInCurrentContactContainingService.find(\n (aSc) =>\n (!aSc.planOfActionId || aSc.planOfActionId === destinationSubcontact!.planOfActionId) &&\n (!aSc.healthElementId || aSc.healthElementId === destinationSubcontact!.healthElementId) &&\n (!aSc.formId || aSc.formId === destinationSubcontact!.formId)\n ) // Find a compatible sc: one that does not contain extra and ≠ information than the destination\n\n if (redundantSubcontact && redundantSubcontact !== destinationSubcontact) {\n redundantSubcontact.services!.splice(\n redundantSubcontact.services!.findIndex((link) => link.serviceId === svc.id),\n 1\n )\n }\n if (!destinationSubcontact.services!.some((s) => s.serviceId === svc.id)) {\n destinationSubcontact.services!.push({ serviceId: svc.id! })\n }\n })\n })\n\n return (init && init(promoted)) || promoted\n }\n\n isNumeric(svc: models.Service, lng: string) {\n const c = this.preferredContent(svc, lng)\n return c && (c.measureValue || c.numberValue || c.numberValue == 0)\n }\n\n service() {\n return {\n newInstance: (user: models.User, s: any) =>\n _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.embed.Service',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n content: {},\n valueDate: parseInt(moment().format('YYYYMMDDHHmmss')),\n },\n s\n ),\n }\n }\n\n medication() {\n const regimenScores: any = {\n afterwakingup: 63000,\n beforebreakfast: 70000,\n duringbreakfast: 80000,\n afterbreakfast: 90000,\n morning: 100000,\n betweenbreakfastandlunch: 103000,\n beforelunch: 113000,\n midday: 120000,\n duringlunch: 123000,\n afterlunch: 130000,\n afternoon: 140000,\n betweenlunchanddinner: 160000,\n beforedinner: 180000,\n duringdinner: 190000,\n afterdinner: 200000,\n evening: 210000,\n betweendinnerandsleep: 213000,\n thehourofsleep: 220000,\n night: 230000,\n beforemeals: -30000,\n betweenmeals: -20000,\n aftermeals: -10000,\n }\n\n const myself = {\n regimenScores: function () {\n return regimenScores\n },\n medicationNameToString: function (m: any): string {\n return m && m.compoundPrescription\n ? m.compoundPrescription\n : m && m.substanceProduct\n ? myself.productToString(m && m.substanceProduct)\n : myself.productToString(m && m.medicinalProduct)\n },\n reimbursementReasonToString: (m: any, lang: string) => {\n return m && m.reimbursementReason && m.reimbursementReason.label && m.reimbursementReason.label.hasOwnProperty(lang)\n ? m.reimbursementReason.label[lang]\n : ''\n },\n medicationToString: (m: any, lang: string) => {\n let res = `${myself.medicationNameToString(m)}, ${myself.posologyToString(m, lang)}`\n const reason = myself.reimbursementReasonToString(m, lang)\n res = m.numberOfPackages\n ? `${m.numberOfPackages} ${m.numberOfPackages > 1 ? this.i18n[lang].packagesOf : this.i18n[lang].packageOf} ${res}`\n : res\n res = m.duration ? `${res} ${this.i18n[lang].during} ${myself.durationToString(m.duration, lang)}` : res\n res = reason ? `${res} (${reason})` : res\n return res\n },\n productToString: (m: any): string => {\n if (!m) {\n return ''\n }\n return m.intendedname\n },\n posologyToString: (m: any, lang: string) => {\n if (m) {\n if (m.instructionForPatient && m.instructionForPatient.length) {\n return m.instructionForPatient\n }\n if (!m.regimen || !m.regimen.length) {\n return ''\n }\n\n const unit =\n m.regimen[0].administratedQuantity && m.regimen[0].administratedQuantity.administrationUnit\n ? m.regimen[0].administratedQuantity.administrationUnit.code\n : m.regimen[0].administratedQuantity && m.regimen[0].administratedQuantity.unit\n let quantity = m.regimen[0].administratedQuantity && m.regimen[0].administratedQuantity.quantity\n\n m.regimen.slice(1).find((ri: any) => {\n const oUnit =\n ri.administratedQuantity && ri.administratedQuantity.administrationUnit\n ? ri.administratedQuantity.administrationUnit.code\n : ri.administratedQuantity && ri.administratedQuantity.unit\n const oQuantity = ri.administratedQuantity && ri.administratedQuantity.quantity\n\n if (oQuantity !== quantity) {\n quantity = -1\n }\n return oUnit !== unit && oQuantity !== quantity\n })\n\n const cplxRegimen = !unit || quantity < 0\n const quantityUnit = cplxRegimen ? `1 ${this.i18n[lang].take_s_}` : `${quantity} ${unit || this.i18n[lang].take_s_}`\n\n const dayPeriod = m.regimen.find((r: any) => r.weekday !== null && r.weekday !== undefined)\n ? this.i18n[lang].weekly\n : m.regimen.find((r: any) => r.date)\n ? this.i18n[lang].monthly\n : this.i18n[lang].daily\n\n return `${quantityUnit}, ${m.regimen.length} x ${dayPeriod}, ${_.sortBy(\n m.regimen,\n (r) =>\n (r.date ? r.date * 1000000 : 29990000000000) +\n (r.dayNumber || 0) * 1000000 +\n ((r.weekday && r.weekday.weekNumber) || 0) * 7 * 1000000 +\n (r.timeOfDay ? r.timeOfDay : r.dayPeriod && r.dayPeriod.code ? (regimenScores[r.dayPeriod.code] as number) : 0)\n )\n .map((r) => (cplxRegimen ? myself.regimenToExtString(r, lang) : myself.regimenToString(r, lang)))\n .join(', ')}`\n }\n },\n frequencyToString: (m: any, lang: string) => {\n if (m.instructionForPatient && m.instructionForPatient.length) {\n return m.instructionForPatient\n }\n if (!m.regimen || !m.regimen.length) {\n return ''\n }\n\n const dayPeriod = m.regimen.find((r: any) => r.weekday !== null && r.weekday !== undefined)\n ? this.i18n[lang].weekly\n : m.regimen.find((r: any) => r.date)\n ? this.i18n[lang].monthly\n : this.i18n[lang].daily\n\n return `${m.regimen.length} x ${dayPeriod}`\n },\n durationToString: (d: models.Duration, lang: string) => {\n return d.value ? `${d.value} ${this.localize(d.unit!.label, lang)}` : ''\n },\n regimenToExtString: (r: models.RegimenItem, lang: string) => {\n const desc = myself.regimenToString(r, lang)\n return (\n (r.administratedQuantity && r.administratedQuantity.quantity && desc\n ? `${desc} (${r.administratedQuantity.quantity} ${\n (r.administratedQuantity.administrationUnit ? r.administratedQuantity.administrationUnit.code : r.administratedQuantity.unit) ||\n this.i18n[lang].take_s_\n })`\n : desc) || ''\n )\n },\n regimenToString: (r: models.RegimenItem, lang: string) => {\n let res = r.date\n ? `${this.i18n[lang].the} ${moment(r.date).format('DD/MM/YYYY')}`\n : r.dayNumber\n ? `${this.i18n[lang].onDay} ${r.dayNumber}`\n : r.weekday && r.weekday.weekday\n ? `${this.i18n[lang].on} ${r.weekday.weekday}`\n : null\n if (r.dayPeriod && r.dayPeriod.code && r.dayPeriod.code.length) {\n res = res\n ? `${res} ${this.i18n[lang][r.dayPeriod.code] || this.localize(r.dayPeriod.label, lang) || r.dayPeriod.code}`\n : this.i18n[lang][r.dayPeriod.code] || this.localize(r.dayPeriod.label, lang) || r.dayPeriod.code\n }\n if (r.timeOfDay) {\n const timeOfDay =\n r.timeOfDay === 120000\n ? this.i18n[lang].noon\n : `${Math.floor(r.timeOfDay / 10000)}:${('' + (Math.floor(r.timeOfDay / 100) % 100)).replace(/^(.)$/, '0$1')}`\n res = res ? res + ' ' + this.i18n[lang].at + ' ' + timeOfDay : timeOfDay\n }\n return res\n },\n localize: (s: any, lang: string) => {\n if (!s) {\n return s\n }\n return (\n this.i18n[lang][s] ||\n (this.i18n[lang][s.toLowerCase()] &&\n this.i18n[lang][s.toLowerCase()]\n .split('')\n .map((c: string, idx: number) => (idx >= s.length || s[idx].toLocaleLowerCase() === s[idx] ? c : c.toLocaleUpperCase()))\n .join('')) ||\n s\n ) //Applies the (lower/upper)case to the translated lowercase version of the input string (s)\n },\n }\n return myself\n }\n}\n"]}
|
|
@@ -17,7 +17,7 @@ export interface DelegatorAndKeys {
|
|
|
17
17
|
/**
|
|
18
18
|
* @internal may be changed without notice
|
|
19
19
|
*/
|
|
20
|
-
export type CachedDataOwner = {
|
|
20
|
+
export declare type CachedDataOwner = {
|
|
21
21
|
type: 'patient';
|
|
22
22
|
dataOwner: Patient;
|
|
23
23
|
} | {
|
|
@@ -523,4 +523,10 @@ export declare class IccCryptoXApi {
|
|
|
523
523
|
reportError(description: string, // Description of what caused the error
|
|
524
524
|
involvedEntities: EncryptedEntity[], // Entities that were being processed when the error occurred
|
|
525
525
|
dataOwnerId: string): Promise<void>;
|
|
526
|
+
/**
|
|
527
|
+
* @internal
|
|
528
|
+
* Keep only strings which match the format of a valid entity encryption key: hex string potentially with dashes.
|
|
529
|
+
* Additionally, this method automatically removes the dashes from the key (from uuid-formatted to standard).
|
|
530
|
+
*/
|
|
531
|
+
filterAndFixValidEntityEncryptionKeyStrings(aesKeys: string[]): string[];
|
|
526
532
|
}
|