Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GraphQL for complex clin/phen queries #3

Open
2 tasks
ljdursi opened this issue Oct 30, 2018 · 0 comments
Open
2 tasks

GraphQL for complex clin/phen queries #3

ljdursi opened this issue Oct 30, 2018 · 0 comments

Comments

@ljdursi
Copy link

ljdursi commented Oct 30, 2018

This issue can be closed when a user can successfully make complicated queries between linked FHIR entities via a GraphQL service integrated into the CanDIG v2 architecture.

Depends on #2

  • Include graphql service
  • Develop small library of multi-resource queries

Note - https://hl7.org/fhir/2018Jan/graphql.html

daisieh pushed a commit that referenced this issue May 9, 2023
* Add .travis file and ran federation.py through pylint

* Need distribution specification for travis

* Add basic config files for peers and services

* Changed pytest command to include coverage

* Cleaned test output

* Change instances of 'federation' to 'Federation' to comply with v1.
daisieh pushed a commit that referenced this issue May 9, 2023
* Add services config for mock testing             Federation nodes are able to propagate requests. Aggregation still needs to be addressed.

* Add POST logic to return local requests

* Add logic for basic federated POST query

* Fix swagger file to comply with Dredd. Adjusted operation names to reflect swagger changes.

* Add initial mock tests for Federationd <-> Microservice

* Add basic validation tests using mocks.

Mocking an entire request from the start of operations has highlighted the need for some type of parsing to figure out the proper URI for a service.

* Add JSON config files for services and peers

Changed the way config parsing worked to create service dictionaries based on name:uri. This enables searching up a microservice based on the path provided in the original request while allowing the Federation service to not worry about the specific API.

* Add coverage and pytest-cov

Altered the argument parser for the __main__ method in order to support pytest-cov to show test code coverage

* Add Unit Tests for candig_federation/api/network

Basic schema validation is in place. Need to add stringency for URLs and develop peer/service schema further

* Update README and requirements.txt

Ran current code through pylint to format everything correctly. In its current state, the federation_service does perform its role in the most basic way of aggregating all the responses back from a given service. No higher level processing is applied to the federated queries at this time, differing the responseObject generated here compared to CanDIGv1. The merge_count function is not yet fully implemented due to differences in the way data is represented and needs to either be addressed or written off.

* Merge fed_lint into develop (#3)

* Add .travis file and ran federation.py through pylint

* Need distribution specification for travis

* Add basic config files for peers and services

* Changed pytest command to include coverage

* Cleaned test output

* Change instances of 'federation' to 'Federation' to comply with v1.

* Merge federation design changes to develop

* Merge design decision changes to Develop (#5)

* Add .travis file and ran federation.py through pylint

* Need distribution specification for travis

* Add basic config files for peers and services

* Changed pytest command to include coverage

* Cleaned test output

* Change instances of 'federation' to 'Federation' to comply with v1.

* Revert changes to federation code made weeks ago that broke everything.

* Changed string formatting for Tyk redirects.

* Add graceful return and error code for request timeout

* Redid local and async tests to make them more uniform. Federated GETs tested out.

* Add local fail tests.

* Add status code merger to align with design decision.

* Add two peer node tests.

* Clean print statements and commented out code.

* Update gitignore

* Add uWSGI, change Federation logic to handle all requests uniformly

* Reversed Federation check logic to look for false rather than true.

* Reversed the federate logic one last time to make it ... logical. Also added an else statement that was missed.

* Change print to log in __main__ and federation.py

* Add error handling to peer_request call

* Add lower() to check all variations of 'false' in Federation header.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants