-
Notifications
You must be signed in to change notification settings - Fork 528
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
[Feature] Subscriptions engine #4628
Open
brendankowitz
wants to merge
51
commits into
main
Choose a base branch
from
feature/subscription-engine
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Improve fhirtimer * Subscription infra * Fixes wiring up of Transaction Watchdog => Orchestrator * Adding code for writing to storage * Allow resourceKey to deserialize * Implement basic subscription filtering * Implements Channel Interface * Add example subscription * DataLakeChannel. * Changes in DataLakeChannel and the project config. * Load from DB * EventGrid WIP * Improve fhirtimer * Fixes for subscriptionwatchdog * Aligns dotnet sdk version for build * Adds subscription to docker build * Adds SearchQueryInterpreter * set up notification manager * Cleanup of SearchQueryInterpreter * integrate in memory search with filter search for subscriptions * resolve notification manager build errors * set up notification manager * integrate in memory search with filter search for subscriptions * resolve notification manager build errors * remove build error in webhook channel * rename webhook channel name * set up notification manager * integrate in memory search with filter search for subscriptions * resolve notification manager build errors * set up notification manager * resolve notification manager build errors * remove build error in webhook channel * rename webhook channel name * in memory search test set up * subscription orchestrator job test checks for id * subscription orchestator job only sends filtered resources instead of all resources * new test for patient name filter * add a failing test * rename tests for subscription orchestrator job * remove web hook code * move test to r4 folder * Improve fhirtimer * Subscription infra * Fixes wiring up of Transaction Watchdog => Orchestrator * Adding code for writing to storage * Allow resourceKey to deserialize * Implement basic subscription filtering * Implements Channel Interface * Add example subscription * DataLakeChannel. * Changes in DataLakeChannel and the project config. * Load from DB * EventGrid WIP * Improve fhirtimer * Fixes for subscriptionwatchdog * Aligns dotnet sdk version for build * Adds subscription to docker build * Adds SearchQueryInterpreter * Cleanup of SearchQueryInterpreter * clean up merge * fix merge conflict params in orchestra job --------- Co-authored-by: Brendan Kowitz <[email protected]> Co-authored-by: Fernando Henrique Inocêncio Borba Ferreira <[email protected]>
* Improve fhirtimer * Subscription infra * Fixes wiring up of Transaction Watchdog => Orchestrator * Adding code for writing to storage * Allow resourceKey to deserialize * Implement basic subscription filtering * Implements Channel Interface * Add example subscription * DataLakeChannel. * Changes in DataLakeChannel and the project config. * Load from DB * EventGrid WIP * Improve fhirtimer * Fixes for subscriptionwatchdog * Aligns dotnet sdk version for build * Adds subscription to docker build * Adds SearchQueryInterpreter * set up notification manager * Cleanup of SearchQueryInterpreter * integrate in memory search with filter search for subscriptions * resolve notification manager build errors * set up notification manager * integrate in memory search with filter search for subscriptions * resolve notification manager build errors * remove build error in webhook channel * rename webhook channel name * set up notification manager * integrate in memory search with filter search for subscriptions * resolve notification manager build errors * set up notification manager * resolve notification manager build errors * remove build error in webhook channel * rename webhook channel name * in memory search test set up * subscription orchestrator job test checks for id * subscription orchestator job only sends filtered resources instead of all resources * new test for patient name filter * add a failing test * rename tests for subscription orchestrator job * remove web hook code * set up validation for subscriptions * remove rest hook channel temporarily * add generic notify method * setup for creating bundles * create subscription bundle for notification events * set up heartbeat and handshake * add notification bundle for rest hook channel and pass in additional fields for subscriptions * handshake method for subscriptions * set up heartbeat * set up heartbeat background service and validation * modify subscriptionUpdator to convert resource into element node to edit * build contect for url resolver * cleanup handshake and heatbeat implementation * cleanup duplicated test files * rename fhir context and tests --------- Co-authored-by: Brendan Kowitz <[email protected]> Co-authored-by: Fernando Henrique Inocêncio Borba Ferreira <[email protected]>
…osoft/fhir-server into feature/subscription-engine
03cebf3
to
dc0d6c9
Compare
…engine # Conflicts: # src/Microsoft.Health.Fhir.Core/Configs/CoreFeatureConfiguration.cs # src/Microsoft.Health.Fhir.Shared.Web/appsettings.json # src/Microsoft.Health.Fhir.SqlServer/Features/Watchdogs/DefragWatchdog.cs # src/Microsoft.Health.Fhir.SqlServer/Features/Watchdogs/WatchdogsBackgroundService.cs
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.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Describe the changes in this PR.
This PR includes changes from: #3814 (which could be merged first to reduce the complexity)
Related issues
Addresses [issue #].
Testing
Describe how this change was tested.
FHIR Team Checklist
Semver Change (docs)
Patch|Skip|Feature|Breaking (reason)