NLM Form Builder is an open source web application to create and edit a FHIR Questionnaire resource. The application creates input forms supporting medical terminologies such as LOINC and SNOMED. This tool is written in the Angular framework and is developed by the Lister Hill National Center for Biomedical Communications (LHNCBC), National Library of Medicine (NLM), part of the National Institutes of Health (NIH). It includes a preview of the generated form using LHC-Forms widget.
See LICENSE.md.
If you wish to revise this package, the following steps will allow you install and to make changes and test them.
Note: The application is developed on a Linux platform. Therefore, the following instructions are for those who are familiar with Linux systems.
- Install Node.js:
- Ensure that you install a version of Node.js that is compatible with the application. You can check the required version in the
bashrc.formbuilder
file included in the root of the project folder. - You can use a version manager like
nvm
(Node Version Manager) to install Node.js:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash source ~/.bashrc nvm install <version> nvm use <version>
- Clone the repository:
- Clone the repository from GitHub and navigate to its directory:
git clone https://github.com/LHNCBC/formbuilder-lhcforms.git cd formbuilder-lhcforms
- Install dependencies:
- Run the following command to install the necessary dependencies:
npm ci
- Build the application:
- Run the build command to create the build files in the
./dist
folder:npm run build
- Start the development server:
-
To start the development server, run:
npm run start
-
Navigate to the provided local development server URL (this is usually
http://localhost:9030
).OR
-
If you need to access the dev server from a different machine, use:
npm run start-public
- Run tests:
- To run the unit tests and end-to-end (e2e) tests, use the following command:
npm run test
- If you plan to contribute new functionality, it is important to coordinate with the maintainers to ensure proper integration and to avoid duplicating efforts. Reach out to the maintainers for guidance on contributing.
If you encounter any issues during the installation or setup process, consult the project's documentation or reach out to the maintainers for further assistance.
The form builder is an application. However, it is possible to control it via JavaScript from another web page. Refer to API.md for documentation.