This project is a FHIR facade server built on @asymmetrik/node-fhir-server-core
. The facade server is meant to be used with your existing (or new) patient database. All you need to do is set up the database connection and fill in the queries and you will have a FHIR server!
- Install the latest Docker Community Edition for your OS if you do not already have it installed.
- Run
docker-compose up
. - Visit
localhost:3000/3_0_1/metadata
to view the conformance statement.
- Install the latest LTS for Node.js if you do not already have it installed.
- Make sure the default values defined in
env.json
are valid. - Run
yarn
ornpm install
. - Run
yarn start
ornpm run start
. - Visit
localhost:3000/3_0_1/metadata
to view the conformance statement.
At this point you can now start testing the endpoints. Depending what profiles you opt into, certain routes will be available. You can view the routes enabled based on which service methods you provide over at @asymmetrik/node-fhir-server-core
.
- Setup the database connection (Mongo/Sequelize) in
./src/index.js
. - Look through
./src/config.js
to set up the server and decide which profile you want to support. Comment out ones you don't want to support. - Look at the corresponding service templates for the resources you want to enable. You can remove any interaction you don't want to support. For instance, if you don't want write capability for the Patient resource, you would delete the create and update functions in
./src/services/patient/patient.service.js
. This will disable their routes. - Write your queries and test!
The facade server uses passportjs for authentication. This server comes with a bearer strategy template. You can implement your own passport strategy and reference it in ./src/config.js
to conforms to your AuthZ server. For more information on authorization please visit http://docs.smarthealthit.org/authorization/.
If you have questions specific to Docker or Node, please consider asking on Stack Overflow. They already have a lot of support on these topics. If your questions is related to the FHIR specification, please review that documentation at https://www.hl7.org/fhir/. Any questions related to this specific package, please ask in the issues section. Also, if you think you are experiencing a bug or see something incorrect with the spec, please file an issue so we can help you as soon as we can.
This project is MIT licensed.