Skip to main content

Technical documentation for the Get Information about Schools service.

Analysis Report And Filter Visibility

This page explains the visibility model for saved establishment filters and recent filter or extract links.

Scope

This model covers:

  • saved establishment filters;
  • field criteria that define filters;
  • recent filter and extract links for users;
  • user and user-group ownership context.

Analysis-report tables are not shown in the diagram because the table-usage evidence marks AnalysisReport as an assumed not-used candidate.

How To Read This Model

  • A saved filter records both a creator username and a creator group.
  • The creator group is used as part of the filter visibility model.
  • Filter criteria are attached to a saved filter and refer to logical establishment fields.
  • Favourite rows behave as recent quick links for an internal user.

Application-Derived Insights

  • Saved-filter visibility is partly personal and partly group based.
  • A user’s current group can affect which saved filters they can discover.
  • Direct access to an item by identifier and list visibility should be treated as separate authorisation questions.
  • The future model should make owner, sharing audience and direct-access checks explicit.

Saved Filter Visibility

erDiagram UserRole { nvarchar authority PK nvarchar caption } UserGroup { nvarchar code PK nvarchar name nvarchar role FK } SystemUser { nvarchar username PK nvarchar UserGroupCode FK } EstablishmentFilter { numeric id PK nvarchar name nvarchar creatorUsername nvarchar creatorGroup_code FK nvarchar bringUpField FK } FieldCriterion { numeric id PK nvarchar criterionType nvarchar field_shortName FK numeric filter_id FK } Favourite { numeric id PK nvarchar type nvarchar user_username FK numeric filter_id FK datetime lastAccessDate } UserRole ||--o{ UserGroup : broad_role UserGroup ||--o{ SystemUser : has_users UserGroup ||--o{ EstablishmentFilter : creator_group SystemUser ||..o{ EstablishmentFilter : inferred_creator_username EstablishmentFilter ||--o{ FieldCriterion : filter_definition SystemUser ||--o{ Favourite : user_recent_item EstablishmentFilter ||--o{ Favourite : recent_filter

EstablishmentFilter

Business-friendly pattern:

For this reusable establishment selection,
which criteria define it,
which user created it,
and which user group may discover or reuse it?

FieldCriterion

Business-friendly pattern:

For this saved establishment filter,
which logical establishment field is being tested,
what type of test should be performed,
and what value should it be tested against?

Favourite

Business-friendly pattern:

For this internal user,
which saved filters or scheduled extracts have they used recently,
so they can be shown as quick links?

Reading This Diagram

Use this model to separate filter ownership from field-level access. A saved filter may be visible because of creator or group rules, but the fields inside the filter still need to be checked against the user’s field permissions.