Skip to content

First round of NPM package loading functionality for Measures and Libraries#765

Open
lukedegruchy wants to merge 7 commits intomainfrom
ld-20250829-npm-for-qualifying-resources-no-holder-class-round-1
Open

First round of NPM package loading functionality for Measures and Libraries#765
lukedegruchy wants to merge 7 commits intomainfrom
ld-20250829-npm-for-qualifying-resources-no-holder-class-round-1

Conversation

@lukedegruchy
Copy link
Contributor

@lukedegruchy lukedegruchy commented Oct 6, 2025

  • Introduce NpmPackageLoader as an interface with default method to enforce the NPM loading contract
  • This version of NPM functionality loads FHIR resources directly, and can theoretically support loading any FHIR resources, though in practice we want to limit this to Measures, Libraries, PlanDefinitions, etc
  • Make this FHIR version agnostic, as it supports both R4 and R5.
  • Add an NpmNamespaceManager which captures the function to extract namespaces from NPM packages
  • Add R4 and R5 tests verify the contract for loading NPM packages works with packages built for both R4 and R5
@github-actions
Copy link

github-actions bot commented Oct 6, 2025

Formatting check succeeded!

@codecov
Copy link

codecov bot commented Oct 6, 2025

Codecov Report

❌ Patch coverage is 42.95302% with 85 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.47%. Comparing base (70d874a) to head (3b7affb).

Files with missing lines Patch % Lines
...opencds/cqf/fhir/utility/npm/NpmPackageLoader.java 24.63% 44 Missing and 8 partials ⚠️
...fhir/utility/npm/BaseNpmPackageLoaderInMemory.java 53.57% 24 Missing and 2 partials ⚠️
...hir/utility/npm/r4/R4NpmPackageLoaderInMemory.java 72.72% 3 Missing ⚠️
...hir/utility/npm/r5/R5NpmPackageLoaderInMemory.java 72.72% 3 Missing ⚠️
...ncds/cqf/fhir/utility/npm/NpmNamespaceManager.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@ ## master #765 +/- ## ============================================ - Coverage 73.64% 73.47% -0.18%  Complexity 273 273 ============================================ Files 570 576 +6 Lines 26565 26714 +149 Branches 3375 3388 +13 ============================================ + Hits 19564 19628 +64  - Misses 5361 5436 +75  - Partials 1640 1650 +10 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
@lukedegruchy lukedegruchy changed the title First commit. First round of NPM package loading functionality for Measures and Libraries Oct 7, 2025
@lukedegruchy lukedegruchy marked this pull request as ready for review October 7, 2025 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant