Skip to content

SQL on FHIR view runner#1775

Merged
johngrimes merged 483 commits intomainfrom
issue/1759
Aug 28, 2025
Merged

SQL on FHIR view runner#1775
johngrimes merged 483 commits intomainfrom
issue/1759

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 22 commits January 25, 2025 15:48
…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)

@codecov
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.

@johngrimes johngrimes merged commit e05a2a3 into main Aug 28, 2025
32 of 33 checks passed
@johngrimes johngrimes deleted the issue/1759 branch August 28, 2025 04:43
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