Under the hood: Building a low-code digital service with Digital Process Automation
Here is an overview of how we can quickly implement a digital service suitable for both citizens and partners with Digital Process Automation (DPA).
The following video shows how a local council can use DPA to digitise and streamline its housing process, empowering public sector employees to create solutions quickly and easily, saving time and money compared to both manual and custom code approaches.
Let’s go under the hood and see how we built this digital service.
Map end-to-end process
The heart of DPA solutions is considering your process end to end. Always start with what’s important for the user or customer. So in the video, we looked at a local council service for tenants — starting with the tenant’s request and concluding the process when that request is fulfilled.
When describing the top-level process, we take the perspective of the service owner. Clearly, I’ve left many details out from the diagram but we’ll flesh those out later. The process is described in Business Process Model and Notation (BPMN). I’ll explain some of its features as we go along.
There are a number of tools available to write BPMN files, including Microsoft Visio. But it’s advised to use a tool that understands the standard semantics rather than just the drawing symbols. Here, I’m using Flowable Process Modeler.
You see the process starts with a message event (that’s the envelope within the start event’s circle, if you’re unfamiliar with the notation). BPMN makes no assumptions on the technology that’ll be used to provide this message to the system. As this is a citizen service, we need to ensure it’s easy to use, including by people with disabilities. So we used the UK government Design System to build a simple web page. This could be done using any modern web framework, so I’ll just show you the end result in this post.
When the user submits the form it simply needs to POST a JSON payload to create a new instance of the BPMN process.
{ "message":"housingHandover", "businessKey":"Flat, 280 Camberwell Road, London, SE5 0DL", "tenantId": "housing", "variables": [ { "name":"postcode", "value":"SE5 0DL"}, { "name":"address", "value":"Flat, 280 Camberwell Road, London, SE5 0DL" }, { "name":"fullName", "value":"John Smith" }, { "name":"email", "value":"jsmith.dpa26@gmail.com" }, { "name":"phone", "value":"07799 654321" }, { "name":"preferredChannel", "value":"email" }, { "name":"description", "value":"On arrival I was delighted to see this beautiful apartment but my excitement quickly faded as the smell hit me! I tracked it down to the kitchen where it seems the sink is blocked and dirty water from I can't imagine where had filled the sink to the overflow. At least there was nothing on the floor." } ] }
This is enough to start a process. We can see it’s been started using the admin tool. This tool is not really intended for production use but it serves our purpose well here.
Deeper dive
Earlier, we said the top level of the process should concentrate on the perspective of the service owner. Now it’s time to look deeper into the process from the perspective of front line council officers. We can see from the audit trail that the ‘Record handover’ activity has started a sub-process with the same name. Let’s look at what it contains
You see that the first task is named “Extract intent of tenant’s message”, that’s where we invoke the machine learning service (Amazon Comprehend) to give us hints about the type of supplier needed and the sentiment of the message. Since the integration of this service involves several steps of its own, they are rolled up into a sub-process too. The detail of those steps are beyond the scope of this simple introductory post but perhaps we will revisit it in a future post.
After that we see the user task “Create handover meeting record”. This might involve a paper record or updating another system, or both. In the first instance, we are not trying to radically transform the business process so we simply provide a task for a person to do what is needed. Once the process has been running for a while, we will analyse its use and identify bottlenecks or mistakes that can benefit automation. This way, we build incrementally and are data-driven, rather than develop solutions speculatively and potentially waste time and effort.
Building forms
The last thing to introduce is the forms the tenant uses to enter information, which is augmented by the AI to the council officer. Clicking on the user task will bring up the relevant properties at the bottom of the page. One of these, on the right-hand side, is ‘Form reference’.
Click this and a dialogue appears to create a new form (or choose an existing one). After providing some basic identifying information, a simple drag and drop form designer appears.
This is the same form used by the frontline staff in the video. The rest of the process is elaborated in a similar way, so I won’t go through every detail here.
And there you have it: a web form to capture the tenant’s request, a process to drive an efficient resolution and an audit trail to tell us when and where things can be improved.
Like to get more detail about this scenario or see how we can digitise and automate some of your own processes? Get in touch
Related content
-
Still entering data manually? Digitise & automate your systems
Published on: 3 March, 2020 -
What has digital government learned in the past year?
Published on: 18 December, 2019 -
Top five most viewed blogs in 2019
Published on: 1 December, 2019 -
Garbage-in/garbage-out: why data quality is critical to digital automation
Published on: 30 October, 2019