SHR JSON Schema Export
The Standard Health Record (SHR) initiative is working to create a single, high-quality health record for every individual in the United States. For more information, see standardhealthrecord.org.
This GitHub repository contains an ES6 library for exporting SHR data elements represented using SHR models to a JSON Schema.
The SHR text definitions and grammar files can be found in the shr_spec repo. As the SHR text format (and content files) are still evolving, so is this library.
Setting Up the Environment
This project has been developed and tested with Node.js 6.11, although other versions may work. After installing Node.js, change to the project directory and yarn install the dependencies:
$ yarn install
Running the Tests
This project contains unit tests for testing the SHR text importer, JSON schema exporter, and FHIR StructureDefinition exporter. To run the tests, execute the following command:
$ yarn test
During development, it is often helpful to run tests in watch mode. This launches a process that watches the filesystem for changes to the javascript files and will automatically re-run the tests whenever it detects changes. To run the tests in watch mode, execute the following command:
$ yarn test:watch
Linting the Code
To encourage quality and consistency within the code base, all code should pass eslint without any warnings. Many text editors can be configured to automatically flag eslint violations. We also provide an npm script for running eslint on the project. To run eslint, execute the following command:
$ yarn lint
Running
To enable executing, go to the shr-cli project directory:
$ npm install
To run (while still in shr-cli project directory):
$ node cli.js ../shr-spec/spec ./out
the 2nd argument (../shr-spec/spec) represents the location of the shr spec txt files
Changing shr-json-export project
To make changing to the shr-json-export project and test them, you will need to link your local shr-json-export project directory as the current npm module. Here are the steps to do that:
$ cd ../shr-json-export/
$ npm link
$ cd ../shr-cli/
$ npm link shr-json-export
Now to run the current json export and test changes made (from the shr-cli project directory):
$ node cli.js ../shr_spec/spec/ ./out
When done making changes, restore use of the published version of shr-json-export:
$ cd ../shr-cli
$ npm unlink shr-json-export
$ npm install
License
Copyright 2016-2017 The MITRE Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.