The Guide of good practices for the development of code in Artificial Intelligence solutions in Healthcare has been published

The Artificial Intelligence Area of the TIC Salut Social Foundation has published the ‘Guide of good practices for the development of code in Artificial Intelligence solutions in Healthcare’. The document is part of the Health/IA Programme and aims to provide guidance to the various parties involved in the development of code for AI algorithms applied to the field of health.

The guide outlines the main programming languages used in the field as well as the most relevant programming development methodologies, it provides recommendations for code development and describes the coding standards of the indicated languages. It also includes a chapter on the quality of the code and presents the ISO certifications applicable in this area.

As Susanna Aussó, head of the IA Area of the Foundation, explains, “the set of best practices that we have compiled in the guide will allow us to obtain a more comprehensive, reusable, scalable and easily modifiable code”. As a result, she added, “we will reduce the time spent on testing tasks, and prevent common errors during the different stages of the project, all while facilitating collaborative work”.

Programming languages, standards and methodologies

The document focuses on the most widely used medium and high-level programming languages in Artificial Intelligence: Python, Java and C++, and R.

Each language has its own standards, i.e., a set of established rules and recommendations that the programming community has developed over time and which can significantly increase the quality and management of code if used appropriately. In this sense, the guide lists and describes the main ones: Tidyverse Style Guide, Google R Style Guide, R Coding Style (Amazon), Python Enhancement Proposals (PEP8), Google Python Style Guide, The Hitchhiker’s Guide to Python, MISRA C/C++, CERT and CWE.

With respect to the methodologies used for code development, the guide describes three of them, which are based on the Agile philosophy: Scrum, Kanban and Lean. This philosophy, modelled on the work of experts such as Hirotaka Takeuchi and Ikujiro Nonaka, Jeff Sutherland and Ken Schwaber, minimises subsequent errors in production programming, as it provides certain flexibility when it comes to adopting changes in the requirements at each stage of development.

Recommendations for code development

The guide of good practices includes a specific section with recommendations for developing code. These recommendations are structured around 5 main concepts: nomenclature, order, performance, style and documentation. These concepts include aspects that need to be taken into consideration such as variable naming conventions, class and function naming conventions, the importance of adding clear and concise comments to the code, recommendations for limiting line length, advice on indentation, and issues relating to portability, reusability and scalability, among others.

Code quality and ISO certifications

When it comes to assessing code quality, the guide establishes 6 key elements which must be addressed: functionality, reliability, usability, efficiency, maintainability and portability. It also presents two quantitative static analysis metrics to measure the quality of the code and describes different types of tests to check the program before it reaches the user.

Finally, the document describes the ISO certifications applicable to code development: ISO 27000 for information security, ISO 29119 for software testing, and ISO 25001 for software quality and assessment systems and requirements (SQuaRE).

  • Download the Guide of good practices for code development

    • 14103.1 Kb

  • The document is part of the Health/IA Programme and aims to provide guidance to the various parties involved in the development of code for AI algorithms applied to the field of health.