Achieving technical interoperability in government systems: From Protocol to Whole-of-Government

“GovStack’s Building Block Specification provide a blueprint for various aspects of technical interoperability. Governments should take all interoperability layers into account from the beginning (organisational, legal, semantic, technical). GovStack calls this state “Whole of Government interoperability” and aims to create guiding documents (e.g. GovStack's Governance Architecture Guide) in addition to the technical specifications.”
Summary
Objective: Define maturity states of (technical) interoperability to a) improve communication between stakeholders (governments, software owners, standardizing bodies etc.) and b) describe the scope of GovStack Building Block Specification with regards to interoperability.
Problem statement: In debates and standardization efforts with governments, private sector or the DPI/DPG ecosystem, interoperability is used as a objective or sometimes supposedly existing state when speaking about whole systems or individual software. While it might be sufficient for sales pitches, the dialog partner usually lack a common understanding of the term.
Value proposition: In this article we propose a framework that will enable stakeholders in the field of eGovernment (esp. roles like enterprise architects and policy makers) to communicate clearer expectations and objectives on interoperability (esp. the technical layer). Based on the classical layers of organisational, legal, semantic and especially technical interoperability, we defined 3 maturity states of interoperability:
Protocol Interoperability
Cross-functional Interoperability
Whole-of-Government Interoperability
While governments should strive for a comprehensive state of interoperability across multiple layers (state 3), other stakeholders find already value in targeting state 1 or 2 of the technical interoperability layer (e.g. standardization or technical interoperability between off-the-shelf software applications).
This article shall not serve as a guidelines to governments to sequentially build up interoperability. Governments should take all interoperability layers into account from the beginning – and not purely focus on technical interoperability. GovStack’s Specifications offer a blueprint on how to build technical interoperability – as described below. GovStack’s PAERA document methodologically supports Governments in planning the “Whole of Government interoperability” – which describes the comprehensive view on interoperability including organisational, legal, semantic and technical layer.
Maturity States of Interoperability
Interoperability is about the ability to collaborate, cooperate and co-exist. Often assured by shared language and cultural practices in real life, similar principles are true in digital government ecosystems.
The goal of achieving interoperability is widely stated in many eGovernment strategies and projects as well as in the initiatives supporting Digital Public Goods (DPG) and Digital Public Infrastructure (DPI), see definitions here. Interoperability is perceived as an inclusive and impactful goal – and it can be, as long as we understand the specifics of interoperability ideally in the same way and recognize the nuances we see in the technical reality that impacts interoperability. For such a common understanding, traditionally, four layers of interoperability are considered:
Organizational: How different teams and structures collaborate and depend upon one another
Legal: How rules and laws are combined
Semantic: How we understand and classify data so that we understand the business terms in the same way
Technical: How systems interact and exchange data and functional dependencies.
As GovStack, we break down the technical interoperability into more granular sub-layers (see following graphic) to define more actionable and incremental states:
Protocol Interoperability
Cross-functional interoperability
Whole of Government interoperability
For protocol and cross-functional interoperability, GovStack provides references in form of architecture requirements (esp. ch. 5 cross-cutting requirements) which are the prerequisites to reach the first state: Protocol Interoperability (such as a common data exchange standard across all services); while Building Block Service API requirements aim to reach the second state: cross-functional interoperability (software following Service API requirements relating to a specific domain, such as payments).
For Whole of Government interoperability, GovStack provides guidance in form of our enterprise architecture guide PAERA, which primarily focuses on the organizational and legal interoperability.
Interoperability can be seen as a continuum of three states covering multiple layers of standardization:

In GovStack, we specify reusable Building Blocks and their cross-cutting requirements to build e-services for Government to Citizen interactions. A Building Block describes a reusable software component within a government system. One Building Block can have multiple Building Block specification compliant Softwares (see a list on GovMarket).
The following example is a very simplified scenario that illustrates the need for protocol interoperability: One software application (which is designed for a specific public service, e.g. social benefits system) requests data from another data source (e.g. population registry data) to provide a service to the citizen. In a simple reference picture this looks like the following:

Any digital government ecosystem is full of thousands of little data exchanges like this, regardless regardless of the country’s level of digital maturity. This applies to highly digitalised countries such as Denmark and Estonia, but also to countries that are more advanced in their digital progress, as digital systems and databases are already available in every government today. This is why it is important to follow key principles and interoperability requirements to assure that each of those data exchanges are designed following similar standards and principles – so that the language is the same. Just like it is easier to communicate with a colleague who speaks your language, it is easier for a system to use data from another system if it understands the same language – this is fundamental for interoperability.
From GovStack’s perspective, there are three maturity states that gradually increase overall interoperability:
- Protocol Interoperability – assuring that technical systems are able to be integrated with one another;
- Cross-Functional Interoperability – assuring that digital services are able to understand each other’s API requests in the same way, adding aspects of Building Block-specific service APIs to protocol interoperability;
- Whole of Government Interoperability – adding organizational, legal and semantic interoperability to protocol and cross-functional interoperability levels.
Each are discussed further below.
Protocol Interoperability
Protocol interoperability is primarily achieved once both parties agree on how data is being exchanged. This can be reached by following purely technical requirements assuring that two systems can exchange data. For example, both parties agree to communicate via the design principles and protocol of REST API. The design of the API endpoints and what kind of functions and data they expose remain software-specific.
In addition to both parties following the same technical requirements, the parties need to agree how data is being used (as required by the business rules) in order to fulfill a defined business use case. This agreement is solely between the two parties and therefore creates a party-specific dependency. The dependency could be loosened, meaning that it would be possible to replace technical components without changing the agreement of how data is being used, if both parties comply with the overarching standards (as defined in the GovStack Building Block specifications). If this is not the case, then systems are only technically operable (cross-functional interoperability will be covered in the next section).
In GovStack, for example, this stage looks like this:
✔ GovStack architecture requirements (esp. ch. 5 cross-cutting requirements) are fulfilled by all participants
✘ GovStack Building Block service API specifications are not fulfilled by all participants
✘ Government-wide organisational, legal and semantic standards are in place

Cross-Functional Interoperability
The second state, cross-functional interoperability, is achieved once both parties agree on how data is being exchanged and used. This can be achieved by following both GovStack’s architecture and Building Block-specific requirements.
In this case, the cross-functional requirements are a description of the Building Block API endpoints. To assure cross-functional interoperability, the API endpoints are expected to be fundamentally the same across all software applications of the same Building Block. This fulfills the expectation that one software application can be replaced by another without changing the other.
Despite the cross-functional interoperability in place, a developer in a Government system cannot be sure if the result of the API call will be the same as systems may change or may be replaced in the back end. For example, two software applications representing the Identity Building Block might be able to offer an authentication API, but the developer cannot be sure if both Identity software applications answer with the same response for the same request – registered citizens are possibly different among the software applications. But cross-functional interoperability is still achieved as it is possible to exchange one software application with another as long as both comply with the Building Block specification.
In GovStack, this state is achieved by:
✔ GovStack architecture requirements (esp. ch. 5 cross-cutting requirements) are fulfilled by all participants
✔ GovStack Building Block service API specifications are fulfilled by all participants
✘ Government-wide organisational, legal and semantic standards are in place

Whole of Government Interoperability
The third state, whole of government interoperability, is achieved once all parties agree on how data is being exchanged and used. This can be reached by following GovStack’s architecture and Building Block requirements and set context-specific standards on organisational, legal and semantic aspects. The context-specific aspects are usually to be set within a governmental body (a nation state or a regional organisation). Once that is set and all parties are bound by law to follow these standards, all party’s developers can be sure to call any software representing a specific Building Block and receive the same or the expected answer.
It is important to have data exchange agreements in place between organizations that exchange the data. In the case of Estonia, there are two contractual agreements: one that allows you to be a participant of data exchange ecosystem either as provider or requester of data and another contract that is agreed between responsible parties of the data sources which includes what kind of data is being exchanged and how it is being used.
This level of interoperability should be the ultimate goal of an administrative architecture. It enables not only the replacement of one software by another, but also the operation of several software applications from different providers that offer the same standardised functions – and are possibly operated by different bodies within an authority.
In GovStack, this state is achieved by:
✔ GovStack architecture requirements (esp. ch. 5 cross-cutting requirements) are fulfilled by all participants
✔ GovStack Building Block service API specifications are fulfilled by all participants
✔ Government-wide organisational, legal and semantic standards are in place (GovStack’s PAERA document offers support)
