Hi everybody, here is a great opportunity to help improve our HADES packages, learn more about OHDSI software and have some fun with great collaborators around the world. Thanks to @schuemie for leading this charge. Check out the details below, and fill out the form at the bottom of this post to get involved!
The OHDSI HADES Unit-Test-A-Thon
Background
HADES
The Health Analytics Data to Evidence Suite (HADES) is a collection of R packages that is used in almost every OHDSI study. The HADES packages run directly against data in the OMOP Common Data Model (CDM), and incorporate cutting edge analytics and visualizations.
Unit tests
But how do we know that we can trust HADES? Do the HADES packages perform their computations exactly the way they should? The answer is unit tests. Unit tests are pieces of code that tests whether another piece of code (e.g. a HADES package function) works as expected. Unit tests are included in a package and are automatically executed every time a change is made to the package. Unit tests aim to make the software more reliable.
If you want to learn more about unit tests and software validity in OHDSI, you can read this Book of OHDSI chapter: Chapter 17 Software Validity | The Book of OHDSI
For a concrete example of unit tests, you might look at CohortMethod: CohortMethod/test-psFunctions.R at master · OHDSI/CohortMethod · GitHub
Unit test coverage
We can evaluate how complete our set of unit tests is by looking at the coverage. The coverage is the percentage of the lines of code in a package that is executed as part of the set of unit tests. This percentage is automatically computed. For HADES you can find the coverage per package on this page: Package statuses. Although a coverage of 100% is often not feasible, 80% is often used as a rough minimum to aim for.
Unit-test-a-thon
Aim
During the unit-test-a-thon, we’ll aim to increase the coverage of all HADES packages to above 80%.
Who can join
Anyone (with some R experience) can join the unit-test-a-thon
Why you would want to join
• Unit tests improve the reliability of HADES, and we all use HADES
• Writing unit tests is a great way to learn more about the software
• You get to collaborate with fun people in the OHDSI community
• The winners of the competition get eternal glory and recognition in the OHDSI community
Agenda
The unit-test-a-thon will be a 3-day event (July 14-16).
Day 1:
• 9am Eastern Time: Kick off with a tutorial on how to write unit tests for HADES packages. Dividing participant into teams, and start coding!
• Noon Eastern Time: quick progress update
• 3pm Eastern Time: quick progress update
Day 2:
• Noon Eastern Time: quick progress update
• 3pm Eastern Time: quick progress update
Day 3:
• Noon Eastern Time: quick progress update
• 3 pm Eastern Time: closing session. Announcement of the winners.
Teams and competition
Participants will be organized in teams. Each team will take on a set of HADES packages. The team that has achieved the highest overall percent coverage added to HADES packages wins. The winning team will win eternal glory and recognition via OHDSI communication channels.
How to sign up
Interested in joining the unit-test-a-thon? Please fill in this form beforehand!