Skip to content

Generate Swagger from a FHIR conformance profile

License

Notifications You must be signed in to change notification settings

m-houston/fhir-swagger

 
 

Repository files navigation

FHIR to Swagger

Generate Swagger from a FHIR conformance profile

Usage

Command Line

Install:

npm install -g fhir-swagger

Generate Swagger DSTU3:

fhir-swagger \
--fhir_url "http://fhirtest.uhn.ca/baseDstu3" \
--conformance_path="/metadata?_format=application/json" \
--dstu3 \
--output swagger.json

Generate Swagger R4:

fhir-swagger \
--fhir_url "http://<your_base>/app/FHIR/r4" \
--conformance_path="/metadata?_format=application/json" \
--r4 \
--output swagger.json

NodeJS

Install:

npm install --save fhir-swagger

Use in code:

var fhirToSwagger = require('fhir-swagger')
var options = {
  fhir_url: 'http://fhirtest.uhn.ca/baseDstu3',
  conformance_path: '/metadata?_format=application/json',
}

fhirToSwagger(options, function(err, swagger) {
  console.log(swagger.info.title);
})

Docker

Build

docker build -t <your username>/fhir-swagger .

Run

docker run --network host <your username>/fhir-swagger --fhir_url "http://<your_base>/app/FHIR/r4" --conformance_path="/metadata?_format=application/json" --r4 

All Options

These options can be passed in to the NodeJS function or the command line.

  • fhir_url: The base URL of the FHIR server
  • conformance_path: The path where the conformance profile can be found
  • reject_unauthorized: Ignore SSL certificate errors if set to false

Authorization

You can use the --username and --password options on the command line, or pass in an auth object in NodeJS to perform basic authorization when accessing the conformance profile:

fhirToSwagger({
  auth: {username: 'foo', password: 'bar'}
}, function(err, swagger) {

})

About

Generate Swagger from a FHIR conformance profile

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.2%
  • Dockerfile 0.8%