SlideShare a Scribd company logo
Technical Validation through Automated Testing
Computational Phenotyping and Software Engineering
S36
Martin Chapman
King’s College London
#IS24
AMIA 2024 Informatics Summit | amia.org 1
1. Background
AMIA 2024 Informatics Summit | amia.org 2
Automated testing
Floor 1 Æ ¥
r
AMIA 2024 Informatics Summit | amia.org 3
Automated testing
Floor 1 Æ ¥
r
Floor 2 Æ ¥
AMIA 2024 Informatics Summit | amia.org 3
Automated testing
Floor 1 Æ ¥
r
Floor 2 Æ ¥
Floor 3 Æ ¥
W Æ q
AMIA 2024 Informatics Summit | amia.org 3
Automated testing
Floor 1 Æ ¥
r
Floor 2 Æ ¥
Floor 3 Æ ¥
W Æ q
W Æ q
AMIA 2024 Informatics Summit | amia.org 3
Automated testing
Floor 1 Æ ¥
r
Floor 2 Æ ¥
Floor 3 Æ ¥
https://github.com/sindresorhus/got
AMIA 2024 Informatics Summit | amia.org 3
Unit tests vs. integration tests
W Æ q
W Æ q
Floor 1 Æ ¥
Floor 2 Æ ¥
Floor 3 Æ ¥
r
AMIA 2024 Informatics Summit | amia.org 4
Unit tests vs. integration tests
W
Æ
q
W
Æ
q
Floor
1
Æ
¥
Floor
2
Æ
¥
Floor
3
Æ
¥
r
AMIA 2024 Informatics Summit | amia.org 4
Unit tests vs. integration tests
W
Æ
q
W
Æ
q
Floor
1
Æ
¥
Floor
2
Æ
¥
Floor
3
Æ
¥
r
Æ q
AMIA 2024 Informatics Summit | amia.org 4
Unit tests vs. integration tests
W
Æ
q
W
Æ
q
Floor
1
Æ
¥
Floor
2
Æ
¥
Floor
3
Æ
¥
r
Æ q
https://github.com/mattermost/mattermost
AMIA 2024 Informatics Summit | amia.org 4
Automated testing and Health Informatics
https://github.com/OHDSI/CommonDataModel
AMIA 2024 Informatics Summit | amia.org 5
2. Automated testing and phenotyping
AMIA 2024 Informatics Summit | amia.org 6
The phenotype development lifecycle
Health informatics applications, libraries and packages that are tested are more likely to operate
correctly. We want the same to be true of phenotypes.
There are several places in the phenotype development lifecycle where we can apply testing tools:
Author
1. Modelling
languages
2. Multi-
dimensional
descriptions
4. Modular
relationships
Refine
3. Versioning and
provenance
13. Comprehensive
metadata
Implement
5. Implementation
details in model
6. Prog. language
agnostic
7. Multiple data
formats/standards
Validate
8. Defined
validation process
9. Automate
multiple validation
techniques
10. Enable
feedback
Publish
11. Expose
standard API
12. Advanced
search
capabilities
AMIA 2024 Informatics Summit | amia.org 7
Running example: CQL phenotypes
Pascal S. Brandt, Jennifer A. Pacheco, and Luke V. Rasmussen. “Development of a repository of
computable phenotype definitions using the clinical quality language”. In: JAMIA Open (2021)
AMIA 2024 Informatics Summit | amia.org 8
1. Testing during phenotype authoring
We’ve seen that there is a necessary difference between a phenotype definition (abstract logic;
generalisable) and a computable phenotype (programming code; specific).
AMIA 2024 Informatics Summit | amia.org 9
1. Testing during phenotype authoring
Phenotype
definition:
Computable
phenotype:
AMIA 2024 Informatics Summit | amia.org 9
1. Testing during phenotype authoring
We’ve seen that there is a necessary difference between a phenotype definition (abstract logic;
generalisable) and a computable phenotype (programming code; specific).
This does not, however, mean that phenotype definitions cannot be computable. If they are, we
can apply testing tools to this abstract logic as another measure of correctness. In our running
example, a CQL phenotype definition can itself be tested using the CQL Testing Framework
(CTF) and YAML-based test definitions.
AMIA 2024 Informatics Summit | amia.org 9
1. Testing during phenotype authoring
Phenotype
definition:
Computable
phenotype:
AMIA 2024 Informatics Summit | amia.org 9
1. Testing during phenotype authoring
We’ve seen that there is a necessary difference between a phenotype definition (abstract logic;
generalisable) and a computable phenotype (programming code; specific).
This does not, however, mean that phenotype definitions cannot be computable. If they are, we
can apply testing tools to this abstract logic as another measure of correctness. In our running
example, a CQL phenotype definition can itself be tested using the CQL Testing Framework
(CTF) and YAML-based test definitions.
The application of unit tests during phenotype authoring is likely to be particularly effective, as
phenotype definitions are often designed as distinct units of logic.
AMIA 2024 Informatics Summit | amia.org 9
1. Testing during phenotype authoring
https://github.com/PheMA/phekb-phenotypes
AMIA 2024 Informatics Summit | amia.org 9
2. Testing during phenotype implementation
Phenotype
definition:
Computable
phenotype:
AMIA 2024 Informatics Summit | amia.org 10
2. Testing during phenotype implementation
Testing tools can be applied during phenotype
implementation in much the same way testing
tools are applied during general software de-
velopment.
For example, CQL connects with the popular
Mocha Javascript testing framework. At this
level, the tests we see are more akin to inte-
gration tests.
https://github.com/cqframework/cql-execution
AMIA 2024 Informatics Summit | amia.org 10
3. Testing during phenotype validation
Recall that the reason we are motivated to apply (automated) testing tools to the development of
phenotypes is to ensure they are operating correctly.
Phenotype validation has the same goal: to determine whether a given phenotype can correctly
identify which individuals exhibit the true phenotype and which do not.
Therefore, testing can be applied and used as an additional form of validation. We term this
technical validation. Practically, technical validation is likely to manifest as writing and
executing test cases for existing phenotypes.
,
Technical validation and phenotype validation are still very distinct processes.
AMIA 2024 Informatics Summit | amia.org 11
Summary
• Automated testing tools, which include both unit and integration testing, are commonplace in
software development, including software developed in the Health Informatics domain.
• However, they are relatively underused in the development of phenotypes.
• We identify huge potential for automated testing tools to be applied to phenotype authoring
(running testing tools against computable definitions), phenotype implementation (to test
whole definitions) and phenotype validation (as an additional way to assess the correctness
of a definition).
AMIA 2024 Informatics Summit | amia.org 12
Thank you!
AMIA 2024 Informatics Summit | amia.org 13

More Related Content

PDF
Validation and Verification of SYSML Activity Diagrams Using HOARE Logic
PDF
Automated Validation of Internet Security Protocols and Applications (AVISPA)
PDF
Presentation security automation (Selenium Camp)
PDF
PythonQuants conference - QuantUniversity presentation - Stress Testing in th...
PDF
Techniques and Tools for Rich Internet Applications Testing
PDF
Web-Based Automation Testing and Tools Leveraging AI and ML
PDF
Leverage AI-Powered Test Automation For Oracle Applications Testing.pdf
PDF
M2CAT: Extracting reproducible simulation studies from model repositories usi...
Validation and Verification of SYSML Activity Diagrams Using HOARE Logic
Automated Validation of Internet Security Protocols and Applications (AVISPA)
Presentation security automation (Selenium Camp)
PythonQuants conference - QuantUniversity presentation - Stress Testing in th...
Techniques and Tools for Rich Internet Applications Testing
Web-Based Automation Testing and Tools Leveraging AI and ML
Leverage AI-Powered Test Automation For Oracle Applications Testing.pdf
M2CAT: Extracting reproducible simulation studies from model repositories usi...

Similar to Technical Validation through Automated Testing (20)

PDF
SSBSE 2020 keynote
PDF
Verification of the protection services in antivirus systems by using nusmv m...
PDF
M2CAT: Extracting reproducible simulation studies from model repositories usi...
PDF
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
PDF
50120140502017
PPTX
Diving into the World of Test Automation The Approach and the Technologies
PDF
An Essential Guide to Effective Test Automation Leveraging Open Source
PDF
Testing parallel programs
PPTX
Data Science for Smart Manufacturing
PDF
Replication and Benchmarking in Software Analytics
PDF
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
PDF
Speeding-up Software Testing With Computational Intelligence
PPT
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
PDF
Comparative Study on Different Mobile Application Frameworks
PPTX
Top 5 Code Coverage Tools in DevOps
PPTX
How to Guarantee Continuous Value from your Test Automation
PDF
Welcome to International Journal of Engineering Research and Development (IJERD)
PDF
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
PDF
CS640_Thesis_AbulAalaAlamsBari13250849
PPTX
Automated requirements based testing for ISO 26262
SSBSE 2020 keynote
Verification of the protection services in antivirus systems by using nusmv m...
M2CAT: Extracting reproducible simulation studies from model repositories usi...
st-notes-13-26-software-testing-is-the-act-of-examining-the-artifacts-and-the...
50120140502017
Diving into the World of Test Automation The Approach and the Technologies
An Essential Guide to Effective Test Automation Leveraging Open Source
Testing parallel programs
Data Science for Smart Manufacturing
Replication and Benchmarking in Software Analytics
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Speeding-up Software Testing With Computational Intelligence
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Comparative Study on Different Mobile Application Frameworks
Top 5 Code Coverage Tools in DevOps
How to Guarantee Continuous Value from your Test Automation
Welcome to International Journal of Engineering Research and Development (IJERD)
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
CS640_Thesis_AbulAalaAlamsBari13250849
Automated requirements based testing for ISO 26262
Ad

More from Martin Chapman (20)

PDF
Phenoflow: An Architecture for FAIRer Phenotypes
PDF
Generating Computable Phenotype Intersection Metadata Using the Phenoflow Lib...
PDF
Principles of Health Informatics: Artificial intelligence and machine learning
PDF
Principles of Health Informatics: Clinical decision support systems
PDF
Mechanisms for Integrating Real Data into Search Game Simulations: An Applica...
PDF
Scalable architectures for phenotype libraries
PDF
Using AI to understand how preventative interventions can improve the health ...
PDF
Using AI to autonomously identify diseases within groups of patients
PDF
Using AI to understand how preventative interventions can improve the health ...
PDF
Principles of Health Informatics: Evaluating medical software
PDF
Principles of Health Informatics: Usability of medical software
PDF
Principles of Health Informatics: Social networks, telehealth, and mobile health
PDF
Principles of Health Informatics: Communication systems in healthcare
PDF
Principles of Health Informatics: Terminologies and classification systems
PDF
Principles of Health Informatics: Representing medical knowledge
PDF
Principles of Health Informatics: Informatics skills - searching and making d...
PDF
Principles of Health Informatics: Informatics skills - communicating, structu...
PDF
Principles of Health Informatics: Models, information, and information systems
PDF
Using AI to understand how preventative interventions can improve the health ...
PDF
Using Microservices to Design Patient-facing Research Software
Phenoflow: An Architecture for FAIRer Phenotypes
Generating Computable Phenotype Intersection Metadata Using the Phenoflow Lib...
Principles of Health Informatics: Artificial intelligence and machine learning
Principles of Health Informatics: Clinical decision support systems
Mechanisms for Integrating Real Data into Search Game Simulations: An Applica...
Scalable architectures for phenotype libraries
Using AI to understand how preventative interventions can improve the health ...
Using AI to autonomously identify diseases within groups of patients
Using AI to understand how preventative interventions can improve the health ...
Principles of Health Informatics: Evaluating medical software
Principles of Health Informatics: Usability of medical software
Principles of Health Informatics: Social networks, telehealth, and mobile health
Principles of Health Informatics: Communication systems in healthcare
Principles of Health Informatics: Terminologies and classification systems
Principles of Health Informatics: Representing medical knowledge
Principles of Health Informatics: Informatics skills - searching and making d...
Principles of Health Informatics: Informatics skills - communicating, structu...
Principles of Health Informatics: Models, information, and information systems
Using AI to understand how preventative interventions can improve the health ...
Using Microservices to Design Patient-facing Research Software
Ad

Recently uploaded (20)

PDF
Basic Mud Logging Guide for educational purpose
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Cell Types and Its function , kingdom of life
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
01-Introduction-to-Information-Management.pdf
PDF
RMMM.pdf make it easy to upload and study
PDF
Computing-Curriculum for Schools in Ghana
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Insiders guide to clinical Medicine.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Lesson notes of climatology university.
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Complications of Minimal Access Surgery at WLH
Basic Mud Logging Guide for educational purpose
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Cell Types and Its function , kingdom of life
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
01-Introduction-to-Information-Management.pdf
RMMM.pdf make it easy to upload and study
Computing-Curriculum for Schools in Ghana
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Insiders guide to clinical Medicine.pdf
PPH.pptx obstetrics and gynecology in nursing
Microbial diseases, their pathogenesis and prophylaxis
Microbial disease of the cardiovascular and lymphatic systems
VCE English Exam - Section C Student Revision Booklet
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Lesson notes of climatology university.
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Renaissance Architecture: A Journey from Faith to Humanism
Complications of Minimal Access Surgery at WLH

Technical Validation through Automated Testing

  • 1. Technical Validation through Automated Testing Computational Phenotyping and Software Engineering S36 Martin Chapman King’s College London #IS24 AMIA 2024 Informatics Summit | amia.org 1
  • 2. 1. Background AMIA 2024 Informatics Summit | amia.org 2
  • 3. Automated testing Floor 1 Æ ¥ r AMIA 2024 Informatics Summit | amia.org 3
  • 4. Automated testing Floor 1 Æ ¥ r Floor 2 Æ ¥ AMIA 2024 Informatics Summit | amia.org 3
  • 5. Automated testing Floor 1 Æ ¥ r Floor 2 Æ ¥ Floor 3 Æ ¥ W Æ q AMIA 2024 Informatics Summit | amia.org 3
  • 6. Automated testing Floor 1 Æ ¥ r Floor 2 Æ ¥ Floor 3 Æ ¥ W Æ q W Æ q AMIA 2024 Informatics Summit | amia.org 3
  • 7. Automated testing Floor 1 Æ ¥ r Floor 2 Æ ¥ Floor 3 Æ ¥ https://github.com/sindresorhus/got AMIA 2024 Informatics Summit | amia.org 3
  • 8. Unit tests vs. integration tests W Æ q W Æ q Floor 1 Æ ¥ Floor 2 Æ ¥ Floor 3 Æ ¥ r AMIA 2024 Informatics Summit | amia.org 4
  • 9. Unit tests vs. integration tests W Æ q W Æ q Floor 1 Æ ¥ Floor 2 Æ ¥ Floor 3 Æ ¥ r AMIA 2024 Informatics Summit | amia.org 4
  • 10. Unit tests vs. integration tests W Æ q W Æ q Floor 1 Æ ¥ Floor 2 Æ ¥ Floor 3 Æ ¥ r Æ q AMIA 2024 Informatics Summit | amia.org 4
  • 11. Unit tests vs. integration tests W Æ q W Æ q Floor 1 Æ ¥ Floor 2 Æ ¥ Floor 3 Æ ¥ r Æ q https://github.com/mattermost/mattermost AMIA 2024 Informatics Summit | amia.org 4
  • 12. Automated testing and Health Informatics https://github.com/OHDSI/CommonDataModel AMIA 2024 Informatics Summit | amia.org 5
  • 13. 2. Automated testing and phenotyping AMIA 2024 Informatics Summit | amia.org 6
  • 14. The phenotype development lifecycle Health informatics applications, libraries and packages that are tested are more likely to operate correctly. We want the same to be true of phenotypes. There are several places in the phenotype development lifecycle where we can apply testing tools: Author 1. Modelling languages 2. Multi- dimensional descriptions 4. Modular relationships Refine 3. Versioning and provenance 13. Comprehensive metadata Implement 5. Implementation details in model 6. Prog. language agnostic 7. Multiple data formats/standards Validate 8. Defined validation process 9. Automate multiple validation techniques 10. Enable feedback Publish 11. Expose standard API 12. Advanced search capabilities AMIA 2024 Informatics Summit | amia.org 7
  • 15. Running example: CQL phenotypes Pascal S. Brandt, Jennifer A. Pacheco, and Luke V. Rasmussen. “Development of a repository of computable phenotype definitions using the clinical quality language”. In: JAMIA Open (2021) AMIA 2024 Informatics Summit | amia.org 8
  • 16. 1. Testing during phenotype authoring We’ve seen that there is a necessary difference between a phenotype definition (abstract logic; generalisable) and a computable phenotype (programming code; specific). AMIA 2024 Informatics Summit | amia.org 9
  • 17. 1. Testing during phenotype authoring Phenotype definition: Computable phenotype: AMIA 2024 Informatics Summit | amia.org 9
  • 18. 1. Testing during phenotype authoring We’ve seen that there is a necessary difference between a phenotype definition (abstract logic; generalisable) and a computable phenotype (programming code; specific). This does not, however, mean that phenotype definitions cannot be computable. If they are, we can apply testing tools to this abstract logic as another measure of correctness. In our running example, a CQL phenotype definition can itself be tested using the CQL Testing Framework (CTF) and YAML-based test definitions. AMIA 2024 Informatics Summit | amia.org 9
  • 19. 1. Testing during phenotype authoring Phenotype definition: Computable phenotype: AMIA 2024 Informatics Summit | amia.org 9
  • 20. 1. Testing during phenotype authoring We’ve seen that there is a necessary difference between a phenotype definition (abstract logic; generalisable) and a computable phenotype (programming code; specific). This does not, however, mean that phenotype definitions cannot be computable. If they are, we can apply testing tools to this abstract logic as another measure of correctness. In our running example, a CQL phenotype definition can itself be tested using the CQL Testing Framework (CTF) and YAML-based test definitions. The application of unit tests during phenotype authoring is likely to be particularly effective, as phenotype definitions are often designed as distinct units of logic. AMIA 2024 Informatics Summit | amia.org 9
  • 21. 1. Testing during phenotype authoring https://github.com/PheMA/phekb-phenotypes AMIA 2024 Informatics Summit | amia.org 9
  • 22. 2. Testing during phenotype implementation Phenotype definition: Computable phenotype: AMIA 2024 Informatics Summit | amia.org 10
  • 23. 2. Testing during phenotype implementation Testing tools can be applied during phenotype implementation in much the same way testing tools are applied during general software de- velopment. For example, CQL connects with the popular Mocha Javascript testing framework. At this level, the tests we see are more akin to inte- gration tests. https://github.com/cqframework/cql-execution AMIA 2024 Informatics Summit | amia.org 10
  • 24. 3. Testing during phenotype validation Recall that the reason we are motivated to apply (automated) testing tools to the development of phenotypes is to ensure they are operating correctly. Phenotype validation has the same goal: to determine whether a given phenotype can correctly identify which individuals exhibit the true phenotype and which do not. Therefore, testing can be applied and used as an additional form of validation. We term this technical validation. Practically, technical validation is likely to manifest as writing and executing test cases for existing phenotypes. , Technical validation and phenotype validation are still very distinct processes. AMIA 2024 Informatics Summit | amia.org 11
  • 25. Summary • Automated testing tools, which include both unit and integration testing, are commonplace in software development, including software developed in the Health Informatics domain. • However, they are relatively underused in the development of phenotypes. • We identify huge potential for automated testing tools to be applied to phenotype authoring (running testing tools against computable definitions), phenotype implementation (to test whole definitions) and phenotype validation (as an additional way to assess the correctness of a definition). AMIA 2024 Informatics Summit | amia.org 12
  • 26. Thank you! AMIA 2024 Informatics Summit | amia.org 13