Repository navigation
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #389 +/- ##
==========================================
+ Coverage 89.19% 89.21% +0.01%
==========================================
Files 60 60
Lines 5064 5073 +9
Branches 1446 1448 +2
==========================================
+ Hits 4517 4526 +9
Misses 315 315
Partials 232 232 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DRAFT because these features are not supported in the translator yet. Do not merge this until the translator is updated and we confirm these work with real ELM.
This PR adds support for two of the miscellaneous new functions in CQL 2.0,
Round(Quantity)andMatchesFull.In implementing
MatchesFullI noticed our existing implementation ofMatcheswas already doing a full-string match, so essentially this change renames our oldMatchesas the newMatchesFulland re-implementsMatchesas a partial string match (but still allowing a full string match if the user puts the^and$into the regex on their own).Note the 1.5.3 spec already specified this should be partial-string matching so that was a bug https://cql.hl7.org/N1A/09-b-cqlreference.html#matches
Note that the CQL 2.0 changes list
Sliceas a new function, but behind the scenes theSliceELM expression is what's used for the existingSkip,Tail, andTakeCQL functions, so there's nothing new needed on our side to support the new function once the translator supports it.The ELM in this PR was manually modified to get the appropriate expressions in place, so run
npm testand notnpm run checkfor now. Each function was added in its own commit so we can cherry-pick onto a separate PR if one feature is added before another in the translator and we want to get them in.Pull requests into cql-execution require the following.
Submitter and reviewer should ✔ when done.
For items that are not-applicable, mark "N/A" and ✔.
Submitter:
npm run checkto run tests, lint, and prettier)Reviewer:
Name: