<div dir="ltr">Joe,<div><br></div><div>The NHS Spine 2 Core system was built on two Erlang products (Riak and RabbitMQ).  Almost all of the bespoke code is written in Python, but the message-passing architecture of the system and the approach to managing availability was directly inspired by reading about Erlang (in particular your book).  </div><div><br></div><div>1. There's a presentation that I gave at ICFP 2017 on Spine 2 and Erlang here: <a href="http://martinsumner.github.io/presentations/spine2_erlang#/">http://martinsumner.github.io/presentations/spine2_erlang#/</a>.  The architectural links between Spine 2 and Erlang aren't talked about much publicly, as it was only really me as the lead engineer/designer who was thinking about it.  Spine 2 was a big transformational shock for NHS IT in many ways, and so tended to grab headlines for reasons other than Erlang being inside. </div><div><br></div><div>2. Spine 2 provides the central data storage system and messaging system for the NHS - covering electronic prescriptions (primary care), demographic records, summary care records, subject access records, access alerting, consent recording, distribution of pathology results, child protection information, GP to GP record transfers, distribution of electronic referrals and plenty more.  It handles close to 50M messages on a busy day, and holds around 2 billion records and documents.</div><div><br></div><div>3. Go live was August 2014 (replacing a system originally released July 2004), and the system is expected to have a long life, as it is deeply integrated into a slow-moving eco-system.</div><div><br></div><div>4. There are around 80 servers running Erlang in the production system.</div><div><br></div><div>5. Most users are indirect behind other applications, but it is accessed this way by more than 100K users each day, who are sat behind over 20K application instances from more than 20 different integrated applications.</div><div><br></div><div><div>6. I no longer work directly on the project, which is now led on the technology side by Azhar Nisar.  For any formal comms about the project you would be best contacting the comms team @NHSDigital.</div></div><div><br></div><div>7. Riak KV and RabbitMQ</div><div><br></div><div>8.  There are two other projects in the NHS with Erlang inside (through Riak KV).  SuS Plus (<a href="http://content.digital.nhs.uk/sus/replacement">http://content.digital.nhs.uk/sus/replacement</a>) which uses Riak for object storage.  There is also a service for auditing the application of opt-outs (<a href="http://content.digital.nhs.uk/article/7092/Information-on-type-2-opt-outs">http://content.digital.nhs.uk/article/7092/Information-on-type-2-opt-outs</a>) which is built on Riak and uses some bespoke Erlang for querying.</div><div><br></div><div>Following the demise of Basho, there are now a number of engineers within the NHS Digital team who are building up Erlang skills, to ensure they can effectively manage these services in house in the future.  There is some increasing awareness of the presence of Erlang inside of the NHS IT infrastructure.</div><div><br></div><div>Many thanks</div><div><br></div><div>Martin (@masleeds)</div><div><br></div><div><br></div></div>