top of page

Payment calculation programme

Since January 2020, Talent Consulting has been supporting the Prisoner Escort and Custody Services programme to deliver ‘Book a Secure Move,’ enabling the transfer of individuals within the criminal justice system.

The Ministry of Justice faced challenges with payment calculations, relying on supplier invoices and spreadsheets to audit and price new journeys within a 'Journey Price Catalogue.' Assurance and Finance teams manually checked and verified around 5,000 monthly moves, adding significant workload.

This project required integration with third-party suppliers via a RESTful API, adherence to the Technology Code of Practice, and compliance with GDS Service Standards. It also needed alignment with existing Digital Prison Service tools, including the Prison API and Auth Service, and deployment on the Ministry of Justice’s Kubernetes (AWS, EKS) Cloud Platform.

Uncovering user needs and business requirements

During initial research, our objectives were to uncover requirements, dependencies, and opportunities for improved data quality and efficiency. We conducted focus groups along with individual user and stakeholder interviews to understand the processes, workflow, user needs and business requirements.

 

We created a service map of the existing process, recording the different users (whether Commercial, Assurance or Finance), the tasks they’d need to perform, and the systems that would need to work together to make those tasks happen. As part of this service map, we logged all the pain points and issues users were having, which became our basis for the MVP and was used to inform what our front-end service should look like.

Business Meeting

Ensuring an easy-to-use service that is consistent

To provide a consistent look and feel for users, we used the same design patterns as the ones we’d created for the ‘Book a Secure Move’ service and conducted usability testing with real users in order to refine our solutions over multiple iterations. During the coronavirus pandemic, we seamlessly switched to remote testing, minimising any disruption to progress.

Find out more about our approach to user centred digital services

Making sure everybody could use the service

We developed ‘Book a Secure Move’ to GDS Service Standards and meet Accessibility and Assisted digital needs, implementing WCAG2.1 guidelines to ensure the service could be used by those with visual, hearing, cognitive or physical impairments.

Find out more about our approach to user centred digital services

riaima_03179_httpss.mj.run5CvHkoAiGNI_httpss.mj.runzCLX5zs6xFs__aaef176d-7899-4f18-a284-ad
Talent Consulting were able to deliver the complete service in just 12 weeks.

This was achievable due to the small size of our team, which allows us to stay nimble and quickly action any changes.

As part of this project, we developed the ‘Calculate Journey Variable Payments’ service, integrating data from ‘Book a Secure Move’ to automatically price moves monthly. This enables Ministry of Justice Finance, Assurance and Commercial teams to ensure supplier invoices are correct.

 

Since then, we have received overwhelmingly positive feedback from senior-level stakeholders. The service removed the need to manually check all standard moves, allowing teams to focus on more complicated moves, while ensuring correct pricing and payments to suppliers on a per move basis, reducing the requirement to manually audit supplier invoices. The Finance team no longer needs to assure pricing and can now focus on forecasting and budgeting.

97%

of the moves are now automatically costed and do not need to be assured by operational teams.

1.5k

new unique journeys are being added each month – meaning they will automatically be costed in the future.

Privacy

All sensitive information is now completely secure.

Thank you for the excellent work, perseverance and super-human effort seen across the teams to deliver the significant solutions and services which have been provided on behalf of the PECS Generation 4 Programme so far. The systems, engagement, supporting services and continued improvements that have been delivered to colleagues across the justice estate have proven to be not only well received, but also facilitating significant positive change in this environment.

Robert Urquhart, Senior Business Change Lead

Ministry of Justice

Integration of Technical Solutions

Calculating accurate payments for moves across the criminal justice system

Ministry of Justice

MoJ

Our services

Advisory &
Discovery

Whether you're starting afresh or need to enhance existing systems, we provide expert guidance to help you define the right strategy from the outset.

Digital
Transformation

We take a holistic approach, seamlessly integrating technology, business strategy, and user needs to create digital solutions that work.

Agile Project
Delivery

We ensure that your projects are completed on time, within budget, and with a focus on flexibility, collaboration, and continuous improvement.

Training &
Upskilling

We empower your teams with the knowledge and tools they need to upskill and keep you better equipped for long-term success.

Aligning the technology stack

To align with HMPPS’s technology stack, we developed the JPC using Spring Boot and Kotlin (a JVM based language). We used Gradle to define our build file and library dependencies, Spring Security for integration with the single sign-on Auth Service (this handled the OAuth2 dance, parsed JWTs and ensure users had authorisation to use the service).

 

We used Apache POI for parsing and creating Excel spreadsheets and provided RESTful web service integration using Spring MVC. We used Spring Data and JPA to store and retrieve data from a Postgres database and used the AWS Java SDK to retrieve reporting data from blob storage (S3). Unit tests (Junit, assert4j, Mockito) ran in the cloud platform’s Circle CI instance (alerting any issues to Slack), and Docker images were built upon success and deployed to the Kubernetes cluster (EKS).

We configured the infrastructure via code (Terraform, Helm Charts, Kubernetes Secretes, gitcrypt). Logging was via Application Insights and we enhanced this with Elastic APM for further monitoring.
 
We used Sentry for alerting and held daily meetings to discuss logs and alerts and prioritise support issues. From the start we ensured all code was clean and well tested. We made good use of Kotlin’s features including favouring concise, functional programming, preferring immutable objects, preventing reassignment of variables and preventing unexpected null access.
 
This made for a codebase that was easy to reason with and less likely to contain bugs. We worked closely with developers from HMPPS to ensure all frameworks and libraries adhered to their technology stack and cloud hosting platform, and successfully handed the service over to their developers after the delivery phase.

bottom of page