New Release: DHIS2 Cancer Registry Toolkit in collaboration with Vital Strategies and IARC

We are pleased to announce the release of the DHIS2 Cancer Registry Toolkit, developed in collaboration with Vital Strategies and the International Agency for Research on Cancer (IARC) to support countries in establishing and strengthening population-based cancer registration within national HMIS platforms.

The toolkit operationalizes international standards for cancer registration by consolidating case-based data collection, ICD-O-3 coding, and built-in data quality checks into a harmonized DHIS2 configuration. By integrating cancer registry functions within existing national DHIS2 infrastructure, the toolkit helps programmes reduce reliance on standalone registry software, strengthen data quality at the point of entry, and improve the availability of reliable cancer incidence data for cancer control planning.

The DHIS2 Cancer Registry Toolkit provides a reference configuration based on the DHIS2 Tracker data model, grounded in IARC’s Cancer Registration: Principles and Methods (Scientific Publication No. 160). A key component of the toolkit is a dedicated custom web application that bridges DHIS2 and CanReg5 — the cancer registry software developed by IARC and widely used by population-based registries worldwide. The application extracts cancer case data from the DHIS2 Tracker program and transforms it into a format directly importable into CanReg5, handling the structural differences between the two systems and consolidating patient, tumor, and source records into a single output file. This enables registries already using CanReg5 for analysis and reporting to continue doing so, while benefiting from DHIS2 as a national data collection and HMIS integration platform.

By combining the DHIS2 Tracker data model with a dedicated CanReg5 interoperability application, the toolkit supports national cancer registries in building sustainable, high-quality cancer surveillance capacity — contributing to progress toward SDG 3.4 and national cancer control priorities.

:page_facing_up: System Design Guide and Installation Guide: Available here

:laptop: Custom Web Application

:bar_chart: Demo: Explore this new toolkit directly within the DHIS2 demo environment to understand its functionalities and adaptability

:rocket: Launch Webinar: Watch the recording here

:open_file_folder: Metadata packages are also available for download and customization for your country or organization via the DHIS2 metadata download section.

7 Likes

Many thanks Stefano and the team for the DHIS2 Cancer Registry toolkit. Clicking the DHIS2 demo enviroment returns an error code 502, Bad Gateway. Is there a way the team can help with this, thank you.

1 Like

Dear @Francis_Okongo,
I have tested the link and it’s working correctly from my end.
The url is: https://demos.dhis2.org/hmis
It’s still not working?

1 Like

Dear Stefano, the link is now working perfectly and we are now able to explore all the data elements and organizational units for customization into our local context while preserving the check logics. We look forward to webinar 2 on the installation and set up of DHIS2 Cancer Registry Instance/Enviroment. Once again many thanks for the support, blessings.

1 Like

Hey @Stefano , I too can not access the cancer registry program through Capture. Is there anything wrong?

1 Like

Dear @duserik,

I have accessed with the demo user in the demo instance and I can access to the program in the capture app.

There could be a caching problem, have you clean the cache of your browser?

1 Like

I had to finally use the Incognito windows instead, cleaning cache didn’t seem to work. Thanks

1 Like

Dear community,

We have released version 1.0.1 of the Cancer Registry tracker package. This is a corrective patch on top of 1.0.0. No edit-check logic has changed — every check behaves exactly as before. We recommend all implementations running the package upgrade.

What changed and why

Fixed: records could fail to save with an HTTP 500 / StackOverflowError. Several program-rule conditions in the package were written as very long flat boolean chains (one condition had 615 chained || terms). The DHIS2 expression engine evaluates these recursively, and the longest chains exhausted the server’s JVM thread stack during rule evaluation on save — so affected records could not be saved.

We rewrote the 22 affected conditions into balanced expressions: the operands, operators, rule actions, priorities and UIDs are unchanged — only the grouping parentheses differ. This reduces the evaluation depth from linear to logarithmic (the worst case went from ~615 to ~12), which removes the crash. The change was verified as behaviour-preserving (operand/operator preservation plus equivalence fuzz-testing across tens of thousands of evaluations — zero differences vs 1.0.0).

Program-rule cleanup. The release also tidies up the program-rule set; the corrected rules ship with 1.0.1.

Upgrading

  • The new version is available in the Download section of the package documentation.
  • Full details — the affected rules, verification, and upgrade steps — are in the release notes included with the package.
  • As always, test in a staging instance before applying to production.

If you have any questions about upgrading, reply here and we’ll be glad to help.

2 Likes

Hi @Stefano,

Congratulations on the release, it’s great to see these fixes included.

I have one question regarding version 1.0.1. In the download section, the package indicates that it is compatible with DHIS2 2.42, while the testing environment referenced appears to be running DHIS2 2.41.7.

Could you please clarify whether there is another testing server running DHIS2 2.42, or if the package was also validated against that version?

Thank you in advance for the clarification.

1 Like

Hi @duserik

Thank you for your question and follow-up!

Version 1.0.1 is validated and compatible for DHIS2 version 2.42.

The demo mentioned first post is indeed using 2.41 but that was for the first release. I’ll follow-up with @Stefano if the demo will be using version 1.0.1… thanks for the notice!

1 Like

Hi @duserik

Good question. We imported 1.0.1 into our demo environment, which runs DHIS2 2.41.7, and it works correctly there — that’s the environment referenced in the testing notes.

At the moment we don’t publish a separate 2.41-compatibility build, so if you’re on 2.41 and have any doubts, feel free to explore the package directly in the demo to see how it behaves in that version.

1 Like

Hey @Stefano,

The instance seems to be down, can you please bring it back?

1 Like

Hi @duserik

Thanks for your post. The instance is now live. :folded_hands:

Dear community,

We have released version 1.0.2 of the DHIS2 Cancer Registry toolkit. This patch release brings the data quality checks fully in line with CanReg5 (R45) and fixes several issues found during testing.

Compatibility

  • DHIS2 2.42 and above: compatible, no extra configuration needed
  • DHIS2 2.41: compatible only with the new program rule engine activated in Capture

What’s new

  • Multiple primary check redesigned. The current tumour is now compared with every previous tumour of the patient, using the same pairwise logic as CanReg5. The result is chosen in this order: Duplicate primary, then Unknown topography, then Multiple primary. Earlier versions could return wrong results, and in some cases the server rejected the event.
  • Placenta tumours (C58) can now be saved. A missing option in the topography group option set caused the server to reject them.
  • Myeloid morphology group fixed. Some myeloid morphologies (e.g. 9960, 9989) were assigned two groups, and the event was rejected.
  • Tumour-number checks now match tumour numbers exactly.
  • Morphology codes without a CanReg5 group and missing grades for non-malignant tumours are now handled as in CanReg5.
  • Clean-up: program rules, variables and data elements of the old Multiple primary design that are no longer used have been removed.

Verification

All checks were tested against the CanReg5 quality control classes on DHIS2 2.42 with more than 16,000 synthetic tumours. They agree with CanReg5 in all cases except one known CanReg5 bug (Sex–Morphology check for morphology 9084), which is documented in the release note.