Skip to content
This repository has been archived by the owner on Oct 17, 2019. It is now read-only.

standardhealth/shr-json-schema-export

Repository files navigation

Content Has Moved!

The shr-json-schema-export repo has been integrated into the shr-tools monorepo. All further development will be in shr-tools/packages/shr-json-schema-export.

Current releases can be found at shr-tools/releases.

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.