Conversation
Fix the starting type to be List<Interval<Date>> so it matches the query source type and the test's expected output type. Otherwise the Dates all get implicitly converted to DateTimes and the expected output is wrong.
bryantaustin13
left a comment
There was a problem hiding this comment.
Approved. Needs a change in cql-tests-runner to utilize this:
Every recorded run in cql-tests-results — cqf-java, cqf-javascript, firely, cozeva — reports:
"testStatus": "skip",
"skipMessage": "Skipped by config: CQLtoELM - Could not resolve identifier
MedicationRequestIntervals in the current library"
That skip cites the pre-2024-08 expression. The identifier isn't in the test anymore, but the entry is still in cql-tests-runner SkipList in five configs — conf/localhost.json, development.json, smile-cdr-local.json, cql-execution-local.json, localhost-evaluate.json — and is recorded in docs/test-run-evaluation-2026-08-19.md as one of the 14 skips.
|
I'm not sure if I can/should approve my own PR, but want to note that MITRE's JS cql-execution team approves of this PR as well (so you do have the approval of two different engine teams). |
Fix the starting type to be
List<Interval<Date>>so it matches the query source type and the test's expected output type. When thestartingtype isList<Interval<DateTime>>(as it is on main now), the Dates all get implicitly converted to DateTimes -- and the output is a list of DateTime intervals rather than the expected list of Date intervals.You can see this if you paste the test expression into CQL Playground and turn on
Enable result types:If you change
starting (null as List<Interval<DateTime>>)tostarting (null as List<Interval<Date>>)(as in this PR), then the result type is as expected.