
Andy Marke engineered robust data migration and synchronization workflows for the ministryofjustice/hmpps-prisoner-from-nomis-migration repository, focusing on seamless integration between NOMIS and DPS systems. He designed and refactored core services to support scalable event-driven architectures, implementing Kotlin and Java for backend development and leveraging AWS SQS for reliable messaging. Andy introduced paginated API models, mapping services, and asynchronous repair endpoints to ensure data integrity and operational resilience. His work included cleaning up legacy endpoints, enhancing telemetry, and optimizing migration flows for court cases, visits, and prisoner restrictions. The solutions delivered maintainable, testable pipelines that improved cross-system data consistency.

November 2025 monthly summary for the ministryofjustice/hmpps-prisoner-from-nomis-migration repository focusing on delivering core NOMIS integration capabilities, refactoring for scalability, and cleanup of legacy endpoints. The work delivered strengthens data integrity in the prisoner migration pipeline, improves API reliability, and reduces technical debt while enabling faster iterations and easier maintenance.
November 2025 monthly summary for the ministryofjustice/hmpps-prisoner-from-nomis-migration repository focusing on delivering core NOMIS integration capabilities, refactoring for scalability, and cleanup of legacy endpoints. The work delivered strengthens data integrity in the prisoner migration pipeline, improves API reliability, and reduces technical debt while enabling faster iterations and easier maintenance.
October 2025 performance summary: Delivered major data repair and synchronization capabilities across NOMIS and DPS ecosystems, anchored by the NOMIS Court Case Repair and Synchronization feature and supporting mapping and test data enhancements. Implemented a new prisoner court case resynchronization endpoint to enable emergency re-migration when NOMIS data drifts. Expanded event-driven data flows by introducing official visits data migration/integration and booking deletion notifications across environments, underpinned by robust queues, DLQs, and IAM controls. Also completed API documentation updates and reliability improvements such as reducing default timeouts to enhance operational resilience. These efforts collectively improved data integrity, resilience, and time-to-remediate for court-related data.
October 2025 performance summary: Delivered major data repair and synchronization capabilities across NOMIS and DPS ecosystems, anchored by the NOMIS Court Case Repair and Synchronization feature and supporting mapping and test data enhancements. Implemented a new prisoner court case resynchronization endpoint to enable emergency re-migration when NOMIS data drifts. Expanded event-driven data flows by introducing official visits data migration/integration and booking deletion notifications across environments, underpinned by robust queues, DLQs, and IAM controls. Also completed API documentation updates and reliability improvements such as reducing default timeouts to enhance operational resilience. These efforts collectively improved data integrity, resilience, and time-to-remediate for court-related data.
Month 2025-09 focused on stabilizing message processing, documenting critical workflows, and strengthening runbook guidance. Key work included addressing DLQ handling for sentencing messages, documenting court case cloning and duplicate handling, hardening report generation against transient API failures, and improving runbooks for NOMIS-DPS terminology and data sync.
Month 2025-09 focused on stabilizing message processing, documenting critical workflows, and strengthening runbook guidance. Key work included addressing DLQ handling for sentencing messages, documenting court case cloning and duplicate handling, hardening report generation against transient API failures, and improving runbooks for NOMIS-DPS terminology and data sync.
Month: 2025-08 focused on strengthening data integrity, reliability, and cross-system collaboration between NOMIS and DPS. Delivered batch-based court appearance mappings, improved notification orchestration for cloned cases and recalls, and implemented recall cloning for older bookings to preserve data fidelity. Implemented a comprehensive resynchronisation engine for case bookings and introduced DPS-to-NOMIS data migration capabilities. Aligned NOMIS API schemas by removing lidsCaseNumber, and added a staggered retry mechanism to ensure resilient event processing. These changes improved telemetry, idempotency, and end-to-end processing, delivering tangible business value through safer data migrations, reduced retry storms, and faster issue detection.
Month: 2025-08 focused on strengthening data integrity, reliability, and cross-system collaboration between NOMIS and DPS. Delivered batch-based court appearance mappings, improved notification orchestration for cloned cases and recalls, and implemented recall cloning for older bookings to preserve data fidelity. Implemented a comprehensive resynchronisation engine for case bookings and introduced DPS-to-NOMIS data migration capabilities. Aligned NOMIS API schemas by removing lidsCaseNumber, and added a staggered retry mechanism to ensure resilient event processing. These changes improved telemetry, idempotency, and end-to-end processing, delivering tangible business value through safer data migrations, reduced retry storms, and faster issue detection.
July 2025 performance summary: Delivered robust cross-system improvements in prisoner restrictions management and migration tooling across three repositories, delivering measurable business value through data integrity, automation, and scalable event-driven updates. Key outcomes include end-to-end restrictions synchronization, enhanced recall processing accuracy, and improved deployment reliability across environments.
July 2025 performance summary: Delivered robust cross-system improvements in prisoner restrictions management and migration tooling across three repositories, delivering measurable business value through data integrity, automation, and scalable event-driven updates. Key outcomes include end-to-end restrictions synchronization, enhanced recall processing accuracy, and improved deployment reliability across environments.
June 2025 monthly summary focused on delivering cross-repo data integrity for prisoner records, recall management, and deployment automation. Highlights include end-to-end data lifecycle improvements between NOMIS and DPS, robust handling of deletions and recall events, and telemetry-enabled monitoring for critical workflows.
June 2025 monthly summary focused on delivering cross-repo data integrity for prisoner records, recall management, and deployment automation. Highlights include end-to-end data lifecycle improvements between NOMIS and DPS, robust handling of deletions and recall events, and telemetry-enabled monitoring for critical workflows.
May 2025 performance summary focused on delivering data integrity, efficient data repair processes, and reliable recall/NOMIS synchronization across migration and platform environments. The month saw substantial business value realized through safer data repair, improved migration workflows, end-to-end recall processing, and cross-environment readiness with telemetry and feature flags.
May 2025 performance summary focused on delivering data integrity, efficient data repair processes, and reliable recall/NOMIS synchronization across migration and platform environments. The month saw substantial business value realized through safer data repair, improved migration workflows, end-to-end recall processing, and cross-environment readiness with telemetry and feature flags.
April 2025 monthly summary: Across two repositories, delivered substantial features that strengthen data integrity, reconciliation, and automation, while reducing operational risk and technical debt. Key features delivered include: 1) End-to-end court sentencing data synchronization on prisoner/offender merges with NOMIS integration, including event listening, NOMIS data fetch, case creation/deactivation, handling linked cases, multi-charge transformations, and telemetry for merge outcomes. 2) DPS/NOMIS contacts synchronization enabled via feature flags with improved mapping workflows to ensure accurate relationships and contacts across systems. 3) Unified DPS contact reconciliation API endpoint to reduce redundant calls, plus NOMIS-DPS reconciliation totals validation and telemetry to surface mismatches. 4) Reconciliation enhancements: per-type pagination configuration and concurrency improvements for NOMIS reconciliation, with enhanced telemetry on totals and pages processed. 5) Person reconciliation optimized with Kotlin coroutines and channels for parallel processing, plus expanded telemetry. 6) Scheduled NOMIS contact sync jobs deployed and obsolete Contacts API flags retired to shift data handling to NOMIS. Major bugs fixed include: 1) Correct PUT response handling for sentence updates in CourtSentencingDpsApiService. 2) DLQ false positives resolved by skipping deletions when hearing mappings are not found. 3) Organization synchronization feature flag naming inconsistencies fixed across development, pre-production, and production environments. Overall impact: improved data integrity and merge outcomes, more reliable cross-system synchronization, reduced noise in error queues, and scalable reconciliation with better observability. Technologies/skills demonstrated: NOMIS integration, event-driven architectures, Kotlin coroutines and channels, telemetry instrumentation, feature flag governance, environment-specific configuration, and cron-based batch processing."
April 2025 monthly summary: Across two repositories, delivered substantial features that strengthen data integrity, reconciliation, and automation, while reducing operational risk and technical debt. Key features delivered include: 1) End-to-end court sentencing data synchronization on prisoner/offender merges with NOMIS integration, including event listening, NOMIS data fetch, case creation/deactivation, handling linked cases, multi-charge transformations, and telemetry for merge outcomes. 2) DPS/NOMIS contacts synchronization enabled via feature flags with improved mapping workflows to ensure accurate relationships and contacts across systems. 3) Unified DPS contact reconciliation API endpoint to reduce redundant calls, plus NOMIS-DPS reconciliation totals validation and telemetry to surface mismatches. 4) Reconciliation enhancements: per-type pagination configuration and concurrency improvements for NOMIS reconciliation, with enhanced telemetry on totals and pages processed. 5) Person reconciliation optimized with Kotlin coroutines and channels for parallel processing, plus expanded telemetry. 6) Scheduled NOMIS contact sync jobs deployed and obsolete Contacts API flags retired to shift data handling to NOMIS. Major bugs fixed include: 1) Correct PUT response handling for sentence updates in CourtSentencingDpsApiService. 2) DLQ false positives resolved by skipping deletions when hearing mappings are not found. 3) Organization synchronization feature flag naming inconsistencies fixed across development, pre-production, and production environments. Overall impact: improved data integrity and merge outcomes, more reliable cross-system synchronization, reduced noise in error queues, and scalable reconciliation with better observability. Technologies/skills demonstrated: NOMIS integration, event-driven architectures, Kotlin coroutines and channels, telemetry instrumentation, feature flag governance, environment-specific configuration, and cron-based batch processing."
Concise monthly summary for 2025-03 focusing on delivered business value, technical achievements, and impact. Highlights include end-to-end data synchronization between NOMIS and DPS for employment records, comprehensive prisoner contact reconciliation and merge capabilities, and a strengthened organisation reconciliation framework along with robust DPS employment event integration. Production risk reduced through targeted config cleanup and paging improvements to DPS endpoints.
Concise monthly summary for 2025-03 focusing on delivered business value, technical achievements, and impact. Highlights include end-to-end data synchronization between NOMIS and DPS for employment records, comprehensive prisoner contact reconciliation and merge capabilities, and a strengthened organisation reconciliation framework along with robust DPS employment event integration. Production risk reduced through targeted config cleanup and paging improvements to DPS endpoints.
February 2025: Completed major API migrations and organisation data integrations, established real backend endpoints, and hardened data reconciliation with targeted bug fixes, delivering measurable business value in API stability, data integrity, and operational efficiency.
February 2025: Completed major API migrations and organisation data integrations, established real backend endpoints, and hardened data reconciliation with targeted bug fixes, delivering measurable business value in API stability, data integrity, and operational efficiency.
January 2025 performance summary for developer contributions focusing on scalable data integration, API contract clarity, and testing improvements across three repositories. Deliveries strengthened NOMIS data workflows, prepared corporate data migration capabilities, and improved reconciliation performance, all while enabling robust testing scenarios and future activation of new features.
January 2025 performance summary for developer contributions focusing on scalable data integration, API contract clarity, and testing improvements across three repositories. Deliveries strengthened NOMIS data workflows, prepared corporate data migration capabilities, and improved reconciliation performance, all while enabling robust testing scenarios and future activation of new features.
2024-12 monthly summary focusing on expanding API surface, data integrity, and migration readiness across two repositories. Key outcomes: - Significant features delivered for Contacts API (new resources and full CRUD, including contact-phone, contact-identity, prisoner-contact-restriction, contact-restriction, plus updates to contact fields and deprecation cleanup). - Repair endpoint implemented to restore NOMIS alert integrity from DPS, improving operational resilience. - Comprehensive prisoner-to-nomis migration work: handling PERSON_IDENTIFIERS-INSERTED and -UPDATED, processing PERSON and related records (OFFENDER_CONTACT, ADDRESSES_PERSON, PHONES_PERSON, INTERNET_ADDRESSES_PERSON, PERSON_IDENTIFIERS-UPDATED), upserts for PERSON_RESTRICTION and VISITOR_RESTRICTION, addition of person restriction endpoints, deletion support, and auditing (including "Entered By" usage). - Telemetry reorganization and observability improvements with a current-term flag for adjustments and versioning for upserted entities. - Mock simplification and data processing improvements across NOMIS mocks and related events, reducing noise and improving test reliability. Business value delivered: - Faster integration with external systems via expanded and more capable Contacts API and robust data repair workflows. - Higher data integrity and traceability across identity, restrictions, and contact data, supporting compliance and reporting. - Greater maintainability and observability through telemetry restructuring and versioned changes.
2024-12 monthly summary focusing on expanding API surface, data integrity, and migration readiness across two repositories. Key outcomes: - Significant features delivered for Contacts API (new resources and full CRUD, including contact-phone, contact-identity, prisoner-contact-restriction, contact-restriction, plus updates to contact fields and deprecation cleanup). - Repair endpoint implemented to restore NOMIS alert integrity from DPS, improving operational resilience. - Comprehensive prisoner-to-nomis migration work: handling PERSON_IDENTIFIERS-INSERTED and -UPDATED, processing PERSON and related records (OFFENDER_CONTACT, ADDRESSES_PERSON, PHONES_PERSON, INTERNET_ADDRESSES_PERSON, PERSON_IDENTIFIERS-UPDATED), upserts for PERSON_RESTRICTION and VISITOR_RESTRICTION, addition of person restriction endpoints, deletion support, and auditing (including "Entered By" usage). - Telemetry reorganization and observability improvements with a current-term flag for adjustments and versioning for upserted entities. - Mock simplification and data processing improvements across NOMIS mocks and related events, reducing noise and improving test reliability. Business value delivered: - Faster integration with external systems via expanded and more capable Contacts API and robust data repair workflows. - Higher data integrity and traceability across identity, restrictions, and contact data, supporting compliance and reporting. - Greater maintainability and observability through telemetry restructuring and versioned changes.
November 2024 performance highlights: Delivered end-to-end DPS integration for NOMIS prisoner contact data, including contact person migration with new DTOs, API updates, PERSON-INSERTED handling, error handling, telemetry, and email flow. Implemented DPS-based creation and mapping of offender/prisoner contacts with robust retry logic. Built DPS address management and mapping to synchronize NOMIS addresses with DPS, including retriable mappings. Migrated phone numbers to DPS with NOMIS-ID-based mappings and support for creating new phone mappings. Enhanced cross-system synchronization by integrating contacts-api events (contact.created, prisoner-contact.created) with NOMIS, updating DTOs, enabling contact emails flow, and expanding test coverage. Added a repair endpoint to resynchronize sentencing adjustments with active-status propagation and telemetry. Collectively, these changes improve data consistency across DPS and NOMIS, reduce manual intervention, and strengthen observability and resilience.
November 2024 performance highlights: Delivered end-to-end DPS integration for NOMIS prisoner contact data, including contact person migration with new DTOs, API updates, PERSON-INSERTED handling, error handling, telemetry, and email flow. Implemented DPS-based creation and mapping of offender/prisoner contacts with robust retry logic. Built DPS address management and mapping to synchronize NOMIS addresses with DPS, including retriable mappings. Migrated phone numbers to DPS with NOMIS-ID-based mappings and support for creating new phone mappings. Enhanced cross-system synchronization by integrating contacts-api events (contact.created, prisoner-contact.created) with NOMIS, updating DTOs, enabling contact emails flow, and expanding test coverage. Added a repair endpoint to resynchronize sentencing adjustments with active-status propagation and telemetry. Collectively, these changes improve data consistency across DPS and NOMIS, reduce manual intervention, and strengthen observability and resilience.
Overview of all repositories you've contributed to across your timeline