Skip to content

Conversation

alistair-white-horne-tng
Copy link
Contributor

@alistair-white-horne-tng alistair-white-horne-tng commented Oct 2, 2025

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

  • Switch on feature flag ops_tools

@alistair-white-horne-tng alistair-white-horne-tng added this to the v4.6.0 milestone Oct 2, 2025
@alistair-white-horne-tng alistair-white-horne-tng requested a review from a team as a code owner October 2, 2025 16:58
@alistair-white-horne-tng alistair-white-horne-tng added operations Improving live support feature New functionality labels Oct 2, 2025
Copy link
Contributor

@misaka misaka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

le'sgo!!!

murugapl and others added 23 commits October 3, 2025 15:52
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.
samcoy3 and others added 3 commits October 3, 2025 15:52
- 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.
Copy link

sonarqubecloud bot commented Oct 3, 2025

@benilovj benilovj enabled auto-merge October 3, 2025 16:37
@benilovj benilovj merged commit e0bc033 into next Oct 3, 2025
16 of 17 checks passed
@benilovj benilovj deleted the ops-tools branch October 3, 2025 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New functionality operations Improving live support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants