TIS Onboarding to other Entities/Nations/Organisations
High Level Data Model
Data Separation by Area
KEY: | Narrative |
Unique | There is no overlap in the data. i.e. unique set of records. |
Same list | The same list is used across all entities. |
Unique + Overlap | There is an overlap/subset of data that will exist in more than one entities. |
Unique + Visible | TBD: Where a person overlaps, a view only overlap exists to other entities matching the person overlap |
Same list/filtered view by default | Where there is a long list, preference is to default to a filtered view by the user's entity, but has the ability to take the filter off and see all. |
All (NWD Dataset) | These are managed by the NHS National Workforce Dataset and would be aligned across systems, e.g. on Oriel, TIS or ESR. |
Web-app Area/Domain | TIS | NI | Wales | Scotland | HCS | Pharmacy |
People | Unique + Overlap | Unique + Overlap | Unique + Overlap | Unique + Overlap | Unique | Unique |
Programmes | Unique | Unique | Unique | Unique | Unique | Unique |
Programme memberships | Unique | Unique | Unique | Unique | Unique | Unique |
Posts | Unique | Unique | Unique | Unique | Unique | Unique |
Placements | Unique | Unique | Unique | Unique | Unique | Unique |
Rotations | Unique | Unique | Unique | Unique | Unique | Unique |
References > Sites | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default |
References > Trusts | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default | Same list/filtered view by default |
References > General (sex, religious belief etc.) | All (NWD Dataset) | All (NWD Dataset) | All (NWD Dataset) | All (NWD Dataset) | All (NWD Dataset) | All (NWD Dataset) |
References > Grades | Same list | Same list | Same list | Same list | Unique list | Unique list |
References > Placement Type | Same list | Same list | Same list | Same list | Same list | Same list |
References > Curriculum Sub-type | Same list | Same list | Same list | Same list | Unique list | Unique list |
Specialty | Same list | Same list | Same list | Same list | Unique list | Unique list |
Curriculum | Same list | Same list | Same list | Same list | Unique list | Unique list |
Specialty Group | Same list | Same list | Same list | Same list | Unique list | Unique list |
Assessments | Unique + Overlap | Unique + Overlap | Unique + Overlap | Unique + Overlap | Unique | Unique |
NDW flat tables | Separate NDW DB | Separate NDW DB | Separate NDW DB | Separate NDW DB | Separate NDW DB | Separate NDW DB |
Bulk Uploads Functionality | No duplication of People, Sites, Trusts. | No duplication of People, Sites, Trusts. | No duplication of People, Sites, Trusts. | No duplication of People, Sites, Trusts. | No duplication of People, Sites, Trusts. | No duplication of People, Sites, Trusts. |
Solution Design
Proof of Concept - Access Control List (ACL) Applied to Reference
Proof of Concept - Trust and Site Reference Data with ACL
Current limitations/bugs to address with ACL (PoC)
ACL control not currently applied to pageable lists. Need further dev investigation on solution design/architecture.
A bug introducing spurious entries in acl_sid table on creates/updates of users.
Other Possible solutions?
CQRS (Command Query Responsibility Segregation) Microservices Pattern - TIS - CQRS
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213