Skip to main content

HMPPS Digital Service Patterns

You can use these patterns to design an HMPPS Digital service that will seamlessly integrate with the HMPPS Digital platform. Application of these patterns in your service will shape the technical design to ensure it works with other platform components and can be monitored, managed and supported effectively within HMPPS Digital.

Application Architecture

Hosting and Application Deployment

  • Host services on MoJ Cloud Platform
  • Create application repositories using standard HMPPS tooling
  • Deploy applications using HMPPS GitHub Actions templates

Monitoring and Alerting

  • Implement infrastructure-level monitoring and alerting using Cloud Platform
  • Implement application-level alerting using Sentry

Analytics

  • Implement application analytics using Application Insights
  • Implement user analytics using Application Insights ‘Click Analytics’

Identity, Authentication and Authorisation

  • Implement user single sign-on using HMPPS Auth
  • Implement platform-level user access controls using HMPPS Auth and identity provider roles
  • Implement internal application user access controls locally
  • Implement service-to-service authentication using HMPPS Auth machine credentials

Communication

Outbound Communication

  • Publish HMPPS Domain Events to inform other services of important activity
  • Publish APIs to provide other HMPPS services with detailed information

Inbound Communication

  • Consume HMPPS Domain Events to understand important activity across the estate

External Communication

  • Exchange data with external parties such as other government agencies using the HMPPS External API

Probation-Specific Patterns

Specific patterns for use when building Probation Digital Services applications

Entry Point Services

  • Provide a summary API for use in entry point services]
  • Provide a UI widget for use in entry point services]

UI and Navigation

  • Implement shared UI components using Probation Front End

Searching

  • Search for People on Probation using Probation Search services
  • Search for supervision history using Probation Search services

Prison-Specific Patterns

Specific patterns for use when building Digital Prisons Services applications

Entry Point Services

  • Implement shared UI and navigation using DPS Connected Services