@smile-cdr/fhirts 2.2.8 → 2.4.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/.claude/settings.local.json +12 -0
- package/.github/workflows/npm-publish.yml +12 -6
- package/.github/workflows/pr-build.yml +7 -3
- package/.prettierignore +22 -0
- package/.prettierrc +10 -0
- package/CHANGELOG.md +4 -0
- package/GETTINGSTARTED.md +57 -15
- package/dist/FHIR-DSTU2.js +1 -1
- package/dist/FHIR-R3.js +3 -1
- package/dist/FHIR-R4/classes/account.d.ts +2 -1
- package/dist/FHIR-R4/classes/account.js +3 -2
- package/dist/FHIR-R4/classes/activityDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/activityDefinition.js +3 -2
- package/dist/FHIR-R4/classes/address.js +1 -1
- package/dist/FHIR-R4/classes/adverseEvent.d.ts +2 -1
- package/dist/FHIR-R4/classes/adverseEvent.js +3 -2
- package/dist/FHIR-R4/classes/age.js +1 -1
- package/dist/FHIR-R4/classes/allergyIntolerance.d.ts +2 -1
- package/dist/FHIR-R4/classes/allergyIntolerance.js +3 -2
- package/dist/FHIR-R4/classes/allergyIntoleranceReaction.js +1 -1
- package/dist/FHIR-R4/classes/appointment.d.ts +2 -1
- package/dist/FHIR-R4/classes/appointment.js +3 -2
- package/dist/FHIR-R4/classes/appointmentParticipant.js +1 -1
- package/dist/FHIR-R4/classes/appointmentResponse.d.ts +2 -1
- package/dist/FHIR-R4/classes/appointmentResponse.js +2 -1
- package/dist/FHIR-R4/classes/auditEvent.d.ts +2 -1
- package/dist/FHIR-R4/classes/auditEvent.js +3 -2
- package/dist/FHIR-R4/classes/auditEventNetwork.js +1 -1
- package/dist/FHIR-R4/classes/basic.d.ts +2 -1
- package/dist/FHIR-R4/classes/basic.js +2 -1
- package/dist/FHIR-R4/classes/biologicallyDerivedProduct.d.ts +2 -1
- package/dist/FHIR-R4/classes/biologicallyDerivedProduct.js +3 -2
- package/dist/FHIR-R4/classes/biologicallyDerivedProductStorage.js +1 -1
- package/dist/FHIR-R4/classes/bodyStructure.d.ts +2 -1
- package/dist/FHIR-R4/classes/bodyStructure.js +2 -1
- package/dist/FHIR-R4/classes/bundle.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatement.d.ts +2 -1
- package/dist/FHIR-R4/classes/capabilityStatement.js +3 -2
- package/dist/FHIR-R4/classes/capabilityStatementDocument.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatementInteraction.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatementInteraction1.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatementResource.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatementRest.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatementSearchParam.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatementSupportedMessage.js +1 -1
- package/dist/FHIR-R4/classes/carePlan.d.ts +2 -1
- package/dist/FHIR-R4/classes/carePlan.js +2 -1
- package/dist/FHIR-R4/classes/carePlanDetail.js +1 -1
- package/dist/FHIR-R4/classes/careTeam.d.ts +2 -1
- package/dist/FHIR-R4/classes/careTeam.js +3 -2
- package/dist/FHIR-R4/classes/catalogEntry.d.ts +2 -1
- package/dist/FHIR-R4/classes/catalogEntry.js +3 -2
- package/dist/FHIR-R4/classes/catalogEntryRelatedEntry.js +1 -1
- package/dist/FHIR-R4/classes/chargeItem.d.ts +2 -1
- package/dist/FHIR-R4/classes/chargeItem.js +3 -2
- package/dist/FHIR-R4/classes/chargeItemDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/chargeItemDefinition.js +3 -2
- package/dist/FHIR-R4/classes/claim.d.ts +2 -1
- package/dist/FHIR-R4/classes/claim.js +3 -2
- package/dist/FHIR-R4/classes/claimResponse.d.ts +2 -1
- package/dist/FHIR-R4/classes/claimResponse.js +2 -1
- package/dist/FHIR-R4/classes/claimResponseProcessNote.js +1 -1
- package/dist/FHIR-R4/classes/clinicalImpression.d.ts +2 -1
- package/dist/FHIR-R4/classes/clinicalImpression.js +2 -1
- package/dist/FHIR-R4/classes/codeSystem.d.ts +2 -1
- package/dist/FHIR-R4/classes/codeSystem.js +3 -2
- package/dist/FHIR-R4/classes/codeSystemProperty.js +1 -1
- package/dist/FHIR-R4/classes/communication.d.ts +2 -1
- package/dist/FHIR-R4/classes/communication.js +2 -1
- package/dist/FHIR-R4/classes/communicationRequest.d.ts +2 -1
- package/dist/FHIR-R4/classes/communicationRequest.js +2 -1
- package/dist/FHIR-R4/classes/compartmentDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/compartmentDefinition.js +3 -2
- package/dist/FHIR-R4/classes/composition.d.ts +2 -1
- package/dist/FHIR-R4/classes/composition.js +3 -2
- package/dist/FHIR-R4/classes/compositionAttester.js +1 -1
- package/dist/FHIR-R4/classes/conceptMap.d.ts +2 -1
- package/dist/FHIR-R4/classes/conceptMap.js +3 -2
- package/dist/FHIR-R4/classes/conceptMapTarget.js +1 -1
- package/dist/FHIR-R4/classes/conceptMapUnmapped.js +1 -1
- package/dist/FHIR-R4/classes/condition.d.ts +2 -1
- package/dist/FHIR-R4/classes/condition.js +2 -1
- package/dist/FHIR-R4/classes/consent.d.ts +2 -1
- package/dist/FHIR-R4/classes/consent.js +3 -2
- package/dist/FHIR-R4/classes/consentData.js +1 -1
- package/dist/FHIR-R4/classes/consentProvision.js +1 -1
- package/dist/FHIR-R4/classes/contactPoint.js +1 -1
- package/dist/FHIR-R4/classes/contract.d.ts +2 -1
- package/dist/FHIR-R4/classes/contract.js +2 -1
- package/dist/FHIR-R4/classes/contributor.js +1 -1
- package/dist/FHIR-R4/classes/count.js +1 -1
- package/dist/FHIR-R4/classes/coverage.d.ts +2 -1
- package/dist/FHIR-R4/classes/coverage.js +2 -1
- package/dist/FHIR-R4/classes/coverageEligibilityRequest.d.ts +2 -1
- package/dist/FHIR-R4/classes/coverageEligibilityRequest.js +2 -1
- package/dist/FHIR-R4/classes/coverageEligibilityResponse.d.ts +2 -1
- package/dist/FHIR-R4/classes/coverageEligibilityResponse.js +3 -2
- package/dist/FHIR-R4/classes/dataRequirementSort.js +1 -1
- package/dist/FHIR-R4/classes/detectedIssue.d.ts +2 -1
- package/dist/FHIR-R4/classes/detectedIssue.js +3 -2
- package/dist/FHIR-R4/classes/device.d.ts +2 -1
- package/dist/FHIR-R4/classes/device.js +3 -2
- package/dist/FHIR-R4/classes/deviceDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/deviceDefinition.js +2 -1
- package/dist/FHIR-R4/classes/deviceDefinitionDeviceName.js +1 -1
- package/dist/FHIR-R4/classes/deviceDeviceName.js +1 -1
- package/dist/FHIR-R4/classes/deviceMetric.d.ts +2 -1
- package/dist/FHIR-R4/classes/deviceMetric.js +3 -2
- package/dist/FHIR-R4/classes/deviceMetricCalibration.js +1 -1
- package/dist/FHIR-R4/classes/deviceRequest.d.ts +2 -1
- package/dist/FHIR-R4/classes/deviceRequest.js +2 -1
- package/dist/FHIR-R4/classes/deviceUdiCarrier.js +1 -1
- package/dist/FHIR-R4/classes/deviceUseStatement.d.ts +2 -1
- package/dist/FHIR-R4/classes/deviceUseStatement.js +3 -2
- package/dist/FHIR-R4/classes/diagnosticReport.d.ts +2 -1
- package/dist/FHIR-R4/classes/diagnosticReport.js +3 -2
- package/dist/FHIR-R4/classes/distance.js +1 -1
- package/dist/FHIR-R4/classes/documentManifest.d.ts +2 -1
- package/dist/FHIR-R4/classes/documentManifest.js +3 -2
- package/dist/FHIR-R4/classes/documentReference.d.ts +2 -1
- package/dist/FHIR-R4/classes/documentReference.js +3 -2
- package/dist/FHIR-R4/classes/documentReferenceRelatesTo.js +1 -1
- package/dist/FHIR-R4/classes/domainResource.d.ts +4 -0
- package/dist/FHIR-R4/classes/domainResource.js +6 -0
- package/dist/FHIR-R4/classes/duration.js +1 -1
- package/dist/FHIR-R4/classes/effectEvidenceSynthesis.d.ts +2 -1
- package/dist/FHIR-R4/classes/effectEvidenceSynthesis.js +3 -2
- package/dist/FHIR-R4/classes/effectEvidenceSynthesisResultsByExposure.js +1 -1
- package/dist/FHIR-R4/classes/elementDefinitionBinding.js +1 -1
- package/dist/FHIR-R4/classes/elementDefinitionConstraint.js +1 -1
- package/dist/FHIR-R4/classes/elementDefinitionDiscriminator.js +1 -1
- package/dist/FHIR-R4/classes/elementDefinitionSlicing.js +1 -1
- package/dist/FHIR-R4/classes/elementDefinitionType.js +1 -1
- package/dist/FHIR-R4/classes/encounter.d.ts +2 -1
- package/dist/FHIR-R4/classes/encounter.js +3 -2
- package/dist/FHIR-R4/classes/encounterLocation.js +1 -1
- package/dist/FHIR-R4/classes/encounterStatusHistory.js +1 -1
- package/dist/FHIR-R4/classes/endpoint.d.ts +2 -1
- package/dist/FHIR-R4/classes/endpoint.js +3 -2
- package/dist/FHIR-R4/classes/enrollmentRequest.d.ts +2 -1
- package/dist/FHIR-R4/classes/enrollmentRequest.js +2 -1
- package/dist/FHIR-R4/classes/enrollmentResponse.d.ts +2 -1
- package/dist/FHIR-R4/classes/enrollmentResponse.js +3 -2
- package/dist/FHIR-R4/classes/episodeOfCare.d.ts +2 -1
- package/dist/FHIR-R4/classes/episodeOfCare.js +3 -2
- package/dist/FHIR-R4/classes/episodeOfCareStatusHistory.js +1 -1
- package/dist/FHIR-R4/classes/eventDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/eventDefinition.js +3 -2
- package/dist/FHIR-R4/classes/evidence.d.ts +2 -1
- package/dist/FHIR-R4/classes/evidence.js +3 -2
- package/dist/FHIR-R4/classes/evidenceVariable.d.ts +2 -1
- package/dist/FHIR-R4/classes/evidenceVariable.js +3 -2
- package/dist/FHIR-R4/classes/evidenceVariableCharacteristic.js +1 -1
- package/dist/FHIR-R4/classes/exampleScenario.d.ts +2 -1
- package/dist/FHIR-R4/classes/exampleScenario.js +3 -2
- package/dist/FHIR-R4/classes/exampleScenarioActor.js +1 -1
- package/dist/FHIR-R4/classes/exampleScenarioInstance.d.ts +2 -1
- package/dist/FHIR-R4/classes/exampleScenarioInstance.js +2 -1
- package/dist/FHIR-R4/classes/explanationOfBenefit.d.ts +2 -1
- package/dist/FHIR-R4/classes/explanationOfBenefit.js +3 -2
- package/dist/FHIR-R4/classes/explanationOfBenefitProcessNote.js +1 -1
- package/dist/FHIR-R4/classes/expression.js +1 -1
- package/dist/FHIR-R4/classes/familyMemberHistory.d.ts +2 -1
- package/dist/FHIR-R4/classes/familyMemberHistory.js +3 -2
- package/dist/FHIR-R4/classes/flag.d.ts +2 -1
- package/dist/FHIR-R4/classes/flag.js +3 -2
- package/dist/FHIR-R4/classes/goal.d.ts +2 -1
- package/dist/FHIR-R4/classes/goal.js +3 -2
- package/dist/FHIR-R4/classes/graphDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/graphDefinition.js +3 -2
- package/dist/FHIR-R4/classes/graphDefinitionCompartment.js +1 -1
- package/dist/FHIR-R4/classes/group.d.ts +2 -1
- package/dist/FHIR-R4/classes/group.js +3 -2
- package/dist/FHIR-R4/classes/guidanceResponse.d.ts +2 -1
- package/dist/FHIR-R4/classes/guidanceResponse.js +3 -2
- package/dist/FHIR-R4/classes/healthcareService.d.ts +2 -1
- package/dist/FHIR-R4/classes/healthcareService.js +2 -1
- package/dist/FHIR-R4/classes/humanName.js +1 -1
- package/dist/FHIR-R4/classes/identifier.js +1 -1
- package/dist/FHIR-R4/classes/imagingStudy.d.ts +2 -1
- package/dist/FHIR-R4/classes/imagingStudy.js +3 -2
- package/dist/FHIR-R4/classes/immunization.d.ts +2 -1
- package/dist/FHIR-R4/classes/immunization.js +2 -1
- package/dist/FHIR-R4/classes/immunizationEvaluation.d.ts +2 -1
- package/dist/FHIR-R4/classes/immunizationEvaluation.js +2 -1
- package/dist/FHIR-R4/classes/immunizationRecommendation.d.ts +2 -1
- package/dist/FHIR-R4/classes/immunizationRecommendation.js +2 -1
- package/dist/FHIR-R4/classes/implementationGuide.d.ts +2 -1
- package/dist/FHIR-R4/classes/implementationGuide.js +3 -2
- package/dist/FHIR-R4/classes/implementationGuidePage.js +1 -1
- package/dist/FHIR-R4/classes/implementationGuideParameter.js +1 -1
- package/dist/FHIR-R4/classes/insurancePlan.d.ts +2 -1
- package/dist/FHIR-R4/classes/insurancePlan.js +3 -2
- package/dist/FHIR-R4/classes/invoice.d.ts +2 -1
- package/dist/FHIR-R4/classes/invoice.js +3 -2
- package/dist/FHIR-R4/classes/invoicePriceComponent.js +1 -1
- package/dist/FHIR-R4/classes/library.d.ts +2 -1
- package/dist/FHIR-R4/classes/library.js +3 -2
- package/dist/FHIR-R4/classes/linkage.d.ts +2 -1
- package/dist/FHIR-R4/classes/linkage.js +2 -1
- package/dist/FHIR-R4/classes/linkageItem.js +1 -1
- package/dist/FHIR-R4/classes/list.d.ts +2 -1
- package/dist/FHIR-R4/classes/list.js +3 -2
- package/dist/FHIR-R4/classes/location.d.ts +2 -1
- package/dist/FHIR-R4/classes/location.js +3 -2
- package/dist/FHIR-R4/classes/measure.d.ts +2 -1
- package/dist/FHIR-R4/classes/measure.js +3 -2
- package/dist/FHIR-R4/classes/measureReport.d.ts +2 -1
- package/dist/FHIR-R4/classes/measureReport.js +3 -2
- package/dist/FHIR-R4/classes/media.d.ts +2 -1
- package/dist/FHIR-R4/classes/media.js +2 -1
- package/dist/FHIR-R4/classes/medication.d.ts +2 -1
- package/dist/FHIR-R4/classes/medication.js +2 -1
- package/dist/FHIR-R4/classes/medicationAdministration.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicationAdministration.js +2 -1
- package/dist/FHIR-R4/classes/medicationDispense.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicationDispense.js +2 -1
- package/dist/FHIR-R4/classes/medicationKnowledge.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicationKnowledge.js +2 -1
- package/dist/FHIR-R4/classes/medicationRequest.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicationRequest.js +2 -1
- package/dist/FHIR-R4/classes/medicationStatement.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicationStatement.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProduct.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProduct.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductAuthorization.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductAuthorization.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductContraindication.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductContraindication.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductIndication.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductIndication.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductIngredient.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductIngredient.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductInteraction.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductInteraction.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductManufactured.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductManufactured.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductPackaged.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductPackaged.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductPharmaceutical.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductPharmaceutical.js +2 -1
- package/dist/FHIR-R4/classes/medicinalProductUndesirableEffect.d.ts +2 -1
- package/dist/FHIR-R4/classes/medicinalProductUndesirableEffect.js +2 -1
- package/dist/FHIR-R4/classes/messageDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/messageDefinition.js +3 -2
- package/dist/FHIR-R4/classes/messageHeader.d.ts +2 -1
- package/dist/FHIR-R4/classes/messageHeader.js +2 -1
- package/dist/FHIR-R4/classes/messageHeaderResponse.js +1 -1
- package/dist/FHIR-R4/classes/molecularSequence.d.ts +2 -1
- package/dist/FHIR-R4/classes/molecularSequence.js +3 -2
- package/dist/FHIR-R4/classes/molecularSequenceQuality.js +1 -1
- package/dist/FHIR-R4/classes/molecularSequenceReferenceSeq.js +1 -1
- package/dist/FHIR-R4/classes/molecularSequenceRepository.js +1 -1
- package/dist/FHIR-R4/classes/namingSystem.d.ts +2 -1
- package/dist/FHIR-R4/classes/namingSystem.js +3 -2
- package/dist/FHIR-R4/classes/namingSystemUniqueId.js +1 -1
- package/dist/FHIR-R4/classes/narrative.js +1 -1
- package/dist/FHIR-R4/classes/nutritionOrder.d.ts +2 -1
- package/dist/FHIR-R4/classes/nutritionOrder.js +2 -1
- package/dist/FHIR-R4/classes/observation.d.ts +2 -1
- package/dist/FHIR-R4/classes/observation.js +3 -2
- package/dist/FHIR-R4/classes/observationDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/observationDefinition.js +2 -1
- package/dist/FHIR-R4/classes/observationDefinitionQualifiedInterval.js +1 -1
- package/dist/FHIR-R4/classes/operationDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/operationDefinition.js +3 -2
- package/dist/FHIR-R4/classes/operationDefinitionBinding.js +1 -1
- package/dist/FHIR-R4/classes/operationDefinitionParameter.js +1 -1
- package/dist/FHIR-R4/classes/operationOutcome.d.ts +2 -1
- package/dist/FHIR-R4/classes/operationOutcome.js +13 -1
- package/dist/FHIR-R4/classes/organization.d.ts +2 -1
- package/dist/FHIR-R4/classes/organization.js +2 -1
- package/dist/FHIR-R4/classes/organizationAffiliation.d.ts +2 -1
- package/dist/FHIR-R4/classes/organizationAffiliation.js +2 -1
- package/dist/FHIR-R4/classes/patient.d.ts +2 -1
- package/dist/FHIR-R4/classes/patient.js +3 -2
- package/dist/FHIR-R4/classes/patientContact.js +1 -1
- package/dist/FHIR-R4/classes/patientLink.js +1 -1
- package/dist/FHIR-R4/classes/paymentNotice.d.ts +2 -1
- package/dist/FHIR-R4/classes/paymentNotice.js +2 -1
- package/dist/FHIR-R4/classes/paymentReconciliation.d.ts +2 -1
- package/dist/FHIR-R4/classes/paymentReconciliation.js +3 -2
- package/dist/FHIR-R4/classes/paymentReconciliationProcessNote.js +1 -1
- package/dist/FHIR-R4/classes/person.d.ts +2 -1
- package/dist/FHIR-R4/classes/person.js +3 -2
- package/dist/FHIR-R4/classes/personLink.js +1 -1
- package/dist/FHIR-R4/classes/planDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/planDefinition.js +3 -2
- package/dist/FHIR-R4/classes/planDefinitionAction.js +1 -1
- package/dist/FHIR-R4/classes/planDefinitionCondition.js +1 -1
- package/dist/FHIR-R4/classes/planDefinitionParticipant.js +1 -1
- package/dist/FHIR-R4/classes/planDefinitionRelatedAction.js +1 -1
- package/dist/FHIR-R4/classes/practitioner.d.ts +2 -1
- package/dist/FHIR-R4/classes/practitioner.js +3 -2
- package/dist/FHIR-R4/classes/practitionerRole.d.ts +2 -1
- package/dist/FHIR-R4/classes/practitionerRole.js +2 -1
- package/dist/FHIR-R4/classes/procedure.d.ts +2 -1
- package/dist/FHIR-R4/classes/procedure.js +2 -1
- package/dist/FHIR-R4/classes/provenance.d.ts +2 -1
- package/dist/FHIR-R4/classes/provenance.js +2 -1
- package/dist/FHIR-R4/classes/provenanceEntity.js +1 -1
- package/dist/FHIR-R4/classes/quantity.js +1 -1
- package/dist/FHIR-R4/classes/questionnaire.d.ts +2 -1
- package/dist/FHIR-R4/classes/questionnaire.js +3 -2
- package/dist/FHIR-R4/classes/questionnaireEnableWhen.js +1 -1
- package/dist/FHIR-R4/classes/questionnaireItem.js +1 -1
- package/dist/FHIR-R4/classes/questionnaireResponse.d.ts +2 -1
- package/dist/FHIR-R4/classes/questionnaireResponse.js +3 -2
- package/dist/FHIR-R4/classes/relatedArtifact.js +1 -1
- package/dist/FHIR-R4/classes/relatedPerson.d.ts +2 -1
- package/dist/FHIR-R4/classes/relatedPerson.js +3 -2
- package/dist/FHIR-R4/classes/requestGroup.d.ts +2 -1
- package/dist/FHIR-R4/classes/requestGroup.js +2 -1
- package/dist/FHIR-R4/classes/researchDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/researchDefinition.js +3 -2
- package/dist/FHIR-R4/classes/researchElementDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/researchElementDefinition.js +3 -2
- package/dist/FHIR-R4/classes/researchElementDefinitionCharacteristic.js +1 -1
- package/dist/FHIR-R4/classes/researchStudy.d.ts +2 -1
- package/dist/FHIR-R4/classes/researchStudy.js +3 -2
- package/dist/FHIR-R4/classes/researchSubject.d.ts +2 -1
- package/dist/FHIR-R4/classes/researchSubject.js +3 -2
- package/dist/FHIR-R4/classes/riskAssessment.d.ts +2 -1
- package/dist/FHIR-R4/classes/riskAssessment.js +2 -1
- package/dist/FHIR-R4/classes/riskEvidenceSynthesis.d.ts +2 -1
- package/dist/FHIR-R4/classes/riskEvidenceSynthesis.js +3 -2
- package/dist/FHIR-R4/classes/schedule.d.ts +2 -1
- package/dist/FHIR-R4/classes/schedule.js +2 -1
- package/dist/FHIR-R4/classes/searchParameter.d.ts +2 -1
- package/dist/FHIR-R4/classes/searchParameter.js +3 -2
- package/dist/FHIR-R4/classes/serviceRequest.d.ts +2 -1
- package/dist/FHIR-R4/classes/serviceRequest.js +2 -1
- package/dist/FHIR-R4/classes/slot.d.ts +2 -1
- package/dist/FHIR-R4/classes/slot.js +3 -2
- package/dist/FHIR-R4/classes/specimen.d.ts +2 -1
- package/dist/FHIR-R4/classes/specimen.js +3 -2
- package/dist/FHIR-R4/classes/specimenDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/specimenDefinition.js +2 -1
- package/dist/FHIR-R4/classes/specimenDefinitionTypeTested.js +1 -1
- package/dist/FHIR-R4/classes/structureDefinition.d.ts +2 -1
- package/dist/FHIR-R4/classes/structureDefinition.js +3 -2
- package/dist/FHIR-R4/classes/structureDefinitionContext.js +1 -1
- package/dist/FHIR-R4/classes/structureMap.d.ts +2 -1
- package/dist/FHIR-R4/classes/structureMap.js +3 -2
- package/dist/FHIR-R4/classes/structureMapGroup.js +1 -1
- package/dist/FHIR-R4/classes/structureMapInput.js +1 -1
- package/dist/FHIR-R4/classes/structureMapSource.js +1 -1
- package/dist/FHIR-R4/classes/structureMapStructure.js +1 -1
- package/dist/FHIR-R4/classes/structureMapTarget.js +1 -1
- package/dist/FHIR-R4/classes/subscription.d.ts +2 -1
- package/dist/FHIR-R4/classes/subscription.js +3 -2
- package/dist/FHIR-R4/classes/subscriptionChannel.js +1 -1
- package/dist/FHIR-R4/classes/substance.d.ts +2 -1
- package/dist/FHIR-R4/classes/substance.js +3 -2
- package/dist/FHIR-R4/classes/substanceNucleicAcid.d.ts +2 -1
- package/dist/FHIR-R4/classes/substanceNucleicAcid.js +2 -1
- package/dist/FHIR-R4/classes/substancePolymer.d.ts +2 -1
- package/dist/FHIR-R4/classes/substancePolymer.js +2 -1
- package/dist/FHIR-R4/classes/substanceProtein.d.ts +2 -1
- package/dist/FHIR-R4/classes/substanceProtein.js +2 -1
- package/dist/FHIR-R4/classes/substanceReferenceInformation.d.ts +2 -1
- package/dist/FHIR-R4/classes/substanceReferenceInformation.js +2 -1
- package/dist/FHIR-R4/classes/substanceSourceMaterial.d.ts +2 -1
- package/dist/FHIR-R4/classes/substanceSourceMaterial.js +2 -1
- package/dist/FHIR-R4/classes/substanceSpecification.d.ts +2 -1
- package/dist/FHIR-R4/classes/substanceSpecification.js +2 -1
- package/dist/FHIR-R4/classes/supplyDelivery.d.ts +2 -1
- package/dist/FHIR-R4/classes/supplyDelivery.js +3 -2
- package/dist/FHIR-R4/classes/supplyRequest.d.ts +2 -1
- package/dist/FHIR-R4/classes/supplyRequest.js +3 -2
- package/dist/FHIR-R4/classes/task.d.ts +2 -1
- package/dist/FHIR-R4/classes/task.js +3 -2
- package/dist/FHIR-R4/classes/terminologyCapabilities.d.ts +2 -1
- package/dist/FHIR-R4/classes/terminologyCapabilities.js +3 -2
- package/dist/FHIR-R4/classes/testReport.d.ts +2 -1
- package/dist/FHIR-R4/classes/testReport.js +3 -2
- package/dist/FHIR-R4/classes/testReportAssert.js +1 -1
- package/dist/FHIR-R4/classes/testReportOperation.js +1 -1
- package/dist/FHIR-R4/classes/testReportParticipant.js +1 -1
- package/dist/FHIR-R4/classes/testScript.d.ts +2 -1
- package/dist/FHIR-R4/classes/testScript.js +3 -2
- package/dist/FHIR-R4/classes/testScriptAssert.js +1 -1
- package/dist/FHIR-R4/classes/testScriptOperation.js +1 -1
- package/dist/FHIR-R4/classes/timingRepeat.js +1 -1
- package/dist/FHIR-R4/classes/triggerDefinition.js +1 -1
- package/dist/FHIR-R4/classes/valueSet.d.ts +2 -1
- package/dist/FHIR-R4/classes/valueSet.js +3 -2
- package/dist/FHIR-R4/classes/valueSetFilter.js +1 -1
- package/dist/FHIR-R4/classes/verificationResult.d.ts +2 -1
- package/dist/FHIR-R4/classes/verificationResult.js +2 -1
- package/dist/FHIR-R4/classes/visionPrescription.d.ts +2 -1
- package/dist/FHIR-R4/classes/visionPrescription.js +2 -1
- package/dist/FHIR-R4/classes/visionPrescriptionLensSpecification.js +1 -1
- package/dist/FHIR-R4/classes/visionPrescriptionPrism.js +1 -1
- package/dist/FHIR-R4/interfaces/IAccount.js +1 -1
- package/dist/FHIR-R4/interfaces/IActivityDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IAdverseEvent.js +1 -1
- package/dist/FHIR-R4/interfaces/IAllergyIntolerance.js +1 -1
- package/dist/FHIR-R4/interfaces/IAppointment.js +1 -1
- package/dist/FHIR-R4/interfaces/IAuditEvent.js +1 -1
- package/dist/FHIR-R4/interfaces/IBiologicallyDerivedProduct.js +1 -1
- package/dist/FHIR-R4/interfaces/IBundle.js +1 -1
- package/dist/FHIR-R4/interfaces/ICapabilityStatement.js +1 -1
- package/dist/FHIR-R4/interfaces/ICareTeam.js +1 -1
- package/dist/FHIR-R4/interfaces/ICatalogEntry.js +1 -1
- package/dist/FHIR-R4/interfaces/IChargeItem.js +1 -1
- package/dist/FHIR-R4/interfaces/IChargeItemDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IClaim.js +1 -1
- package/dist/FHIR-R4/interfaces/ICodeSystem.js +1 -1
- package/dist/FHIR-R4/interfaces/ICompartmentDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IComposition.js +1 -1
- package/dist/FHIR-R4/interfaces/IConceptMap.js +1 -1
- package/dist/FHIR-R4/interfaces/IConsent.js +1 -1
- package/dist/FHIR-R4/interfaces/ICoverageEligibilityResponse.js +1 -1
- package/dist/FHIR-R4/interfaces/IDetectedIssue.js +1 -1
- package/dist/FHIR-R4/interfaces/IDevice.js +1 -1
- package/dist/FHIR-R4/interfaces/IDeviceMetric.js +1 -1
- package/dist/FHIR-R4/interfaces/IDeviceUseStatement.js +1 -1
- package/dist/FHIR-R4/interfaces/IDiagnosticReport.js +1 -1
- package/dist/FHIR-R4/interfaces/IDocumentManifest.js +1 -1
- package/dist/FHIR-R4/interfaces/IDocumentReference.js +1 -1
- package/dist/FHIR-R4/interfaces/IEffectEvidenceSynthesis.js +1 -1
- package/dist/FHIR-R4/interfaces/IEncounter.js +1 -1
- package/dist/FHIR-R4/interfaces/IEndpoint.js +1 -1
- package/dist/FHIR-R4/interfaces/IEnrollmentResponse.js +1 -1
- package/dist/FHIR-R4/interfaces/IEpisodeOfCare.js +1 -1
- package/dist/FHIR-R4/interfaces/IEventDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IEvidence.js +1 -1
- package/dist/FHIR-R4/interfaces/IEvidenceVariable.js +1 -1
- package/dist/FHIR-R4/interfaces/IExampleScenario.js +1 -1
- package/dist/FHIR-R4/interfaces/IExplanationOfBenefit.js +1 -1
- package/dist/FHIR-R4/interfaces/IFamilyMemberHistory.js +1 -1
- package/dist/FHIR-R4/interfaces/IFlag.js +1 -1
- package/dist/FHIR-R4/interfaces/IGoal.js +1 -1
- package/dist/FHIR-R4/interfaces/IGraphDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IGroup.js +1 -1
- package/dist/FHIR-R4/interfaces/IGuidanceResponse.js +1 -1
- package/dist/FHIR-R4/interfaces/IImagingStudy.js +1 -1
- package/dist/FHIR-R4/interfaces/IImplementationGuide.js +1 -1
- package/dist/FHIR-R4/interfaces/IInsurancePlan.js +1 -1
- package/dist/FHIR-R4/interfaces/IInvoice.js +1 -1
- package/dist/FHIR-R4/interfaces/ILibrary.js +1 -1
- package/dist/FHIR-R4/interfaces/IList.js +1 -1
- package/dist/FHIR-R4/interfaces/ILocation.js +1 -1
- package/dist/FHIR-R4/interfaces/IMeasure.js +1 -1
- package/dist/FHIR-R4/interfaces/IMeasureReport.js +1 -1
- package/dist/FHIR-R4/interfaces/IMessageDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IMolecularSequence.js +1 -1
- package/dist/FHIR-R4/interfaces/INamingSystem.js +1 -1
- package/dist/FHIR-R4/interfaces/IObservation.js +1 -1
- package/dist/FHIR-R4/interfaces/IOperationDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IPatient.js +1 -1
- package/dist/FHIR-R4/interfaces/IPaymentReconciliation.js +1 -1
- package/dist/FHIR-R4/interfaces/IPerson.js +1 -1
- package/dist/FHIR-R4/interfaces/IPlanDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IPractitioner.js +1 -1
- package/dist/FHIR-R4/interfaces/IQuestionnaire.js +1 -1
- package/dist/FHIR-R4/interfaces/IQuestionnaireResponse.js +1 -1
- package/dist/FHIR-R4/interfaces/IRelatedPerson.js +1 -1
- package/dist/FHIR-R4/interfaces/IResearchDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IResearchElementDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IResearchStudy.js +1 -1
- package/dist/FHIR-R4/interfaces/IResearchSubject.js +1 -1
- package/dist/FHIR-R4/interfaces/IRiskEvidenceSynthesis.js +1 -1
- package/dist/FHIR-R4/interfaces/ISearchParameter.js +1 -1
- package/dist/FHIR-R4/interfaces/ISlot.js +1 -1
- package/dist/FHIR-R4/interfaces/ISpecimen.js +1 -1
- package/dist/FHIR-R4/interfaces/IStructureDefinition.js +1 -1
- package/dist/FHIR-R4/interfaces/IStructureMap.js +1 -1
- package/dist/FHIR-R4/interfaces/ISubscription.js +1 -1
- package/dist/FHIR-R4/interfaces/ISubstance.js +1 -1
- package/dist/FHIR-R4/interfaces/ISupplyDelivery.js +1 -1
- package/dist/FHIR-R4/interfaces/ISupplyRequest.js +1 -1
- package/dist/FHIR-R4/interfaces/ITask.js +1 -1
- package/dist/FHIR-R4/interfaces/ITerminologyCapabilities.js +1 -1
- package/dist/FHIR-R4/interfaces/ITestReport.js +1 -1
- package/dist/FHIR-R4/interfaces/ITestScript.js +1 -1
- package/dist/FHIR-R4/interfaces/IValueSet.js +1 -1
- package/dist/FHIR-R5/fHIRJSONRESOURCE.d.ts +172 -0
- package/dist/FHIR-R5/fHIRJSONRESOURCE.js +2 -0
- package/dist/FHIR-R5/openApiSchemaUpdated.d.ts +172 -0
- package/dist/FHIR-R5/openApiSchemaUpdated.js +2 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +39 -6
- package/dist/library/BundleUtils/BundleUtils.d.ts +11 -5
- package/dist/library/BundleUtils/BundleUtils.js +23 -5
- package/dist/library/BundleUtils/BundleUtils.spec.js +24 -24
- package/dist/library/PatchUtils/PatchUtils.d.ts +1 -1
- package/dist/library/PatchUtils/PatchUtils.js +31 -31
- package/dist/library/PatchUtils/PatchUtils.spec.js +159 -124
- package/dist/library/QueryBuilder/QueryBuilder.d.ts +1 -1
- package/dist/library/QueryBuilder/QueryBuilder.js +25 -17
- package/dist/library/QueryBuilder/QueryBuilder.spec.js +44 -43
- package/dist/library/ResourceUtils/ResourceUtils.d.ts +15 -7
- package/dist/library/ResourceUtils/ResourceUtils.js +19 -11
- package/dist/library/ResourceUtils/ResourceUtils.spec.js +120 -109
- package/dist/library/constants.js +2 -2
- package/dist/library/dataTypes.d.ts +6 -6
- package/eslint.config.mjs +69 -0
- package/package.json +21 -7
- package/src/FHIR-DSTU2.ts +1 -1
- package/src/FHIR-R3.ts +3 -1
- package/src/FHIR-R4/classes/account.ts +2 -1
- package/src/FHIR-R4/classes/activityDefinition.ts +2 -1
- package/src/FHIR-R4/classes/adverseEvent.ts +2 -1
- package/src/FHIR-R4/classes/allergyIntolerance.ts +2 -1
- package/src/FHIR-R4/classes/appointment.ts +2 -1
- package/src/FHIR-R4/classes/appointmentResponse.ts +2 -1
- package/src/FHIR-R4/classes/auditEvent.ts +2 -1
- package/src/FHIR-R4/classes/basic.ts +2 -1
- package/src/FHIR-R4/classes/biologicallyDerivedProduct.ts +2 -1
- package/src/FHIR-R4/classes/bodyStructure.ts +2 -1
- package/src/FHIR-R4/classes/capabilityStatement.ts +2 -1
- package/src/FHIR-R4/classes/carePlan.ts +2 -1
- package/src/FHIR-R4/classes/careTeam.ts +2 -1
- package/src/FHIR-R4/classes/catalogEntry.ts +2 -1
- package/src/FHIR-R4/classes/chargeItem.ts +2 -1
- package/src/FHIR-R4/classes/chargeItemDefinition.ts +2 -1
- package/src/FHIR-R4/classes/claim.ts +2 -1
- package/src/FHIR-R4/classes/claimResponse.ts +2 -1
- package/src/FHIR-R4/classes/clinicalImpression.ts +2 -1
- package/src/FHIR-R4/classes/codeSystem.ts +2 -1
- package/src/FHIR-R4/classes/communication.ts +2 -1
- package/src/FHIR-R4/classes/communicationRequest.ts +2 -1
- package/src/FHIR-R4/classes/compartmentDefinition.ts +2 -1
- package/src/FHIR-R4/classes/composition.ts +2 -1
- package/src/FHIR-R4/classes/conceptMap.ts +2 -1
- package/src/FHIR-R4/classes/condition.ts +2 -1
- package/src/FHIR-R4/classes/consent.ts +2 -1
- package/src/FHIR-R4/classes/contract.ts +2 -1
- package/src/FHIR-R4/classes/coverage.ts +2 -1
- package/src/FHIR-R4/classes/coverageEligibilityRequest.ts +2 -1
- package/src/FHIR-R4/classes/coverageEligibilityResponse.ts +2 -1
- package/src/FHIR-R4/classes/detectedIssue.ts +2 -1
- package/src/FHIR-R4/classes/device.ts +2 -1
- package/src/FHIR-R4/classes/deviceDefinition.ts +2 -1
- package/src/FHIR-R4/classes/deviceMetric.ts +2 -1
- package/src/FHIR-R4/classes/deviceRequest.ts +2 -1
- package/src/FHIR-R4/classes/deviceUseStatement.ts +2 -1
- package/src/FHIR-R4/classes/diagnosticReport.ts +2 -1
- package/src/FHIR-R4/classes/documentManifest.ts +2 -1
- package/src/FHIR-R4/classes/documentReference.ts +2 -1
- package/src/FHIR-R4/classes/domainResource.ts +5 -0
- package/src/FHIR-R4/classes/effectEvidenceSynthesis.ts +2 -1
- package/src/FHIR-R4/classes/encounter.ts +2 -1
- package/src/FHIR-R4/classes/endpoint.ts +2 -1
- package/src/FHIR-R4/classes/enrollmentRequest.ts +2 -1
- package/src/FHIR-R4/classes/enrollmentResponse.ts +2 -1
- package/src/FHIR-R4/classes/episodeOfCare.ts +2 -1
- package/src/FHIR-R4/classes/eventDefinition.ts +2 -1
- package/src/FHIR-R4/classes/evidence.ts +2 -1
- package/src/FHIR-R4/classes/evidenceVariable.ts +2 -1
- package/src/FHIR-R4/classes/exampleScenario.ts +2 -1
- package/src/FHIR-R4/classes/exampleScenarioInstance.ts +2 -1
- package/src/FHIR-R4/classes/explanationOfBenefit.ts +2 -1
- package/src/FHIR-R4/classes/familyMemberHistory.ts +2 -1
- package/src/FHIR-R4/classes/flag.ts +2 -1
- package/src/FHIR-R4/classes/goal.ts +2 -1
- package/src/FHIR-R4/classes/graphDefinition.ts +2 -1
- package/src/FHIR-R4/classes/group.ts +2 -1
- package/src/FHIR-R4/classes/guidanceResponse.ts +2 -1
- package/src/FHIR-R4/classes/healthcareService.ts +2 -1
- package/src/FHIR-R4/classes/imagingStudy.ts +2 -1
- package/src/FHIR-R4/classes/immunization.ts +2 -1
- package/src/FHIR-R4/classes/immunizationEvaluation.ts +2 -1
- package/src/FHIR-R4/classes/immunizationRecommendation.ts +2 -1
- package/src/FHIR-R4/classes/implementationGuide.ts +2 -1
- package/src/FHIR-R4/classes/insurancePlan.ts +2 -1
- package/src/FHIR-R4/classes/invoice.ts +2 -1
- package/src/FHIR-R4/classes/library.ts +2 -1
- package/src/FHIR-R4/classes/linkage.ts +2 -1
- package/src/FHIR-R4/classes/list.ts +2 -1
- package/src/FHIR-R4/classes/location.ts +2 -1
- package/src/FHIR-R4/classes/measure.ts +2 -1
- package/src/FHIR-R4/classes/measureReport.ts +2 -1
- package/src/FHIR-R4/classes/media.ts +2 -1
- package/src/FHIR-R4/classes/medication.ts +2 -1
- package/src/FHIR-R4/classes/medicationAdministration.ts +2 -1
- package/src/FHIR-R4/classes/medicationDispense.ts +2 -1
- package/src/FHIR-R4/classes/medicationKnowledge.ts +2 -1
- package/src/FHIR-R4/classes/medicationRequest.ts +2 -1
- package/src/FHIR-R4/classes/medicationStatement.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProduct.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductAuthorization.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductContraindication.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductIndication.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductIngredient.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductInteraction.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductManufactured.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductPackaged.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductPharmaceutical.ts +2 -1
- package/src/FHIR-R4/classes/medicinalProductUndesirableEffect.ts +2 -1
- package/src/FHIR-R4/classes/messageDefinition.ts +2 -1
- package/src/FHIR-R4/classes/messageHeader.ts +2 -1
- package/src/FHIR-R4/classes/molecularSequence.ts +2 -1
- package/src/FHIR-R4/classes/namingSystem.ts +2 -1
- package/src/FHIR-R4/classes/nutritionOrder.ts +2 -1
- package/src/FHIR-R4/classes/observation.ts +2 -1
- package/src/FHIR-R4/classes/observationDefinition.ts +2 -1
- package/src/FHIR-R4/classes/operationDefinition.ts +2 -1
- package/src/FHIR-R4/classes/operationOutcome.ts +2 -1
- package/src/FHIR-R4/classes/organization.ts +2 -1
- package/src/FHIR-R4/classes/organizationAffiliation.ts +2 -1
- package/src/FHIR-R4/classes/patient.ts +2 -1
- package/src/FHIR-R4/classes/paymentNotice.ts +2 -1
- package/src/FHIR-R4/classes/paymentReconciliation.ts +2 -1
- package/src/FHIR-R4/classes/person.ts +2 -1
- package/src/FHIR-R4/classes/planDefinition.ts +2 -1
- package/src/FHIR-R4/classes/practitioner.ts +2 -1
- package/src/FHIR-R4/classes/practitionerRole.ts +2 -1
- package/src/FHIR-R4/classes/procedure.ts +2 -1
- package/src/FHIR-R4/classes/provenance.ts +2 -1
- package/src/FHIR-R4/classes/questionnaire.ts +2 -1
- package/src/FHIR-R4/classes/questionnaireResponse.ts +2 -1
- package/src/FHIR-R4/classes/relatedPerson.ts +2 -1
- package/src/FHIR-R4/classes/requestGroup.ts +2 -1
- package/src/FHIR-R4/classes/researchDefinition.ts +2 -1
- package/src/FHIR-R4/classes/researchElementDefinition.ts +2 -1
- package/src/FHIR-R4/classes/researchStudy.ts +2 -1
- package/src/FHIR-R4/classes/researchSubject.ts +2 -1
- package/src/FHIR-R4/classes/riskAssessment.ts +2 -1
- package/src/FHIR-R4/classes/riskEvidenceSynthesis.ts +2 -1
- package/src/FHIR-R4/classes/schedule.ts +2 -1
- package/src/FHIR-R4/classes/searchParameter.ts +2 -1
- package/src/FHIR-R4/classes/serviceRequest.ts +2 -1
- package/src/FHIR-R4/classes/slot.ts +2 -1
- package/src/FHIR-R4/classes/specimen.ts +2 -1
- package/src/FHIR-R4/classes/specimenDefinition.ts +2 -1
- package/src/FHIR-R4/classes/structureDefinition.ts +2 -1
- package/src/FHIR-R4/classes/structureMap.ts +2 -1
- package/src/FHIR-R4/classes/subscription.ts +2 -1
- package/src/FHIR-R4/classes/substance.ts +2 -1
- package/src/FHIR-R4/classes/substanceNucleicAcid.ts +2 -1
- package/src/FHIR-R4/classes/substancePolymer.ts +2 -1
- package/src/FHIR-R4/classes/substanceProtein.ts +2 -1
- package/src/FHIR-R4/classes/substanceReferenceInformation.ts +2 -1
- package/src/FHIR-R4/classes/substanceSourceMaterial.ts +2 -1
- package/src/FHIR-R4/classes/substanceSpecification.ts +2 -1
- package/src/FHIR-R4/classes/supplyDelivery.ts +2 -1
- package/src/FHIR-R4/classes/supplyRequest.ts +2 -1
- package/src/FHIR-R4/classes/task.ts +2 -1
- package/src/FHIR-R4/classes/terminologyCapabilities.ts +2 -1
- package/src/FHIR-R4/classes/testReport.ts +2 -1
- package/src/FHIR-R4/classes/testScript.ts +2 -1
- package/src/FHIR-R4/classes/valueSet.ts +2 -1
- package/src/FHIR-R4/classes/verificationResult.ts +2 -1
- package/src/FHIR-R4/classes/visionPrescription.ts +2 -1
- package/src/index.ts +12 -1
- package/src/library/BundleUtils/BundleUtils.spec.ts +26 -39
- package/src/library/BundleUtils/BundleUtils.ts +43 -29
- package/src/library/PatchUtils/PatchUtils.spec.ts +173 -129
- package/src/library/PatchUtils/PatchUtils.ts +39 -52
- package/src/library/QueryBuilder/QueryBuilder.spec.ts +54 -51
- package/src/library/QueryBuilder/QueryBuilder.ts +41 -31
- package/src/library/ResourceUtils/ResourceUtils.spec.ts +140 -159
- package/src/library/ResourceUtils/ResourceUtils.ts +37 -27
- package/src/library/constants.ts +17 -17
- package/src/library/dataTypes.ts +7 -7
- package/src/test-resources/CareTeam-R4-contained.json +81 -0
- package/tsconfig.json +25 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CodingKeys, IdentifierKeys } from
|
|
1
|
+
import { CodingKeys, IdentifierKeys } from '../dataTypes';
|
|
2
2
|
export declare class ResourceUtils {
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
@@ -7,38 +7,46 @@ export declare class ResourceUtils {
|
|
|
7
7
|
* @returns json property if it exists
|
|
8
8
|
* @limitation currently just supports get for top level property on resource
|
|
9
9
|
*/
|
|
10
|
-
getResourceProperty(inputJson:
|
|
10
|
+
getResourceProperty(inputJson: Record<string, any>, propertyName: string): any;
|
|
11
11
|
/**
|
|
12
|
+
* Get identifiers from a list filtered by property value
|
|
12
13
|
*
|
|
14
|
+
* @template T - The identifier type to return (defaults to any for backward compatibility)
|
|
13
15
|
* @param identifierList list of identifiers
|
|
14
16
|
* @param propertyToCompare identifier property to compare
|
|
15
17
|
* @param propertyValue value we want to compare against
|
|
16
18
|
* @returns array of matches
|
|
17
19
|
* @limitations currently does not work with identifier.type, identifier.period & identifier.assigner
|
|
18
20
|
*/
|
|
19
|
-
getIdentifiersByProperty(identifierList: any[], propertyToCompare: IdentifierKeys, propertyValue: any[IdentifierKeys]):
|
|
21
|
+
getIdentifiersByProperty<T = any>(identifierList: any[] | null, propertyToCompare: IdentifierKeys, propertyValue: any[IdentifierKeys]): T[];
|
|
20
22
|
/**
|
|
23
|
+
* Get extensions from a list filtered by URL
|
|
21
24
|
*
|
|
25
|
+
* @template T - The extension type to return (defaults to any for backward compatibility)
|
|
22
26
|
* @param extensionList list of extensions
|
|
23
27
|
* @param extensionUrl Extension.url to compare
|
|
24
28
|
* @returns array of matches
|
|
25
29
|
*/
|
|
26
|
-
getExtensionsByUrl(extensionList: any[], extensionUrl: string):
|
|
30
|
+
getExtensionsByUrl<T = any>(extensionList: any[] | null, extensionUrl: string): T[];
|
|
27
31
|
/**
|
|
32
|
+
* Get codings from a list filtered by property value
|
|
28
33
|
*
|
|
34
|
+
* @template T - The coding type to return (defaults to any for backward compatibility)
|
|
29
35
|
* @param codingList list of codings
|
|
30
36
|
* @param propertyToCompare coding property to compare
|
|
31
37
|
* @param propertyValue value we want to compare against string or boolean
|
|
32
38
|
* @returns array of matches
|
|
33
39
|
*/
|
|
34
|
-
getCodingsByProperty(codingList: any[], propertyToCompare: CodingKeys, propertyValue: any[CodingKeys]):
|
|
40
|
+
getCodingsByProperty<T = any>(codingList: any[] | null, propertyToCompare: CodingKeys, propertyValue: any[CodingKeys]): T[];
|
|
35
41
|
/**
|
|
42
|
+
* Get values at a specific path in a FHIR resource
|
|
36
43
|
*
|
|
44
|
+
* @template T - The value type to return (defaults to any for backward compatibility)
|
|
37
45
|
* @param resource resource for which path needs to be validated
|
|
38
|
-
* @param elementPath path to validate in resource
|
|
46
|
+
* @param elementPath path to validate in resource (e.g., "Patient.name.given")
|
|
39
47
|
* @returns array of elements found at the provided path
|
|
40
48
|
*/
|
|
41
|
-
getValuesAtResourcePath(resource: any, elementPath: string):
|
|
49
|
+
getValuesAtResourcePath<T = any>(resource: any, elementPath: string): T[];
|
|
42
50
|
private getValuesAtResourcePathInner;
|
|
43
51
|
private isPrimitive;
|
|
44
52
|
/**
|
|
@@ -11,13 +11,15 @@ class ResourceUtils {
|
|
|
11
11
|
*/
|
|
12
12
|
getResourceProperty(inputJson, propertyName) {
|
|
13
13
|
let resourcePropertyValue = null;
|
|
14
|
-
if (
|
|
14
|
+
if (Object.prototype.hasOwnProperty.call(inputJson, propertyName)) {
|
|
15
15
|
resourcePropertyValue = inputJson[propertyName];
|
|
16
16
|
}
|
|
17
17
|
return resourcePropertyValue;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
+
* Get identifiers from a list filtered by property value
|
|
20
21
|
*
|
|
22
|
+
* @template T - The identifier type to return (defaults to any for backward compatibility)
|
|
21
23
|
* @param identifierList list of identifiers
|
|
22
24
|
* @param propertyToCompare identifier property to compare
|
|
23
25
|
* @param propertyValue value we want to compare against
|
|
@@ -30,18 +32,20 @@ class ResourceUtils {
|
|
|
30
32
|
: [];
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
35
|
+
* Get extensions from a list filtered by URL
|
|
33
36
|
*
|
|
37
|
+
* @template T - The extension type to return (defaults to any for backward compatibility)
|
|
34
38
|
* @param extensionList list of extensions
|
|
35
39
|
* @param extensionUrl Extension.url to compare
|
|
36
40
|
* @returns array of matches
|
|
37
41
|
*/
|
|
38
42
|
getExtensionsByUrl(extensionList, extensionUrl) {
|
|
39
|
-
return (extensionList === null || extensionList === void 0 ? void 0 : extensionList.length)
|
|
40
|
-
? extensionList.filter((x) => x["url"] === extensionUrl)
|
|
41
|
-
: [];
|
|
43
|
+
return (extensionList === null || extensionList === void 0 ? void 0 : extensionList.length) ? extensionList.filter((x) => x['url'] === extensionUrl) : [];
|
|
42
44
|
}
|
|
43
45
|
/**
|
|
46
|
+
* Get codings from a list filtered by property value
|
|
44
47
|
*
|
|
48
|
+
* @template T - The coding type to return (defaults to any for backward compatibility)
|
|
45
49
|
* @param codingList list of codings
|
|
46
50
|
* @param propertyToCompare coding property to compare
|
|
47
51
|
* @param propertyValue value we want to compare against string or boolean
|
|
@@ -53,28 +57,32 @@ class ResourceUtils {
|
|
|
53
57
|
: [];
|
|
54
58
|
}
|
|
55
59
|
/**
|
|
60
|
+
* Get values at a specific path in a FHIR resource
|
|
56
61
|
*
|
|
62
|
+
* @template T - The value type to return (defaults to any for backward compatibility)
|
|
57
63
|
* @param resource resource for which path needs to be validated
|
|
58
|
-
* @param elementPath path to validate in resource
|
|
64
|
+
* @param elementPath path to validate in resource (e.g., "Patient.name.given")
|
|
59
65
|
* @returns array of elements found at the provided path
|
|
60
66
|
*/
|
|
61
67
|
getValuesAtResourcePath(resource, elementPath) {
|
|
62
68
|
const pathSections = elementPath.split('.');
|
|
63
|
-
if (!resource ||
|
|
69
|
+
if (!resource || resource.resourceType !== pathSections[0]) {
|
|
64
70
|
return [];
|
|
71
|
+
}
|
|
65
72
|
return this.getValuesAtResourcePathInner(resource, pathSections);
|
|
66
73
|
}
|
|
67
74
|
getValuesAtResourcePathInner(resource, pathSections) {
|
|
75
|
+
var _a;
|
|
68
76
|
let resourcePathValue;
|
|
69
77
|
for (let index = 1; index < pathSections.length; index++) {
|
|
70
|
-
const subPaths = pathSections[index];
|
|
78
|
+
const subPaths = (_a = pathSections[index]) !== null && _a !== void 0 ? _a : '';
|
|
71
79
|
resourcePathValue = resourcePathValue ? resourcePathValue[subPaths] : resource[subPaths];
|
|
72
80
|
if (resourcePathValue) {
|
|
73
81
|
if (this.isPrimitive(resourcePathValue) || pathSections.length === 2) {
|
|
74
82
|
return Array.isArray(resourcePathValue) ? [...resourcePathValue] : [resourcePathValue];
|
|
75
83
|
}
|
|
76
84
|
else if (Array.isArray(resourcePathValue) && resourcePathValue.length > 0) {
|
|
77
|
-
|
|
85
|
+
const resultSet = [];
|
|
78
86
|
for (let subPathIndex = 0; subPathIndex < resourcePathValue.length; subPathIndex++) {
|
|
79
87
|
const subPathValue = resourcePathValue[subPathIndex];
|
|
80
88
|
if (this.isPrimitive(subPathValue)) {
|
|
@@ -86,7 +94,7 @@ class ResourceUtils {
|
|
|
86
94
|
}
|
|
87
95
|
return resultSet;
|
|
88
96
|
}
|
|
89
|
-
else if (typeof
|
|
97
|
+
else if (typeof resourcePathValue === 'object') {
|
|
90
98
|
return this.getValuesAtResourcePathInner(resourcePathValue, pathSections.slice(index));
|
|
91
99
|
}
|
|
92
100
|
}
|
|
@@ -97,7 +105,7 @@ class ResourceUtils {
|
|
|
97
105
|
return [];
|
|
98
106
|
}
|
|
99
107
|
isPrimitive(value) {
|
|
100
|
-
return typeof
|
|
108
|
+
return typeof value === 'boolean' || typeof value === 'string';
|
|
101
109
|
}
|
|
102
110
|
/**
|
|
103
111
|
* @param resource resource to pull out references from
|
|
@@ -106,7 +114,7 @@ class ResourceUtils {
|
|
|
106
114
|
getAllReferencesFromResource(resource) {
|
|
107
115
|
const stringifiedResource = JSON.stringify(resource);
|
|
108
116
|
const referenceJsonString = '"reference":';
|
|
109
|
-
|
|
117
|
+
const references = [];
|
|
110
118
|
let cursor = stringifiedResource.indexOf(referenceJsonString, 0);
|
|
111
119
|
while (cursor > -1) {
|
|
112
120
|
const referenceStart = stringifiedResource.indexOf(referenceJsonString, cursor) + referenceJsonString.length;
|
|
@@ -1,289 +1,300 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ResourceUtils_1 = require("./ResourceUtils");
|
|
4
|
-
const patientPayload = require(
|
|
5
|
-
const careTeamPayload = require(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const patientPayload = require('./../../test-resources/Patient-R4.json');
|
|
5
|
+
const careTeamPayload = require('./../../test-resources/CareTeam-R4.json');
|
|
6
|
+
const careTeamContainedPayload = require('./../../test-resources/CareTeam-R4-contained.json');
|
|
7
|
+
describe('ResourceUtils', () => {
|
|
8
|
+
const resourceUtils = new ResourceUtils_1.ResourceUtils();
|
|
9
|
+
describe('#getResourceProperty()', () => {
|
|
10
|
+
it('should return property if property exists in valid inputJson', () => {
|
|
10
11
|
// execute
|
|
11
|
-
const actual = resourceUtils.getResourceProperty(patientPayload,
|
|
12
|
+
const actual = resourceUtils.getResourceProperty(patientPayload, 'deceasedBoolean');
|
|
12
13
|
// validate
|
|
13
14
|
expect(actual).toBeFalse();
|
|
14
15
|
});
|
|
15
|
-
it(
|
|
16
|
+
it('should return null if property exists in valid inputJson', () => {
|
|
16
17
|
// execute
|
|
17
|
-
const actual = resourceUtils.getResourceProperty(patientPayload,
|
|
18
|
+
const actual = resourceUtils.getResourceProperty(patientPayload, 'abcd');
|
|
18
19
|
// validate
|
|
19
20
|
expect(actual).toBeNull();
|
|
20
21
|
});
|
|
21
|
-
it(
|
|
22
|
+
it('should return null if invalid inputJson is passed', () => {
|
|
22
23
|
// setup
|
|
23
24
|
const inputPayload = [1, 2];
|
|
24
25
|
// execute
|
|
25
|
-
const actual = resourceUtils.getResourceProperty(inputPayload,
|
|
26
|
+
const actual = resourceUtils.getResourceProperty(inputPayload, 'deceasedBoolean');
|
|
26
27
|
// validate
|
|
27
28
|
expect(actual).toBeNull();
|
|
28
29
|
});
|
|
29
30
|
});
|
|
30
|
-
describe(
|
|
31
|
+
describe('#getIdentifiersByProperty()', () => {
|
|
31
32
|
const identifierList = [
|
|
32
33
|
{
|
|
33
|
-
use:
|
|
34
|
-
system:
|
|
35
|
-
value:
|
|
34
|
+
use: 'temp',
|
|
35
|
+
system: 'http://hl7.org/fhir/sid/us-ssn',
|
|
36
|
+
value: 'abc',
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
|
-
use:
|
|
39
|
-
system:
|
|
40
|
-
value:
|
|
39
|
+
use: 'usual',
|
|
40
|
+
system: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0',
|
|
41
|
+
value: 'abc',
|
|
41
42
|
},
|
|
42
43
|
];
|
|
43
|
-
it(
|
|
44
|
+
it('should return empty array if null is passed as identifier list', () => {
|
|
44
45
|
// setup
|
|
45
|
-
const value =
|
|
46
|
+
const value = 'shouldBeIgnored';
|
|
46
47
|
// execute
|
|
47
|
-
const actual = resourceUtils.getIdentifiersByProperty(null,
|
|
48
|
+
const actual = resourceUtils.getIdentifiersByProperty(null, 'id', value);
|
|
48
49
|
// validate
|
|
49
50
|
expect(actual.length).toEqual(0);
|
|
50
51
|
});
|
|
51
|
-
it(
|
|
52
|
+
it('should return empty array if property not found', () => {
|
|
52
53
|
// setup
|
|
53
|
-
const value =
|
|
54
|
+
const value = 'abc';
|
|
54
55
|
// execute
|
|
55
|
-
const actual = resourceUtils.getIdentifiersByProperty(identifierList,
|
|
56
|
+
const actual = resourceUtils.getIdentifiersByProperty(identifierList, 'extension', // no extensions in test data
|
|
56
57
|
value);
|
|
57
58
|
// validate
|
|
58
59
|
expect(actual.length).toEqual(0);
|
|
59
60
|
});
|
|
60
|
-
it(
|
|
61
|
+
it('should return empty array if no matches found', () => {
|
|
61
62
|
// setup
|
|
62
|
-
const systemUrl =
|
|
63
|
+
const systemUrl = 'http://somesystem.com';
|
|
63
64
|
// execute
|
|
64
|
-
const actual = resourceUtils.getIdentifiersByProperty(identifierList,
|
|
65
|
+
const actual = resourceUtils.getIdentifiersByProperty(identifierList, 'system', systemUrl);
|
|
65
66
|
// validate
|
|
66
67
|
expect(actual.length).toEqual(0);
|
|
67
68
|
});
|
|
68
|
-
it(
|
|
69
|
+
it('should return array with all matches', () => {
|
|
69
70
|
// setup
|
|
70
|
-
const value =
|
|
71
|
+
const value = 'abc';
|
|
71
72
|
// execute
|
|
72
|
-
const actual = resourceUtils.getIdentifiersByProperty(identifierList,
|
|
73
|
+
const actual = resourceUtils.getIdentifiersByProperty(identifierList, 'value', value);
|
|
73
74
|
// validate
|
|
74
75
|
expect(actual.length).toEqual(2);
|
|
75
76
|
});
|
|
76
77
|
});
|
|
77
|
-
describe(
|
|
78
|
+
describe('#getExtensionsByUrl()', () => {
|
|
78
79
|
const extensionList = [
|
|
79
80
|
{
|
|
80
|
-
url:
|
|
81
|
+
url: 'http://hl7.org/fhir/sid/us-ssn',
|
|
81
82
|
valueBoolean: true,
|
|
82
83
|
},
|
|
83
84
|
{
|
|
84
|
-
url:
|
|
85
|
-
valueString:
|
|
85
|
+
url: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0',
|
|
86
|
+
valueString: 'abc',
|
|
86
87
|
},
|
|
87
88
|
];
|
|
88
|
-
it(
|
|
89
|
+
it('should return empty array if null is passed as extension list', () => {
|
|
89
90
|
// execute
|
|
90
|
-
const actual = resourceUtils.getExtensionsByUrl(null,
|
|
91
|
+
const actual = resourceUtils.getExtensionsByUrl(null, 'url');
|
|
91
92
|
// validate
|
|
92
93
|
expect(actual.length).toEqual(0);
|
|
93
94
|
});
|
|
94
|
-
it(
|
|
95
|
+
it('should return empty array if invalid extension array passed', () => {
|
|
95
96
|
// setup
|
|
96
97
|
const extensionListInvalid = [
|
|
97
98
|
{
|
|
98
99
|
// @ts-ignore
|
|
99
|
-
use:
|
|
100
|
-
system:
|
|
101
|
-
value:
|
|
100
|
+
use: 'temp',
|
|
101
|
+
system: 'http://hl7.org/fhir/sid/us-ssn',
|
|
102
|
+
value: 'abc',
|
|
102
103
|
},
|
|
103
104
|
]; // disabling compiler warning for the test
|
|
104
|
-
const url =
|
|
105
|
+
const url = 'http://ns.electronichealth.net.au/id/hi/ihi/1.0';
|
|
105
106
|
// execute
|
|
106
107
|
const actual = resourceUtils.getExtensionsByUrl(extensionListInvalid, url);
|
|
107
108
|
// validate
|
|
108
109
|
expect(actual.length).toEqual(0);
|
|
109
110
|
});
|
|
110
|
-
it(
|
|
111
|
+
it('should return empty array if no matches found', () => {
|
|
111
112
|
// setup
|
|
112
|
-
const url =
|
|
113
|
+
const url = 'http://somesystem.com';
|
|
113
114
|
// execute
|
|
114
115
|
const actual = resourceUtils.getExtensionsByUrl(extensionList, url);
|
|
115
116
|
// validate
|
|
116
117
|
expect(actual.length).toEqual(0);
|
|
117
118
|
});
|
|
118
|
-
it(
|
|
119
|
+
it('should return array with all matches', () => {
|
|
119
120
|
// setup
|
|
120
|
-
const url =
|
|
121
|
+
const url = 'http://ns.electronichealth.net.au/id/hi/ihi/1.0';
|
|
121
122
|
// execute
|
|
122
123
|
const actual = resourceUtils.getExtensionsByUrl(extensionList, url);
|
|
123
124
|
// validate
|
|
124
125
|
expect(actual.length).toEqual(1);
|
|
125
126
|
});
|
|
126
127
|
});
|
|
127
|
-
describe(
|
|
128
|
+
describe('#getCodingsByProperty()', () => {
|
|
128
129
|
const codingList = [
|
|
129
130
|
{
|
|
130
|
-
version:
|
|
131
|
-
system:
|
|
132
|
-
code:
|
|
133
|
-
display:
|
|
131
|
+
version: '1.0',
|
|
132
|
+
system: 'http://hl7.org/fhir/sid/us-ssn',
|
|
133
|
+
code: 'abc',
|
|
134
|
+
display: 'abc',
|
|
134
135
|
userSelected: false,
|
|
135
136
|
},
|
|
136
137
|
{
|
|
137
|
-
version:
|
|
138
|
-
system:
|
|
139
|
-
code:
|
|
140
|
-
display:
|
|
138
|
+
version: '1.1',
|
|
139
|
+
system: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0',
|
|
140
|
+
code: 'abc',
|
|
141
|
+
display: 'abc',
|
|
141
142
|
},
|
|
142
143
|
];
|
|
143
|
-
it(
|
|
144
|
+
it('should return empty array if null is passed as coding list', () => {
|
|
144
145
|
// setup
|
|
145
|
-
const value =
|
|
146
|
+
const value = 'shouldBeIgnored';
|
|
146
147
|
// execute
|
|
147
|
-
const actual = resourceUtils.getCodingsByProperty(null,
|
|
148
|
+
const actual = resourceUtils.getCodingsByProperty(null, 'extension', value);
|
|
148
149
|
// validate
|
|
149
150
|
expect(actual.length).toEqual(0);
|
|
150
151
|
});
|
|
151
|
-
it(
|
|
152
|
+
it('should return empty array if property not found', () => {
|
|
152
153
|
// setup
|
|
153
|
-
const value =
|
|
154
|
+
const value = 'abc';
|
|
154
155
|
// execute
|
|
155
|
-
const actual = resourceUtils.getCodingsByProperty(codingList,
|
|
156
|
+
const actual = resourceUtils.getCodingsByProperty(codingList, 'id', // expect no ID in codingList
|
|
156
157
|
value);
|
|
157
158
|
// validate
|
|
158
159
|
expect(actual.length).toEqual(0);
|
|
159
160
|
});
|
|
160
|
-
it(
|
|
161
|
+
it('should return empty array if no matches found', () => {
|
|
161
162
|
// setup
|
|
162
|
-
const systemUrl =
|
|
163
|
+
const systemUrl = 'http://somesystem.com';
|
|
163
164
|
// execute
|
|
164
|
-
const actual = resourceUtils.getCodingsByProperty(codingList,
|
|
165
|
+
const actual = resourceUtils.getCodingsByProperty(codingList, 'system', systemUrl);
|
|
165
166
|
// validate
|
|
166
167
|
expect(actual.length).toEqual(0);
|
|
167
168
|
});
|
|
168
|
-
it(
|
|
169
|
+
it('should return array with all matches for string values', () => {
|
|
169
170
|
// setup
|
|
170
|
-
const value =
|
|
171
|
+
const value = 'abc';
|
|
171
172
|
// execute
|
|
172
|
-
const actual = resourceUtils.getCodingsByProperty(codingList,
|
|
173
|
+
const actual = resourceUtils.getCodingsByProperty(codingList, 'code', value);
|
|
173
174
|
// validate
|
|
174
175
|
expect(actual.length).toEqual(2);
|
|
175
176
|
});
|
|
176
|
-
it(
|
|
177
|
+
it('should return array with all matches for boolean values', () => {
|
|
177
178
|
// setup
|
|
178
179
|
const value = false;
|
|
179
180
|
// execute
|
|
180
|
-
const actual = resourceUtils.getCodingsByProperty(codingList,
|
|
181
|
+
const actual = resourceUtils.getCodingsByProperty(codingList, 'userSelected', value);
|
|
181
182
|
// validate
|
|
182
183
|
expect(actual.length).toEqual(1);
|
|
183
184
|
});
|
|
184
185
|
});
|
|
185
|
-
describe(
|
|
186
|
-
it(
|
|
186
|
+
describe('#getValuesAtResourcePath()', () => {
|
|
187
|
+
it('should return empty array if the root of the path path does not match the resource type', () => {
|
|
187
188
|
// execute
|
|
188
|
-
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
189
|
+
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Practitioner.name.given');
|
|
189
190
|
// validate
|
|
190
191
|
expect(pathValues.length).toEqual(0);
|
|
191
192
|
});
|
|
192
|
-
it(
|
|
193
|
+
it('should return array with values if path exists for a top level element', () => {
|
|
193
194
|
// execute
|
|
194
|
-
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
195
|
+
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.gender');
|
|
195
196
|
// validate
|
|
196
197
|
expect(pathValues.length).toEqual(1);
|
|
197
|
-
expect(pathValues[0]).toEqual(
|
|
198
|
+
expect(pathValues[0]).toEqual('male');
|
|
198
199
|
});
|
|
199
200
|
it('should return array with values if path exists for a top level element and is an object', () => {
|
|
200
201
|
const expected = [
|
|
201
202
|
{
|
|
202
203
|
coding: [
|
|
203
204
|
{
|
|
204
|
-
system:
|
|
205
|
-
code:
|
|
206
|
-
display:
|
|
207
|
-
}
|
|
205
|
+
system: 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus',
|
|
206
|
+
code: 'M',
|
|
207
|
+
display: 'Married',
|
|
208
|
+
},
|
|
208
209
|
],
|
|
209
|
-
text:
|
|
210
|
-
}
|
|
210
|
+
text: 'Getrouwd',
|
|
211
|
+
},
|
|
211
212
|
];
|
|
212
213
|
// execute
|
|
213
|
-
const actual = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
214
|
+
const actual = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.maritalStatus');
|
|
214
215
|
// validate
|
|
215
216
|
expect(actual.length).toEqual(1);
|
|
216
217
|
expect(actual).toEqual(expected);
|
|
217
218
|
});
|
|
218
|
-
it(
|
|
219
|
+
it('should return array with values if path exists for a top level element and is an array', () => {
|
|
219
220
|
// setup
|
|
220
221
|
const expected = [
|
|
221
222
|
{
|
|
222
|
-
use:
|
|
223
|
-
family:
|
|
224
|
-
given: [
|
|
225
|
-
suffix: [
|
|
223
|
+
use: 'usual',
|
|
224
|
+
family: 'van de Heuvel',
|
|
225
|
+
given: ['Pieter', 'Peter'],
|
|
226
|
+
suffix: ['MSc'],
|
|
226
227
|
},
|
|
227
228
|
{
|
|
228
|
-
use:
|
|
229
|
-
family:
|
|
230
|
-
given: [
|
|
231
|
-
suffix: [
|
|
229
|
+
use: 'usual',
|
|
230
|
+
family: 'van de Heuvel',
|
|
231
|
+
given: ['Pieter'],
|
|
232
|
+
suffix: ['MSc'],
|
|
232
233
|
},
|
|
233
234
|
];
|
|
234
235
|
// execute
|
|
235
|
-
const actual = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
236
|
+
const actual = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.name');
|
|
236
237
|
// validate
|
|
237
238
|
expect(actual.length).toEqual(2);
|
|
238
239
|
expect(actual).toEqual(expected);
|
|
239
240
|
});
|
|
240
|
-
it(
|
|
241
|
+
it('should return array with values for a array under object', () => {
|
|
241
242
|
// execute
|
|
242
|
-
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
243
|
+
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.name.given');
|
|
243
244
|
// validate
|
|
244
245
|
expect(pathValues.length).toEqual(3);
|
|
245
|
-
expect(pathValues[0]).toEqual(
|
|
246
|
-
expect(pathValues[1]).toEqual(
|
|
247
|
-
expect(pathValues[2]).toEqual(
|
|
246
|
+
expect(pathValues[0]).toEqual('Pieter');
|
|
247
|
+
expect(pathValues[1]).toEqual('Peter');
|
|
248
|
+
expect(pathValues[2]).toEqual('Pieter');
|
|
248
249
|
});
|
|
249
|
-
it(
|
|
250
|
+
it('should return array with values if path exists for a deep array element', () => {
|
|
250
251
|
// execute
|
|
251
|
-
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
252
|
+
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.contact.relationship.coding.system');
|
|
252
253
|
// validate
|
|
253
254
|
expect(pathValues.length).toEqual(2);
|
|
254
|
-
expect(pathValues[0]).toEqual(
|
|
255
|
-
expect(pathValues[1]).toEqual(
|
|
255
|
+
expect(pathValues[0]).toEqual('http://terminology.hl7.org/CodeSystem/v2-0131');
|
|
256
|
+
expect(pathValues[1]).toEqual('http://terminology.hl7.org/CodeSystem/v2-0132');
|
|
256
257
|
});
|
|
257
|
-
it(
|
|
258
|
+
it('should return array with values if path exists for a deep json element', () => {
|
|
258
259
|
// execute
|
|
259
|
-
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
260
|
+
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.maritalStatus.coding.system');
|
|
260
261
|
// validate
|
|
261
262
|
expect(pathValues.length).toEqual(1);
|
|
262
|
-
expect(pathValues[0]).toEqual(
|
|
263
|
+
expect(pathValues[0]).toEqual('http://terminology.hl7.org/CodeSystem/v3-MaritalStatus');
|
|
263
264
|
});
|
|
264
|
-
it(
|
|
265
|
+
it('should return empty array if path does not exist', () => {
|
|
265
266
|
// execute
|
|
266
|
-
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload,
|
|
267
|
+
const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.contact.relationship.coding.abcd');
|
|
267
268
|
// validate
|
|
268
269
|
expect(pathValues.length).toEqual(0);
|
|
269
270
|
});
|
|
270
271
|
});
|
|
271
|
-
describe(
|
|
272
|
-
it(
|
|
272
|
+
describe('#getAllResourceReferences()', () => {
|
|
273
|
+
it('should return array of all references in a resource when references found', () => {
|
|
273
274
|
// execute
|
|
274
275
|
const actual = resourceUtils.getAllReferencesFromResource(careTeamPayload);
|
|
275
276
|
// validate
|
|
276
277
|
expect(actual.length).toEqual(6);
|
|
277
278
|
});
|
|
278
|
-
it(
|
|
279
|
+
it('should return empty array if references in a resource not found', () => {
|
|
279
280
|
// setup
|
|
280
281
|
const input = {
|
|
281
|
-
|
|
282
|
+
resourceType: 'Patient',
|
|
282
283
|
};
|
|
283
284
|
// execute
|
|
284
285
|
const actual = resourceUtils.getAllReferencesFromResource(input);
|
|
285
286
|
// validate
|
|
286
287
|
expect(actual.length).toEqual(0);
|
|
287
288
|
});
|
|
289
|
+
it('should return array of all references in a resource when references found in contained resource', () => {
|
|
290
|
+
var _a;
|
|
291
|
+
// setup
|
|
292
|
+
const input = careTeamContainedPayload;
|
|
293
|
+
expect(input.contained).toHaveSize(1);
|
|
294
|
+
// execute
|
|
295
|
+
const actual = resourceUtils.getAllReferencesFromResource((_a = input.contained) === null || _a === void 0 ? void 0 : _a[0]);
|
|
296
|
+
// validate
|
|
297
|
+
expect(actual.length).toEqual(1);
|
|
298
|
+
});
|
|
288
299
|
});
|
|
289
300
|
});
|
|
@@ -5,7 +5,7 @@ var SORT_ORDER;
|
|
|
5
5
|
(function (SORT_ORDER) {
|
|
6
6
|
SORT_ORDER[SORT_ORDER["ASCENDING"] = 0] = "ASCENDING";
|
|
7
7
|
SORT_ORDER[SORT_ORDER["DESCENDING"] = 1] = "DESCENDING";
|
|
8
|
-
})(SORT_ORDER
|
|
8
|
+
})(SORT_ORDER || (exports.SORT_ORDER = SORT_ORDER = {}));
|
|
9
9
|
var PATCH_DATATYPE;
|
|
10
10
|
(function (PATCH_DATATYPE) {
|
|
11
11
|
PATCH_DATATYPE["CODE"] = "valueCode";
|
|
@@ -19,4 +19,4 @@ var PATCH_DATATYPE;
|
|
|
19
19
|
PATCH_DATATYPE["STRING"] = "valueString";
|
|
20
20
|
PATCH_DATATYPE["ADDRESS"] = "valueAddress";
|
|
21
21
|
PATCH_DATATYPE["REFERENCE"] = "valueReference";
|
|
22
|
-
})(PATCH_DATATYPE
|
|
22
|
+
})(PATCH_DATATYPE || (exports.PATCH_DATATYPE = PATCH_DATATYPE = {}));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { fhirR5 } from
|
|
2
|
-
import * as DSTU2 from
|
|
3
|
-
import * as fhirR3 from
|
|
4
|
-
import { Coding as r4Coding } from
|
|
5
|
-
import { Extension as r4Extension } from
|
|
6
|
-
import { Identifier as r4Identifier } from
|
|
1
|
+
import { fhirR5 } from '..';
|
|
2
|
+
import * as DSTU2 from '../FHIR-DSTU2';
|
|
3
|
+
import * as fhirR3 from '../FHIR-R3';
|
|
4
|
+
import { Coding as r4Coding } from '../FHIR-R4/classes/coding';
|
|
5
|
+
import { Extension as r4Extension } from '../FHIR-R4/classes/extension';
|
|
6
|
+
import { Identifier as r4Identifier } from '../FHIR-R4/classes/identifier';
|
|
7
7
|
export type Identifier = r4Identifier & fhirR3.Identifier & DSTU2.Identifier & fhirR5.Identifier;
|
|
8
8
|
export type IdentifierKeys = keyof Identifier;
|
|
9
9
|
export type Extension = r4Extension & fhirR3.Extension & DSTU2.Extension & fhirR5.Extension;
|