Skip to content

Commit

Permalink
Update automatically loaded dependencies (#153)
Browse files Browse the repository at this point in the history
* Update automatic dependencies loaded based on FHIR version

* Minor refactor

* Simplify FHIR version matching logic
  • Loading branch information
jafeltra authored Feb 22, 2024
1 parent 9179f3d commit db32571
Showing 1 changed file with 34 additions and 11 deletions.
45 changes: 34 additions & 11 deletions src/utils/FSHHelpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -242,18 +242,14 @@ function addCoreFHIRVersionAndAutomaticDependencies(dependencies, coreFHIRVersio
if (!hasCoreFHIR) {
dependenciesToAdd.push(coreFHIRPackage);
}
const terminologyPkg = { packageId: 'hl7.terminology.r4', version: 'latest', isAutomatic: true };
const hasTerminology = hasDependency(dependencies, terminologyPkg, true);
if (!hasTerminology) {
dependenciesToAdd.push(terminologyPkg);
}
if (coreFHIRPackage.version.match(/^5\.0\.\d+$/)) {
const extensionPkg = { packageId: 'hl7.fhir.uv.extensions', version: 'latest', isAutomatic: true };
const hasExtensions = hasDependency(dependencies, extensionPkg, true);
if (!hasExtensions) {
dependenciesToAdd.push(extensionPkg);
AUTOMATIC_DEPENDENCIES.filter(
(dep) => dep.fhirVersions == null || dep.fhirVersions.some((v) => coreFHIRPackage.version.startsWith(v))
).forEach((dep) => {
const dependencyToAdd = { packageId: dep.packageId, version: dep.version, isAutomatic: true };
if (!hasDependency(dependencies, dependencyToAdd, true)) {
dependenciesToAdd.push(dependencyToAdd);
}
}
});
return dependenciesToAdd;
}

Expand All @@ -275,3 +271,30 @@ export function getCoreFHIRPackageIdentifier(fhirVersion) {
return `hl7.fhir.r4.core`;
}
}

const AUTOMATIC_DEPENDENCIES = [
{
packageId: 'hl7.fhir.uv.tools',
version: 'latest'
},
{
packageId: 'hl7.terminology.r4',
version: 'latest',
fhirVersions: ['4.0', '4.3']
},
{
packageId: 'hl7.terminology.r5',
version: 'latest',
fhirVersions: ['5.0']
},
{
packageId: 'hl7.fhir.uv.extensions.r4',
version: 'latest',
fhirVersions: ['4.0', '4.3']
},
{
packageId: 'hl7.fhir.uv.extensions.r5',
version: 'latest',
fhirVersions: ['5.0']
}
];

0 comments on commit db32571

Please sign in to comment.