Computing for Clinical Scientists (SBI101)

10 credits

Aim of this module

Modern healthcare generates large amounts of data – data that must be managed and shared effectively. In many cases this will involve staff working with database systems and interacting with internal or external computer scientists/software engineers to commission appropriate data management tools. In this module trainees will be introduced to the fundamental aspects of computer science needed to support data management. They will also be introduced to the principles of modern software engineering processes such that they can better engage with and support software development within the NHS. This module will ensure that the trainee can configure novel information and communications technology (ICT) hardware and software solutions safely within the clinical environment, and understands the impact of this work on the patient, including patient safety and the healthcare services supported by a range of computer systems.

  1. Plan a process and assemble the requirements for a clinical information system.
  2. Express system requirements in UML.
  3. Design a relational database system for a clinical information system, ensuring an appropriate level of data normalisation.
  4. Build an information system allowing web access to an SQL database.
  5. Construct a range of appropriate SQL commands.
  6. Complete the project documentation, ensuring compliance with security, governance and ethics issues with web-accessible database systems.
Number Work-based learning outcome Title Knowledge
1 1

Write a project plan using project management methodology.

View
2 1

Interview users and translate user requirements into a functional specification.

View
3 1

Select appropriate hardware and software.

View
4 2

Express system requirements in UML.

View
5 3

Extract a data structure into third normal form using a formalised process.

View
6 3

Ensure the design is fit for purpose.

View
7 4

Link an SQL engine to a web server, ensuring compliance with the security requirements for a multi-user system.

View
8 5

Create an SQL statement using either the SQL query builder or the SQL query wizard.

View
9 6

Complete the formal documentation at the end of the project.

View
You must complete
1 Case-based discussion(s)
1 of the following DOPS / OCEs
Assessment Title Type
Link an SQL engine to a web server, documenting and ensuring compliance with local security requirements DOPS
Create an SQL statement for extracting a defined subset of clinical data, demonstrate completeness and validity of the extract DOPS
Attend a clinical environment and observe the safety measures surrounding an IT medical device OCE

Important information

The academic parts of this module will be detailed and communicated to you by your university. Please contact them if you have questions regarding this module and its assessments. The module titles in your MSc may not be exactly identical to the work-based modules shown in the e-portfolio. Your modules will be aligned, however, to ensure that your academic and work-based learning are complimentary.

Learning Outcomes

  1. Describe the basic features of the Windows and UNIX operating systems.
  2. Discuss client/server architectures.
  3. Describe the basics of a relational database system and data normalisation.
  4. Interpret a range of structured query language (SQL) commands.
  5. Describe a number of commonly used mark-up languages.
  6. Interpret simple HyperText Markup Language (HTML) scripts and simple Extensible Markup Language (XML) scripts.
  7. Critically appraise the functional and non-functional requirements for a system.
  8. Discuss the advantages and disadvantages of Unified Modelling Language (UML) for capturing requirements.
  9. Discuss the role of application programming interfaces (APIs) in allowing systems to communicate.
  10. Give examples of software allowing databases to communicate with web browsers, e.g. Simple Object Access Protocol (SOAP), Common Gateway Interface (CGI) and Representational State Transfer (REST).
  11. Discuss security issues around client server systems and system security in the context of the NHS and public health systems [including, where relevant, the civil service], data governance and ethics concerns.
  12. Discuss and describe different software engineering models, e.g. agile, waterfall.
  13. Discuss how database systems/data management and modern software processes contribute to patient care pathways and the provision of high-quality safe and effective patient care.
  14. Describe software quality assurance processes.

Indicative Content

Operating systems

  • Different common operating systems, e.g. Windows, Linux
  • An introduction to file management, security, user management
  • Basic principles relating to information and communications technology (ICT) security, including firewalls, virus protection, encryption, server access and data security

The web

  • How TCP/IP works
  • Client server architectures
  • HTML

Database theory

  • Capturing requirements – the idea of use cases
  • Basic introduction to SQL
  • Basic introduction to theory of normalisation
  • Database design in an SQL environment
  • APIs for communication with databases

Mark-up languages

  • HTML and XML
  • XML interpretation

Security

  • Common database security issues
  • Governance and ethics associated with information systems in the NHS

Software engineering

  • Introduction to the concept of the software life cycle and the tools and frameworks used to specify, develop, validate and verify clinical software
  • Formal processes for gathering requirements
  • Functional and non-functional requirements
  • UML and systems modelling
  • Effective communication of requirements
  • Developing software as a team
  • Different software development models: waterfall versus agile
  • Managing code effectively – version control systems