A demonstration of GraphQL alongside nodeVISTA
nodeVISTA represents a layer of abstraction away from the core VistA system that allows FileMan queries to be run and returned as JSON
With GraphQL, queries can further be refined to attain the exact data required.
Two approaches are used:
- A simple call to the nodevista fmql endpoint (In this demonstration case, querying patients)
- MongoDB as a JSON store which contains the data from the fmql endpoints.
- Patients - Returns data for all patients using the REST API endpoint
- Patient - Returns data for patients using the REST API endpoint, based on a passed name argument
- Patients1 - Returns data for all patients using mongodb
- Patient1 - Returns data for patients using mongodb, based on a passed name argument
The following fields have been setup to be interogated:
- Name
- Sex
- date_of_birth
- place_of_birth_city
- place_of_birth_state
To run a Gitpod with this repo:
- Create a free/paid Gitpod account - https://www.gitpod.io/
- Log into the account
- Open a new browser tab and add gitpod.io/#https://github.com/RamSailopal/Vista-graphql to the address - This will create a new Gitpod cloud instance.
- Wait till the Docker compose messages stop scrolling and then navigate to https://5000-ramsailopal-vistagraphql-u56rcn2tf3y/graphql, replacing ramsailopal-vistagraphql-u56rcn2tf3y with your gitpod address. You should now be able to add queries in the left panel as shown in the graphic.
nodeVISTA - http://vistadataproject.info/demo/
GraphQL - https://graphql.org/