PRO*forma* is a clinical decision support system (CDSS) language (see [Sutton and Fox 2003](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC212780/)). PROformajs is a lightweight javascript PRO*forma* engine, written in [CoffeeScript](http://coffeescript.org/

Usage no npm install needed!

<script type="module">
  import openclinicalProformajs from 'https://cdn.skypack.dev/@openclinical/proformajs';



PROforma is a clinical decision support system (CDSS) language (see Sutton and Fox 2003). PROformajs is a lightweight javascript PROforma engine, written in CoffeeScript.


A demo that allows you to try out PROformajs protocols can be found at https://openclinical.gitlab.io/proformajs-demo/?demo=EDACS7.


Documentation can be found at https://openclinical.gitlab.io/proformajs.


PROformajs comes with a set of unit tests in the test/ directory. To run them you'll need to have Nodejs (v6+) and Git installed:

you@yourmachine:~$ git clone https://gitlab.com/openclinical/proformajs.git
you@yourmachine:~$ cd proformajs
you@yourmachine:~$ npm install
you@yourmachine:~$ npm test

> @openclinical/proformajs@0.4.2 test /home/you/Software/proformajs
> coffee -c src test && node node_modules/mocha/bin/mocha --exit

When building protocols
  it should be possible to programmatically build
    ✓ a single Task
    ✓ an enquiry

151 passing (1s)
1 pending


PROformajs is distributed as an NPM module, @openclinical/proformajs.

Running npm run dist will generate a single file that can be included in a browser, proforma.browser.js in the dist/ folder.


PROformajs is owned by Openclinical CIC and dual-licensed with GPLv3 and a commercial license (licensing@openclinical.net). Contributions to the project are welcome, and will be recognised via the contrib file, but will need to have copyright assigned to the CIC.