@medplum/core 0.1.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -25
- package/dist/cache.d.ts +1 -0
- package/dist/cache.js +3 -2
- package/dist/cache.js.map +1 -1
- package/dist/client.d.ts +72 -54
- package/dist/client.js +267 -223
- package/dist/client.js.map +1 -1
- package/dist/crypto.js +13 -2
- package/dist/crypto.js.map +1 -1
- package/dist/eventtarget.js +1 -2
- package/dist/eventtarget.js.map +1 -1
- package/dist/format.d.ts +1 -1
- package/dist/format.js +4 -4
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/jwt.js.map +1 -1
- package/dist/outcomes.d.ts +4 -1
- package/dist/outcomes.js +71 -24
- package/dist/outcomes.js.map +1 -1
- package/dist/search.js +7 -9
- package/dist/search.js.map +1 -1
- package/dist/searchparams.d.ts +34 -0
- package/dist/searchparams.js +128 -0
- package/dist/searchparams.js.map +1 -0
- package/dist/storage.d.ts +36 -12
- package/dist/storage.js +55 -22
- package/dist/storage.js.map +1 -1
- package/dist/types.d.ts +3 -5
- package/dist/types.js +32 -18
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +14 -3
- package/dist/utils.js +57 -12
- package/dist/utils.js.map +1 -1
- package/package.json +3 -16
- package/dist/cache.test.d.ts +0 -1
- package/dist/cache.test.js +0 -29
- package/dist/cache.test.js.map +0 -1
- package/dist/client.test.d.ts +0 -1
- package/dist/client.test.js +0 -294
- package/dist/client.test.js.map +0 -1
- package/dist/eventtarget.test.d.ts +0 -1
- package/dist/eventtarget.test.js +0 -44
- package/dist/eventtarget.test.js.map +0 -1
- package/dist/fhir/Account.d.ts +0 -240
- package/dist/fhir/Account.js +0 -7
- package/dist/fhir/Account.js.map +0 -1
- package/dist/fhir/ActivityDefinition.d.ts +0 -494
- package/dist/fhir/ActivityDefinition.js +0 -7
- package/dist/fhir/ActivityDefinition.js.map +0 -1
- package/dist/fhir/Address.d.ts +0 -74
- package/dist/fhir/Address.js +0 -7
- package/dist/fhir/Address.js.map +0 -1
- package/dist/fhir/AdverseEvent.d.ts +0 -287
- package/dist/fhir/AdverseEvent.js +0 -7
- package/dist/fhir/AdverseEvent.js.map +0 -1
- package/dist/fhir/Age.d.ts +0 -47
- package/dist/fhir/Age.js +0 -7
- package/dist/fhir/Age.js.map +0 -1
- package/dist/fhir/AllergyIntolerance.d.ts +0 -278
- package/dist/fhir/AllergyIntolerance.js +0 -7
- package/dist/fhir/AllergyIntolerance.js.map +0 -1
- package/dist/fhir/Annotation.d.ts +0 -38
- package/dist/fhir/Annotation.js +0 -7
- package/dist/fhir/Annotation.js.map +0 -1
- package/dist/fhir/Appointment.d.ts +0 -273
- package/dist/fhir/Appointment.js +0 -7
- package/dist/fhir/Appointment.js.map +0 -1
- package/dist/fhir/AppointmentResponse.d.ts +0 -123
- package/dist/fhir/AppointmentResponse.js +0 -7
- package/dist/fhir/AppointmentResponse.js.map +0 -1
- package/dist/fhir/Attachment.d.ts +0 -57
- package/dist/fhir/Attachment.js +0 -7
- package/dist/fhir/Attachment.js.map +0 -1
- package/dist/fhir/AuditEvent.d.ts +0 -458
- package/dist/fhir/AuditEvent.js +0 -7
- package/dist/fhir/AuditEvent.js.map +0 -1
- package/dist/fhir/Basic.d.ts +0 -105
- package/dist/fhir/Basic.js +0 -7
- package/dist/fhir/Basic.js.map +0 -1
- package/dist/fhir/Binary.d.ts +0 -58
- package/dist/fhir/Binary.js +0 -7
- package/dist/fhir/Binary.js.map +0 -1
- package/dist/fhir/BiologicallyDerivedProduct.d.ts +0 -356
- package/dist/fhir/BiologicallyDerivedProduct.js +0 -7
- package/dist/fhir/BiologicallyDerivedProduct.js.map +0 -1
- package/dist/fhir/BodyStructure.d.ts +0 -118
- package/dist/fhir/BodyStructure.js +0 -7
- package/dist/fhir/BodyStructure.js.map +0 -1
- package/dist/fhir/Bundle.d.ts +0 -373
- package/dist/fhir/Bundle.js +0 -7
- package/dist/fhir/Bundle.js.map +0 -1
- package/dist/fhir/CapabilityStatement.d.ts +0 -1068
- package/dist/fhir/CapabilityStatement.js +0 -7
- package/dist/fhir/CapabilityStatement.js.map +0 -1
- package/dist/fhir/CarePlan.d.ts +0 -421
- package/dist/fhir/CarePlan.js +0 -7
- package/dist/fhir/CarePlan.js.map +0 -1
- package/dist/fhir/CareTeam.d.ts +0 -203
- package/dist/fhir/CareTeam.js +0 -7
- package/dist/fhir/CareTeam.js.map +0 -1
- package/dist/fhir/CatalogEntry.d.ts +0 -184
- package/dist/fhir/CatalogEntry.js +0 -7
- package/dist/fhir/CatalogEntry.js.map +0 -1
- package/dist/fhir/ChargeItem.d.ts +0 -270
- package/dist/fhir/ChargeItem.js +0 -7
- package/dist/fhir/ChargeItem.js.map +0 -1
- package/dist/fhir/ChargeItemDefinition.d.ts +0 -402
- package/dist/fhir/ChargeItemDefinition.js +0 -7
- package/dist/fhir/ChargeItemDefinition.js.map +0 -1
- package/dist/fhir/Claim.d.ts +0 -1089
- package/dist/fhir/Claim.js +0 -7
- package/dist/fhir/Claim.js.map +0 -1
- package/dist/fhir/ClaimResponse.d.ts +0 -1037
- package/dist/fhir/ClaimResponse.js +0 -7
- package/dist/fhir/ClaimResponse.js.map +0 -1
- package/dist/fhir/ClientApplication.d.ts +0 -54
- package/dist/fhir/ClientApplication.js +0 -7
- package/dist/fhir/ClientApplication.js.map +0 -1
- package/dist/fhir/ClinicalImpression.d.ts +0 -301
- package/dist/fhir/ClinicalImpression.js +0 -7
- package/dist/fhir/ClinicalImpression.js.map +0 -1
- package/dist/fhir/CodeSystem.d.ts +0 -546
- package/dist/fhir/CodeSystem.js +0 -7
- package/dist/fhir/CodeSystem.js.map +0 -1
- package/dist/fhir/CodeableConcept.d.ts +0 -32
- package/dist/fhir/CodeableConcept.js +0 -7
- package/dist/fhir/CodeableConcept.js.map +0 -1
- package/dist/fhir/Coding.d.ts +0 -49
- package/dist/fhir/Coding.js +0 -7
- package/dist/fhir/Coding.js.map +0 -1
- package/dist/fhir/Communication.d.ts +0 -251
- package/dist/fhir/Communication.js +0 -7
- package/dist/fhir/Communication.js.map +0 -1
- package/dist/fhir/CommunicationRequest.d.ts +0 -248
- package/dist/fhir/CommunicationRequest.js +0 -7
- package/dist/fhir/CommunicationRequest.js.map +0 -1
- package/dist/fhir/CompartmentDefinition.d.ts +0 -218
- package/dist/fhir/CompartmentDefinition.js +0 -7
- package/dist/fhir/CompartmentDefinition.js.map +0 -1
- package/dist/fhir/Composition.d.ts +0 -455
- package/dist/fhir/Composition.js +0 -7
- package/dist/fhir/Composition.js.map +0 -1
- package/dist/fhir/ConceptMap.d.ts +0 -523
- package/dist/fhir/ConceptMap.js +0 -7
- package/dist/fhir/ConceptMap.js.map +0 -1
- package/dist/fhir/Condition.d.ts +0 -316
- package/dist/fhir/Condition.js +0 -7
- package/dist/fhir/Condition.js.map +0 -1
- package/dist/fhir/Consent.d.ts +0 -457
- package/dist/fhir/Consent.js +0 -7
- package/dist/fhir/Consent.js.map +0 -1
- package/dist/fhir/ContactDetail.d.ts +0 -30
- package/dist/fhir/ContactDetail.js +0 -7
- package/dist/fhir/ContactDetail.js.map +0 -1
- package/dist/fhir/ContactPoint.d.ts +0 -46
- package/dist/fhir/ContactPoint.js +0 -7
- package/dist/fhir/ContactPoint.js.map +0 -1
- package/dist/fhir/Contract.d.ts +0 -1431
- package/dist/fhir/Contract.js +0 -7
- package/dist/fhir/Contract.js.map +0 -1
- package/dist/fhir/Contributor.d.ts +0 -36
- package/dist/fhir/Contributor.js +0 -7
- package/dist/fhir/Contributor.js.map +0 -1
- package/dist/fhir/Count.d.ts +0 -49
- package/dist/fhir/Count.js +0 -7
- package/dist/fhir/Count.js.map +0 -1
- package/dist/fhir/Coverage.d.ts +0 -323
- package/dist/fhir/Coverage.js +0 -7
- package/dist/fhir/Coverage.js.map +0 -1
- package/dist/fhir/CoverageEligibilityRequest.d.ts +0 -409
- package/dist/fhir/CoverageEligibilityRequest.js +0 -7
- package/dist/fhir/CoverageEligibilityRequest.js.map +0 -1
- package/dist/fhir/CoverageEligibilityResponse.d.ts +0 -430
- package/dist/fhir/CoverageEligibilityResponse.js +0 -7
- package/dist/fhir/CoverageEligibilityResponse.js.map +0 -1
- package/dist/fhir/DataRequirement.d.ts +0 -288
- package/dist/fhir/DataRequirement.js +0 -7
- package/dist/fhir/DataRequirement.js.map +0 -1
- package/dist/fhir/DetectedIssue.d.ts +0 -249
- package/dist/fhir/DetectedIssue.js +0 -7
- package/dist/fhir/DetectedIssue.js.map +0 -1
- package/dist/fhir/Device.d.ts +0 -488
- package/dist/fhir/Device.js +0 -7
- package/dist/fhir/Device.js.map +0 -1
- package/dist/fhir/DeviceDefinition.d.ts +0 -484
- package/dist/fhir/DeviceDefinition.js +0 -7
- package/dist/fhir/DeviceDefinition.js.map +0 -1
- package/dist/fhir/DeviceMetric.d.ts +0 -198
- package/dist/fhir/DeviceMetric.js +0 -7
- package/dist/fhir/DeviceMetric.js.map +0 -1
- package/dist/fhir/DeviceRequest.d.ts +0 -279
- package/dist/fhir/DeviceRequest.js +0 -7
- package/dist/fhir/DeviceRequest.js.map +0 -1
- package/dist/fhir/DeviceUseStatement.d.ts +0 -153
- package/dist/fhir/DeviceUseStatement.js +0 -7
- package/dist/fhir/DeviceUseStatement.js.map +0 -1
- package/dist/fhir/DiagnosticReport.d.ts +0 -239
- package/dist/fhir/DiagnosticReport.js +0 -7
- package/dist/fhir/DiagnosticReport.js.map +0 -1
- package/dist/fhir/Distance.d.ts +0 -46
- package/dist/fhir/Distance.js +0 -7
- package/dist/fhir/Distance.js.map +0 -1
- package/dist/fhir/DocumentManifest.d.ts +0 -190
- package/dist/fhir/DocumentManifest.js +0 -7
- package/dist/fhir/DocumentManifest.js.map +0 -1
- package/dist/fhir/DocumentReference.d.ts +0 -353
- package/dist/fhir/DocumentReference.js +0 -7
- package/dist/fhir/DocumentReference.js.map +0 -1
- package/dist/fhir/Dosage.d.ts +0 -171
- package/dist/fhir/Dosage.js +0 -7
- package/dist/fhir/Dosage.js.map +0 -1
- package/dist/fhir/Duration.d.ts +0 -46
- package/dist/fhir/Duration.js +0 -7
- package/dist/fhir/Duration.js.map +0 -1
- package/dist/fhir/EffectEvidenceSynthesis.d.ts +0 -600
- package/dist/fhir/EffectEvidenceSynthesis.js +0 -7
- package/dist/fhir/EffectEvidenceSynthesis.js.map +0 -1
- package/dist/fhir/Element.d.ts +0 -20
- package/dist/fhir/Element.js +0 -7
- package/dist/fhir/Element.js.map +0 -1
- package/dist/fhir/ElementDefinition.d.ts +0 -2828
- package/dist/fhir/ElementDefinition.js +0 -7
- package/dist/fhir/ElementDefinition.js.map +0 -1
- package/dist/fhir/Encounter.d.ts +0 -546
- package/dist/fhir/Encounter.js +0 -7
- package/dist/fhir/Encounter.js.map +0 -1
- package/dist/fhir/Endpoint.d.ts +0 -139
- package/dist/fhir/Endpoint.js +0 -7
- package/dist/fhir/Endpoint.js.map +0 -1
- package/dist/fhir/EnrollmentRequest.d.ts +0 -108
- package/dist/fhir/EnrollmentRequest.js +0 -7
- package/dist/fhir/EnrollmentRequest.js.map +0 -1
- package/dist/fhir/EnrollmentResponse.d.ts +0 -113
- package/dist/fhir/EnrollmentResponse.js +0 -7
- package/dist/fhir/EnrollmentResponse.js.map +0 -1
- package/dist/fhir/EpisodeOfCare.d.ts +0 -243
- package/dist/fhir/EpisodeOfCare.js +0 -7
- package/dist/fhir/EpisodeOfCare.js.map +0 -1
- package/dist/fhir/EventDefinition.d.ts +0 -252
- package/dist/fhir/EventDefinition.js +0 -7
- package/dist/fhir/EventDefinition.js.map +0 -1
- package/dist/fhir/Evidence.d.ts +0 -251
- package/dist/fhir/Evidence.js +0 -7
- package/dist/fhir/Evidence.js.map +0 -1
- package/dist/fhir/EvidenceVariable.d.ts +0 -369
- package/dist/fhir/EvidenceVariable.js +0 -7
- package/dist/fhir/EvidenceVariable.js.map +0 -1
- package/dist/fhir/ExampleScenario.d.ts +0 -626
- package/dist/fhir/ExampleScenario.js +0 -7
- package/dist/fhir/ExampleScenario.js.map +0 -1
- package/dist/fhir/ExplanationOfBenefit.d.ts +0 -1854
- package/dist/fhir/ExplanationOfBenefit.js +0 -7
- package/dist/fhir/ExplanationOfBenefit.js.map +0 -1
- package/dist/fhir/Expression.d.ts +0 -45
- package/dist/fhir/Expression.js +0 -7
- package/dist/fhir/Expression.js.map +0 -1
- package/dist/fhir/Extension.d.ts +0 -305
- package/dist/fhir/Extension.js +0 -7
- package/dist/fhir/Extension.js.map +0 -1
- package/dist/fhir/FamilyMemberHistory.d.ts +0 -297
- package/dist/fhir/FamilyMemberHistory.js +0 -7
- package/dist/fhir/FamilyMemberHistory.js.map +0 -1
- package/dist/fhir/Flag.d.ts +0 -121
- package/dist/fhir/Flag.js +0 -7
- package/dist/fhir/Flag.js.map +0 -1
- package/dist/fhir/Goal.d.ts +0 -290
- package/dist/fhir/Goal.js +0 -7
- package/dist/fhir/Goal.js.map +0 -1
- package/dist/fhir/GraphDefinition.d.ts +0 -359
- package/dist/fhir/GraphDefinition.js +0 -7
- package/dist/fhir/GraphDefinition.js.map +0 -1
- package/dist/fhir/Group.d.ts +0 -268
- package/dist/fhir/Group.js +0 -7
- package/dist/fhir/Group.js.map +0 -1
- package/dist/fhir/GuidanceResponse.d.ts +0 -184
- package/dist/fhir/GuidanceResponse.js +0 -7
- package/dist/fhir/GuidanceResponse.js.map +0 -1
- package/dist/fhir/HealthcareService.d.ts +0 -351
- package/dist/fhir/HealthcareService.js +0 -7
- package/dist/fhir/HealthcareService.js.map +0 -1
- package/dist/fhir/HumanName.d.ts +0 -57
- package/dist/fhir/HumanName.js +0 -7
- package/dist/fhir/HumanName.js.map +0 -1
- package/dist/fhir/Identifier.d.ts +0 -51
- package/dist/fhir/Identifier.js +0 -7
- package/dist/fhir/Identifier.js.map +0 -1
- package/dist/fhir/ImagingStudy.d.ts +0 -398
- package/dist/fhir/ImagingStudy.js +0 -7
- package/dist/fhir/ImagingStudy.js.map +0 -1
- package/dist/fhir/Immunization.d.ts +0 -440
- package/dist/fhir/Immunization.js +0 -7
- package/dist/fhir/Immunization.js.map +0 -1
- package/dist/fhir/ImmunizationEvaluation.d.ts +0 -146
- package/dist/fhir/ImmunizationEvaluation.js +0 -7
- package/dist/fhir/ImmunizationEvaluation.js.map +0 -1
- package/dist/fhir/ImmunizationRecommendation.d.ts +0 -253
- package/dist/fhir/ImmunizationRecommendation.js +0 -7
- package/dist/fhir/ImmunizationRecommendation.js.map +0 -1
- package/dist/fhir/ImplementationGuide.d.ts +0 -854
- package/dist/fhir/ImplementationGuide.js +0 -7
- package/dist/fhir/ImplementationGuide.js.map +0 -1
- package/dist/fhir/InsurancePlan.d.ts +0 -630
- package/dist/fhir/InsurancePlan.js +0 -7
- package/dist/fhir/InsurancePlan.js.map +0 -1
- package/dist/fhir/Invoice.d.ts +0 -331
- package/dist/fhir/Invoice.js +0 -7
- package/dist/fhir/Invoice.js.map +0 -1
- package/dist/fhir/JsonWebKey.d.ts +0 -99
- package/dist/fhir/JsonWebKey.js +0 -7
- package/dist/fhir/JsonWebKey.js.map +0 -1
- package/dist/fhir/Library.d.ts +0 -276
- package/dist/fhir/Library.js +0 -7
- package/dist/fhir/Library.js.map +0 -1
- package/dist/fhir/Linkage.d.ts +0 -142
- package/dist/fhir/Linkage.js +0 -7
- package/dist/fhir/Linkage.js.map +0 -1
- package/dist/fhir/List.d.ts +0 -193
- package/dist/fhir/List.js +0 -7
- package/dist/fhir/List.js.map +0 -1
- package/dist/fhir/Location.d.ts +0 -278
- package/dist/fhir/Location.js +0 -7
- package/dist/fhir/Location.js.map +0 -1
- package/dist/fhir/Login.d.ts +0 -108
- package/dist/fhir/Login.js +0 -7
- package/dist/fhir/Login.js.map +0 -1
- package/dist/fhir/MarketingStatus.d.ts +0 -82
- package/dist/fhir/MarketingStatus.js +0 -7
- package/dist/fhir/MarketingStatus.js.map +0 -1
- package/dist/fhir/Measure.d.ts +0 -613
- package/dist/fhir/Measure.js +0 -7
- package/dist/fhir/Measure.js.map +0 -1
- package/dist/fhir/MeasureReport.d.ts +0 -460
- package/dist/fhir/MeasureReport.js +0 -7
- package/dist/fhir/MeasureReport.js.map +0 -1
- package/dist/fhir/Media.d.ts +0 -191
- package/dist/fhir/Media.js +0 -7
- package/dist/fhir/Media.js.map +0 -1
- package/dist/fhir/Medication.d.ts +0 -234
- package/dist/fhir/Medication.js +0 -7
- package/dist/fhir/Medication.js.map +0 -1
- package/dist/fhir/MedicationAdministration.d.ts +0 -343
- package/dist/fhir/MedicationAdministration.js +0 -7
- package/dist/fhir/MedicationAdministration.js.map +0 -1
- package/dist/fhir/MedicationDispense.d.ts +0 -332
- package/dist/fhir/MedicationDispense.js +0 -7
- package/dist/fhir/MedicationDispense.js.map +0 -1
- package/dist/fhir/MedicationKnowledge.d.ts +0 -979
- package/dist/fhir/MedicationKnowledge.js +0 -7
- package/dist/fhir/MedicationKnowledge.js.map +0 -1
- package/dist/fhir/MedicationRequest.d.ts +0 -468
- package/dist/fhir/MedicationRequest.js +0 -7
- package/dist/fhir/MedicationRequest.js.map +0 -1
- package/dist/fhir/MedicationStatement.d.ts +0 -210
- package/dist/fhir/MedicationStatement.js +0 -7
- package/dist/fhir/MedicationStatement.js.map +0 -1
- package/dist/fhir/MedicinalProduct.d.ts +0 -449
- package/dist/fhir/MedicinalProduct.js +0 -7
- package/dist/fhir/MedicinalProduct.js.map +0 -1
- package/dist/fhir/MedicinalProductAuthorization.d.ts +0 -267
- package/dist/fhir/MedicinalProductAuthorization.js +0 -7
- package/dist/fhir/MedicinalProductAuthorization.js.map +0 -1
- package/dist/fhir/MedicinalProductContraindication.d.ts +0 -165
- package/dist/fhir/MedicinalProductContraindication.js +0 -7
- package/dist/fhir/MedicinalProductContraindication.js.map +0 -1
- package/dist/fhir/MedicinalProductIndication.d.ts +0 -173
- package/dist/fhir/MedicinalProductIndication.js +0 -7
- package/dist/fhir/MedicinalProductIndication.js.map +0 -1
- package/dist/fhir/MedicinalProductIngredient.d.ts +0 -334
- package/dist/fhir/MedicinalProductIngredient.js +0 -7
- package/dist/fhir/MedicinalProductIngredient.js.map +0 -1
- package/dist/fhir/MedicinalProductInteraction.d.ts +0 -155
- package/dist/fhir/MedicinalProductInteraction.js +0 -7
- package/dist/fhir/MedicinalProductInteraction.js.map +0 -1
- package/dist/fhir/MedicinalProductManufactured.d.ts +0 -111
- package/dist/fhir/MedicinalProductManufactured.js +0 -7
- package/dist/fhir/MedicinalProductManufactured.js.map +0 -1
- package/dist/fhir/MedicinalProductPackaged.d.ts +0 -253
- package/dist/fhir/MedicinalProductPackaged.js +0 -7
- package/dist/fhir/MedicinalProductPackaged.js.map +0 -1
- package/dist/fhir/MedicinalProductPharmaceutical.d.ts +0 -331
- package/dist/fhir/MedicinalProductPharmaceutical.js +0 -7
- package/dist/fhir/MedicinalProductPharmaceutical.js.map +0 -1
- package/dist/fhir/MedicinalProductUndesirableEffect.d.ts +0 -99
- package/dist/fhir/MedicinalProductUndesirableEffect.js +0 -7
- package/dist/fhir/MedicinalProductUndesirableEffect.js.map +0 -1
- package/dist/fhir/MessageDefinition.d.ts +0 -331
- package/dist/fhir/MessageDefinition.js +0 -7
- package/dist/fhir/MessageDefinition.js.map +0 -1
- package/dist/fhir/MessageHeader.d.ts +0 -329
- package/dist/fhir/MessageHeader.js +0 -7
- package/dist/fhir/MessageHeader.js.map +0 -1
- package/dist/fhir/Meta.d.ts +0 -68
- package/dist/fhir/Meta.js +0 -7
- package/dist/fhir/Meta.js.map +0 -1
- package/dist/fhir/MolecularSequence.d.ts +0 -746
- package/dist/fhir/MolecularSequence.js +0 -7
- package/dist/fhir/MolecularSequence.js.map +0 -1
- package/dist/fhir/Money.d.ts +0 -28
- package/dist/fhir/Money.js +0 -7
- package/dist/fhir/Money.js.map +0 -1
- package/dist/fhir/NamingSystem.d.ts +0 -219
- package/dist/fhir/NamingSystem.js +0 -7
- package/dist/fhir/NamingSystem.js.map +0 -1
- package/dist/fhir/Narrative.d.ts +0 -31
- package/dist/fhir/Narrative.js +0 -7
- package/dist/fhir/Narrative.js.map +0 -1
- package/dist/fhir/NutritionOrder.d.ts +0 -558
- package/dist/fhir/NutritionOrder.js +0 -7
- package/dist/fhir/NutritionOrder.js.map +0 -1
- package/dist/fhir/Observation.d.ts +0 -487
- package/dist/fhir/Observation.js +0 -7
- package/dist/fhir/Observation.js.map +0 -1
- package/dist/fhir/ObservationDefinition.d.ts +0 -277
- package/dist/fhir/ObservationDefinition.js +0 -7
- package/dist/fhir/ObservationDefinition.js.map +0 -1
- package/dist/fhir/OperationDefinition.d.ts +0 -468
- package/dist/fhir/OperationDefinition.js +0 -7
- package/dist/fhir/OperationDefinition.js.map +0 -1
- package/dist/fhir/OperationOutcome.d.ts +0 -168
- package/dist/fhir/OperationOutcome.js +0 -7
- package/dist/fhir/OperationOutcome.js.map +0 -1
- package/dist/fhir/Organization.d.ts +0 -187
- package/dist/fhir/Organization.js +0 -7
- package/dist/fhir/Organization.js.map +0 -1
- package/dist/fhir/OrganizationAffiliation.d.ts +0 -141
- package/dist/fhir/OrganizationAffiliation.js +0 -7
- package/dist/fhir/OrganizationAffiliation.js.map +0 -1
- package/dist/fhir/ParameterDefinition.d.ts +0 -56
- package/dist/fhir/ParameterDefinition.js +0 -7
- package/dist/fhir/ParameterDefinition.js.map +0 -1
- package/dist/fhir/Parameters.d.ts +0 -321
- package/dist/fhir/Parameters.js +0 -7
- package/dist/fhir/Parameters.js.map +0 -1
- package/dist/fhir/PasswordChangeRequest.d.ts +0 -50
- package/dist/fhir/PasswordChangeRequest.js +0 -7
- package/dist/fhir/PasswordChangeRequest.js.map +0 -1
- package/dist/fhir/Patient.d.ts +0 -339
- package/dist/fhir/Patient.js +0 -7
- package/dist/fhir/Patient.js.map +0 -1
- package/dist/fhir/PaymentNotice.d.ts +0 -131
- package/dist/fhir/PaymentNotice.js +0 -7
- package/dist/fhir/PaymentNotice.js.map +0 -1
- package/dist/fhir/PaymentReconciliation.d.ts +0 -276
- package/dist/fhir/PaymentReconciliation.js +0 -7
- package/dist/fhir/PaymentReconciliation.js.map +0 -1
- package/dist/fhir/Period.d.ts +0 -31
- package/dist/fhir/Period.js +0 -7
- package/dist/fhir/Period.js.map +0 -1
- package/dist/fhir/Person.d.ts +0 -172
- package/dist/fhir/Person.js +0 -7
- package/dist/fhir/Person.js.map +0 -1
- package/dist/fhir/PlanDefinition.d.ts +0 -855
- package/dist/fhir/PlanDefinition.js +0 -7
- package/dist/fhir/PlanDefinition.js.map +0 -1
- package/dist/fhir/Population.d.ts +0 -61
- package/dist/fhir/Population.js +0 -7
- package/dist/fhir/Population.js.map +0 -1
- package/dist/fhir/Practitioner.d.ts +0 -188
- package/dist/fhir/Practitioner.js +0 -7
- package/dist/fhir/Practitioner.js.map +0 -1
- package/dist/fhir/PractitionerRole.d.ts +0 -254
- package/dist/fhir/PractitionerRole.js +0 -7
- package/dist/fhir/PractitionerRole.js.map +0 -1
- package/dist/fhir/Procedure.d.ts +0 -355
- package/dist/fhir/Procedure.js +0 -7
- package/dist/fhir/Procedure.js.map +0 -1
- package/dist/fhir/ProdCharacteristic.d.ts +0 -112
- package/dist/fhir/ProdCharacteristic.js +0 -7
- package/dist/fhir/ProdCharacteristic.js.map +0 -1
- package/dist/fhir/ProductShelfLife.d.ts +0 -69
- package/dist/fhir/ProductShelfLife.js +0 -7
- package/dist/fhir/ProductShelfLife.js.map +0 -1
- package/dist/fhir/Project.d.ts +0 -46
- package/dist/fhir/Project.js +0 -7
- package/dist/fhir/Project.js.map +0 -1
- package/dist/fhir/ProjectMembership.d.ts +0 -54
- package/dist/fhir/ProjectMembership.js +0 -7
- package/dist/fhir/ProjectMembership.js.map +0 -1
- package/dist/fhir/Provenance.d.ts +0 -270
- package/dist/fhir/Provenance.js +0 -7
- package/dist/fhir/Provenance.js.map +0 -1
- package/dist/fhir/Quantity.d.ts +0 -49
- package/dist/fhir/Quantity.js +0 -7
- package/dist/fhir/Quantity.js.map +0 -1
- package/dist/fhir/Questionnaire.d.ts +0 -610
- package/dist/fhir/Questionnaire.js +0 -7
- package/dist/fhir/Questionnaire.js.map +0 -1
- package/dist/fhir/QuestionnaireResponse.d.ts +0 -305
- package/dist/fhir/QuestionnaireResponse.js +0 -7
- package/dist/fhir/QuestionnaireResponse.js.map +0 -1
- package/dist/fhir/Range.d.ts +0 -29
- package/dist/fhir/Range.js +0 -7
- package/dist/fhir/Range.js.map +0 -1
- package/dist/fhir/Ratio.d.ts +0 -30
- package/dist/fhir/Ratio.js +0 -7
- package/dist/fhir/Ratio.js.map +0 -1
- package/dist/fhir/Reference.d.ts +0 -66
- package/dist/fhir/Reference.js +0 -7
- package/dist/fhir/Reference.js.map +0 -1
- package/dist/fhir/RefreshToken.d.ts +0 -45
- package/dist/fhir/RefreshToken.js +0 -7
- package/dist/fhir/RefreshToken.js.map +0 -1
- package/dist/fhir/RelatedArtifact.d.ts +0 -56
- package/dist/fhir/RelatedArtifact.js +0 -7
- package/dist/fhir/RelatedArtifact.js.map +0 -1
- package/dist/fhir/RelatedPerson.d.ts +0 -190
- package/dist/fhir/RelatedPerson.js +0 -7
- package/dist/fhir/RelatedPerson.js.map +0 -1
- package/dist/fhir/RequestGroup.d.ts +0 -427
- package/dist/fhir/RequestGroup.js +0 -7
- package/dist/fhir/RequestGroup.js.map +0 -1
- package/dist/fhir/ResearchDefinition.d.ts +0 -289
- package/dist/fhir/ResearchDefinition.js +0 -7
- package/dist/fhir/ResearchDefinition.js.map +0 -1
- package/dist/fhir/ResearchElementDefinition.d.ts +0 -430
- package/dist/fhir/ResearchElementDefinition.js +0 -7
- package/dist/fhir/ResearchElementDefinition.js.map +0 -1
- package/dist/fhir/ResearchStudy.d.ts +0 -320
- package/dist/fhir/ResearchStudy.js +0 -7
- package/dist/fhir/ResearchStudy.js.map +0 -1
- package/dist/fhir/ResearchSubject.d.ts +0 -116
- package/dist/fhir/ResearchSubject.js +0 -7
- package/dist/fhir/ResearchSubject.js.map +0 -1
- package/dist/fhir/Resource.d.ts +0 -154
- package/dist/fhir/Resource.js +0 -7
- package/dist/fhir/Resource.js.map +0 -1
- package/dist/fhir/RiskAssessment.d.ts +0 -237
- package/dist/fhir/RiskAssessment.js +0 -7
- package/dist/fhir/RiskAssessment.js.map +0 -1
- package/dist/fhir/RiskEvidenceSynthesis.d.ts +0 -539
- package/dist/fhir/RiskEvidenceSynthesis.js +0 -7
- package/dist/fhir/RiskEvidenceSynthesis.js.map +0 -1
- package/dist/fhir/SampledData.d.ts +0 -61
- package/dist/fhir/SampledData.js +0 -7
- package/dist/fhir/SampledData.js.map +0 -1
- package/dist/fhir/Schedule.d.ts +0 -122
- package/dist/fhir/Schedule.js +0 -7
- package/dist/fhir/Schedule.js.map +0 -1
- package/dist/fhir/SearchParameter.d.ts +0 -278
- package/dist/fhir/SearchParameter.js +0 -7
- package/dist/fhir/SearchParameter.js.map +0 -1
- package/dist/fhir/ServiceRequest.d.ts +0 -288
- package/dist/fhir/ServiceRequest.js +0 -7
- package/dist/fhir/ServiceRequest.js.map +0 -1
- package/dist/fhir/Signature.d.ts +0 -65
- package/dist/fhir/Signature.js +0 -7
- package/dist/fhir/Signature.js.map +0 -1
- package/dist/fhir/Slot.d.ts +0 -133
- package/dist/fhir/Slot.js +0 -7
- package/dist/fhir/Slot.js.map +0 -1
- package/dist/fhir/Specimen.d.ts +0 -357
- package/dist/fhir/Specimen.js +0 -7
- package/dist/fhir/Specimen.js.map +0 -1
- package/dist/fhir/SpecimenDefinition.d.ts +0 -359
- package/dist/fhir/SpecimenDefinition.js +0 -7
- package/dist/fhir/SpecimenDefinition.js.map +0 -1
- package/dist/fhir/StructureDefinition.d.ts +0 -443
- package/dist/fhir/StructureDefinition.js +0 -7
- package/dist/fhir/StructureDefinition.js.map +0 -1
- package/dist/fhir/StructureMap.d.ts +0 -908
- package/dist/fhir/StructureMap.js +0 -7
- package/dist/fhir/StructureMap.js.map +0 -1
- package/dist/fhir/Subscription.d.ts +0 -176
- package/dist/fhir/Subscription.js +0 -7
- package/dist/fhir/Subscription.js.map +0 -1
- package/dist/fhir/Substance.d.ts +0 -212
- package/dist/fhir/Substance.js +0 -7
- package/dist/fhir/Substance.js.map +0 -1
- package/dist/fhir/SubstanceAmount.d.ts +0 -138
- package/dist/fhir/SubstanceAmount.js +0 -7
- package/dist/fhir/SubstanceAmount.js.map +0 -1
- package/dist/fhir/SubstanceNucleicAcid.d.ts +0 -316
- package/dist/fhir/SubstanceNucleicAcid.js +0 -7
- package/dist/fhir/SubstanceNucleicAcid.js.map +0 -1
- package/dist/fhir/SubstancePolymer.d.ts +0 -405
- package/dist/fhir/SubstancePolymer.js +0 -7
- package/dist/fhir/SubstancePolymer.js.map +0 -1
- package/dist/fhir/SubstanceProtein.d.ts +0 -217
- package/dist/fhir/SubstanceProtein.js +0 -7
- package/dist/fhir/SubstanceProtein.js.map +0 -1
- package/dist/fhir/SubstanceReferenceInformation.d.ts +0 -329
- package/dist/fhir/SubstanceReferenceInformation.js +0 -7
- package/dist/fhir/SubstanceReferenceInformation.js.map +0 -1
- package/dist/fhir/SubstanceSourceMaterial.d.ts +0 -594
- package/dist/fhir/SubstanceSourceMaterial.js +0 -7
- package/dist/fhir/SubstanceSourceMaterial.js.map +0 -1
- package/dist/fhir/SubstanceSpecification.d.ts +0 -826
- package/dist/fhir/SubstanceSpecification.js +0 -7
- package/dist/fhir/SubstanceSpecification.js.map +0 -1
- package/dist/fhir/SupplyDelivery.d.ts +0 -195
- package/dist/fhir/SupplyDelivery.js +0 -7
- package/dist/fhir/SupplyDelivery.js.map +0 -1
- package/dist/fhir/SupplyRequest.d.ts +0 -223
- package/dist/fhir/SupplyRequest.js +0 -7
- package/dist/fhir/SupplyRequest.js.map +0 -1
- package/dist/fhir/Task.d.ts +0 -789
- package/dist/fhir/Task.js +0 -7
- package/dist/fhir/Task.js.map +0 -1
- package/dist/fhir/TerminologyCapabilities.d.ts +0 -734
- package/dist/fhir/TerminologyCapabilities.js +0 -7
- package/dist/fhir/TerminologyCapabilities.js.map +0 -1
- package/dist/fhir/TestReport.d.ts +0 -554
- package/dist/fhir/TestReport.js +0 -7
- package/dist/fhir/TestReport.js.map +0 -1
- package/dist/fhir/TestScript.d.ts +0 -1192
- package/dist/fhir/TestScript.js +0 -7
- package/dist/fhir/TestScript.js.map +0 -1
- package/dist/fhir/Timing.d.ts +0 -201
- package/dist/fhir/Timing.js +0 -7
- package/dist/fhir/Timing.js.map +0 -1
- package/dist/fhir/TriggerDefinition.d.ts +0 -63
- package/dist/fhir/TriggerDefinition.js +0 -7
- package/dist/fhir/TriggerDefinition.js.map +0 -1
- package/dist/fhir/UsageContext.d.ts +0 -54
- package/dist/fhir/UsageContext.js +0 -7
- package/dist/fhir/UsageContext.js.map +0 -1
- package/dist/fhir/User.d.ts +0 -44
- package/dist/fhir/User.js +0 -7
- package/dist/fhir/User.js.map +0 -1
- package/dist/fhir/ValueSet.d.ts +0 -736
- package/dist/fhir/ValueSet.js +0 -7
- package/dist/fhir/ValueSet.js.map +0 -1
- package/dist/fhir/VerificationResult.d.ts +0 -340
- package/dist/fhir/VerificationResult.js +0 -7
- package/dist/fhir/VerificationResult.js.map +0 -1
- package/dist/fhir/VisionPrescription.d.ts +0 -261
- package/dist/fhir/VisionPrescription.js +0 -7
- package/dist/fhir/VisionPrescription.js.map +0 -1
- package/dist/fhir/index.d.ts +0 -194
- package/dist/fhir/index.js +0 -211
- package/dist/fhir/index.js.map +0 -1
- package/dist/fhirpath/functions.d.ts +0 -6
- package/dist/fhirpath/functions.js +0 -349
- package/dist/fhirpath/functions.js.map +0 -1
- package/dist/fhirpath/functions.test.d.ts +0 -1
- package/dist/fhirpath/functions.test.js +0 -162
- package/dist/fhirpath/functions.test.js.map +0 -1
- package/dist/fhirpath/index.d.ts +0 -2
- package/dist/fhirpath/index.js +0 -15
- package/dist/fhirpath/index.js.map +0 -1
- package/dist/fhirpath/parse.d.ts +0 -10
- package/dist/fhirpath/parse.js +0 -285
- package/dist/fhirpath/parse.js.map +0 -1
- package/dist/fhirpath/parse.test.d.ts +0 -1
- package/dist/fhirpath/parse.test.js +0 -239
- package/dist/fhirpath/parse.test.js.map +0 -1
- package/dist/fhirpath/tokenize.d.ts +0 -13
- package/dist/fhirpath/tokenize.js +0 -43
- package/dist/fhirpath/tokenize.js.map +0 -1
- package/dist/fhirpath/tokenize.test.d.ts +0 -1
- package/dist/fhirpath/tokenize.test.js +0 -69
- package/dist/fhirpath/tokenize.test.js.map +0 -1
- package/dist/fhirpath/utils.d.ts +0 -13
- package/dist/fhirpath/utils.js +0 -34
- package/dist/fhirpath/utils.js.map +0 -1
- package/dist/fhirpath/utils.test.d.ts +0 -1
- package/dist/fhirpath/utils.test.js +0 -22
- package/dist/fhirpath/utils.test.js.map +0 -1
- package/dist/format.test.d.ts +0 -1
- package/dist/format.test.js +0 -127
- package/dist/format.test.js.map +0 -1
- package/dist/index.test.d.ts +0 -1
- package/dist/index.test.js +0 -11
- package/dist/index.test.js.map +0 -1
- package/dist/outcomes.test.d.ts +0 -1
- package/dist/outcomes.test.js +0 -30
- package/dist/outcomes.test.js.map +0 -1
- package/dist/search.test.d.ts +0 -1
- package/dist/search.test.js +0 -70
- package/dist/search.test.js.map +0 -1
- package/dist/storage.test.d.ts +0 -1
- package/dist/storage.test.js +0 -19
- package/dist/storage.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utils.test.d.ts +0 -1
- package/dist/utils.test.js +0 -90
- package/dist/utils.test.js.map +0 -1
package/dist/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.arrayBufferToBase64 = exports.arrayBufferToHex = exports.stringify = exports.getDateProperty = exports.getImageSrc = exports.getDisplayString = exports.isProfileResource = exports.getReferenceString = exports.createReference = void 0;
|
|
3
|
+
exports.isLowerCase = exports.capitalize = exports.arrayBufferToBase64 = exports.arrayBufferToHex = exports.deepEquals = exports.stringify = exports.getDateProperty = exports.getImageSrc = exports.getDisplayString = exports.isProfileResource = exports.getReferenceString = exports.createReference = void 0;
|
|
4
4
|
const format_1 = require("./format");
|
|
5
5
|
/**
|
|
6
6
|
* Creates a reference resource.
|
|
@@ -10,7 +10,7 @@ const format_1 = require("./format");
|
|
|
10
10
|
function createReference(resource) {
|
|
11
11
|
const reference = getReferenceString(resource);
|
|
12
12
|
const display = getDisplayString(resource);
|
|
13
|
-
return
|
|
13
|
+
return display === reference ? { reference } : { reference, display };
|
|
14
14
|
}
|
|
15
15
|
exports.createReference = createReference;
|
|
16
16
|
/**
|
|
@@ -28,9 +28,9 @@ exports.getReferenceString = getReferenceString;
|
|
|
28
28
|
* @returns True if the resource is a "ProfileResource".
|
|
29
29
|
*/
|
|
30
30
|
function isProfileResource(resource) {
|
|
31
|
-
return resource.resourceType === 'Patient' ||
|
|
31
|
+
return (resource.resourceType === 'Patient' ||
|
|
32
32
|
resource.resourceType === 'Practitioner' ||
|
|
33
|
-
resource.resourceType === 'RelatedPerson';
|
|
33
|
+
resource.resourceType === 'RelatedPerson');
|
|
34
34
|
}
|
|
35
35
|
exports.isProfileResource = isProfileResource;
|
|
36
36
|
/**
|
|
@@ -51,6 +51,11 @@ function getDisplayString(resource) {
|
|
|
51
51
|
return deviceName;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
if (resource.resourceType === 'User') {
|
|
55
|
+
if (resource.email) {
|
|
56
|
+
return resource.email;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
54
59
|
const simpleName = resource.name;
|
|
55
60
|
if (simpleName && typeof simpleName === 'string') {
|
|
56
61
|
return simpleName;
|
|
@@ -109,13 +114,7 @@ exports.getImageSrc = getImageSrc;
|
|
|
109
114
|
* @returns A Date object.
|
|
110
115
|
*/
|
|
111
116
|
function getDateProperty(date) {
|
|
112
|
-
|
|
113
|
-
return date;
|
|
114
|
-
}
|
|
115
|
-
if (typeof date === 'string') {
|
|
116
|
-
return new Date(date);
|
|
117
|
-
}
|
|
118
|
-
return undefined;
|
|
117
|
+
return date ? new Date(date) : undefined;
|
|
119
118
|
}
|
|
120
119
|
exports.getDateProperty = getDateProperty;
|
|
121
120
|
/**
|
|
@@ -142,7 +141,7 @@ exports.stringify = stringify;
|
|
|
142
141
|
* @param {*} v Property value.
|
|
143
142
|
*/
|
|
144
143
|
function stringifyReplacer(k, v) {
|
|
145
|
-
return
|
|
144
|
+
return k === '__key' || isEmpty(v) ? undefined : v;
|
|
146
145
|
}
|
|
147
146
|
/**
|
|
148
147
|
* Returns true if the value is empty (null, undefined, empty string, or empty object).
|
|
@@ -156,6 +155,44 @@ function isEmpty(v) {
|
|
|
156
155
|
const t = typeof v;
|
|
157
156
|
return (t === 'string' && v === '') || (t === 'object' && Object.keys(v).length === 0);
|
|
158
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Resource equality.
|
|
160
|
+
* Ignores meta.versionId and meta.lastUpdated.
|
|
161
|
+
* See: https://dmitripavlutin.com/how-to-compare-objects-in-javascript/#4-deep-equality
|
|
162
|
+
* @param object1 The first object.
|
|
163
|
+
* @param object2 The second object.
|
|
164
|
+
* @returns True if the objects are equal.
|
|
165
|
+
*/
|
|
166
|
+
function deepEquals(object1, object2, path) {
|
|
167
|
+
let keys1 = Object.keys(object1);
|
|
168
|
+
let keys2 = Object.keys(object2);
|
|
169
|
+
if (path === 'meta') {
|
|
170
|
+
keys1 = keys1.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');
|
|
171
|
+
keys2 = keys2.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');
|
|
172
|
+
}
|
|
173
|
+
if (keys1.length !== keys2.length) {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
for (const key of keys1) {
|
|
177
|
+
const val1 = object1[key];
|
|
178
|
+
const val2 = object2[key];
|
|
179
|
+
if (isObject(val1) && isObject(val2)) {
|
|
180
|
+
if (!deepEquals(val1, val2, key)) {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
if (val1 !== val2) {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
exports.deepEquals = deepEquals;
|
|
193
|
+
function isObject(object) {
|
|
194
|
+
return object !== null && typeof object === 'object';
|
|
195
|
+
}
|
|
159
196
|
// Precompute hex octets
|
|
160
197
|
// See: https://stackoverflow.com/a/55200387
|
|
161
198
|
const byteToHex = [];
|
|
@@ -191,4 +228,12 @@ function arrayBufferToBase64(arrayBuffer) {
|
|
|
191
228
|
return window.btoa(result.join(''));
|
|
192
229
|
}
|
|
193
230
|
exports.arrayBufferToBase64 = arrayBufferToBase64;
|
|
231
|
+
function capitalize(word) {
|
|
232
|
+
return word.charAt(0).toUpperCase() + word.substr(1);
|
|
233
|
+
}
|
|
234
|
+
exports.capitalize = capitalize;
|
|
235
|
+
function isLowerCase(c) {
|
|
236
|
+
return c === c.toLowerCase();
|
|
237
|
+
}
|
|
238
|
+
exports.isLowerCase = isLowerCase;
|
|
194
239
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Device, Patient, Practitioner, Reference, RelatedPerson, Resource } from '@medplum/fhirtypes';\nimport { formatHumanName } from './format';\n\nexport type ProfileResource = Patient | Practitioner | RelatedPerson;\n\n/**\n * Creates a reference resource.\n * @param resource The FHIR reesource.\n * @returns A reference resource.\n */\nexport function createReference<T extends Resource>(resource: T): Reference<T> {\n const reference = getReferenceString(resource);\n const display = getDisplayString(resource);\n return display === reference ? { reference } : { reference, display };\n}\n\n/**\n * Returns a reference string for a resource.\n * @param resource The FHIR resource.\n * @returns A reference string of the form resourceType/id.\n */\nexport function getReferenceString(resource: Resource): string {\n return resource.resourceType + '/' + resource.id;\n}\n\n/**\n * Returns true if the resource is a \"ProfileResource\".\n * @param resource The FHIR resource.\n * @returns True if the resource is a \"ProfileResource\".\n */\nexport function isProfileResource(resource: Resource): boolean {\n return (\n resource.resourceType === 'Patient' ||\n resource.resourceType === 'Practitioner' ||\n resource.resourceType === 'RelatedPerson'\n );\n}\n\n/**\n * Returns a display string for the resource.\n * @param resource The input resource.\n * @return Human friendly display string.\n */\nexport function getDisplayString(resource: Resource): string {\n if (isProfileResource(resource)) {\n const profileName = getProfileResourceDisplayString(resource as ProfileResource);\n if (profileName) {\n return profileName;\n }\n }\n if (resource.resourceType === 'Device') {\n const deviceName = getDeviceDisplayString(resource);\n if (deviceName) {\n return deviceName;\n }\n }\n if (resource.resourceType === 'User') {\n if (resource.email) {\n return resource.email;\n }\n }\n const simpleName = (resource as any).name;\n if (simpleName && typeof simpleName === 'string') {\n return simpleName;\n }\n return getReferenceString(resource);\n}\n\n/**\n * Returns a display string for a profile resource if one is found.\n * @param resource The profile resource.\n * @returns The display name if one is found.\n */\nfunction getProfileResourceDisplayString(resource: ProfileResource): string | undefined {\n const names = resource.name;\n if (names && names.length > 0) {\n return formatHumanName(names[0]);\n }\n return undefined;\n}\n\n/**\n * Returns a display string for a device resource if one is found.\n * @param device The device resource.\n * @returns The display name if one is found.\n */\nfunction getDeviceDisplayString(device: Device): string | undefined {\n const names = device.deviceName;\n if (names && names.length > 0) {\n return names[0].name;\n }\n return undefined;\n}\n\n/**\n * Returns an image URL for the resource, if one is available.\n * @param resource The input resource.\n * @returns The image URL for the resource or undefined.\n */\nexport function getImageSrc(resource: Resource): string | undefined {\n if (isProfileResource(resource)) {\n const photos = (resource as ProfileResource).photo;\n if (photos) {\n for (const photo of photos) {\n if (photo.url && photo.contentType && photo.contentType.startsWith('image/')) {\n return photo.url;\n }\n }\n }\n }\n return undefined;\n}\n\n/**\n * Returns a Date property as a Date.\n * When working with JSON objects, Dates are often serialized as ISO-8601 strings.\n * When that happens, we need to safely convert to a proper Date object.\n * @param date The date property value, which could be a string or a Date object.\n * @returns A Date object.\n */\nexport function getDateProperty(date: string | undefined): Date | undefined {\n return date ? new Date(date) : undefined;\n}\n\n/**\n * FHIR JSON stringify.\n * Removes properties with empty string values.\n * Removes objects with zero properties.\n * See: https://www.hl7.org/fhir/json.html\n * @param value The input value.\n * @param pretty Optional flag to pretty-print the JSON.\n * @returns The resulting JSON string.\n */\nexport function stringify(value: any, pretty?: boolean): string {\n return JSON.stringify(value, stringifyReplacer, pretty ? 2 : undefined);\n}\n\n/**\n * Evaluates JSON key/value pairs for FHIR JSON stringify.\n * Removes properties with empty string values.\n * Removes objects with zero properties.\n * Replaces any key/value pair of key \"__key\" with value undefined.\n * This function can be used as the 2nd argument to stringify to remove __key properties.\n * We add __key properties to array elements to improve React render performance.\n * @param {string} k Property key.\n * @param {*} v Property value.\n */\nfunction stringifyReplacer(k: string, v: any): any {\n return k === '__key' || isEmpty(v) ? undefined : v;\n}\n\n/**\n * Returns true if the value is empty (null, undefined, empty string, or empty object).\n * @param v Any value.\n * @returns True if the value is an empty string or an empty object.\n */\nfunction isEmpty(v: any): boolean {\n if (v === null || v === undefined) {\n return true;\n }\n const t = typeof v;\n return (t === 'string' && v === '') || (t === 'object' && Object.keys(v).length === 0);\n}\n\n/**\n * Resource equality.\n * Ignores meta.versionId and meta.lastUpdated.\n * See: https://dmitripavlutin.com/how-to-compare-objects-in-javascript/#4-deep-equality\n * @param object1 The first object.\n * @param object2 The second object.\n * @returns True if the objects are equal.\n */\nexport function deepEquals(object1: any, object2: any, path?: string): boolean {\n let keys1 = Object.keys(object1);\n let keys2 = Object.keys(object2);\n if (path === 'meta') {\n keys1 = keys1.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');\n keys2 = keys2.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');\n }\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n const val2 = object2[key];\n if (isObject(val1) && isObject(val2)) {\n if (!deepEquals(val1, val2, key)) {\n return false;\n }\n } else {\n if (val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nfunction isObject(object: any): boolean {\n return object !== null && typeof object === 'object';\n}\n\n// Precompute hex octets\n// See: https://stackoverflow.com/a/55200387\nconst byteToHex: string[] = [];\nfor (let n = 0; n < 256; n++) {\n byteToHex.push(n.toString(16).padStart(2, '0'));\n}\n\n/**\n * Converts an ArrayBuffer to hex string.\n * See: https://stackoverflow.com/a/55200387\n * @param arrayBuffer The input array buffer.\n * @returns The resulting hex string.\n */\nexport function arrayBufferToHex(arrayBuffer: ArrayBuffer): string {\n const bytes = new Uint8Array(arrayBuffer);\n const result: string[] = new Array(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n result[i] = byteToHex[bytes[i]];\n }\n return result.join('');\n}\n\n/**\n * Converts an ArrayBuffer to a base-64 encoded string.\n * @param arrayBuffer The input array buffer.\n * @returns The base-64 encoded string.\n */\nexport function arrayBufferToBase64(arrayBuffer: ArrayBuffer): string {\n const bytes = new Uint8Array(arrayBuffer);\n const result: string[] = [];\n for (let i = 0; i < bytes.length; i++) {\n result[i] = String.fromCharCode(bytes[i]);\n }\n return window.btoa(result.join(''));\n}\n\nexport function capitalize(word: string): string {\n return word.charAt(0).toUpperCase() + word.substr(1);\n}\n\nexport function isLowerCase(c: string): boolean {\n return c === c.toLowerCase();\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medplum/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Medplum TS/JS Library",
|
|
5
5
|
"author": "Medplum <hello@medplum.com>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -13,24 +13,11 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"clean": "rimraf dist",
|
|
15
15
|
"build": "npm run clean && tsc",
|
|
16
|
-
"test": "jest"
|
|
17
|
-
"lint": "eslint src/ --ext .ts,.tsx"
|
|
16
|
+
"test": "jest"
|
|
18
17
|
},
|
|
19
18
|
"devDependencies": {
|
|
20
|
-
"@medplum/
|
|
21
|
-
"@types/jest": "27.0.1",
|
|
22
|
-
"@types/node": "16.7.3",
|
|
23
|
-
"@typescript-eslint/eslint-plugin": "4.29.3",
|
|
24
|
-
"@typescript-eslint/parser": "4.29.3",
|
|
25
|
-
"eslint": "7.32.0",
|
|
26
|
-
"jest": "27.1.0",
|
|
27
|
-
"rimraf": "3.0.2",
|
|
28
|
-
"ts-jest": "27.0.5",
|
|
29
|
-
"typescript": "4.4.2"
|
|
19
|
+
"@medplum/fhirtypes": "0.3.0"
|
|
30
20
|
},
|
|
31
|
-
"files": [
|
|
32
|
-
"dist"
|
|
33
|
-
],
|
|
34
21
|
"main": "dist/index.js",
|
|
35
22
|
"types": "dist/index.d.ts",
|
|
36
23
|
"sideEffects": false,
|
package/dist/cache.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/cache.test.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const cache_1 = require("./cache");
|
|
4
|
-
describe('Cache', () => {
|
|
5
|
-
test('LRU', () => {
|
|
6
|
-
const cache = new cache_1.LRUCache(3); // Create cache with capacity of 3
|
|
7
|
-
cache.set('a', 'a');
|
|
8
|
-
cache.set('b', 'b');
|
|
9
|
-
cache.set('c', 'c');
|
|
10
|
-
cache.set('d', 'd');
|
|
11
|
-
expect(cache.get('a')).toBeUndefined();
|
|
12
|
-
expect(cache.get('b')).toEqual('b');
|
|
13
|
-
expect(cache.get('c')).toEqual('c');
|
|
14
|
-
expect(cache.get('d')).toEqual('d');
|
|
15
|
-
});
|
|
16
|
-
test('Reordering', () => {
|
|
17
|
-
const cache = new cache_1.LRUCache(3); // Create cache with capacity of 3
|
|
18
|
-
cache.set('a', 'a');
|
|
19
|
-
cache.set('b', 'b');
|
|
20
|
-
cache.set('c', 'c');
|
|
21
|
-
cache.get('a');
|
|
22
|
-
cache.set('d', 'd');
|
|
23
|
-
expect(cache.get('a')).toEqual('a');
|
|
24
|
-
expect(cache.get('b')).toBeUndefined();
|
|
25
|
-
expect(cache.get('c')).toEqual('c');
|
|
26
|
-
expect(cache.get('d')).toEqual('d');
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
//# sourceMappingURL=cache.test.js.map
|
package/dist/cache.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.test.js","sourceRoot":"","sources":["../src/cache.test.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AAEnC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAErB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;QACf,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAS,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACzE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAS,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACzE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
|
package/dist/client.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/client.test.js
DELETED
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const crypto_1 = require("crypto");
|
|
4
|
-
const util_1 = require("util");
|
|
5
|
-
const client_1 = require("./client");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
const defaultOptions = {
|
|
8
|
-
clientId: 'xyz',
|
|
9
|
-
baseUrl: 'https://x/',
|
|
10
|
-
fetch: mockFetch
|
|
11
|
-
};
|
|
12
|
-
const patientStructureDefinition = {
|
|
13
|
-
resourceType: 'StructureDefinition',
|
|
14
|
-
name: 'Patient',
|
|
15
|
-
snapshot: {
|
|
16
|
-
element: [
|
|
17
|
-
{
|
|
18
|
-
path: 'Patient.id',
|
|
19
|
-
type: [{
|
|
20
|
-
code: 'code'
|
|
21
|
-
}]
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
const patientStructureDefinitionBundle = {
|
|
27
|
-
resourceType: 'Bundle',
|
|
28
|
-
entry: [{ resource: patientStructureDefinition }]
|
|
29
|
-
};
|
|
30
|
-
const patientSearchParameter = {
|
|
31
|
-
resourceType: 'SearchParameter',
|
|
32
|
-
id: 'Patient-name',
|
|
33
|
-
code: 'name',
|
|
34
|
-
name: 'name',
|
|
35
|
-
expression: 'Patient.name'
|
|
36
|
-
};
|
|
37
|
-
const patientSearchParameterBundle = {
|
|
38
|
-
resourceType: 'Bundle',
|
|
39
|
-
entry: [{ resource: patientSearchParameter }]
|
|
40
|
-
};
|
|
41
|
-
let canRefresh = true;
|
|
42
|
-
let tokenExpired = false;
|
|
43
|
-
function mockFetch(url, options) {
|
|
44
|
-
const { method } = options;
|
|
45
|
-
let result;
|
|
46
|
-
if (method === 'POST' && url.endsWith('auth/login')) {
|
|
47
|
-
result = {
|
|
48
|
-
profile: { resourceType: 'Practitioner', id: '123' },
|
|
49
|
-
accessToken: '123',
|
|
50
|
-
refreshToken: '456'
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
else if (method === 'GET' && url.endsWith('Patient/123')) {
|
|
54
|
-
result = {
|
|
55
|
-
resourceType: 'Patient',
|
|
56
|
-
id: '123'
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
else if (method === 'POST' && url.endsWith('oauth2/token')) {
|
|
60
|
-
if (canRefresh) {
|
|
61
|
-
result = {
|
|
62
|
-
access_token: 'header.' + window.btoa((0, utils_1.stringify)({ client_id: defaultOptions.clientId })) + '.signature',
|
|
63
|
-
refresh_token: 'header.' + window.btoa((0, utils_1.stringify)({ client_id: defaultOptions.clientId })) + '.signature'
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
result = {
|
|
68
|
-
status: 400
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else if (method === 'GET' && url.includes('expired')) {
|
|
73
|
-
if (tokenExpired) {
|
|
74
|
-
result = {
|
|
75
|
-
status: 401
|
|
76
|
-
};
|
|
77
|
-
tokenExpired = false;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
result = {
|
|
81
|
-
ok: true
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
else if (method === 'GET' && url.includes('/fhir/R4/StructureDefinition?name:exact=Patient')) {
|
|
86
|
-
result = patientStructureDefinitionBundle;
|
|
87
|
-
}
|
|
88
|
-
else if (method === 'GET' && url.includes('/fhir/R4/SearchParameter?_count=100&base=Patient')) {
|
|
89
|
-
result = patientSearchParameterBundle;
|
|
90
|
-
}
|
|
91
|
-
const response = {
|
|
92
|
-
request: {
|
|
93
|
-
url,
|
|
94
|
-
options
|
|
95
|
-
},
|
|
96
|
-
...result
|
|
97
|
-
};
|
|
98
|
-
return Promise.resolve({
|
|
99
|
-
ok: response.status === undefined,
|
|
100
|
-
status: response.status,
|
|
101
|
-
blob: () => Promise.resolve(response),
|
|
102
|
-
json: () => Promise.resolve(response)
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
test('Client constructor', () => {
|
|
106
|
-
expect(() => new client_1.MedplumClient({
|
|
107
|
-
clientId: '',
|
|
108
|
-
baseUrl: 'https://example.com/',
|
|
109
|
-
})).toThrow('Client ID cannot be empty');
|
|
110
|
-
expect(() => new client_1.MedplumClient({
|
|
111
|
-
clientId: 'xyz',
|
|
112
|
-
baseUrl: 'x',
|
|
113
|
-
})).toThrow('Base URL must start with http or https');
|
|
114
|
-
expect(() => new client_1.MedplumClient({
|
|
115
|
-
clientId: 'xyz',
|
|
116
|
-
baseUrl: 'https://x',
|
|
117
|
-
})).toThrow('Base URL must end with a trailing slash');
|
|
118
|
-
expect(() => new client_1.MedplumClient({
|
|
119
|
-
clientId: 'xyz',
|
|
120
|
-
baseUrl: 'https://x/',
|
|
121
|
-
})).toThrow('Cannot read property \'bind\' of undefined');
|
|
122
|
-
expect(() => new client_1.MedplumClient({
|
|
123
|
-
clientId: 'xyz',
|
|
124
|
-
baseUrl: 'https://x/',
|
|
125
|
-
fetch: mockFetch
|
|
126
|
-
})).not.toThrow();
|
|
127
|
-
});
|
|
128
|
-
test('Client clear', () => {
|
|
129
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
130
|
-
expect(() => client.clear()).not.toThrow();
|
|
131
|
-
});
|
|
132
|
-
test('Client signOut', () => {
|
|
133
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
134
|
-
expect(() => client.signOut()).not.toThrow();
|
|
135
|
-
});
|
|
136
|
-
test('Client signIn', async () => {
|
|
137
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
138
|
-
const result = await client.signIn('admin@medplum.com', 'admin', 'practitioner', 'openid');
|
|
139
|
-
expect(result).not.toBeUndefined();
|
|
140
|
-
expect(result.resourceType).toBe('Practitioner');
|
|
141
|
-
});
|
|
142
|
-
test('Client signInWithRedirect', async () => {
|
|
143
|
-
// Mock window.crypto
|
|
144
|
-
Object.defineProperty(global.self, 'crypto', {
|
|
145
|
-
value: {
|
|
146
|
-
getRandomValues: (arr) => (0, crypto_1.randomBytes)(arr.length),
|
|
147
|
-
subtle: {
|
|
148
|
-
digest: () => 'test'
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
// Mock TextEncoder
|
|
153
|
-
global.TextEncoder = util_1.TextEncoder;
|
|
154
|
-
// Mock window.location.assign
|
|
155
|
-
global.window = Object.create(window);
|
|
156
|
-
Object.defineProperty(window, 'location', {
|
|
157
|
-
value: {
|
|
158
|
-
assign: jest.fn()
|
|
159
|
-
},
|
|
160
|
-
writable: true,
|
|
161
|
-
});
|
|
162
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
163
|
-
// First, test the initial reidrect
|
|
164
|
-
const result1 = client.signInWithRedirect();
|
|
165
|
-
expect(result1).toBeUndefined();
|
|
166
|
-
// Mock response code
|
|
167
|
-
Object.defineProperty(window, 'location', {
|
|
168
|
-
value: {
|
|
169
|
-
assign: jest.fn(),
|
|
170
|
-
search: new URLSearchParams({ code: 'test-code' })
|
|
171
|
-
},
|
|
172
|
-
writable: true,
|
|
173
|
-
});
|
|
174
|
-
// Next, test processing the response code
|
|
175
|
-
const result2 = client.signInWithRedirect();
|
|
176
|
-
expect(result2).not.toBeUndefined();
|
|
177
|
-
});
|
|
178
|
-
test('Client signOutWithRedirect', async () => {
|
|
179
|
-
// Mock window.location.assign
|
|
180
|
-
global.window = Object.create(window);
|
|
181
|
-
Object.defineProperty(window, 'location', {
|
|
182
|
-
value: {
|
|
183
|
-
assign: jest.fn()
|
|
184
|
-
},
|
|
185
|
-
writable: true,
|
|
186
|
-
});
|
|
187
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
188
|
-
client.signOutWithRedirect();
|
|
189
|
-
expect(window.location.assign).toBeCalled();
|
|
190
|
-
});
|
|
191
|
-
test('Client read expired and refresh', async () => {
|
|
192
|
-
tokenExpired = true;
|
|
193
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
194
|
-
const result = await client.get('expired');
|
|
195
|
-
expect(result).not.toBeUndefined();
|
|
196
|
-
});
|
|
197
|
-
test('Client read expired and refresh with unAuthenticated callback', async () => {
|
|
198
|
-
tokenExpired = true;
|
|
199
|
-
canRefresh = false;
|
|
200
|
-
const onUnauthenticated = jest.fn();
|
|
201
|
-
const client = new client_1.MedplumClient({ ...defaultOptions, onUnauthenticated });
|
|
202
|
-
const result = client.get('expired');
|
|
203
|
-
await expect(result).rejects.toEqual('Failed to fetch tokens');
|
|
204
|
-
expect(onUnauthenticated).toBeCalled();
|
|
205
|
-
});
|
|
206
|
-
test('Client read resource', async () => {
|
|
207
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
208
|
-
const result = await client.read('Patient', '123');
|
|
209
|
-
expect(result).not.toBeUndefined();
|
|
210
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
|
|
211
|
-
expect(result.resourceType).toBe('Patient');
|
|
212
|
-
expect(result.id).toBe('123');
|
|
213
|
-
});
|
|
214
|
-
test('Client read reference', async () => {
|
|
215
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
216
|
-
const result = await client.readReference({ reference: 'Patient/123' });
|
|
217
|
-
expect(result).not.toBeUndefined();
|
|
218
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
|
|
219
|
-
expect(result.resourceType).toBe('Patient');
|
|
220
|
-
expect(result.id).toBe('123');
|
|
221
|
-
});
|
|
222
|
-
test('Client read empty reference', async () => {
|
|
223
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
224
|
-
const result = client.readReference({});
|
|
225
|
-
expect(result).rejects.toEqual('Missing reference');
|
|
226
|
-
});
|
|
227
|
-
test('Client read cached resource', async () => {
|
|
228
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
229
|
-
const result = await client.readCached('Patient', '123');
|
|
230
|
-
expect(result).not.toBeUndefined();
|
|
231
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
|
|
232
|
-
expect(result.resourceType).toBe('Patient');
|
|
233
|
-
expect(result.id).toBe('123');
|
|
234
|
-
});
|
|
235
|
-
test('Client read cached reference', async () => {
|
|
236
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
237
|
-
const result = await client.readCachedReference({ reference: 'Patient/123' });
|
|
238
|
-
expect(result).not.toBeUndefined();
|
|
239
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
|
|
240
|
-
expect(result.resourceType).toBe('Patient');
|
|
241
|
-
expect(result.id).toBe('123');
|
|
242
|
-
});
|
|
243
|
-
test('Client read cached empty reference', async () => {
|
|
244
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
245
|
-
const result = client.readCachedReference({});
|
|
246
|
-
expect(result).rejects.toEqual('Missing reference');
|
|
247
|
-
});
|
|
248
|
-
test('Client read history', async () => {
|
|
249
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
250
|
-
const result = await client.readHistory('Patient', '123');
|
|
251
|
-
expect(result).not.toBeUndefined();
|
|
252
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient/123/_history');
|
|
253
|
-
});
|
|
254
|
-
test('Client read patient everything', async () => {
|
|
255
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
256
|
-
const result = await client.readPatientEverything('123');
|
|
257
|
-
expect(result).not.toBeUndefined();
|
|
258
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient/123/%24everything');
|
|
259
|
-
});
|
|
260
|
-
test('Client create resource', async () => {
|
|
261
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
262
|
-
const result = await client.create({ resourceType: 'Patient' });
|
|
263
|
-
expect(result).not.toBeUndefined();
|
|
264
|
-
expect(result.request.options.method).toBe('POST');
|
|
265
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient');
|
|
266
|
-
});
|
|
267
|
-
test('Client update resource', async () => {
|
|
268
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
269
|
-
const result = await client.update({ resourceType: 'Patient', id: '123' });
|
|
270
|
-
expect(result).not.toBeUndefined();
|
|
271
|
-
expect(result.request.options.method).toBe('PUT');
|
|
272
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
|
|
273
|
-
});
|
|
274
|
-
test('Client read binary', async () => {
|
|
275
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
276
|
-
const result = await client.readBinary('123');
|
|
277
|
-
expect(result).not.toBeUndefined();
|
|
278
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Binary/123');
|
|
279
|
-
});
|
|
280
|
-
test('Client create binary', async () => {
|
|
281
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
282
|
-
const result = await client.createBinary('Hello world', 'text/plain');
|
|
283
|
-
expect(result).not.toBeUndefined();
|
|
284
|
-
expect(result.request.options.method).toBe('POST');
|
|
285
|
-
expect(result.request.url).toBe('https://x/fhir/R4/Binary');
|
|
286
|
-
});
|
|
287
|
-
test('Client get schema', async () => {
|
|
288
|
-
const client = new client_1.MedplumClient(defaultOptions);
|
|
289
|
-
const schema = await client.getTypeDefinition('Patient');
|
|
290
|
-
expect(schema).not.toBeUndefined();
|
|
291
|
-
expect(schema.types['Patient']).not.toBeUndefined();
|
|
292
|
-
expect(schema.types['Patient'].searchParams).not.toBeUndefined();
|
|
293
|
-
});
|
|
294
|
-
//# sourceMappingURL=client.test.js.map
|
package/dist/client.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/eventtarget.test.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const eventtarget_1 = require("./eventtarget");
|
|
4
|
-
describe('EventTarget', () => {
|
|
5
|
-
test('No listeners', () => {
|
|
6
|
-
const target = new eventtarget_1.EventTarget();
|
|
7
|
-
expect(() => target.dispatchEvent({ type: 'test' })).not.toThrow();
|
|
8
|
-
});
|
|
9
|
-
test('Add event listener', () => {
|
|
10
|
-
const myCallback = jest.fn();
|
|
11
|
-
const target = new eventtarget_1.EventTarget();
|
|
12
|
-
target.addEventListener('test', myCallback);
|
|
13
|
-
target.dispatchEvent({ type: 'test' });
|
|
14
|
-
expect(myCallback).toBeCalled();
|
|
15
|
-
});
|
|
16
|
-
test('Add multiple event listeners', () => {
|
|
17
|
-
const myCallback1 = jest.fn();
|
|
18
|
-
const myCallback2 = jest.fn();
|
|
19
|
-
const target = new eventtarget_1.EventTarget();
|
|
20
|
-
target.addEventListener('test', myCallback1);
|
|
21
|
-
target.addEventListener('test', myCallback2);
|
|
22
|
-
target.dispatchEvent({ type: 'test' });
|
|
23
|
-
expect(myCallback1).toBeCalled();
|
|
24
|
-
expect(myCallback2).toBeCalled();
|
|
25
|
-
});
|
|
26
|
-
test('Remove event listener', () => {
|
|
27
|
-
const myCallback = jest.fn();
|
|
28
|
-
const target = new eventtarget_1.EventTarget();
|
|
29
|
-
target.addEventListener('test', myCallback);
|
|
30
|
-
target.removeEventListeneer('test', myCallback);
|
|
31
|
-
target.dispatchEvent({ type: 'test' });
|
|
32
|
-
expect(myCallback).not.toBeCalled();
|
|
33
|
-
});
|
|
34
|
-
test('Remove event listener not found', () => {
|
|
35
|
-
const myCallback = jest.fn();
|
|
36
|
-
const target = new eventtarget_1.EventTarget();
|
|
37
|
-
target.removeEventListeneer('test', jest.fn());
|
|
38
|
-
target.addEventListener('test', myCallback);
|
|
39
|
-
target.removeEventListeneer('test', jest.fn());
|
|
40
|
-
expect(() => target.dispatchEvent({ type: 'test' })).not.toThrow();
|
|
41
|
-
expect(myCallback).toBeCalled();
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
//# sourceMappingURL=eventtarget.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eventtarget.test.js","sourceRoot":"","sources":["../src/eventtarget.test.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAE3B,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
|