News and announcements

DHIS version 2.13 is released

Written for DHIS by Lars Helge Øverland on 2013-10-24

We have some great new features and improvements for you. You can heck it out here:

Updated on 2013-10-24. Read more

DHIS 2 version 2.12 is released

Written for DHIS by Lars Helge Øverland on 2013-05-31

DHIS 2 version 2.12 is released. We have some great new features for you:

- All analysis tools are working against the analytics Web API. This means that the system is no longer dependent on the resource-demanding data mart process and running it is now optional. You can still run data mart and use it for custom reports but all analysis tools now read from the analytics tables. These tables can be generated ad-hoc from reports module and scheduled in data administration module. The analytics API allows you to do a lot more flexible dimensional data analysis, for instance like this:

- In data visualizer module you can now do analysis on all fixed and dynamic data dimensions. You can select any data dimension and items from the left menu. You can also use multiple dimensions as filter. In DHIS 2 you can create dynamic data dimensions through data element group sets, org unit group sets and categories. For instance we can now create interesting charts where you compare immunization doses given at facility (fixed) and outreach:

(Log in with admin/district)

You can make a chart comparing ANC visits for each facility type:

A chart showing HIV testing broken down on gender:

You can also include data element details (category option combos) directly under data elements by selecting "Details" as opposed to "Totals" in the drop down next to the list of data elements:

- In pivot table module we have added support for analysis on category based dimensions - you can now do analysis based on all fixed and dynamic data dimensions. All dimensions can be selected from the menu on the left. You can for instance create a pivot table for vaccine doses given broken down on age group and facility location like this:

- In pivot table module you can now download your pivot table to your local computer in Microsoft Excel, CSV and HTML format. The downloaded file will have the same table layout as you see on the web page. As an example, load a pivot table by clicking on the link below, then click on "Download" on the top menu, then "Microsoft Excel" under "Table layout".

You can also use the pivot table to browse the analytics web api and use the download options under "Plain data source" to retrieve the data response.

- Pivot table now supports data interpretations. Load a favorite, click on "Share" in the top menu and write your question, comment or interpretation. It will become visible in the data interpretation feed in the dashboard.

- In GIS you can now include data element details (category option combos) in a map. For instance you can create a map for ANC 1st visits at facility (fixed) like this:

- Single events without registration (anonymous events) are now supported in the Web API. This means that you can send event data from case-based systems like EMRs directly to DHIS 2, and create mobile clients for event registrations which send event data over HTTP to DHIS 2. Documentation here:

- Data entry for single events without registration now works offline, in the same way as the routine data entry. This implies that you can log onto DHIS 2 in the morning and continue with data entry throughout the day even if Internet connectivity is lost or intermittent. Even large option sets for ICD 10 codes work offline, and performance is improved in general. Check it out here:

- In tracker you can now define program indicators, creating formulas based on person data elements in order to make more useful analysis:

- In tracker we have a new analysis function which gives completeness for each program and its program stages:

- Option sets and data elements of type yes-only are now supported in the routine data entry module. This will be useful for several use-cases, for instance when making facility assessment forms. We recommend sticking with numeric option sets and data elements in routine data entry since text cannot be aggregated. Check it out by selecting the "Facility assessment" form here:

- Data set report and reporting rate summary now allows you to use all organisation unit group based dimensions as filters. For instance you can filter your data set report to only include data for a certain facility type. Click on "More options" to select the filters in data set report:

Same goes for reporting rate summary:

- Data entry can now be done through PDF files. This implies that data entry can be done completely offline and detached from DHIS 2 through the well-understood PDF format. You can download PDF form templates from the data set module by clicking on the PDF icon. Forms can later be uploaded through the import-export module by going to "PDF Data Import". This allows for workflows where forms are distributed to remote / mostly disconnected areas, filled and returned by email before uploaded to the central instance.

- Support for "app" extensions. You can now develop stand-alone apps and use them as extensions to DHIS 2. The apps should be based on javascript and HTML and use the DHIS Web API for retrieving data. The apps must be packaged according to the W3 manifest for Web applications. You can upload the apps in the Apps service module. Documentation here:

You can see the admin module here:

- The analytics Web API resource now supports data responses with table layout. This means that you can generate ready-made tabular reports in Excel, CSV or HTML format straight from the analytics API using dynamic input parameters without defining anything up front. This is an example Excel report generated on the fly by using the tableLayout, columns and rows query parameters:;cYeuwXTCPkU&dimension=pe:LAST_12_MONTHS&dimension=ou:LEVEL-3-O6uvpzGd5pu&tableLayout=true&columns=dx;pe&rows=ou

You can read the documentation here:

You can download the 2.12 release here:

You will find documentation here:

Source code is found here:

The new analytics engine requires that more of your server resources are dedicated towards the database in favor of the Java VM. It also requires that you have a fast disk type. We will provide more info about this shortly.

For this release we had source code contributions from PSI and Critical software - much appreciated. Also thanks to all developers who have worked very hard to finalize all this in only two months.

Enjoy the new version. Feedback is appreciated.

best regards,

the DHIS 2 development team

Updated on 2013-05-31.

DHIS2 participating in Google Summer of Code 2013

Written for DHIS by Saptarshi on 2013-04-09

Today Google announced that HISP (for DHIS2 development) has been selected as a mentoring organization for the Google Summer of Code (GSoC) 2013 program. We feel happy that we've got the opportunity to attract the best students to work with us over the summer on projects that will help build tools to improve health systems. Please spread the word among university students to apply to our project with full zest on existing ideas, new ideas and engage in discussions with us (over email - developers list or at the IRC - ). I invite all of you to hangout at the IRC.

In the coming days, we will have a number of interested students come with their queries and questions to the list. They'd suggest their own project ideas as well as discuss some of our suggested project ideas. Hopefully we'll all welcome them with open hearts and minds, and make them part of our community.

--- About GSoC Program ---
Now in its ninth year, Google Summer of Code is a program designed to pair university students from around the world with mentors at open source projects in such varied fields as academic research, language translations, content management systems, games, and operating systems. Since 2005, over 6,000 students from 90 countries have completed the Google Summer of Code program with the support of over 350 mentoring organizations. Students gain exposure to real-world software development while earning a stipend for their work and an opportunity to explore areas related to their academic pursuits, thus “flipping bits, not burgers” during their school break. In return, mentoring organizations have the opportunity to identify and attract new developers to their projects as these students often continue their work with the organizations after Google Summer of Code concludes.

Below is the timeline:
 - Monday, April 8th - Accepted organization announcement
 - April 22nd to May 3rd - Student applications period
 - May 24th: Accepted students are announced
 - Till June 16th: Community bonding period
        Get to know your fellow interns and mentors.
        Communicate about the project, create designs and plan
 - June 17th: Coding begins
 - July 29th: Mentors send Google a mid-term evaluation of your work
 - Sep 16th: Plan to finish coding by this date. Polish code after this
 - Sep 23rd: "Pencils down". Stop coding. Mentors submit their final evaluation
 - Oct 1st: Results of evaluations are announced
For the internship, Google grants
$4500 to the student and $500 to the mentoring organization.

DHIS version 2.11 is released

Written for DHIS by Lars Helge Øverland on 2013-03-22

DHIS version 2.11 has some great features:

- Web-based pivot table: Allows you to create pivot tables with data aggregated along all data dimensions, including data element/organisation unit group sets. Data dimensions can be arranged freely on columns, rows and as filters. You can include totals and subtotals on all axis and control the table density and font size under options. Your pivots can be saved as favorites and downloaded to your local computer. This design goal is to allow users to create their own reports with the data they need without any involvement of super-users.

A pivot table with immunization indicators for last 4 quarters by facility ownership, type and location can be made like this (log in with admin/district):

A pivot table with number of diagnosis by facility ownership and type with totals and subtotals looks like this (notice that diagnosis are data element groups):

A pivot table for vaccines, broken down on categories, age group and point of service, last 12 months:

A pivot table with reporting rates, major forms for public facilities by location and type, last 12 months:

We encourage you to play around - select dimension items for the left menu and arrange dimensions from "Layout" in the top menu. Documentation can be found here:

- Data analytics Web-API resource: A flexible API for retrieving aggregated, analytical data for all data dimensions using a simple query syntax. The pivot table module is built on top of this API. It allows developers of third-party apps and web portals to connect to DHIS 2 and query for any type of aggregated data, where any number of dimensions and filters can be specified. Data can be retrieved in json, jsonp, xml, csv, html and xls (Excel) format and responses can be constrained with criteria like greater than, equals and so on.

A query for retrieving data for certain data elements, periods and organisation units might look like this:;cYeuwXTCPkU&dimension=pe:2012Q1;2012Q2&dimension=ou:O6uvpzGd5pu;lc3eMKXaEfw

Documentation can be found here:

- Sharing: Several objects including chart, pivot table, map, indicator and data set can now be shared and have fine-grained access control. An object can be made private to yourself, shared with any number of user groups or be made available for all. You can grant edit or view-only rights to other people. You can create user groups directly from the dashboard. Who should be allowed to create public objects can be controlled through user roles.

This functionality is useful for example in a scenario where entities like health programs and implementing partners need to create indicators and reports which should be available only for members of their organisation. In this case, an organisation can create a user group for their staff, then develop charts and maps which could be made available for that organisation only. General reports made by the ministry could still be shared with all and made publicly available.

Another use-case is that of an international NGO with operations in multiple countries. Here, user groups could be set up for each country and indicators, resources, charts and reports which are country-specific could be made available for staff working in that country only, without appearing in lists for staff working in other countries. Indicators and reports which are applicable for all counties could be made accessible for all. The sharing solution also opens up for great possibilities when combined with the self-registration of user account feature.

Documentation here:

- DXF 2 meta-data exchange: You can now import and export a complete set of objects in the aggregate part of the system, including data sets, custom data entry forms, maps, charts and option sets. Import/export of meta-data objects now uses the new DXF 2 format. Import/export can also be done through the meta-data Web API resource. This greatly improves the ability for meta-data exchange between DHIS 2 instances and third-party systems.

Documentation here:

- HTML-based standard reports: You can now develop standard reports in pure HTML and Javascript. This requires a little bit of development skills but allows for creating pixel-perfect reports tailored to most needs. It is especially flexible when used in combination with the analytics Web API, where aggregated data can be pulled out of the system and positioned in the report according to your needs.

An example of such a report can be viewed here:

Documentation here:

- Multi-organisation unit data entry: You can now do data entry for multiple organisation unit in the same form. This is useful for instance in scenarios where you have section forms with few data elements and an organisational hierarchy with hospitals with multiple wards below, as it allows you to do fast data entry for all wards at the same time. To enable it, go the system general settings and enable "multi-organisation unit forms", then go to data entry and select the organisation unit above the ones you want to enter data for.

Documentation here:

- Tracker ad-hoc aggregate reports: You can now do on-the-fly aggregation of tracker data in tabular reports. Define aggregation queries with filters or group statements and view the results instantly. Create reports like top 10 diagnoses from inpatient admissions, save as favorite and run the report again whenever you like. You can check it out here:

- Tracker program statistics reports: Tracker now comes with better out of the box statistics to program managers. Monitor new enrollments, programs completed, and drop-outs. Also analyse in detail from each stage how many visits are done, completed and overdue. Try it out on the demo here:

- Tracker general improvements: The tracker module is rapidly being improved and the user experience is improved in person dashboard, case-based tabular reports, person aggregation and program maintenance.

The tracker user guide can be found here:

- Facility registry Web API resource: DHIS 2 now implements the API specification made by the FRED project. This means that DHIS 2 can be considered a feasible facility registry. More info here:

- Model changes: Indicator formulas, validation rule formulas and custom data entry forms are now using UIDs (stable identifiers) which makes it possible to transfer these easily between systems. Category options can now be re-used within many categories which improves analysis and naming conventions.

- Miscellaneous: Report table supports weekly periods. Data visualizer has an improved favorite user interface, making it consistent with pivot table and GIS. Touch-friendly navigation for help and profile items (click on help or profile in top menu).

- The scheduling functionality has been improved. As a consequence you must re-set your scheduled jobs after upgrading in data administration -> scheduling.

WAR file, Live package, sample data and source code can be downloaded from here:

Documentation and Javadocs can be found here:

Launchpad source code page:

Launchpad blueprint page:

best regards,

the DHIS 2 development team

DHIS version 2.10 is released

Written for DHIS by Lars Helge Øverland on 2012-11-17

DHIS 2 version 2.10 has been released. The major features this time:

- We have included elements from social networking: You can self-register a user account, create your own profile, post messages and share interpretations. You can easily search and find other peoples profiles and communicate through messages.

- A completely new GIS module, rewritten from scratch, which comes with much faster load time, more intuitive user interface and more features.

- A brand new web-based mobile client with offline support for smartphones. It lets you enter data, send messages and manage your profile.

All new features:

1. GIS: All map layers can be saved as a single favorites. You can create nice maps containing multiple layers and save it all together in a single favorite. You can also share map favorites as interpretations by first loading or saving a favorite, then clicking "share" on the top menu. Log in with admin/district:

2. GIS: Improved favorite user interface with paging and free-text search. You can rename, overwrite, delete and add the favorite to your dashboard straight from the list. Click on "Favorites" in the top menu:

Documentation here:

3. GIS: Display surrounding areas as circles around facilities in order to visualize density of facility services:

4. Web-based mobile client for smartphones: We have a new mobile client which lets you enter aggregate data, send and receive messages and manage your profile. The data entry functionality works offline, meaning you only need connectivity for downloading the data entry forms and submitting data to the server. In between you can stay offline and enter data for as long as you want. It is targeted at smartphones with touch-based interfaces, and works on all Android versions from 2.1 and above. With the rapidly decreasing price on smartphones this client is a compelling alternative for mobile data entry, compared with the complexity and issues with compatibility, installations and upgrade associated with native Java clients.

Check it out by pointing your mobile browser to this link, enter mobile/district as username/password and select "smartphone" as mobile version, then click "login":

5. Self-registration of users: Its now possible to let users create their own user accounts. You can define which user role the system should grant to self-registered users under system settings. You can get an overview of self-registered users in the user module, and temporarily disable users if needed. On the login page, click on "Create an account" and complete the account form: (log out first under Profile - Log out)

6. User account recovery: Users who forget their password can now restore it from the login page by clicking on the "Forgot password?" link. After entering your username, two emails are sent to the email address registered with the user account which will guide you through the recovery process. Documentation here:

7. Profile page: You can now set up a profile for your user account, including introduction, job title, nationality, employer, languages and more. Access your profile directly from the "profile" link on the dashboard. We have introduced a new profile top menu item - use it to edit your personal settings, user account and profile.

8. Improved interpretations: You can click on the sender of an interpretation or comment to get to her personal profile. Interpretations look better and auto-page as you scroll down the page.

9. Improved messages: All users can now send messages to any user group, user or users associated with an organisation unit. Messages support line breaks and embedded links:

10. Dashboard free-text search: Search for users, charts, maps, reports and report tables straight from the search field in dashboard. This means that you can search for the topic you are interested in and get quick access to all kinds of analysis. Try it out by searching for "ANC" or "Immunization":

11. Relative periods and report parameters in SQL based standard reports: You can now take advantage of parameters in SQL queries when writing standard reports, in order to make queries reusable for multiple periods and organisation units. SQL queries are sometimes required when report tables do not offer enough flexibility, and let you utilize all tables in the DHIS database in reports. Go to the "add new" standard report screen. From here you can download a report template which contains all parameters. To enable SQL based reports click on "use JDBC data source", then select your preferred relative periods and report parameters. To view an example click on the "Immunization: Raw data by district and chiefdom" report:

Documentation here:

12. Appearance: You can now put an application introduction and notification on the front page. Configurable from system appearance settings:

13. Tracker: Person dashboard with quick access to a person's demographics, history, active programs and relationships. Check it out by selecting the first facility in the organisation unit tree (Ngelehun CHC), click "List all persons" and then click on any name in the list:

Documentation here:

14: Tracker: Automatic message reminders. You can now schedule automatic reminders to be sent using SMS or email to persons which are late for appointments or checkups:

15. Tracker: Scheduled aggregation tasks. You can now set up scheduled, daily aggregation of person based data into aggregate data. The aggregation query builder is now easier to use, and you can set your queries to be run automatically:

16. Tracker: Visit schedule overview. Display a detailed overview of scheduled visits per facility for a given time range, like today, this week and this month:

17. Tracker: Program Tracking. Search and find who has dropped out and are lost to follow-up for a given program. Provides easy access to ad-hoc SMS messaging and tracking history.

18. Validation in data entry: Marking a data set as complete can be allowed only if validation is successful. This can be configured per data set in the add/update data set screen. Useful when you have absolute validation rules and want to ensure high data quality. Documentation here:

19. Validation in data entry: Entering values for all fields for a data element if one or more values are entered can be made mandatory. This can be configured per data set. Useful e.g. for logistics forms where you want the user to enter values for quantity received and closing balance if she entered opening balance for a drug. Check it out by selecting the "PHUF 2 - Children's preventice services" form:

20. Complete notifications: You can now define a group of users who should receive a notification when a specific data set is marked as complete. This is useful e.g. when DHIS 2 is used as an ordering system for drugs, and the drug supplier wants to know when a new order has been placed. It can be configured per data set. You can define user groups in user module -> user groups:

21. Dynamic data element selection in custom data entry forms. You can set data elements to appear in a drop down list in custom forms and be selected for data entry on demand. This makes it possible to display high numbers of data elements which are infrequently used in a drop down list, while data elements which are often used are displayed in the form as usual. Check it out by selecting the "PHU 6 - Staffing" form here:

22. Performance and PostgreSQL 9.2 optimizations: We have modified all indexes in the system to take advantage of the new index-only scan feature in PostgreSQL 9.2. We have been using this PostgreSQL version in production for several months and strongly recommend to upgrade. Load e.g. any data set report for 2012 and see how the report is rendered within one tenth of a second:



Complete list of features:

Source code branch:


Enjoy the new release, all feedback is welcome.

best regards,

DHIS 2 development team

610 of 27 results