Project Summary
UNICEF Primero, Case Management Platform
World-class solution for a global humanitarian problem.
Client
United Nations - UNICEF
Industries
Humanitarian Services
Sector
Non-Governmental Organization
Practice Area
Digital Transformation
Overview

As a technology partner of the United Nations Children’s Fund (UNICEF) since 2013, Quoin has led the development of the open-source Primero platform for case management and incident reporting, which is currently used to deliver child protection services in over 40 countries across Africa, Asia, and the Middle East. Throughout this long-term initiative and other software development projects with national governments and local partners, we have focused on using technology to better engage and support social impact practitioners working both off-site and in the field. We believe this approach helps drive more effective organizations, enabling our clients to improve the delivery of critical social services.

The Need for Change

The United Nations Children’s Fund (UNICEF) is a global leader in international development and humanitarian work with a mandate to protect the welfare of children and mothers, particularly in areas facing natural and man-made crises. As the worldwide number of displaced people increased to over 70 million in 2019 - more than half of them children - UNICEF’s role in ensuring their care and protection is more urgent, yet more challenging, than ever.

UNICEF needed a comprehensive information management system that could handle the immense challenges social workers face in the developing world: from lack of internet connectivity and intermittent power supplies in rural areas, to transient populations that often move from one field office or camp to another, to sensitivity of data and its implications for information sharing, to the security risks inherent to working in conflict zones. All of these on-the-ground difficulties were further compounded by a host of interdependent partner organizations with conflicting priorities. The new information management system would therefore need to go beyond simple data entry and monitoring, and facilitate the day-to-day processes necessary to a range of specializations within humanitarian field work.

In 2013, Quoin was selected as UNICEF’s technology partner in the agency’s effort to overhaul existing case management and incident reporting capabilities. Earlier digital solutions often consisted of building local desktop programs or customizing existing proprietary software, which were both costly and unable to deliver effectively in the humanitarian domain. It was clear that a new approach needed to be taken: the system that Quoin would develop would be a long-term investment and a more sustainable solution. 


To effect such a transformation, we re-engineered UNICEF’s legacy systems to create Primero: a highly configurable, robust, and secure web application and mobile app designed to address the unique needs of UNICEF, its partner organizations, and the humanitarian community. 


As a long-term partner on the Primero initiative, Quoin’s role includes not only maintaining and upgrading the version of Primero currently in use, but also working to develop, deploy, and bring to scale a “next generation” version of the application. The 2020 release of Version 2.0 aims to harness the latest technologies in order to further strengthen Primero’s protection-related data collection, incident monitoring, and case management capabilities.

How Primero Works

Primero offers a rich set of features which can be easily configured for a diverse range of protection contexts, while encouraging internationally accepted best practices.

  • Configurable forms and workflows: Primero’s versatile modular structure allows local system administrators to configure a standard form set to manage their use and roll-out in the field. Primero comes with built-in forms and workflows which conform to global standards for managing beneficiary information in contexts such as Child Protection and Gender-Based Violence. Administrators can easily configure these to reflect their particular program and operational context.
  • Data access management: Strict data access controls complement Primero’s flexible forms and workflows. The platform employs granular role- and form-based access rules to securely manage, analyze, and selectively share applicant and beneficiary data for coalitions of government agencies and organizations providing protective services.
  • Mobile and offline capabilities: Primero works on computers, phones, and tablets, and is built for field workers using the application in areas without internet connectivity or consistent power. Because Quoin designed the newest version of Primero as a Progressive Web Application (PWA), users can edit and save data, even when their device has lost its connection to the internet. This also means that users can work offline without having to download and install a separate mobile application, thus simplifying adoption for end users. Earlier non-PWA versions of Primero are complemented by a separate mobile app to support similar offline functionality.
  • Internationalization: Primero is an internationalized application, which can be localized as needed without any changes to the software. The platform is currently offered in over a dozen languages, including four of the official UN languages (English, Spanish, Arabic, and French), with more planned to be added in Primero 2.0.
  • Interoperability: Primero is built to accommodate data sharing with other social services and information management systems, such as UNHCR’s proGRes platform and the OSCaR case management system.
  • Alerts and Notifications: Users receive in-app alerts and email notifications for important updates to their records, such as new record referrals and pending deadlines for beneficiary assessments. System administrators can configure these reminders to reflect their particular context.
  • Ease of deployment and scaling: Primero is designed to deploy and scale using technologies like Docker and Kubernetes. Because of this, Primero can run on a wide range of hosting environments and easily scale to accommodate increased usage in situations such as registration drives or emergency responses.
  • Application hosting: Primero can be hosted either through an in-country cloud hosting provider, or through the UNICEF cloud. This second option reduces the burden on local ICT staff and streamlines application upgrades and maintenance. UNICEF cloud hosting also includes data protection advantages, due to UNICEF’s specialized legal and technical agreements with its cloud hosting providers.

The initial version of Primero was built on a modern technology stack for web and mobile applications. The Primero application itself is built with Ruby on Rails and runs in an Ubuntu environment, which can be replicated on a standard Windows laptop using the Primero Windows Installer via a virtual machine. The application uses CouchDB as its data store due to its advanced dataset syncing and merging capabilities, and employs SOLR as an intermediary for searching and indexing the data store. Nginx handles all http traffic to and from the application, and a notifier queue built using the EventMachine library handles background maintenance tasks.

The 'Next Generation' of Primero

In 2017, UNICEF and Quoin embarked on a long-term partnership to realize the next phase of the platform’s development and implementation. Under this agreement, Quoin continues to develop, support, and maintain the Primero platform as its uptake accelerates and users and capabilities grow. Our work has involved not only providing continuous support to the 30+ Primero deployments worldwide, but also building a variety of unique enhancements and cutting-edge extensions to the platform - thus establishing it as a truly “next generation” software platform for the humanitarian field.


Primero 2.0

To achieve global scale and recognition of Primero as the premiere software for protection-related information management, it is not enough to focus only on the quantity of Primero-using instances - instead, our ongoing goal is to establish the Primero support model as the most sustainable, intuitive, and cost effective technology option for the global humanitarian and development community. 

To that end, Quoin is currently leading the development of a second major release of Primero, in collaboration with Microsoft and UNICEF, which will include a redesigned user-interface, new features to augment Primero’s functionality, and the deployment of a secure and robust Software as a Service (SaaS) model. As part of our commitment to make Primero more user-friendly overall, we are also working on making it more handicap-accessible through the addition of features like screenreaders for the blind. The new version of Primero will also work as a Progressive Web Application (PWA), eliminating the need for a separate mobile app and enhancing Primero’s overall performance in a mobile-heavy world.


Primero Version 2.0 Architecture
Quoin is leading a comprehensive re-engineering of Primero’s architecture, abandoning CouchDB for PostgreSQL and simplifying the backend API. As shown in the above figure, the Primero SaaS solution runs on top of UNICEF's Microsoft Azure cloud infrastructure, which reinforces the application’s stability, availability, durability, and ease of deployment.

An essential element of our continued support work has been the maintenance of Primero as an open-source platform that is free for contributors to develop and use. We believe that the new SaaS structure will be a major component towards achieving this vision at scale, by streamlining deployments and greatly reducing the technical overhead necessary for organizations to adopt Primero. 

The SaaS "Primero X” package will enable the delivery of application services to partners in the field, while still supporting desktop users of the legacy application. Design challenges include rapidly scaling the application to meet variable global demand, user identity management across multiple partners and institutions, and a steady continuous integration and delivery (CI/CD) process to combat version drift. The platform is leveraging Microsoft Azure and provisions and orchestrates application containers via Docker and Kubernetes. Additionally, it features strict user identity management that relies on OpenID Connect, a modern identity protocol, which supports integration with third party identity providers such as Microsoft's Active Directory, Okta, or Humanitarian ID. Primero will be the first application hosted by UNICEF in this way, and indicates an innovative new direction for the platform’s development and maintenance going forward.


Building Out the Global Platform

As a long-term partner on the Primero initiative, Quoin has worked with national governments and local organizations not only to implement Primero, but also to customize it for a wide range of emergency and development contexts. While Primero’s default workflow and structure was designed to accommodate the essential needs of protection programming, the unique or sensitive nature of an implementation context often necessitates custom software development. A significant part of our work is therefore building major enhancements to the system in order to add functionality specific to contexts such as general social welfare, gender-based violence, family tracing and reunification, family violence tracking, and services for transient migrant populations. 

Contradictory implementation contexts - emergency versus long-term development, or NGO-led versus government-led initiatives - further complicate the process. The challenge becomes balancing our deployment strategy: When registering beneficiaries, do we prioritize rapid uptake or more sustainable capacity building? How do you balance Primero’s data security rules to meet stringent national government laws yet protect client confidentiality? 

There are no one-size-fits-all answers to these issues. Instead, Quoin’s central role in this project means that we often act as a consultant and middleman, helping our implementing partners identify and execute tailored solutions that align with international best practices. 


Major Enhancements: Jordan

One of our most complicated enhancement projects was the implementation of the Family Violence and Tracing System for the Hashemite Kingdom of Jordan. In 2016, Quoin began support of the Jordanian government’s national child protection initiative. Our objective was to leverage Primero into a custom case management and tracking system to combat the country’s plague of domestic abuse. Primero had already been in use in Jordan as part of a separate implementation led by UNICEF and its humanitarian partners to provide emergency services to Syrian refugees. 

To transition Primero’s emergency functionalities to a long-term, government-led system, Quoin had to re-configure Primero to address the unique business processes and challenges involved in confronting domestic abuse cases. We decided to add new features and product configurations so that Primero reinforced Jordanian law and legal workflows, as well as aligned with local data protection regulations. 

Over the course of two mission trips to Amman, our project team diligently met with various Jordanian stakeholders to ensure we understood their needs, from the government ministries to law enforcement and public health officials, to the families at risk themselves. 

As a result of Quoin’s efforts, the Jordanian government’s tailored Family Violence and Tracing System was successfully deployed across the country, with a plan created for the future convergence of this system with the NGO-led emergency response implementation.

Promoting Best Practices

Requirements Gathering and Usability Testing

Successful software development and implementation depend not only on the application’s technical set-up, but also on the non-technical challenges of establishing strong governance structures. For a large-scale information management system as complex as Primero, Quoin’s team took a user-centered and field-based approach to the platform’s design, thus ensuring that all stakeholders were invested in the process.

Traveling to areas where the UN is responding to ongoing crises, such as Sierra Leone and Jordan, we captured requirements directly from discussions with field workers and usability testing with end-users. Throughout these trips, our team introduced local aid workers to Primero and conducted usability tests using eye-tracking technology that monitored workers’ use of the system. This experience allowed us to better understand how users of the system interact with electronic devices and react to the user interface. The process intimacy gained from these trips, along with our consultant’s perspective, enabled us to recognize and prevent potential issues for implementation and workflow efficiency, such as vague user roles or overlong case forms. 

With this data, as well as conversations with stakeholders and the collaboration of UNICEF staff, Quoin’s engineers were able to craft specialized solutions to address users’ concerns about the platform, develop new features, and prioritize various features requested in the field.


Using Agile Methodology for Primero

Projects almost always need to change in order to be successful, and all the more so in the kind of contexts where humanitarian and development projects are implemented. Throughout Primero's evolution as a platform, Quoin has engaged with stakeholders and implementing partners in the field to evaluate and if needed, redefine the system’s functionality. As an application, Primero was designed to be versatile; likewise, Quoin needed to be able to adapt rapidly and effectively to frequent change. 

Quoin recognized early on that the low-resource environment and evolving nature of Primero necessitated an Agile approach to software development and project management. We chose to follow Agile because we knew that it consistently delivers outstanding results. By organizing our process using this flexible mechanism, we were able to expect and even welcome frequent changes to the project scope. Throughout our work on Primero, our team adhered to Agile practices to accommodate the inevitable shifts in functional requirements, scope, and priority.

The Agile approach focuses on flexible project planning to enable us to respond rapidly and effectively to stakeholder feedback and resulting changes in scope or complexity. 

  • Focus development on high-value features: Quoin team members worked with end-users to identify the most basic, yet essential features needed for a functioning system. This helped us deliver a working product early in the process so that it could be tested and adapted efficiently.
  • Test-driven development: As ongoing use in the field clarified user needs and pain points, Quoin conducted extensive usability testing to redefine system requirements and identify early bugs.
  • Iterative process: Quoin addressed user needs through short, incremental development and implementation cycles, which enabled us to deliver feature deployments regularly and adapt to changes on-time and on-budget.
  • Close collaboration between stakeholders and project teams: Traveling to deployment sites and conducting field-level trainings and tests, the Quoin team worked hard to build relationships, promote effective communication, and encourage the active participation of all stakeholders. Facilitating strong partner buy-in through these means proved crucial to the success of a complex project like Primero.

As a result, with minimum turnaround time, our Primero team was able to deliver robust software, keep the project aligned with user needs at minimum expense, and translate feedback into better results for our stakeholders.


An Ongoing Commitment to Change

Our team looks forward to maintaining and supporting the platform’s current users, developing new features to augment Primero’s functionality, and assisting UNICEF and its partners in implementing technical solutions and business processes that will allow them to harness the full potential of the Primero platform in the future.