Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cqframework/clinical_quality_language
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.27.0
Choose a base ref
...
head repository: cqframework/clinical_quality_language
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.28.0
Choose a head ref
  • 9 commits
  • 77 files changed
  • 6 contributors

Commits on Jul 17, 2025

  1. Ensure IDs within CQL files match the library identifiers used. (#1586)

    * Ensure IDs within CQL files match the library identifiers used.  Fix all tests to comply with this new edict.  Add another test class toe exercise this logic specifically.
    
    * Validate identifiers for ELM as well.
    
    * Add debug for failing tests.
    
    * Try again to add debugging.
    
    * Resolve CQL file casing issues that only manifest themselves on Linux.
    
    * Spotless.
    
    * Add ELM tests for the versioned identifier logic with a simple ELM JSON file.
    
    * Fix sonar issues.
    
    * More sonar.
    lukedegruchy authored Jul 17, 2025
    Configuration menu
    Copy the full SHA
    0163f42 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2025

  1. Fixed check access level being called on null result (#1587)

    * Fixed check access level being called on null result
    
    * Add tests, change fix
    
    ---------
    
    Co-authored-by: JP <jonathan.i.percival@gmail.com>
    brynrhodes and JPercival authored Jul 21, 2025
    Configuration menu
    Copy the full SHA
    5c146ba View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2025

  1. Ensure private access levels are checked (#1588)

    * Fixed check access level being called on null result
    
    * Add tests, change fix
    
    * Add a test for a private codesystem reference
    
    * fixed bad master merge
    
    * Fix sonar warnings
    
    ---------
    
    Co-authored-by: Bryn Rhodes <bryn@databaseconsultinggroup.com>
    JPercival and brynrhodes authored Jul 22, 2025
    Configuration menu
    Copy the full SHA
    2093670 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2025

  1. Rev to 3.28.0-SNAPSHOT

    JPercival committed Jul 23, 2025
    Configuration menu
    Copy the full SHA
    dc42e55 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2025

  1. Use IdentityHashMaps instead of HashMaps where keys are mutated after…

    … insertion (#1593)
    
    * Use IdentityHashMaps instead of HashMaps where keys are mutated after insertion
    
    * Use IdentityHashMaps instead of HashMaps where keys are mutated after insertion
    
    * Use IdentityHashMaps instead of HashMaps where keys are mutated after insertion
    antvaset authored Aug 7, 2025
    Configuration menu
    Copy the full SHA
    9ad86f0 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2025

  1. Support expression evaluation for multiple libraries at once (#1584)

    * First attempt to evaluate mulitple libraries without a cache refresh, namely, by initializing them in order and then evaluating their expressions in reverse order.
    
    * Remove duplicate initializeState and setParameters that was wrongly resulting in correct results.  Ensure that when evaluating expressions that we pop the current library off the deque but not too soon, so the reverse order evaluation actually works.  Add more TODOs.
    
    * Make use of the new evaluate measure code from at least one single library call.  Fixed invalid error handling before.  All tests pass.
    
    * Leave the existing single library evaluation the same as before.  Ensure that the new multi-library fails on library ID and CQL ID mismatches.
    
    * Pull changes for versioned identifier validating branch.
    
    * Spotless.
    
    * Start merging the old and new code bases for compiling and validating libraries in LibraryManager.   Ensure all tests pass.
    
    * Improve matching Libraries with queried identifiers and solidifying versionless identifier searching.
    
    * Add logging and TODOs, which may be temporary.
    
    * Support multi-measure error handling and partial error handling thought a series of bespoke combined result and error classes.
    
    * Fix bad merge from master.
    
    * Fix partial error handling scenario.
    
    * Spotless.
    
    * Clear out the evaluatedResources stack after evaluating each set of expressions for each library in the multi-lib scenario.  Start writing tests to ensure it all behaves as expected, for now only covering
    
    * Enhance tests and rename them to make it clear they're for linear multiple deps.   Add convenience methods to result class.  Fix bug with partially cached multiple libs.  Ensure we handle  the non Cache.READ_WRITE case.
    
    * Spotless.
    
    * Add failing test for mismatched libraries due to caching order.
    
    * Fix bug and spotless.
    
    * First steps to setting up multi-layer CQL tests.
    
    * Improve testing for complex library dependencies but the work is still not done.
    
    * More improvements to testing but more work to be done on complex scenarios.
    
    * All tests pass for complex scenario.  Pave the way for making CQL loading more efficient.
    
    * Add TODOs
    
    * Add small tweaks to error handling and bump to a new version higher than master.
    
    * Start cleaning up cruft and TODOs and move inner classes to top level.
    
    * More refactoring and better use of dedicated classes instead of ad-hoc collections everywhere.
    
    * Get rid of ExpressionCacheTest.java since it's no longer relevant in the multi-lib world.
    
    * Handle queried library versions and cached libraries.
    
    * Get rid of evaluation result printing code.
    
    * Get rid of SearchableLibraryIdentifier and work towards more optimal structures for errors and exceptions.   Expose new method for downstream to handle the results.
    
    * Optimize error handling structures.
    
    * More cleanup:  Logging to prove expression caching is working as intended.
    
    * Fix TODOs.
    
    * Fix more TODOs and get rid of more cruft.
    
    * Resolve more TODOs regarding immutability.
    
    * More unit testing.  Address TODOs.
    
    * Resolve some TODOs.  Add javadoc.
    
    * Add counters for expression def evaluation.
    
    * Resolve some TODOs, add some logging, and optimize the compile library workflow some more.
    
    * Optimize library compile code to enhance reuse and not to pass around collections.
    
    * Add more tests.  Refactor library resolution and compilation to be more consistent, introducing a CompiledLibraryMultiResults class.
    
    * Implement all tests.  Get rid of tons of logs.  Use Collections.unmodifiableList() whenever possible.  Revert temp change with stubbed version.
    
    * Cleanup more cruft.
    
    * Increase test coverage.
    
    * Increase test coverage more.
    
    * Increase test coverage even more.  Get rid of more cruft.
    
    * 80% coverage now???  Please?
    
    * Second try for 80% in the same module.
    
    * Fix sonar issues.
    
    * More sonar.  Try to get back up to 80% coverage.
    
    * More sonar.  Try to get back up to 80% coverage.
    
    * Fix more sonar.
    
    * Increase test coverage.
    
    * Increase test coverage more.
    lukedegruchy authored Aug 11, 2025
    Configuration menu
    Copy the full SHA
    dd4e509 View commit details
    Browse the repository at this point in the history
  2. Updated the ELM schema from the 1.5.3 errata publication. (#1594)

    * Updated the ELM schema from the 1.5.3 errata publication.
    
    * Add support for Descendants to compiler/engine
    
    * Remove accidental stack overflow
    
    * Add some sonar fixes
    
    * Updates for sonar
    
    ---------
    
    Co-authored-by: JP <jonathan.i.percival@gmail.com>
    brynrhodes and JPercival authored Aug 11, 2025
    Configuration menu
    Copy the full SHA
    6b6bcfe View commit details
    Browse the repository at this point in the history
  3. evaluatedResources Bug CqlEngine (#1596)

    * clear evaluated resources after expression eval
    
    * spotless fix, comment
    
    * Fix tests.
    
    ---------
    
    Co-authored-by: Luke deGruchy <luke.degruchy@smiledigitalhealth.com>
    Capt-Mac and lukedegruchy authored Aug 11, 2025
    Configuration menu
    Copy the full SHA
    a7f0502 View commit details
    Browse the repository at this point in the history
  4. Rev to 3.28.0

    JPercival committed Aug 11, 2025
    Configuration menu
    Copy the full SHA
    751ef0b View commit details
    Browse the repository at this point in the history
Loading