Spreadsheets
​
Spreadsheets have long been regarded as the 'poor relation' of the programming world, even though they make up a significant proportion of all software development projects world wide. Their most obvious application is in the finance industry, but they also play a crucial role in many other sectors, including healthcare. There are plenty of examples of serious 'bugs' in complex financial spreadsheets costing the company that that developed them (or the taxpayer in the case of government departments!) £$ millions, but serious faults in medical spreadsheets could potentially cost a lot more.
Some medical spreadsheets are developed as simple replacements for (error prone) hand held calculators (e.g. calculation of drug doses by nurses and junior doctors), but some are extremely complex and sophisticated (e.g. the modelling of a physiological system). A spreadsheet put together simply using the supplied formulae and functions meets the definition of a 'computer program' (so would qualify as SaMD if used for a diagnostic or therapeutic purpose) but more complex spreadsheets developed using a macro language (e.g. Visual Basic for Applications in the case of Microsoft Excel) is a bona fide example of software engineering - as pointed out in an influential guide on the applications of spreadsheets in science and engineering by the UK's National Physical Laboratory.
​
From the point of view of software safety, the problem with spreadsheets is that simple ones can be put together by people with only a basic understanding of how mathematical formulae work, so there is a perception in some quarters that 'anyone' can build them. However, things are slowly changing and professional organisations have been successful in raising the profile of spreadsheet software development. To accompany its 20 Principles of Good Speadsheet Practice, the Institute of Chartered Accounts has proposed a competency framework to emphasize the different levels of complexity and the required knowledge/training. Whatever its 'image problem', the fact remains that a faulty spreadsheet's capacity to cause damage to your professional reputation - and bank balance - is just as big as with any other type of software.
​
Furthermore, a spreadsheet developed for a medical diagnostic or therapeutic purpose will certainly qualify as a medical device under both EU and US regulations, so it needs to be developed to the same standards as would be employed when writing medical software using a more traditional programming language such as C++, Python or MATLAB. Although it was written nearly 20 years ago, Spreadsheet Modelling Best Practice by Nick Read and Jonathan Batson is still one of the best guides available, and is one of the publications referred to by the European Spreadsheet Risks Interest Group (EuSpRiG) in its authoritative summary on the subject.
​
The use of a commercial spreadsheet (e.g. Microsoft Excel) as a medical device raises the issue of software of unknown provenance (SOUP), but this should not necessarily deter developers. Excel has many useful features and can be used either as self contained program, or used as a 'front end' (user interface) for a more robust / resilient back-end application/database.
​
Conclusion
Spreadsheets provide a relatively simple, low cost method of building standalone medical applications involving complex calculations and/or mathematical models. Prototyping is easy because 'everyone' (i.e. potential users) is already familiar with spreadsheets and especially how data input normally works. Basic principles of software engineering must be applied to ensure a reliable product, and implementation of some specific 'design rules' is also highly recommended. Some examples of Excel spreadsheets used as medical devices will be added here in due course.
​
​
​
​
​
​
​
This page last updated: 04 May 2023
​
​
​
​

