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
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
483 commits
Select commit Hold shift + click to select a range
0f4f1c3
Remove explain on every view test
johngrimes Jun 26, 2024
aba6f1a
Use boundary functions to normalize datetimes and times in tests
johngrimes Jun 26, 2024
f952c1f
Add more decimal boundary tests
johngrimes Jun 26, 2024
9fdc18c
Add missing Javadoc to FhirViewExecutor
johngrimes Jun 28, 2024
46cf0ba
Add missing Javadoc to GroupingSelection
johngrimes Jun 28, 2024
1ab2315
Update SQL on FHIR pointer to AEHRC merged master
johngrimes Jun 28, 2024
db70cbd
Add missing Javadoc to ColumnSelection
johngrimes Jun 28, 2024
bc74022
Extract building of collections iterator out to a separate method
johngrimes Jun 28, 2024
e2de777
Add missing Javadoc to UnionSelection
johngrimes Jun 28, 2024
b492e02
Add missing Javadoc to UnnestingSelection
johngrimes Jun 28, 2024
e1d5fee
Add missing Javadoc to ProjectionClause
johngrimes Jun 28, 2024
848fa8a
Remove unused vectorize overload within ColumnRepresentation
johngrimes Jun 28, 2024
5d88c6f
Remove unused explode and explodeOuter methods from ColumnRepresentation
johngrimes Jun 28, 2024
ca9491d
Improve documentation for ColumnRepresentation.transform
johngrimes Jun 28, 2024
d0bd129
Add comments to ArrayOrSingularRepresentation
johngrimes Jun 28, 2024
2fc258d
Rename ArrayOrSingularRepresentation to DefaultRepresentation
johngrimes Jun 28, 2024
6122e79
Add documentation to DecimalRepresentation
johngrimes Jun 28, 2024
3ba2fe8
Add documentation to BinaryRepresentation
johngrimes Jun 28, 2024
9a9fba2
Add static import within NullRepresentation
johngrimes Jun 28, 2024
96eb4b3
Remove unused GetClassFromContained class from Expressions.scala
johngrimes Jun 28, 2024
8baf5ae
Add more documentation to Expressions.scala
johngrimes Jun 28, 2024
bd7aba6
Inline Collection.getExtensionMap
johngrimes Jun 28, 2024
41a79d9
Remove out of date backport comment on Expressions.scala
johngrimes Jun 28, 2024
4326295
Add documentation to Collection and remove unused methods
johngrimes Jun 28, 2024
225338b
Add documentation to BooleanCollection and remove BooleanCollection.f…
johngrimes Jun 28, 2024
745e13b
Make decision on Coding and remove comment from CodingCollection.from…
johngrimes Jun 28, 2024
22f1eeb
Make internal build method in DateCollection private
johngrimes Jun 28, 2024
2be70e6
Fix documentation within DateTimeCollection
johngrimes Jun 28, 2024
18098e8
Add Javadoc to DecimalCollection
johngrimes Jun 28, 2024
7c16970
Add Javadoc to IntegerCollection
johngrimes Jun 28, 2024
07d6133
Fix Javadoc within QuantityCollection
johngrimes Jun 28, 2024
5cddfa0
Fix Javadoc to ResourceCollection
johngrimes Jun 28, 2024
5766ac3
Fix Javadoc within StringCollection
johngrimes Jul 1, 2024
aaa6564
Change TimeCollection constructor to protected
johngrimes Jul 1, 2024
4d1559e
Add Javadoc to MixedResourceCollection
johngrimes Jul 1, 2024
4e3abf9
Add documentation to function registry classes
johngrimes Jul 1, 2024
ca9fd81
Remove unused Arguments class
johngrimes Jul 1, 2024
27df2f0
Add documentation to BoundaryFunctions
johngrimes Jul 1, 2024
c20bbc1
Remove unused MixedCollection.buildResource
johngrimes Jul 1, 2024
f613ae6
Add documentation to CollectionExpression
johngrimes Jul 1, 2024
a77bb1b
Rename FhirViewFunctions to JoinKeyFunctions
johngrimes Jul 1, 2024
f033630
Refactor implementation of getResourceKey and getReferenceKey
johngrimes Jul 1, 2024
6618776
Fix Javadoc within NamedFunction and remove unused method
johngrimes Jul 1, 2024
03c7d96
Remove StandardFunctions.reverseResolve
johngrimes Jul 1, 2024
e637b78
Rename FhirpathFunction to FhirPathFunction
johngrimes Jul 1, 2024
f572d8b
Update SQL on FHIR to point back to origin master
johngrimes Jul 1, 2024
5b5ec87
Document and rename existence functions
johngrimes Jul 1, 2024
89e5e1a
Update documentation for JoinKeyFunctions
johngrimes Jul 1, 2024
7b3f4bf
Extract and document filtering and projection functions
johngrimes Jul 1, 2024
54f3405
Move empty and exists to ExistenceFunctions and document
johngrimes Jul 1, 2024
40d5a76
Extract and document extension function within FhirFunctions
johngrimes Jul 1, 2024
2a7c88f
Move extension constants to FhirFunctions
johngrimes Jul 1, 2024
681fabc
Extract join function to StringFunctions and document
johngrimes Jul 1, 2024
b11bdf9
Extract first function to SubsettingFunctions and document
johngrimes Jul 1, 2024
54224e1
Extract count function to ExistenceFunctions and document
johngrimes Jul 1, 2024
2b15d19
Move isTypeSpecifierFunction to InvocationVisitor
johngrimes Jul 1, 2024
77ec4ec
Move toString to ConversionFunctions and document
johngrimes Jul 1, 2024
46f88a6
Update StaticFunctionRegistry
johngrimes Jul 1, 2024
81018bf
Improve documentation in TerminologyFunctions
johngrimes Jul 2, 2024
74b4e3b
Improve documentation for TypeSpecifier
johngrimes Jul 2, 2024
5d0a59f
Improve documentation for ExtractQueryExecutor
johngrimes Jul 2, 2024
a316d67
Remove unused method StorageConfiguration.forDatabase
johngrimes Jul 2, 2024
fcd44de
Improve documentation for annotations
johngrimes Jul 2, 2024
655a9fa
Rename comparator classes
johngrimes Jul 2, 2024
1dd4347
Move comparison classes into the operator package
johngrimes Jul 2, 2024
45f80eb
Remove unused tests, will replace with a new testing regime
johngrimes Jul 2, 2024
6e5dd98
Remove unused classes and move annotations into theme packages
johngrimes Jul 2, 2024
19a80f7
Refactor and document MethodDefinedFunction and FunctionParameterReso…
johngrimes Jul 4, 2024
3d615a6
Refactor and document MethodDefinedOperator
johngrimes Jul 4, 2024
ff1b148
Move function providers into their own package
johngrimes Jul 4, 2024
5dd33a0
Refactor and document collection operations
johngrimes Jul 4, 2024
e9c1663
Go back to using the FHIR core boundary functions implementation
johngrimes Jul 8, 2024
1c4ecf6
Update boundary function tests and get passing
johngrimes Jul 8, 2024
c16a7e0
Update boundary function tests and get passing
johngrimes Jul 8, 2024
1efd254
Merge remote-tracking branch 'origin/issue/1759' into issue/1759
johngrimes Jul 8, 2024
fc4cd27
Replace javax.annotation.Nonnull with jakarta.annotation.Nonnull
johngrimes Jul 8, 2024
48ecd83
Replace javax.annotation.Nullable with jakarta.annotation.Nullable
johngrimes Jul 8, 2024
bc4a204
Merge branch 'refs/heads/main' into issue/1759
johngrimes Jul 8, 2024
21afbf8
Add serial annotations to boundary UDFs
johngrimes Jul 15, 2024
2429ea1
Update implementation and tests to match discussion in Zulip
johngrimes Jul 15, 2024
150330d
Remove unnecessary constant and make isHigh parameter final
johngrimes Jul 15, 2024
22dcc20
Add more comments to boundary function implementation
johngrimes Jul 15, 2024
3e6ab11
Update boundary functions implementation to use significant figures
johngrimes Jul 16, 2024
5f09f33
Update DecimalBoundaryFunction to account for half-up rounding
johngrimes Jul 22, 2024
84f90ad
Update pointer to SQL on FHIR master
johngrimes Jul 22, 2024
37a999d
Fix imports within DataSinkBuilder
johngrimes Aug 6, 2024
105f43b
Fix TerminologyFunctions import
johngrimes Oct 29, 2024
1b38ccf
Update SQL on FHIR pointer
johngrimes Nov 14, 2024
2349940
Fixing encoding tests (synchronizing unsupported resource types) and …
piotrszul Nov 15, 2024
21cdd77
Adding default values of pathling.strorage properties for test relyin…
piotrszul Nov 18, 2024
ff28f7c
Adding Fhirepath test to explore resolve/reverseResolve issues.
piotrszul Nov 18, 2024
5244a33
Adding Fhirpath tests for resolve() ManyToOne an ManyToMany
piotrszul Nov 19, 2024
a404150
Refactoring: Extracting the simple reverseResolve functionality.
piotrszul Nov 19, 2024
0b6334e
Refactoring: Adding reverseResolve() decomposition from a fhirPath.
piotrszul Nov 20, 2024
d9807b6
Adding manual support for reverseResolve with leading expression.
piotrszul Nov 20, 2024
ded3a34
Adding support for reverserResolve with leading (where) expressions.
piotrszul Nov 20, 2024
9ef5996
Adding support for mulitple aggregations in the in the reverseResolve…
piotrszul Nov 21, 2024
ec27771
Refactoring: cleaning up the implementation of reverseResolve aggrega…
piotrszul Nov 21, 2024
814b9bd
Updating reverseResolve() test with more data instances.
piotrszul Nov 21, 2024
26b87f7
Adding test cased for nested reverseResolve and multiple reverse reso…
piotrszul Nov 21, 2024
ad2f5bf
Refactoring: automated detection of reverse resolve
piotrszul Nov 22, 2024
6297991
Working implementation of nested reverseResolve for value access aggr…
piotrszul Nov 25, 2024
9e1f69b
Working implementation of nested reverseResolve for both value accees…
piotrszul Nov 26, 2024
87ad073
POC implementation of many-one resolve with fixed reference resource …
piotrszul Nov 26, 2024
0ea6616
Refactoring: taking column aliases from ResoveRoot.
piotrszul Nov 26, 2024
7113445
Refactoring: adding automatic determination of referenced resource type.
piotrszul Nov 27, 2024
be1b942
Adding working implementation of toMany resolve().
piotrszul Nov 27, 2024
ea2f4b4
Proof of concept for purification approach.
piotrszul Nov 29, 2024
19178a2
REFACTORING: Unifying purification for pure FhirPath expressions.
piotrszul Dec 2, 2024
0f61aad
POC: Nested reverseResolve to values.
piotrszul Dec 2, 2024
f124cc3
POC: Nested reverseResolve to aggregate function (also coincidentally…
piotrszul Dec 2, 2024
68116fb
REFACTORING: Cleaning up reverseResolve() POC
piotrszul Dec 2, 2024
4a4fe07
Adding implementation of resolve() to simple value on pure paths.
piotrszul Dec 3, 2024
c525254
Adding implementation of nested resolve() to x-to-one references.
piotrszul Dec 3, 2024
3fdb1bb
Adding implementation of resolve in where clause.
piotrszul Dec 6, 2024
53e86ea
Adding implementation of aggregation for resolve().
piotrszul Dec 6, 2024
0c0b40d
Adding implementation of aggregation for resolve().
piotrszul Dec 6, 2024
4cf654a
REFACTORING: removing the old implementation.
piotrszul Dec 6, 2024
0ee9b96
REFACTORING: Extracting resolving executor implementation from the Fh…
piotrszul Dec 9, 2024
a9ab28f
REFACTORING: Connecting ParserTest to ResolvingFhirPath evaluator imp…
piotrszul Dec 9, 2024
8965a1b
Fixing the implementation of 'in' and 'contains' operators.
piotrszul Dec 9, 2024
cc53d99
Fixing the (remaining) extensions of expectation files for ParserTest…
piotrszul Dec 9, 2024
4124c2e
Fixing the type checking for Combine operator to use FHIRpath types.
piotrszul Dec 9, 2024
0332687
Adding working implementation of iif() function.
piotrszul Dec 9, 2024
1b13478
Fixing issues in parsing of type specifiers.
piotrszul Dec 10, 2024
f6a8072
REFACTORING: cleaning up up FhirPathTest
piotrszul Dec 10, 2024
8d30c1c
Fixing the math operations on QuantityCollection by passing through t…
piotrszul Dec 10, 2024
6a950ba
Fixing the variable resolution in FhirPathContext.
piotrszul Dec 10, 2024
9dc62cb
Adding reference type checking for reverseResolve and a failing test …
piotrszul Dec 10, 2024
5e7b4f8
Fixing column representation of CodingLiteral to include explicit SQL…
piotrszul Dec 11, 2024
feda8b7
Disabling some ParserTest not related to resolve() implementation.
piotrszul Dec 11, 2024
08e4c40
Fixing the ofType() implementation for choices.
piotrszul Dec 11, 2024
77a9f03
POC of ofType() for mixed resource paths.
piotrszul Dec 11, 2024
2d2ecec
POC of reverseResolve with "master" dataset.
piotrszul Dec 12, 2024
340363d
POC of nested reverseResolve.
piotrszul Dec 12, 2024
816ead4
Implementing nested reverse resolve
piotrszul Dec 13, 2024
f371aa5
Connecting ParserTest to ExpandingFhirPathEvaluator
piotrszul Dec 16, 2024
9cedf81
Implementing a better DataRootResolver.
piotrszul Dec 16, 2024
0ddefab
Working implementation of basic resolve()
piotrszul Dec 17, 2024
3c9f0e5
Working implementation of full join with typeOf() resolutions.
piotrszul Dec 18, 2024
6ebc67d
Simplifying naming convention dependency columns.
piotrszul Dec 18, 2024
21211fa
Adding support for "%resource" and "%rootResource" references.
piotrszul Dec 18, 2024
620c355
Adding test for resolve() to the same type from different reference p…
piotrszul Dec 18, 2024
e61efb8
Refactoring and cleanup: removing obsolete executor implementations.
piotrszul Dec 19, 2024
4f230c8
WIP: Multi root resolver.
piotrszul Dec 19, 2024
00a9cc4
Fixing join resolution for muliple joins from the same root
piotrszul Dec 19, 2024
50dfe36
Fixing join resolution for muliple resolves (to one) to the same reso…
piotrszul Dec 19, 2024
786c3c2
Adding merging of any duplicate map columns in resolve() joins and co…
piotrszul Dec 20, 2024
9d5ee8d
Adding explicit containter for extensions in Collection hierarchy.
piotrszul Dec 20, 2024
d6c90f6
Fixing issues with the representation of empty arrays.
piotrszul Dec 23, 2024
5f2710a
Adding tests for extension references.
piotrszul Dec 23, 2024
ca13590
WIP: Fixing resolve() type resolution for combine and iif.
piotrszul Dec 23, 2024
37edf96
Fixing iff for polymorphic references.
piotrszul Dec 24, 2024
77d2ef9
Updating expectations for ParserTest by removing redundant NULL rows.
piotrszul Dec 24, 2024
e117280
Fixing map column merging for reverseResolve join.
piotrszul Dec 24, 2024
9ac68db
Fixing expectations in ParserTest - removing duplicate NULL rows.
piotrszul Dec 24, 2024
5bf0ade
Adding a function to print display representation of a join set.
piotrszul Jan 2, 2025
12baa9a
Fixing issues with references in choices and extensions.
piotrszul Jan 2, 2025
761b2c3
Reviewing PaserTest - enabling tests for implemented features and dis…
piotrszul Jan 3, 2025
f736aa6
Fixing implementation of subsume and subsumedBy fhirpath functions to…
piotrszul Jan 3, 2025
0df2b8b
Fixing NodeDefinitionTest tests: correcting expectations for allowed …
piotrszul Jan 6, 2025
c1c9c6d
Fixing FhirPath test expectations to match the correct implementation…
piotrszul Jan 6, 2025
c77237f
Refactoring and cleanup of fhir evaluator and executor hierarchy.
piotrszul Jan 6, 2025
b314b76
Fixing small issues in ParserTest and ExtractQueryExecutor (handling …
piotrszul Jan 7, 2025
9dbf577
Refactoring out JoinResolver logic.
piotrszul Jan 7, 2025
bdc7614
Adding failing test case for duplicate in reverseResolve child.
piotrszul Jan 7, 2025
54fd7fa
Refactoring and cleanup of resolve() join implementation.
piotrszul Jan 7, 2025
281e6cd
Refactoring and cleanup of resolve() join implementation.
piotrszul Jan 7, 2025
652d850
Adding normalization of the representation of empty array values Colu…
piotrszul Jan 7, 2025
15d2569
Connecting the resolving FHIR evaluator to extract query executor imp…
piotrszul Jan 8, 2025
00b4d25
Correcting hanling of NULLs when concatenating results of reverseReso…
piotrszul Jan 8, 2025
49118e7
Fixing regression issue in ParserTest.
piotrszul Jan 8, 2025
fc12f30
Fixing tests for nested extensions (the functionality was fixed with …
piotrszul Jan 8, 2025
c5be941
Fixing tests for nested extensions (the functionality was fixed with …
piotrszul Jan 8, 2025
2215505
Upgrading spark for to 3.5.4 to fix the issue with SQL plan optimisat…
piotrszul Jan 9, 2025
b5e35eb
Fixing issues with traversal to non singular extension containers (in…
piotrszul Jan 9, 2025
ffd59ca
Updating extra view test to match most recent version of FhirView spec.
piotrszul Jan 9, 2025
4050a3f
Disabling the FhirViewComplianceTest until we can define correct expe…
piotrszul Jan 10, 2025
1e08f3f
Adding POC implementation of AggregateQueryExecutor.
piotrszul Jan 10, 2025
7d87b19
Implementing agg expression specific combiners in AggregateQueryExecu…
piotrszul Jan 12, 2025
158553a
Adding tag support in FhirViewTest (ability to provide the tags to be…
piotrszul Jan 13, 2025
d5a343e
Updating sql_on_fhir pointer to aehrc clone
piotrszul Jan 13, 2025
7782ade
In SQL on FHIR view, columns with collection is set to `true` are alw…
piotrszul Jan 13, 2025
0a4bc9a
Moving string.join() related tests cases from fhirpath.json to fn_joi…
piotrszul Jan 13, 2025
cef4a2b
Implementing 'until()' fhirpath function.
piotrszul Jan 14, 2025
27f2d22
Fixing the implementation of 'contains' and 'in' operators to use cus…
piotrszul Jan 14, 2025
37bb267
Adding correct handling of EmptyCollection literals in the combine op…
piotrszul Jan 14, 2025
b866593
Implementing correct handling of empty collections in iff() function.
piotrszul Jan 15, 2025
2ddf40b
Implementing 'limit' in ExtractQueryExecutor.
piotrszul Jan 15, 2025
405c01d
Implementing rendering columns with ProjectionConstraint in Projection.
piotrszul Jan 15, 2025
9fc7130
Fixing issues with multi level unnesting in extract implementation an…
piotrszul Jan 16, 2025
380a7db
Extracting implicit unnesting functionality for 'extract()' to Implic…
piotrszul Jan 17, 2025
fbdf04b
Fixing expectations for ExtractQueryTest.multipleResolves() correctin…
piotrszul Jan 17, 2025
42574ad
Implementing to fhir expression conversion for FhirPath operators for…
piotrszul Jan 17, 2025
e129f9f
Making 'where' an aggregate function for implicit unnesting.
piotrszul Jan 17, 2025
2ba0a61
Fixing incorrect expectations for ExtractQueryTest.multilplePolymorhp…
piotrszul Jan 17, 2025
460373c
Adding a POC implementation of fhirpath 'select' functions.
piotrszul Jan 21, 2025
8aa3d41
Disabling combineWithUnequalCardinalities in ExtractQueryTest as expe…
piotrszul Jan 21, 2025
36f06ef
WIP: Fixing drill down expression building for AggregateQueryExecutor.
piotrszul Jan 22, 2025
392c314
Implementing the full set of literal paths in Literals.
piotrszul Jan 22, 2025
e96d7c8
Adding correct handling of literals in aggregate expressions.
piotrszul Jan 22, 2025
9e5c190
Updating the Patient test data and varoius expectations to inlcude ba…
piotrszul Jan 22, 2025
3d15ea9
Adding parentheses "()" around operator arguments when required in Fh…
piotrszul Jan 22, 2025
558dbed
Correcting toLiteral conversion for Date, DateTime and Time collections.
piotrszul Jan 22, 2025
a00e514
Identifying the temporarily disabling AggregateQueryTest failing to s…
piotrszul Jan 22, 2025
da50677
Updating AggregateQueryTest expectation to match the main branch (wit…
piotrszul Jan 23, 2025
15d9df0
Modifying count() implementation to count distinct IDs for resources …
piotrszul Jan 23, 2025
0f7cfdc
Implementing toLiteral() for CodingCollection.
piotrszul Jan 23, 2025
3f6dca2
Changing the AggregateQueryExecutor to a naive implementation that su…
piotrszul Jan 23, 2025
f38db8b
Implementing FHIR int type derivation form the left operand for math …
piotrszul Jan 23, 2025
09556b5
Implementing a simplified form of operator precedence for FHIR expres…
piotrszul Jan 23, 2025
07b4b6e
Fixing the traversal into arrays of arrays with NULL values.
piotrszul Jan 23, 2025
8bfb834
Adding pruning of synthetic fields in grouping columns for AggregateQ…
piotrszul Jan 23, 2025
207c3a4
Adding support for join expressions (resolve,reverseResolve) in aggre…
piotrszul Jan 24, 2025
45d9a34
Updating the settings for test FhirEncoders to match the TestImporter…
piotrszul Jan 24, 2025
85cbbed
Refactoring EvaluatedPath out of AggregateQueryExecutor.
piotrszul Jan 24, 2025
8092431
Re-implementing SearchExecutor.
piotrszul Jan 24, 2025
1ef38e6
Revering back the default FHIR encoders configuration for unit tests.
piotrszul Jan 24, 2025
4b89ca7
Implementing correct labeling of the grouping and aggregation columns…
piotrszul Jan 24, 2025
839cb37
Removing TASK from unsupported resource types in ImporterTest.
piotrszul Jan 24, 2025
bde6b28
Fixing issues with setting a new DataSource in AbstractParserTest.
piotrszul Jan 24, 2025
49a64f5
Adding required 'spark.sql.mapKeyDedupPolicy=LAST_WIN' setting to def…
piotrszul Jan 25, 2025
45040d7
Updating expectations for multipleAggregationsAndResolveWithGroupings…
piotrszul Jan 25, 2025
1566016
Improving error reporting in BaseResourceResolver.
piotrszul Jan 25, 2025
388f7ea
Updating expectations for CapabilityStatementTest to include support …
piotrszul Jan 25, 2025
9faeb3d
Fixing the extension of expectation file name for ExtractTest.
piotrszul Jan 25, 2025
4bd3fa2
Update aws-actions/configure-aws-credentials to v4
johngrimes Jan 28, 2025
1f27037
Add id-token: write permission to fhir-server-3 job
johngrimes Jan 28, 2025
e83ae17
Fixing mock resource datasets for SecurityTestForOperations.
piotrszul Jan 28, 2025
9a80483
Adding "spark.sql.mapKeyDedupPolicy=LAST_WIN" to the test python spar…
piotrszul Jan 28, 2025
3ad9b1b
Adding "spark.sql.mapKeyDedupPolicy=LAST_WIN" to the test python inte…
piotrszul Jan 28, 2025
fe0b1a6
Adding explicit permission to tranche3 to be able to upload test resu…
piotrszul Jan 28, 2025
030735f
Adding more explicit permission to tranche3 to be able to upload test…
piotrszul Jan 28, 2025
1b78a34
Fixing what seems to be threading issues with database mock setup in …
piotrszul Jan 28, 2025
630e4a4
Rewriting the implementation of FHIR terminology function to correctl…
piotrszul Jan 29, 2025
0bfc5f1
Implementing DateArithmeticOperator in columnar approach.
piotrszul Jan 29, 2025
4cb6d8f
Filtering out @TestConfiguration from TestDataImporter component scan…
piotrszul Jan 29, 2025
7c2e28a
Updating version of actions/upload-artifact to @v4.
piotrszul Jan 29, 2025
98d014b
Fixing small issues with javadocs.
piotrszul Jan 29, 2025
54bb8b2
Updating dependcies to fix vulnerabilities:
piotrszul Jan 29, 2025
bac4f02
Updating springboot dependencies to fix vulnerabilities: CVE-2024-38821
piotrszul Jan 29, 2025
6e94320
Reverting spring-boot version changes and inoring: CVE-2024-38821 as …
piotrszul Jan 30, 2025
7472df9
Ignoring CVE-2024-47561:This vulnerability relates to avro support in…
piotrszul Jan 30, 2025
7c1ba99
Adding spark.sql.mapKeyDedupPolicy=LAST_WIN to the R test spark sessi…
piotrszul Jan 30, 2025
9db3a66
Adding spark.sql.mapKeyDedupPolicy=LAST_WIN to R spark session in def…
piotrszul Jan 30, 2025
5032af3
Making creation of docs jar a separate execution to allow for default…
piotrszul Jan 30, 2025
5ab9f4d
Add documentation to Python view method
johngrimes Jan 31, 2025
42c3256
Add SQL on FHIR to the FHIRPath Query page of the documentation
johngrimes Jan 31, 2025
dd424c9
Add Java and Scala examples to FHIRPath query documentation
johngrimes Jan 31, 2025
e05a2a3
Cleaning up diagnostic output.
piotrszul Feb 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -900,7 +900,7 @@ ij_json_keep_indents_on_empty_lines = false
ij_json_keep_line_breaks = true
ij_json_space_after_colon = true
ij_json_space_after_comma = true
ij_json_space_before_colon = true
ij_json_space_before_colon = false
ij_json_space_before_comma = false
ij_json_spaces_within_braces = true
ij_json_spaces_within_brackets = false
Expand Down
17 changes: 15 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -239,12 +239,23 @@ jobs:
fhir-server-3:
name: FHIR server (tranche 3)
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
actions: write
checks: write
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::865780493209:role/PathlingBenchmarkUpload
aws-region: ap-southeast-2
- name: Checkout code
uses: actions/checkout@v4
with:
# This is required so that git-commit-id-plugin can find the latest tag.
fetch-depth: 0
submodules: recursive
- name: Set up JDK
uses: actions/setup-java@v4
with:
Expand Down Expand Up @@ -324,6 +335,8 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
check_name: FHIR server test report 3
fail_on_test_failures: true
- name: Upload SQL on FHIR test report to S3
run: aws s3 cp fhirpath/target/fhir-view-compliance-test.json s3://pathling-benchmark/test-reports/${{ github.ref }}/sof-test-results.json

# This job builds, tests and scans the FHIR server Docker image.
docker-image:
Expand Down Expand Up @@ -591,7 +604,7 @@ jobs:
${{ env.PATHLING_OPTS }}
timeout-minutes: 60
- name: Upload check logs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
if: always()
with:
name: r-check-logs
Expand All @@ -600,7 +613,7 @@ jobs:
lib/R/target/pathling.Rcheck/*.out
lib/R/target/pathling.Rcheck/*.fail
- name: Upload package as artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: r-package
path: lib/R/target/pathling_*.tar.gz
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ _version.py
metastore_db
derby.log
spark-warehouse
.*.crc


#R
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "sql-on-fhir"]
path = sql-on-fhir
url = https://github.com/aehrc/sql-on-fhir-v2.git
9 changes: 9 additions & 0 deletions .trivyignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,12 @@ CVE-2022-1471
# This vulnerability relates to privilege management using spark-submit, which is outside of the
# scope of this solution.
CVE-2023-22946


# This vulnerability relates to WebFlex applications, which are not used in Pathling.
CVE-2024-38821

# This vulnerability relates to avro support in hadoop client runtime, which is not shipped
# with pathling but with Spark. The server docker image which used this version does not use
# avro.
CVE-2024-47561
13 changes: 13 additions & 0 deletions NOTE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@






### For build to work (with Java17):

```bash
export MAVEN_OPTS="-Xmx4g -ea -Duser.timezone=UTC --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED"
```

Possibly change the way test data are generated to use 'exec' instead of java and pass the options there.
2 changes: 1 addition & 1 deletion deployment/helm/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<parent>
<groupId>au.csiro.pathling</groupId>
<artifactId>pathling</artifactId>
<version>7.0.1</version>
<version>7.1.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>helm</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion encoders/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<parent>
<groupId>au.csiro.pathling</groupId>
<artifactId>pathling</artifactId>
<version>7.0.1</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<artifactId>encoders</artifactId>
<packaging>jar</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import java.util.Set;
import au.csiro.pathling.encoders.FhirEncoders;
import lombok.Builder;
import lombok.Data;

Expand Down Expand Up @@ -59,19 +60,5 @@ public class EncodingConfiguration {
*/
@NotNull
@Builder.Default
private Set<String> openTypes = Set.of(
"boolean",
"code",
"date",
"dateTime",
"decimal",
"integer",
"string",
"Coding",
"CodeableConcept",
"Address",
"Identifier",
"Reference"
);

private Set<String> openTypes = FhirEncoders.STANDARD_OPEN_TYPES;
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,37 @@
*/
public class FhirEncoders {

/**
* The reasonable default set of open types to encode with extension values.
*/
public static final Set<String> STANDARD_OPEN_TYPES = Set.of(
"boolean",
"code",
"date",
"dateTime",
"decimal",
"integer",
"string",
"Coding",
"CodeableConcept",
"Address",
"Identifier",
"Reference"
);

/**
* All possible open types in FHIR R4.
*/
public static final Set<String> ALL_OPEN_TYPES = Set.of("base64Binary", "boolean", "canonical",
"code", "date", "dateTime", "decimal", "id", "instant", "integer", "markdown", "oid",
"positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age",
"Annotation", "Attachment", "CodeableConcept", "Coding", "ContactPoint", "Count", "Distance",
"Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio",
"Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor",
"DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact",
"TriggerDefinition", "UsageContext", "Dosage", "Meta");


/**
* Cache of Encoders instances.
*/
Expand Down Expand Up @@ -308,6 +339,24 @@ public Builder withOpenTypes(final Set<String> openTypes) {
return this;
}

/**
* Sets the reasonable default list of types to be encoded for open types, such as extensions.
*
* @return this builder
*/
public Builder withStandardOpenTypes() {
return withOpenTypes(STANDARD_OPEN_TYPES);
}

/**
* Sets the list of all types to be encoded for open types, such as extensions.
*
* @return this builder
*/
public Builder withAllOpenTypes() {
return withOpenTypes(ALL_OPEN_TYPES);
}

/**
* Switches on/off the support for extensions in encoders.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ import scala.reflect.ClassTag
*/
object EncoderBuilder {

val UNSUPPORTED_RESOURCES: Set[String] = Set("Parameters",
"Task", "StructureDefinition", "StructureMap", "Bundle")
val UNSUPPORTED_RESOURCES: Set[String] = Set("Parameters", "StructureDefinition", "StructureMap",
"Bundle")

/**
* Returns an encoder for the FHIR resource implemented by the given class
Expand Down
Loading
Loading