This project follows Semantic Versioning.
- Updated the Node.js version to 22.
- Renamed the Rule Editor to the Expression Editor
- Added attribute to control the display of each section of the Rule Editor.
- Fixed FHIR Query Observation unit issue
- Added base dialog component
- Enable the 'Open Rule Editor' button only if the questionnaire is selected and either the 'Root level' checkbox or Question drop-down is selected.
- Allowed FHIR Query with parameters to be parsed in any order
- Added logic for the screen reader to announce the reason wny the 'Done' button is disabled.
- Upgraded Cypress from version 9.7.0 to 13.7.3.
- Upgraded Angular from version 15.2.4 to 17.3.4
- Added variable name validation
- Added a screen reader error message for variables used in the output expression
- Added expression validation
- Implemented logic to disable the 'Save' button if validation fails
- Updated autocomplete fields to accept blank as an input
- Converted the Rule Editor demo to display in a dialog
- Renamed variable-type-final to output-expression-type
- Added a cancel button to discard changes for the Rule Editor
- Added the ability to select items for scoring calculation
- Added prompt when switching from FHIRPath Expression to Easy Path Expression
- Added a custom extension to store the variable type for each variable in the Questionnaire
- Added support for setting variables on the Questionnaire root
- Fixed issue with case statements not updating when switching to another case statement questonnaire.
- Added source map
- Updated label for Case Statement
- Fixed the css issue
- Added URL encoding for x-fhir-query generated by the FHIR Query (Observation)
- Added subscription event when variable is deleted
- Fixed export not working issue with FHIR query variable
- Fixed issue where duplicate uneditable variable gets added on every save
- Fixed issue where uneditable variable is not available in the Output Expression section
- Added help sections for Easy Path Expressions and FHIRPath Expressions
- Added autocomplete to question selection
- Upgrade to Angular v15.2.4
- Upgrade dependencies
- Fixed Cypress test
- Upgrade to Node v16.15.0
- Renamed bashrc to bashrc.rule_editor
- Replaced Protractor tests with Cypress.
- Added the ability to select the output expression type within the Rule Editor. There is now an option to enable this functionality.
- Added a help link to the demo app.
- Stopped minifying files for the demo app.
- Updated easy-path-expressions.
- Updated URI used for score calculation extensions from:
http://lhcforms.nlm.nih.gov/fhir/ext/rule-editor-expression
tohttp://lhcforms.nlm.nih.gov/fhir/ext/rule-editor-score-expression
- Score calculation logic for nested items:
- Assume scored items are above (in question order) the total score item.
- If a preceding item is also a total score item, don’t consider any earlier items.
- Hide instant preview in case statements when condition, output and default is not entered.
- Variables editable in the interface are now from the question specified by linkId. The other variables in the questionnaire show up in the uneditable section.
- Updated form upload in the demo to be easier to use.
- Updates to get
easy-path-expressions
working inside applications using the Angular library.
- Add the ability to upload questionnaires in the demo app.
- Case statement support for the final expression.
- Tooltip preview for automatically generated FHIRPath and x-fhir-query.
- Copy button next to FHIRPath and x-fhir-query preview.
- Add support for
x-fhir-query
.
- New APIs to check if there is a score
isScoreCalculation
and update a scoreupdateScoreCalculation
on a questionnaire.
- New API to calculate score without using a UI
addTotalScoreRule
.
- Keep the existing extension order when saving.
- Add support for removing score calculation from a questionnaire.
- Change the API from
checkIfScore
togetScoreQuestionCount
.
- Add support for developer specified runtime widget styles.
- Add support for editing user specified expressions not just
calculatedExpressions by using the
expressionUri
attribute.
- Add support to use widget as an Angular Library.
- Add support to use widget as a Web Component.