
Between January and April 2013, I worked as a C# developer with Graphnet Health, a UK-based software house specialising in health and care interoperability.
The engagement focused on adapting and porting a set of existing services to ensure compatibility with the Graphnet Health N3 network’s Interoperability Toolkit (ITK) standards.
Due to contractual and regulatory constraints, details of the services themselves are limited. However, the context and nature of the work are representative of a particular moment in UK health IT — one defined by strict governance, legacy integration, and the early stages of service-oriented architecture at national scale.
At the time, the NHS relied heavily on the N3 network, a private wide-area network designed to securely connect NHS organisations and approved suppliers. N3 predated modern cloud adoption and imposed tight constraints on how systems communicated, authenticated, and exchanged data.
The Interoperability Toolkit (ITK) was a central part of this ecosystem. Its purpose was to standardise how systems across the NHS exchanged clinical and administrative information, primarily through:
While REST was beginning to emerge in parts of the industry, SOAP and WS-* standards were still the dominant integration mechanism for nationally governed healthcare systems.
The core task was to port and adapt a set of services so they could operate compliantly within the N3 and ITK framework.
This involved:
Although the term microservices was beginning to appear around this time, the reality was closer to carefully partitioned services with well-defined responsibilities — designed to be deployable, testable, and compliant rather than independently scalable in the modern sense.
The work was carried out using a typical early-2010s Microsoft stack:
A significant part of the challenge lay not in writing new logic, but in making existing behaviour conform to externally imposed contracts — a recurring theme in regulated environments.
Healthcare integration work comes with a distinct set of pressures:
Within those constraints, progress tends to be incremental and careful. The emphasis is on correctness, traceability, and interoperability rather than novelty.
This project was an early example of a pattern that has recurred throughout my career: working at the boundary between how software is ideally designed and how it must behave in a complex institutional environment.
Porting services into the NHS ITK ecosystem required a clear understanding of both modern service design and legacy integration expectations — and, importantly, the discipline to prioritise compliance and reliability over architectural preference.
It was a concise engagement, but one that provided lasting exposure to large-scale, regulated systems where the definition of “done” is set externally, and where careful engineering matters more than speed.