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

SQL on FHIR view runner #1775

Open
wants to merge 483 commits into
base: main
Choose a base branch
from
Open

SQL on FHIR view runner #1775

wants to merge 483 commits into from

Conversation

piotrszul
Copy link
Collaborator

@piotrszul piotrszul commented Jan 16, 2024

This pull request adds the ability to execute SQL on FHIR view definitions against data sources within the library API.

It also includes a comprehensive refactoring that integrates this new functionality with the rest of the code base and makes some changes that will improve performance across all of the different FHIRPath query operations.

Resolves #1438 and #1759.

@johngrimes johngrimes changed the title Array representations within FHIRPath queries SQL on FHIR view runner Jan 16, 2024
@johngrimes johngrimes added new feature New feature or request refactoring Improving the design of existing code labels Jan 16, 2024

final Optional<? extends ChildDefinition> maybeChildDef = definition.flatMap(
def -> def.getChildElement(elementName))
.filter(ChildDefinition.class::isInstance);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Under what circumstances is this filter condition anything other than true?

piotrszul and others added 24 commits January 25, 2025 15:33
… to match `main` (after combine Patient data update).
…y treat CodeableConcept as a single concept entity.
…. (othewise it pick's up AsynTest mocked database bean).
… hadoop client runtime, which is not shipped with pathling but with Spark. The server docker image which used this version does not use avro.
…on configuration and adding explicit loading of 'sparklyr' before test run.
@johngrimes
Copy link
Member

@piotrszul Things that still need to be done before we can release this:

  • Documentation (Python interface to SQL on FHIR)
  • Additional testing (is there a gap with the retirement of function-level unit tests?)
  • Refactoring (removal of dead code, rationalisation of operators)
  • Performance (aggregate queries without groupings or filters)

Copy link

codecov bot commented Feb 1, 2025

Codecov Report

Attention: Patch coverage is 74.06015% with 69 lines in your changes missing coverage. Please review.

Project coverage is 76.34%. Comparing base (4f7ece8) to head (e05a2a3).
Report is 502 commits behind head on main.

Files with missing lines Patch % Lines
...scala/au/csiro/pathling/encoders/Expressions.scala 66.31% 43 Missing and 21 partials ⚠️
.../java/au/csiro/pathling/encoders/FhirEncoders.java 50.00% 2 Missing ⚠️
...pathling/security/ga4gh/PassportScopeEnforcer.java 0.00% 2 Missing ⚠️
.../java/au/csiro/pathling/search/SearchExecutor.java 97.87% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1775      +/-   ##
============================================
- Coverage     85.41%   76.34%   -9.08%     
- Complexity      139      142       +3     
============================================
  Files           339      423      +84     
  Lines          7805     9082    +1277     
  Branches        519      633     +114     
============================================
+ Hits           6667     6934     +267     
- Misses          849     1736     +887     
- Partials        289      412     +123     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request refactoring Improving the design of existing code
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

SQL on FHIR view layer - POC implementation
2 participants