This project follows Semantic Versioning.
- Added feature to re-order answer options in a question item.
- Change background color of the focused node on the sidebar tree.
- Fixed intermittent failures of unit tests
- Fixed alignment of node with children in the sidebar tree.
- Display the questionnaire title as 'Untitled Form' if it is empty.
- Added a message for FHIR server validation.
- Fix bug in units when adding a number type question from LOINC.
- Added aria-labels to radio group elements to improve accessibility.
- Added functionality for item validation and corresponding error display.
- Added editable link id field.
- Added Group Item Control options.
- Fixed help item showing as a node in the tree.
- Added support for extensions of rendering styles and rendering xhtml to
- question text, prefix and help text fields.
- Split the 'header (group/display)' data type option into separate options.
- Added a reset button for the Answer Choices Default selection.
- Change protocol of hapi.fhir.org urls to https.
- Use $validate API on FHIR server to validate Questionnaire.
- Added
canceled
event type to messages sent to parent window when using window.open() API.
- Fixed the issue where the 'Terminology server' field was not refreshed when the 'SNOMED answer value set' option was selected and the ECL field changed.
- Changed tooltip font, background and link colors.
- Updated the tooltip text to be read by screen reader.
- Fix a bug to retain contained field in Questionnaire.
- Update @lhncbc/ngx-schema-form to address a performance issue.
- Accept terms of use only once a week.
- Added sequence numbers to questions in conditional display source field. (Thanks to @ghaliouss)
- Upgraded to angular 17.
- Feature to add a copy of a selected node of a questionnaire item tree (contributed by @ghaliouss).
- Menu option to download LHC-Forms format.
- Added notice for window opener invocation.
- Display error messages in preview reported by lforms widget.
- Added a feature to invoke formbuilder from a parent window, in a new child window and optionally initialize it with a questionnaire.
- If opened from another window, the formbuilder will post a message back the parent window with the updated questionnaire. It will post a final message, when the child window is closed, with final version of questionnaire.
- Added a tagline to header.
- Changed text in terms of use.
- Added text to preview dialog
- Fixed flaky unit tests.
- Fixed a cypress test.
- Always use the latest lforms version for preview. The package is loaded at run time from the CDN.
- Fixed missing nested extensions.
- Disable unsupported date/time restrictions (Thanks to @ghaliouss)
- Fix enableWhen condition when source item is an answerValueSet.
- Fixed README.
- Fixed a bug where a wrong node in the sidebar tree is highlighted.
- Fixed a bug where the unit extensions are not removed when deleted from the input field.
- Fixed a bug where the system field is missing after loading an item with a non-ucum unit.
- Changed the help text field to allow multi-line input.
- Added item control extension to support radio and checkbox layout for answer list.
- Added support for stu3 export and import.
- Added these fields to advanced section in the form level fields: implicit rules, version, name, date, publisher, copyright, approvalDate, lastReviewDate
- Converted schema and layout json files to json5 format.
- Refactored the widget configuration code for better organization of widgets defined in schema.
- Updated the copy-lforms.js script to use the latest version (v34) of lforms.
- Changed code field to be multiple instances.
- Fixed a bug which was missing scores in answerOption field.
- Replaced initial[x] objects with answerOption[x].initialSelected flag to indicate default answers in choice/open-choice type items.
- Updated lforms to 33.4.1 to fix a bug with list positioning of autocomplete input box in preview dialog.
- Add item control extension. For now, the support restricted to autocomplete in ValueSet fields.
- Fix z-index of autocomplete #searchResults window.
- Support for SNOMED value set URI.
- Fix layout issues in answer-option-methods component.
- Upper case 'uri' in a label.
- Fix display of validation errors for string component.
- Change Questionnaire.url validation to FHIR specified pattern.
- Added support for Questionnaire.url.
- Updated angular to version 15.x.x
- Updated bootstrap version to 5.x.x
- Updated ngBootstrap version to 14.x.x
- Refactored radio button groups.
- Added support for answerValueSet field.
- Added display column to code field.
- Added terminology server field to form level fields and item level fields.
- Added collapse/expand panel for advanced fields.
- Changed code field labels.
- Moved conditional display, observation link period, and observation extract fields to advanced panel.
- Fixed visibleIf issue with answerOption and code when visibility is false.
- Display LOINC terms of use acceptance dialog after displaying home page.
- Fix screen reader announcing blank on tooltip icons.
- Support extension for observation extract.
- Support import of forms that are in LForms format.
- Fix display of decimal answer field in conditional display when source item is decimal type.
- Fix loading initial component when switched type from choice to decimal.
- Fix placing cursor position in integer input when invalid character is typed.
- Fixed item type and missing answer display strings when importing a LOINC question from CTSS.
- Fix number type fields to accept decimal numbers.
- Updated lforms to 33.0.0, which removed support for IE 11.
- Update angular version to 14.x.x
- Update angular-tree-component to @bugsplat/[email protected]
- Update ngx-schema-form to @lhncbc/[email protected]
- Added context menu for nodes on the sidebar tree
- Fix units in valueQuantity of initial field.
- Add app version information to the header.
- Add tabindex to active node in sidebar tree to improve accessibility.
- In Conditional Display field, fixed missing answerBoolean field when condition is empty or not empty.
- In Conditional Display field, fixed missing answer field when the first condition is based on empty or not empty.
- Removed total score calculation.
- Fixed a bug which overwrites a node when clicking two nodes rapidly.
- Added a spinner to indicate loading of item into the editor.
- Fixed a bug in deleting last item in the tree.
- Fixed a bug in missing form level field values.
- Load LOINC forms from CTSS.
- Add observation link period field.
- Fix test descriptions.
- Add warning dialog when replacing an existing form.
- Fix type display/group based on presence of child items.
- Fix missing answer coding in conditional display.
- Add user specified FHIR server.
- Fix scrolling in conditional display source field.
- Update LForms down load script.
- Fix setting FHIR context for lforms preview.
- This version of form builder is revised using angular2 framework. The user interface is revised aligning with FHIR questionnaire definition.
- Fixed a bug that fails to load forms after loading a form with ValueSet having no terminology server.
- Changed broken CTSS url.
- Added support for attachment type.
- Updated nodejs to 14.17.5.
- Updated lforms to version 29.1.2, to get an update to fhirpath.js to fix an issue with choice types.
- Fixed a bug in outputting FHIR choice orientation extension when displayControl.answerLayout.columns is one.
- Fixed a bug in changing the loinc code with prefix 'Modified_' when a loinc item is edited
- Updated formbuilder package to 29.0.3.
- Updated npm packages to address security vulnerabilities
- Updated link to contact us page.
- New NLM logo
- Merged dependabot PR.
- Added functionality to narrow down the results from FHIR Server using a search term.
- Removed delete buttons from search results of a FHIR server.
- Upgrade AngularJS to 1.8.x to address a security alert.
- Display FHIR search results, even if
Bundle.total
is absent.
- Import LOINC forms.
- Added support for FHIR Identifier. Thanks to contribution from https://github.com/ps-astangl
- Updated an npm package to address npm audit vulnerability.
- Added support for observation link period.
- Fixed a bug in skip logic, when skip logic source is pointing to its parent which is a question type.
- Fixed missing node id labels in the auto complete box for skip logic sources.
- Fixed problem with updating skip logic source list when link id is updated.
-
The range definition of skip logic trigger for numeric types is changed to align with FHIR enableWhen definition. This could be a breaking change if you have a form definition like the following. skipLogic = { condition = [{ source: '1', trigger = {minExclusive: 10, maxExclusive: 100} }] }
The above definition can be changed to the following to specify the range. skipLogic = { logic: 'ALL', condition = [{ source: '1', trigger = {minExclusive: 10} },{ source: '1', trigger = {maxExclusive: 100} }] }
-
Changed UI to build skip logic condition to support exists and not exists operators.
-
Fixed a bug in loading a FHIR questionnaire with enable when source of type boolean.
-
Added a setting export format to R4 as default in the file export dialog.
- Update lforms version to 25.0.0. It changed the FHIR extension url of calculated expression.
- Added input fields to support CSS styles on item name and prefix.
- Fixed a bug in selection of display item type.
- Changed unique key of an item, from questionCode to linkId as per lforms version 24.0.0. Updated lforms package to 24.0.0.
- Changed questionCodeSystem to accept any input, still defaults to 'Custom'.
- Fixed skip logic trigger equal and not equal operators.
- Updated lforms package to 21.2.1. Since lforms package has a major version update, bumped up the major version in this package as well.
- Fix import of lforms having calculationMethod field.
- Support FHIR calculatedExpression extension. The extension will take FHIRPath expression. Validation of expression is not supported yet. The user is expected to enter a valid FHIRPath expression.
- Support FHIR display (LForms TITLE) type.
- Added a new field to select item type to align with FHIR notion of group, display and question.
- Improved performance on collection of skip logic sources.
- Fixed a problem in conversion of lforms panel after importing from lforms-service.
- Updated lforms to support change in skip logic trigger definition.
- Added support to specify third party fhir servers by the user.
- Fixed a bug importing a file with an item having answer list and answerRequired fields.
- Added support for TX data type.
- Remove default form name.
- Fix a bug converting restrictions to corresponding FHIR extensions.
- Fix a bug in conversion of
Questionnaire.code
in form level fields. - Fix a bug in importing FHIR Questionnaire without meta field.
- Fixed overwriting of linkId in
enableWhen.question
, when converted to FHIR Questionnaire.
- Removed restriction on insisting code for answer lists.
- Added support for Questionnaire.item.prefix field
- Fix file export problem.
- Fix missing file in bower.json for wiredep output.
- Added form level fields defined in FHIR Questionnaire.
- Added a warning message about losing the changes when the browser tab is closed or new form is imported.
- Update node dependencies to fix npm audit vulnerabilities.
- Update lforms package.
- Remove CSP middleware, let the package users handle the csp headers.
- Fix critical npm audit alerts.
- Fixed a bug in importing items with CNE/CWE type triggers in skip logic.
- Fixed a bug in ui-tree display for multiple items on the root.
- Fixed a bug in importing R4 version of Questionnaire from the local disk.
- Fixed restrictions output format to conform to latest lforms spec.
- Removed hard coded templateOptions in the lforms format for export.
- Fix next/previous page display in FHIR results dialog.
- Fix errors in mocking FHIR server for protractor tests.
- Fix errors in tests.
- Whitelist apis.google.com to allow google/facebook/twitter logins.
- Support exporting/importing R4 versions of FHIR format.
- Breaking change: Added FHIR version number to the FHIR server definition in client/config.js. It is mandatory that the servers are tagged with supported FHIR version such as R4, STU3 etc.
- Added displayControl. Supports questionLayout, answerLayout, and listColHeaders for now.
- Fixed a bug to include answer list and units when importing a LOINC question.
- Updated lforms package which has support for parsing argonaut questionnaires.
- Add Google Analytics to white list of content security policy.
- Fix bower package name.
- Support to export and import FHIR Questionnaire to local disk.
- Changed module exports of the server. Newly exported functions will help to pre-configure the express app with customized middlewares before doing form builder specific configurations.
This is a breaking change due to signature changes in import/require statements if using this as a npm package.
- Fixed bower packaging issues.
- Fixed npm audited vulnerabilities.
- In units field, units associated with item's loinc property are ranked higher during the auto-completion.
- Fixed a bug in usage clause of the server.
- Rename package
- Cleanup code to release as open source
- Updated node version to 8.11.4
- Switch protractor browser from firefox to chrome and update protractor to 5.x.x
- Used lforms-util logger to create web server access logs.
- Upgraded nodejs to version 8.11.3.
- Changed units lookup from static list to ajax call to clinical table search service and used table format display for auto-completion.
- Used grunt wiredep to inject bower components into karma.conf.js
- Added tags for Google Analytics
- Fixed the behavior of the autocompleting field and Import button in the Import dialog so that the currently selected field value is what gets imported.
- Fixed a bug in importing questionCardinality and answerCardinality fields.
- Added support to access multiple FHIR servers.
- Added server redirect from urls with alias names to main production url.
- Added firebase authentication.
- Added Export and import from FHIR server
- moved advanced panel items under their boolean as skip logic items.
- Update pm2 package and remove nsp exception on moment package.
- Updated npm packages and nodejs.
- The scroll bars on the preview panel are moved from whole panel to tab content.
- Added FHIR output to preview source tabs.
- Fixed popup menu display under production environment.
- Added popup menu to the nodes on the sidebar.
- Added dialog box to capture target item to move nodes on the sidebar using popup menu items.
- Addressed some accessibility issues.
- Fixed converting section/header to regular item
- Fixed displaying other in answer list item.
- Changed Text and Code fields to be required.