-
Notifications
You must be signed in to change notification settings - Fork 9
Ops tools #4783
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
Conversation
This file contains hidden or 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
misaka
approved these changes
Oct 2, 2025
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.
le'sgo!!!
Introduces a TimelineRecords class that collects and displays a chronological view of patient-related events across multiple record types. Features configurable detail display, audit trail integration, and privacy controls to ensure no PII is exposed.
Implements a front-end interface for the TimelineRecords module with: - Interactive filters for event types and detail levels - Tabular timeline view with chronological grouping - Controller and views in the Inspect::Timeline namespace - Routes restricted to test environments only - Comparison view to analyze events between patients
…n is selected Changed the default behavior of the sample_patient function to return nil when no comparison option is provided, instead of raising an error. Added a meaningful error message when an invalid comparison option is chosen.
A show_pii flag allows optional exclusion of personally-identifiable information from the event details and audited changes relating to a patient. This has been set to false by default in the controller, but can be toggled on or off with a check box in the UI.
Refactor details and audits config for TimelineRecords to make it mroe readable. The PII fields are separated and merged into the base fields to created "with_pii" variables
This checks that the correct endpoints exist/are hidden in certain environments
The data structure has changed notably since this code was initially written. This now matches the new data structure.
Add a support fallback role to the User model to enable controlled access to ops tools.
This prevents any user without a "support" role from visiting the inspect endpoint. Support users have to belong to certain NHSE ODS code in CIS2, an appropriate support workgroup and CIS2 roles, which gives them the appropriate access. Activity codes are also checked. Support users cannot access any of the other endpoints in the service. They will be redirected to an operational support dashboard in these cases.
With CIS2 support user logins andd authentication, we no longer need to constrain the rendering of ops pages to non-prod envs only.
- Add new enum values to AccessLogEntry: timeline/graphs controllers and show_pii action
- Add new request_details column to AccessLogEntry
- Log fields accessed during a request which accessed PII - Log whether audits were enabled - Create an access log if a patient is being compared in the timeline view, only if the compared patient is valid.
- Log PII access for all patients whose PII is present in the graph - Restrict what counts as PII (location information and vaccine batch information is not on its own sufficient) - Log additional information about main target of request - Do not display additional IDs in the graph if the type corresponding to the ID is not in traversal tree
- Adds tests for the graph and timeline view for auditing PII access
This will allow us to switch the operational tools on/off. This should let us get the code into production much sooner, and potentially allow an extended testing period if required.
misaka
reviewed
Oct 3, 2025
|
misaka
approved these changes
Oct 3, 2025
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.
This branch is the combination of all of the ops tools' branches, to allow them to be merged into
next
simultaneously:MAV-1686
Post-release tasks
ops_tools