Skip to content

πŸ’‘πŸ“Š Prototype FHIR data dashboard - what's in my FHIR server?

License

Notifications You must be signed in to change notification settings

kids-first/kf-ui-fhir-data-dashboard

Repository files navigation

FHIR Data Dashboard logo

Kids First FHIR Data Dashboard

πŸ’‘πŸ“ŠA prototype data dashboard for any FHIR server. Spin this up in front of your server so people can get a quick visual understanding of what's in this server.

Kids First Deployed Dashboards

There are three Kids First FHIR Data Dashboards deployed. Note that to access these, you'll have to follow the access instructions here.

Dev

https://kf-ui-fhir-data-dashboard-dev.kidsfirstdrc.org

QA

https://kf-ui-fhir-data-dashboard-qa.kidsfirstdrc.org

Production

https://kf-ui-fhir-data-dashboard.kidsfirstdrc.org

Getting Started

If you want to run the dashboard app and don't want to install dependencies directly on your machine, you can spin up the Dockerized dashboard app:

docker-compose up -d

This will launch an NGINX container serving your app at http://localhost:3000 By default the app points to a local FHIR server at http://localhost:8000.

If you want to change the FHIR server behind the app, you can set the build args (see FHIR APIs) in the docker-compose.yml file.

FHIR APIs

Creating a data dashboard over the FHIR API standard means that a user potentially has the ability to search over datasets from different FHIR servers. This application can be launched over any FHIR server. To use a specific FHIR server, set the following environment variables (also found at /src/.env.example):

REACT_APP_FHIR_API: The url at which the FHIR server is located
REACT_APP_FHIR_API_NAME: The display name of the FHIR server
REACT_APP_FHIR_API_AUTH_TYPE: The two options for this are NO_AUTH or BASIC_AUTH

The default server on startup if these variables are empty is the Kids First server. Servers are configurable and more can be added after startup.

Development

If you are developing, you will need to setup your development environment on your machine. This application utilizes create-react-app. To run it, install the dependencies and start the server on your machine:

npm install
npm start

This will open up the application at localhost:3000. More on create-react-app here.

Tests

The dashboard uses Cypress and the local development server to run frontend tests. To open Cypress, use the command:

npm run cypress:open

This will pull up an interactive window for running tests. You must also be running the dashboard locally at http://localhost:3000 to run the tests. Click on any of the tests listed to execute them.