@smile-cdr/fhirts 2.3.0 → 2.4.1
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.js +1 -1
- package/dist/FHIR-R4/classes/activityDefinition.js +1 -1
- package/dist/FHIR-R4/classes/address.js +1 -1
- package/dist/FHIR-R4/classes/adverseEvent.js +1 -1
- package/dist/FHIR-R4/classes/age.js +1 -1
- package/dist/FHIR-R4/classes/allergyIntolerance.js +1 -1
- package/dist/FHIR-R4/classes/allergyIntoleranceReaction.js +1 -1
- package/dist/FHIR-R4/classes/appointment.js +1 -1
- package/dist/FHIR-R4/classes/appointmentParticipant.js +1 -1
- package/dist/FHIR-R4/classes/auditEvent.js +1 -1
- package/dist/FHIR-R4/classes/auditEventNetwork.js +1 -1
- package/dist/FHIR-R4/classes/biologicallyDerivedProduct.js +1 -1
- package/dist/FHIR-R4/classes/biologicallyDerivedProductStorage.js +1 -1
- package/dist/FHIR-R4/classes/bundle.js +1 -1
- package/dist/FHIR-R4/classes/capabilityStatement.js +1 -1
- 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/carePlanDetail.js +1 -1
- package/dist/FHIR-R4/classes/careTeam.js +1 -1
- package/dist/FHIR-R4/classes/catalogEntry.js +1 -1
- package/dist/FHIR-R4/classes/catalogEntryRelatedEntry.js +1 -1
- package/dist/FHIR-R4/classes/chargeItem.js +1 -1
- package/dist/FHIR-R4/classes/chargeItemDefinition.js +1 -1
- package/dist/FHIR-R4/classes/claim.js +1 -1
- package/dist/FHIR-R4/classes/claimResponseProcessNote.js +1 -1
- package/dist/FHIR-R4/classes/codeSystem.js +1 -1
- package/dist/FHIR-R4/classes/codeSystemProperty.js +1 -1
- package/dist/FHIR-R4/classes/compartmentDefinition.js +1 -1
- package/dist/FHIR-R4/classes/composition.js +1 -1
- package/dist/FHIR-R4/classes/compositionAttester.js +1 -1
- package/dist/FHIR-R4/classes/conceptMap.js +1 -1
- package/dist/FHIR-R4/classes/conceptMapTarget.js +1 -1
- package/dist/FHIR-R4/classes/conceptMapUnmapped.js +1 -1
- package/dist/FHIR-R4/classes/consent.js +1 -1
- 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/contributor.js +1 -1
- package/dist/FHIR-R4/classes/count.js +1 -1
- package/dist/FHIR-R4/classes/coverageEligibilityResponse.js +1 -1
- package/dist/FHIR-R4/classes/dataRequirementSort.js +1 -1
- package/dist/FHIR-R4/classes/detectedIssue.js +1 -1
- package/dist/FHIR-R4/classes/device.js +1 -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.js +1 -1
- package/dist/FHIR-R4/classes/deviceMetricCalibration.js +1 -1
- package/dist/FHIR-R4/classes/deviceUdiCarrier.js +1 -1
- package/dist/FHIR-R4/classes/deviceUseStatement.js +1 -1
- package/dist/FHIR-R4/classes/diagnosticReport.js +1 -1
- package/dist/FHIR-R4/classes/distance.js +1 -1
- package/dist/FHIR-R4/classes/documentManifest.js +1 -1
- package/dist/FHIR-R4/classes/documentReference.js +1 -1
- package/dist/FHIR-R4/classes/documentReferenceRelatesTo.js +1 -1
- package/dist/FHIR-R4/classes/duration.js +1 -1
- package/dist/FHIR-R4/classes/effectEvidenceSynthesis.js +1 -1
- 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.js +1 -1
- package/dist/FHIR-R4/classes/encounterLocation.js +1 -1
- package/dist/FHIR-R4/classes/encounterStatusHistory.js +1 -1
- package/dist/FHIR-R4/classes/endpoint.js +1 -1
- package/dist/FHIR-R4/classes/enrollmentResponse.js +1 -1
- package/dist/FHIR-R4/classes/episodeOfCare.js +1 -1
- package/dist/FHIR-R4/classes/episodeOfCareStatusHistory.js +1 -1
- package/dist/FHIR-R4/classes/eventDefinition.js +1 -1
- package/dist/FHIR-R4/classes/evidence.js +1 -1
- package/dist/FHIR-R4/classes/evidenceVariable.js +1 -1
- package/dist/FHIR-R4/classes/evidenceVariableCharacteristic.js +1 -1
- package/dist/FHIR-R4/classes/exampleScenario.js +1 -1
- package/dist/FHIR-R4/classes/exampleScenarioActor.js +1 -1
- package/dist/FHIR-R4/classes/explanationOfBenefit.js +1 -1
- package/dist/FHIR-R4/classes/explanationOfBenefitProcessNote.js +1 -1
- package/dist/FHIR-R4/classes/expression.js +1 -1
- package/dist/FHIR-R4/classes/familyMemberHistory.js +1 -1
- package/dist/FHIR-R4/classes/flag.js +1 -1
- package/dist/FHIR-R4/classes/goal.js +1 -1
- package/dist/FHIR-R4/classes/graphDefinition.js +1 -1
- package/dist/FHIR-R4/classes/graphDefinitionCompartment.js +1 -1
- package/dist/FHIR-R4/classes/group.js +1 -1
- package/dist/FHIR-R4/classes/guidanceResponse.js +1 -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.js +1 -1
- package/dist/FHIR-R4/classes/implementationGuide.js +1 -1
- package/dist/FHIR-R4/classes/implementationGuidePage.js +1 -1
- package/dist/FHIR-R4/classes/implementationGuideParameter.js +1 -1
- package/dist/FHIR-R4/classes/insurancePlan.js +1 -1
- package/dist/FHIR-R4/classes/invoice.js +1 -1
- package/dist/FHIR-R4/classes/invoicePriceComponent.js +1 -1
- package/dist/FHIR-R4/classes/library.js +1 -1
- package/dist/FHIR-R4/classes/linkageItem.js +1 -1
- package/dist/FHIR-R4/classes/list.js +1 -1
- package/dist/FHIR-R4/classes/location.js +1 -1
- package/dist/FHIR-R4/classes/measure.js +1 -1
- package/dist/FHIR-R4/classes/measureReport.js +1 -1
- package/dist/FHIR-R4/classes/messageDefinition.js +1 -1
- package/dist/FHIR-R4/classes/messageHeaderResponse.js +1 -1
- package/dist/FHIR-R4/classes/molecularSequence.js +1 -1
- 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.js +1 -1
- package/dist/FHIR-R4/classes/namingSystemUniqueId.js +1 -1
- package/dist/FHIR-R4/classes/narrative.js +1 -1
- package/dist/FHIR-R4/classes/observation.js +1 -1
- package/dist/FHIR-R4/classes/observationDefinitionQualifiedInterval.js +1 -1
- package/dist/FHIR-R4/classes/operationDefinition.js +1 -1
- package/dist/FHIR-R4/classes/operationDefinitionBinding.js +1 -1
- package/dist/FHIR-R4/classes/operationDefinitionParameter.js +1 -1
- package/dist/FHIR-R4/classes/patient.js +1 -1
- package/dist/FHIR-R4/classes/patientContact.js +1 -1
- package/dist/FHIR-R4/classes/patientLink.js +1 -1
- package/dist/FHIR-R4/classes/paymentReconciliation.js +1 -1
- package/dist/FHIR-R4/classes/paymentReconciliationProcessNote.js +1 -1
- package/dist/FHIR-R4/classes/person.js +1 -1
- package/dist/FHIR-R4/classes/personLink.js +1 -1
- package/dist/FHIR-R4/classes/planDefinition.js +1 -1
- 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.js +1 -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.js +1 -1
- package/dist/FHIR-R4/classes/questionnaireEnableWhen.js +1 -1
- package/dist/FHIR-R4/classes/questionnaireItem.js +1 -1
- package/dist/FHIR-R4/classes/questionnaireResponse.js +1 -1
- package/dist/FHIR-R4/classes/relatedArtifact.js +1 -1
- package/dist/FHIR-R4/classes/relatedPerson.js +1 -1
- package/dist/FHIR-R4/classes/researchDefinition.js +1 -1
- package/dist/FHIR-R4/classes/researchElementDefinition.js +1 -1
- package/dist/FHIR-R4/classes/researchElementDefinitionCharacteristic.js +1 -1
- package/dist/FHIR-R4/classes/researchStudy.js +1 -1
- package/dist/FHIR-R4/classes/researchSubject.js +1 -1
- package/dist/FHIR-R4/classes/resource.d.ts +3 -1
- package/dist/FHIR-R4/classes/riskEvidenceSynthesis.js +1 -1
- package/dist/FHIR-R4/classes/searchParameter.js +1 -1
- package/dist/FHIR-R4/classes/slot.js +1 -1
- package/dist/FHIR-R4/classes/specimen.js +1 -1
- package/dist/FHIR-R4/classes/specimenDefinitionTypeTested.js +1 -1
- package/dist/FHIR-R4/classes/structureDefinition.js +1 -1
- package/dist/FHIR-R4/classes/structureDefinitionContext.js +1 -1
- package/dist/FHIR-R4/classes/structureMap.js +1 -1
- 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.js +1 -1
- package/dist/FHIR-R4/classes/subscriptionChannel.js +1 -1
- package/dist/FHIR-R4/classes/substance.js +1 -1
- package/dist/FHIR-R4/classes/supplyDelivery.js +1 -1
- package/dist/FHIR-R4/classes/supplyRequest.js +1 -1
- package/dist/FHIR-R4/classes/task.js +1 -1
- package/dist/FHIR-R4/classes/terminologyCapabilities.js +1 -1
- package/dist/FHIR-R4/classes/testReport.js +1 -1
- 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.js +1 -1
- 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.js +1 -1
- package/dist/FHIR-R4/classes/valueSetFilter.js +1 -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 +113 -112
- 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/resource.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 +133 -164
- package/src/library/ResourceUtils/ResourceUtils.ts +37 -27
- package/src/library/constants.ts +17 -17
- package/src/library/dataTypes.ts +7 -7
- package/tsconfig.json +25 -2
|
@@ -11,25 +11,31 @@ on:
|
|
|
11
11
|
- '**.md'
|
|
12
12
|
- '**.yml'
|
|
13
13
|
|
|
14
|
+
permissions:
|
|
15
|
+
id-token: write # Required for OIDC
|
|
16
|
+
contents: read
|
|
17
|
+
|
|
14
18
|
jobs:
|
|
15
19
|
release:
|
|
16
20
|
runs-on: ubuntu-latest
|
|
17
21
|
steps:
|
|
18
22
|
- uses: actions/checkout@v2
|
|
19
|
-
- uses: actions/setup-node@
|
|
23
|
+
- uses: actions/setup-node@v4
|
|
20
24
|
with:
|
|
21
|
-
node-version:
|
|
25
|
+
node-version: 20
|
|
22
26
|
registry-url: https://registry.npmjs.org
|
|
23
|
-
- name: Install Dependencies
|
|
27
|
+
- name: Install Dependencies
|
|
24
28
|
run: npm install
|
|
25
29
|
- name: Run audit
|
|
26
30
|
run: npm run audit
|
|
31
|
+
- name: Check code formatting
|
|
32
|
+
run: npm run format:check
|
|
33
|
+
- name: Run linter
|
|
34
|
+
run: npm run lint
|
|
27
35
|
- name: Compile Typescript
|
|
28
36
|
run: npm run-script build
|
|
29
37
|
- name: Run test with coverage
|
|
30
38
|
run: npm run-script coverage
|
|
31
39
|
- name: Publish to NPM
|
|
32
|
-
run: npm publish --access public
|
|
33
|
-
env:
|
|
34
|
-
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
|
|
40
|
+
run: npm publish --provenance --access public
|
|
35
41
|
|
|
@@ -6,7 +6,7 @@ name: Pull Request checks
|
|
|
6
6
|
on:
|
|
7
7
|
pull_request:
|
|
8
8
|
branches:
|
|
9
|
-
-
|
|
9
|
+
- main
|
|
10
10
|
paths-ignore:
|
|
11
11
|
- '**.md'
|
|
12
12
|
- '**.yml'
|
|
@@ -18,12 +18,16 @@ jobs:
|
|
|
18
18
|
- uses: actions/checkout@v2
|
|
19
19
|
- uses: actions/setup-node@v1
|
|
20
20
|
with:
|
|
21
|
-
node-version:
|
|
21
|
+
node-version: 20
|
|
22
22
|
registry-url: https://registry.npmjs.org
|
|
23
|
-
- name: Install Dependencies
|
|
23
|
+
- name: Install Dependencies
|
|
24
24
|
run: npm install
|
|
25
25
|
- name: Run audit
|
|
26
26
|
run: npm run audit
|
|
27
|
+
- name: Check code formatting
|
|
28
|
+
run: npm run format:check
|
|
29
|
+
- name: Run linter
|
|
30
|
+
run: npm run lint
|
|
27
31
|
- name: Compile Typescript
|
|
28
32
|
run: npm run-script build
|
|
29
33
|
- name: Run test with coverage
|
package/.prettierignore
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Dependencies
|
|
2
|
+
node_modules/
|
|
3
|
+
|
|
4
|
+
# Build output
|
|
5
|
+
dist/
|
|
6
|
+
|
|
7
|
+
# Coverage
|
|
8
|
+
coverage/
|
|
9
|
+
.nyc_output/
|
|
10
|
+
|
|
11
|
+
# Auto-generated FHIR files
|
|
12
|
+
src/FHIR-DSTU2.ts
|
|
13
|
+
src/FHIR-R3.ts
|
|
14
|
+
src/FHIR-R4/classes/
|
|
15
|
+
src/FHIR-R4/interfaces/
|
|
16
|
+
src/FHIR-R5/
|
|
17
|
+
|
|
18
|
+
# Lock files
|
|
19
|
+
package-lock.json
|
|
20
|
+
|
|
21
|
+
# Logs
|
|
22
|
+
*.log
|
package/.prettierrc
ADDED
package/CHANGELOG.md
CHANGED
package/GETTINGSTARTED.md
CHANGED
|
@@ -142,40 +142,82 @@ console.log(query)
|
|
|
142
142
|
|
|
143
143
|
#### BundleUtils
|
|
144
144
|
- Published in `v2.1.0`.
|
|
145
|
+
- Enhanced in `v2.4.0` with optional generic type parameters for better type safety.
|
|
145
146
|
- Example usage demonstrated below.
|
|
146
147
|
```js
|
|
147
148
|
import { BundleUtils } from '@smile-cdr/fhirts';
|
|
148
|
-
|
|
149
|
+
import { fhirR4 } from '@smile-cdr/fhirts';
|
|
150
|
+
|
|
149
151
|
const bundleUtils = new BundleUtils();
|
|
150
|
-
|
|
152
|
+
|
|
153
|
+
// Backward compatible - returns any[]
|
|
151
154
|
const claimsList = bundleUtils.getResources(Bundle.entry, 'Claim');
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
155
|
+
|
|
156
|
+
// Type-safe with generics (v2.4.0+) - returns Claim[]
|
|
157
|
+
const claimsList = bundleUtils.getResources<fhirR4.Claim>(Bundle.entry, 'Claim');
|
|
158
|
+
|
|
159
|
+
// Backward compatible - returns any
|
|
160
|
+
const resource = bundleUtils.getResource(Bundle.entry, '123');
|
|
161
|
+
|
|
162
|
+
// Type-safe with generics (v2.4.0+) - returns Patient | null
|
|
163
|
+
const patient = bundleUtils.getResource<fhirR4.Patient>(Bundle.entry, '123');
|
|
164
|
+
|
|
165
|
+
// Type-safe example with full URL (v2.4.0+)
|
|
166
|
+
const patient = bundleUtils.getResourceByFullUrl<fhirR4.Patient>(
|
|
167
|
+
Bundle.entry,
|
|
168
|
+
'http://server-host/fhir/Patient/123'
|
|
169
|
+
);
|
|
156
170
|
```
|
|
157
171
|
|
|
158
172
|
#### ResourceUtils
|
|
159
173
|
- Published in `v2.1.0`.
|
|
174
|
+
- Enhanced in `v2.4.0` with optional generic type parameters for better type safety.
|
|
160
175
|
- Example usage demonstrated below.
|
|
161
176
|
```js
|
|
162
177
|
import { ResourceUtils } from '@smile-cdr/fhirts';
|
|
178
|
+
import { fhirR4 } from '@smile-cdr/fhirts';
|
|
179
|
+
|
|
163
180
|
const resourceUtils = new ResourceUtils();
|
|
164
181
|
|
|
165
182
|
// returns Patient.gender
|
|
166
|
-
const patientGender = resourceUtils.getResourceProperty(jsonPatientPayload, 'gender');
|
|
183
|
+
const patientGender = resourceUtils.getResourceProperty(jsonPatientPayload, 'gender');
|
|
167
184
|
|
|
168
|
-
//
|
|
169
|
-
const identifierFilter = resourceUtils.getIdentifiersByProperty(identifierList,"use","usual");
|
|
185
|
+
// Backward compatible - returns any[]
|
|
186
|
+
const identifierFilter = resourceUtils.getIdentifiersByProperty(identifierList, "use", "usual");
|
|
187
|
+
|
|
188
|
+
// Type-safe with generics (v2.4.0+) - returns Identifier[]
|
|
189
|
+
const identifierFilter = resourceUtils.getIdentifiersByProperty<fhirR4.Identifier>(
|
|
190
|
+
identifierList,
|
|
191
|
+
"use",
|
|
192
|
+
"usual"
|
|
193
|
+
);
|
|
170
194
|
|
|
171
195
|
const url = "http://ns.electronichealth.net.au/id/hi/ihi/1.0";
|
|
172
|
-
// returns all matching extensions where Extension.use = "http://ns.electronichealth.net.au/id/hi/ihi/1.0"
|
|
173
|
-
const extensionFilter = resourceUtils.getExtensionsByUrl(extensionList, url);
|
|
174
196
|
|
|
175
|
-
//
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
|
|
197
|
+
// Backward compatible - returns any[]
|
|
198
|
+
const extensionFilter = resourceUtils.getExtensionsByUrl(extensionList, url);
|
|
199
|
+
|
|
200
|
+
// Type-safe with generics (v2.4.0+) - returns Extension[]
|
|
201
|
+
const extensionFilter = resourceUtils.getExtensionsByUrl<fhirR4.Extension>(extensionList, url);
|
|
202
|
+
|
|
203
|
+
// Backward compatible - returns any[]
|
|
204
|
+
const codingFilter = resourceUtils.getCodingsByProperty(codingList, "code", "abc");
|
|
205
|
+
|
|
206
|
+
// Type-safe with generics (v2.4.0+) - returns Coding[]
|
|
207
|
+
const codingFilter = resourceUtils.getCodingsByProperty<fhirR4.Coding>(codingList, "code", "abc");
|
|
208
|
+
|
|
209
|
+
// Backward compatible - returns any[]
|
|
210
|
+
const values = resourceUtils.getValuesAtResourcePath(
|
|
211
|
+
jsonPatientPayload,
|
|
212
|
+
"Patient.contact.relationship.coding.system"
|
|
213
|
+
);
|
|
214
|
+
|
|
215
|
+
// Type-safe with generics (v2.4.0+) - returns string[]
|
|
216
|
+
const systemValues = resourceUtils.getValuesAtResourcePath<string>(
|
|
217
|
+
jsonPatientPayload,
|
|
218
|
+
"Patient.contact.relationship.coding.system"
|
|
219
|
+
);
|
|
220
|
+
|
|
179
221
|
// returns array of references found in a resource
|
|
180
222
|
const references = resourceUtils.getAllReferencesFromResource(resourcePayload);
|
|
181
223
|
```
|
package/dist/FHIR-DSTU2.js
CHANGED
package/dist/FHIR-R3.js
CHANGED
|
@@ -15,4 +15,4 @@ exports.ActivityDefinition = ActivityDefinition;
|
|
|
15
15
|
Retired: 'retired',
|
|
16
16
|
Unknown: 'unknown'
|
|
17
17
|
};
|
|
18
|
-
})(ActivityDefinition
|
|
18
|
+
})(ActivityDefinition || (exports.ActivityDefinition = ActivityDefinition = {}));
|
|
@@ -18,4 +18,4 @@ exports.AllergyIntolerance = AllergyIntolerance;
|
|
|
18
18
|
High: 'high',
|
|
19
19
|
UnableToAssess: 'unable-to-assess'
|
|
20
20
|
};
|
|
21
|
-
})(AllergyIntolerance
|
|
21
|
+
})(AllergyIntolerance || (exports.AllergyIntolerance = AllergyIntolerance = {}));
|
|
@@ -13,4 +13,4 @@ exports.AllergyIntoleranceReaction = AllergyIntoleranceReaction;
|
|
|
13
13
|
Moderate: 'moderate',
|
|
14
14
|
Severe: 'severe'
|
|
15
15
|
};
|
|
16
|
-
})(AllergyIntoleranceReaction
|
|
16
|
+
})(AllergyIntoleranceReaction || (exports.AllergyIntoleranceReaction = AllergyIntoleranceReaction = {}));
|
|
@@ -19,4 +19,4 @@ exports.AppointmentParticipant = AppointmentParticipant;
|
|
|
19
19
|
Tentative: 'tentative',
|
|
20
20
|
NeedsAction: 'needs-action'
|
|
21
21
|
};
|
|
22
|
-
})(AppointmentParticipant
|
|
22
|
+
})(AppointmentParticipant || (exports.AppointmentParticipant = AppointmentParticipant = {}));
|
|
@@ -20,4 +20,4 @@ exports.BiologicallyDerivedProduct = BiologicallyDerivedProduct;
|
|
|
20
20
|
Available: 'available',
|
|
21
21
|
Unavailable: 'unavailable'
|
|
22
22
|
};
|
|
23
|
-
})(BiologicallyDerivedProduct
|
|
23
|
+
})(BiologicallyDerivedProduct || (exports.BiologicallyDerivedProduct = BiologicallyDerivedProduct = {}));
|
|
@@ -13,4 +13,4 @@ exports.BiologicallyDerivedProductStorage = BiologicallyDerivedProductStorage;
|
|
|
13
13
|
Celsius: 'celsius',
|
|
14
14
|
Kelvin: 'kelvin'
|
|
15
15
|
};
|
|
16
|
-
})(BiologicallyDerivedProductStorage
|
|
16
|
+
})(BiologicallyDerivedProductStorage || (exports.BiologicallyDerivedProductStorage = BiologicallyDerivedProductStorage = {}));
|
|
@@ -43,4 +43,4 @@ exports.CapabilityStatement = CapabilityStatement;
|
|
|
43
43
|
_350: '3.5.0',
|
|
44
44
|
_400: '4.0.0'
|
|
45
45
|
};
|
|
46
|
-
})(CapabilityStatement
|
|
46
|
+
})(CapabilityStatement || (exports.CapabilityStatement = CapabilityStatement = {}));
|
|
@@ -12,4 +12,4 @@ exports.CapabilityStatementDocument = CapabilityStatementDocument;
|
|
|
12
12
|
Producer: 'producer',
|
|
13
13
|
Consumer: 'consumer'
|
|
14
14
|
};
|
|
15
|
-
})(CapabilityStatementDocument
|
|
15
|
+
})(CapabilityStatementDocument || (exports.CapabilityStatementDocument = CapabilityStatementDocument = {}));
|
|
@@ -19,4 +19,4 @@ exports.CapabilityStatementInteraction = CapabilityStatementInteraction;
|
|
|
19
19
|
Create: 'create',
|
|
20
20
|
SearchType: 'search-type'
|
|
21
21
|
};
|
|
22
|
-
})(CapabilityStatementInteraction
|
|
22
|
+
})(CapabilityStatementInteraction || (exports.CapabilityStatementInteraction = CapabilityStatementInteraction = {}));
|
|
@@ -14,4 +14,4 @@ exports.CapabilityStatementInteraction1 = CapabilityStatementInteraction1;
|
|
|
14
14
|
SearchSystem: 'search-system',
|
|
15
15
|
HistorySystem: 'history-system'
|
|
16
16
|
};
|
|
17
|
-
})(CapabilityStatementInteraction1
|
|
17
|
+
})(CapabilityStatementInteraction1 || (exports.CapabilityStatementInteraction1 = CapabilityStatementInteraction1 = {}));
|
|
@@ -24,4 +24,4 @@ exports.CapabilityStatementResource = CapabilityStatementResource;
|
|
|
24
24
|
Single: 'single',
|
|
25
25
|
Multiple: 'multiple'
|
|
26
26
|
};
|
|
27
|
-
})(CapabilityStatementResource
|
|
27
|
+
})(CapabilityStatementResource || (exports.CapabilityStatementResource = CapabilityStatementResource = {}));
|
|
@@ -12,4 +12,4 @@ exports.CapabilityStatementRest = CapabilityStatementRest;
|
|
|
12
12
|
Client: 'client',
|
|
13
13
|
Server: 'server'
|
|
14
14
|
};
|
|
15
|
-
})(CapabilityStatementRest
|
|
15
|
+
})(CapabilityStatementRest || (exports.CapabilityStatementRest = CapabilityStatementRest = {}));
|
|
@@ -19,4 +19,4 @@ exports.CapabilityStatementSearchParam = CapabilityStatementSearchParam;
|
|
|
19
19
|
Uri: 'uri',
|
|
20
20
|
Special: 'special'
|
|
21
21
|
};
|
|
22
|
-
})(CapabilityStatementSearchParam
|
|
22
|
+
})(CapabilityStatementSearchParam || (exports.CapabilityStatementSearchParam = CapabilityStatementSearchParam = {}));
|
|
@@ -12,4 +12,4 @@ exports.CapabilityStatementSupportedMessage = CapabilityStatementSupportedMessag
|
|
|
12
12
|
Sender: 'sender',
|
|
13
13
|
Receiver: 'receiver'
|
|
14
14
|
};
|
|
15
|
-
})(CapabilityStatementSupportedMessage
|
|
15
|
+
})(CapabilityStatementSupportedMessage || (exports.CapabilityStatementSupportedMessage = CapabilityStatementSupportedMessage = {}));
|
|
@@ -12,4 +12,4 @@ exports.CatalogEntryRelatedEntry = CatalogEntryRelatedEntry;
|
|
|
12
12
|
Triggers: 'triggers',
|
|
13
13
|
IsReplacedBy: 'is-replaced-by'
|
|
14
14
|
};
|
|
15
|
-
})(CatalogEntryRelatedEntry
|
|
15
|
+
})(CatalogEntryRelatedEntry || (exports.CatalogEntryRelatedEntry = CatalogEntryRelatedEntry = {}));
|
|
@@ -15,4 +15,4 @@ exports.ChargeItemDefinition = ChargeItemDefinition;
|
|
|
15
15
|
Retired: 'retired',
|
|
16
16
|
Unknown: 'unknown'
|
|
17
17
|
};
|
|
18
|
-
})(ChargeItemDefinition
|
|
18
|
+
})(ChargeItemDefinition || (exports.ChargeItemDefinition = ChargeItemDefinition = {}));
|
|
@@ -13,4 +13,4 @@ exports.ClaimResponseProcessNote = ClaimResponseProcessNote;
|
|
|
13
13
|
Print: 'print',
|
|
14
14
|
Printoper: 'printoper'
|
|
15
15
|
};
|
|
16
|
-
})(ClaimResponseProcessNote
|
|
16
|
+
})(ClaimResponseProcessNote || (exports.ClaimResponseProcessNote = ClaimResponseProcessNote = {}));
|
|
@@ -17,4 +17,4 @@ exports.CodeSystemProperty = CodeSystemProperty;
|
|
|
17
17
|
DateTime: 'dateTime',
|
|
18
18
|
Decimal: 'decimal'
|
|
19
19
|
};
|
|
20
|
-
})(CodeSystemProperty
|
|
20
|
+
})(CodeSystemProperty || (exports.CodeSystemProperty = CodeSystemProperty = {}));
|
|
@@ -22,4 +22,4 @@ exports.CompartmentDefinition = CompartmentDefinition;
|
|
|
22
22
|
Practitioner: 'Practitioner',
|
|
23
23
|
Device: 'Device'
|
|
24
24
|
};
|
|
25
|
-
})(CompartmentDefinition
|
|
25
|
+
})(CompartmentDefinition || (exports.CompartmentDefinition = CompartmentDefinition = {}));
|
|
@@ -14,4 +14,4 @@ exports.CompositionAttester = CompositionAttester;
|
|
|
14
14
|
Legal: 'legal',
|
|
15
15
|
Official: 'official'
|
|
16
16
|
};
|
|
17
|
-
})(CompositionAttester
|
|
17
|
+
})(CompositionAttester || (exports.CompositionAttester = CompositionAttester = {}));
|
|
@@ -13,4 +13,4 @@ exports.ConceptMapUnmapped = ConceptMapUnmapped;
|
|
|
13
13
|
Fixed: 'fixed',
|
|
14
14
|
OtherMap: 'other-map'
|
|
15
15
|
};
|
|
16
|
-
})(ConceptMapUnmapped
|
|
16
|
+
})(ConceptMapUnmapped || (exports.ConceptMapUnmapped = ConceptMapUnmapped = {}));
|
|
@@ -15,4 +15,4 @@ exports.CoverageEligibilityResponse = CoverageEligibilityResponse;
|
|
|
15
15
|
Error: 'error',
|
|
16
16
|
Partial: 'partial'
|
|
17
17
|
};
|
|
18
|
-
})(CoverageEligibilityResponse
|
|
18
|
+
})(CoverageEligibilityResponse || (exports.CoverageEligibilityResponse = CoverageEligibilityResponse = {}));
|
|
@@ -12,4 +12,4 @@ exports.DataRequirementSort = DataRequirementSort;
|
|
|
12
12
|
Ascending: 'ascending',
|
|
13
13
|
Descending: 'descending'
|
|
14
14
|
};
|
|
15
|
-
})(DataRequirementSort
|
|
15
|
+
})(DataRequirementSort || (exports.DataRequirementSort = DataRequirementSort = {}));
|
|
@@ -16,4 +16,4 @@ exports.DeviceDefinitionDeviceName = DeviceDefinitionDeviceName;
|
|
|
16
16
|
ModelName: 'model-name',
|
|
17
17
|
Other: 'other'
|
|
18
18
|
};
|
|
19
|
-
})(DeviceDefinitionDeviceName
|
|
19
|
+
})(DeviceDefinitionDeviceName || (exports.DeviceDefinitionDeviceName = DeviceDefinitionDeviceName = {}));
|