GithubHelp home page GithubHelp logo

fshing-trip's Introduction

FSHing Trip

The FSHingTrip.js script provides a simple wrapper that takes as input a set of FHIR StructureDefinitions. Those SDs are converted to FSH using goFSH, and then converted back to FHIR SDs using SUSHI. The resulting "round-trip" output is compared to the original input to generate a differential that shows how well goFSH and SUSHI have replicated the original input.

To use this tool, first, ensure that you have goFSH and SUSHI globally installed with npm. Then, clone this repo:

git clone https://github.com/ngfreiter/FSHing-trip.git

and run npm install to install required dependencies:

cd FSHing-trip
npm install

Then you can run the wrapper script by doing:

node FSHingTrip.js <path-to-defs>

where <path-to-defs> is a path to a folder containing JSON FHIR StructureDefinitions, and a config.yaml file. The config.yaml file is necessary for running SUSHI, and is described in detail by the SUSHI documentation. Any required dependencies should be listed in the config.yaml file.

The output will by default be written to a build folder within the current working directory. Alternatively, an output folder can optionally be specified:

node FSHingTrip.js <path-to-defs> <optional-path-to-output>

Within the output folder will be a goFSH folder, containing the output of goFSH, a sushi folder, containing the output of sushi, and a diff folder, containing HTML files which show the difference between ElementDefinitions on the original input and the round-trip output. Note that the differential generation only works for StructureDefinitions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.