-
Notifications
You must be signed in to change notification settings - Fork 2
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
Gateway ext. enhancements | Search by REL Sync strategy performance optimizations #79
Conversation
- Remove duplicate parameters
- Chunk search by REL sync location request parameters
- Out of bound exception on REL requests - Fix REL resource GET by id request - Return correct bundle SELF LINK url
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #79 +/- ##
============================================
- Coverage 45.01% 44.30% -0.72%
- Complexity 130 135 +5
============================================
Files 16 16
Lines 1213 1316 +103
Branches 146 156 +10
============================================
+ Hits 546 583 +37
- Misses 600 667 +67
+ Partials 67 66 -1 ☔ View full report in Codecov by Sentry. |
- Remove this since doesn't work on current server versions
d9abbe1
to
979018b
Compare
return locationIds.parallelStream() | ||
.map( | ||
locationId -> | ||
getLocationHierarchy( | ||
locationId, preFetchAdminLevels, postFetchAdminLevels)) | ||
.collect(Collectors.toList()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
@@ -108,7 +108,7 @@ private Bundle getAttributedPractitionerDetailsByPractitioner(Practitioner pract | |||
|
|||
List<LocationHierarchy> locationHierarchies = | |||
getLocationsHierarchy(supervisorCareTeamOrganizationLocationIds); | |||
List<String> attributedLocationsList = getAttributedLocations(locationHierarchies); | |||
Set<String> attributedLocationsList = getAttributedLocations(locationHierarchies); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the use of sets here.
private final List<String> roles; | ||
private IgnoredResourcesConfig config; | ||
private final String keycloakUUID; | ||
private final Gson gson = new Gson(); | ||
private FhirContext fhirR4Context; | ||
private final IParser fhirR4JsonParser; | ||
private IGenericClient fhirR4Client; | ||
private static final int REL_LOCATION_CHUNKSIZE = 20; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this configurable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No it isn't and I don't think it should be at the moment since this is where the Large URI Exception stems from. We want it to be the least highest possible value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense
fhirR4Client.getFhirContext().getRestfulClientFactory().setConnectionRequestTimeout(300000); | ||
fhirR4Client.getFhirContext().getRestfulClientFactory().setSocketTimeout(300000); | ||
|
||
int subListSize = 100; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it make sense to move this to the Constants?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool let me move it to the inner Constants class at the bottom. Should be internal to the class and also should not be re-configured so as not to impact the proxy to FHIR server communication (Based on tests we did with SRE this was the optimal pagination value for server resources deployed for ESM MG Preview)
We could however make it configurable but with a caveat on how it could impact stability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update done. We can introduce configurability at some point.
IMPORTANT: Where possible all PRs must be linked to a Github issue
Resolves #78
Engineer Checklist
bug fixes
option(s) on the
README.md
mvn spotless:check
to check my code follows the project'sstyle guide
mvn clean test jacoco:report
to confirm the coverage reportwas generated at
plugins/target/site/jacoco/index.html
mvn clean package
right before creating this pull request.