Provisional Quarterly Patient Reported Outcome Measures (PROMs) in England - April 2015 to March 2016, November 2016 release
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
docs
input_files
src
test
.eslintrc
.gitignore
LICENSE
README.md
package.json

README.md

sample-patients-prom

Provisional Quarterly Patient Reported Outcome Measures (PROMs) in England - April 2015 to March 2016, November 2016 release

This tool was written only to reduce the amount of manual work that was needed in order to convert the raw data into fhir bundles that can be inserted into the server. It's primary purpose is to parse CSV files and generate STU3 transaction bundles.

The behavior of this tool depends on the settings in the config file src/config.js. It contains one object called "types" holding settings for different resources. For example:

// type
Patient: {

    // the CSV file at `input_files/csv/Patient.csv` should be parsed
    source: "input_files/csv/Patient.csv",

    // the first `3` lines of the CSV file should be skipped (because they are headers)
    csvHeaders: 3,

    // Then the extracted data should be passed to the template function imported from `src/templates/Patient.js`.
    template: require("./templates/Patient.js"),

    // If true, write the result to "out/{type}/{resource-id}.json"
    // If false do not create files
    write: true
}

Once all the resources described in the config file are processed, the script will create transaction bundles that are ready to be uploaded and save them in out/Transaction.

Installation

First make sure you have new version of Node that supports async functions (tested with v7.9.0) and then do:

git clone https://github.com/smart-on-fhir/sample-patients-prom.git
cd sample-patients-prom
npm i

Usage

cd sample-patients-prom

# run
npm start

# test
npm test

# remove files generated by previous runs
npm run clean