3.9.0 release notes
Docker image update required
Prior to initiating an upgrade to 3.9, you will need to update the CHT Docker Image and a few packages inside the medic-os container. Please closely follow our 3.9 CHT Docker Image Upgrade Process
This image updates the horticulturalist package to stage ddocs properly.
Outbound Push only sends each report once
The implementation of Outbound Push has changed as part of cht-core#6306. Now each configured outbound push will be sent only once per doc. Specifically, the first time your
relevant_to function resolves to
true is the first and only time a particular record will be send to a configured external service. This is to ensure that pushes are stable and predictable, and additional pushes are not sent unintentionally or unexpectedly. We are working on allowing for multiple pushes, please see cht-core#6419 and contribute your situation to help us determine the best way forward.
Cleanup operations may impact app load times
We have implemented a purging function to clean up obsolete feedback and telemetry docs as part of cht-core#5902. This will free up disk space and improve performance over time, however initially may cause slower app load times while the backlog is cleared. The cleanup is capped to 1000 docs per app load to limit the impact on users.
There are no required changes to the supported software matrix from
|8.11+||2.1+||Chrome 53+, Firefox latest||medic-gateway||4.4+||0.4.5+||3.0+|
The CHT now supports calculating and exporting data for DHIS2 integration. The Core Framework can now be configured to calculate DHIS2 dataValues, aggregate patient level data, view aggregate data offline, and export the aggregate data formatted for DHIS2. The data is also available via an API so you can access it from an interoperability layer such as OpenHIM.
For more information read the documentation.
Supervise target progress
Targets can now be configured to be aggregated and synced to allow supervisors to view the progress of their health workers towards their goals. These new “aggregate” targets show an overview of all workers progress within their branch and can be selected to show each workers progress individually.
Interactive, structured messaging for health triage and clinical referrals is now possible with the integration of RapidPro. This opens new opportunities for a semi-automated, direct to patient approach to health assessments and care coordination at the community level. The Outbound Push feature has been extended to support submitting data to RapidPro so you can trigger workflows based on changes in the CouchDB database.
Read the feature overview to learn more about this new integration.
Case management workflows
For reports that aren’t patient or place centric you can now register a case with a generated
case_id short code. This allows subsequent reports to identify which case they refer to.
Read more about configuring the
accept_case_reports transition in the CHT documentation.
A new API has been added to allow tracking of a range of metrics in the CHT platform to make monitoring, alerting, and debugging of your instance easier.
- cht-core#6286: Link SMS reports to patient associated with the sender phone number
- medic-conf#297: Add command to bulk-edit contacts on medic-conf
- cht-core#5738: Trigger a sync immediately when a doc changes locally
- cht-core#5772: Show a prompt when we detect the user is logged out
- cht-core#5776: Make it clear that tasks can be completed anywhere in the window, not just on the due date
- cht-core#5804: Display page tab text labels even on mobile view, whenever there are 3 or fewer tabs
- cht-core#6188: Record telemetry events for tasks and targets
- cht-core#6209: Update aggregate target doc after the reporting interval to ensure accuracy
- cht-core#6211: Ability to make target widgets invisible
- cht-core#6234: Adjust UHC colors to be consistent with our color palette
- cht-core#6270: Minor CSS updates to admin app
- cht-core#6280: Show locale selector on login page
- cht-core#6306: Send outbound push without delay
- cht-core#6331: Add an API for hydrating contacts on a doc
- cht-core#6457: Rename configuration fields to be consistent with DHIS2 and make names localizable
- medic-conf#104: AppliesToType is not respected for report-based targets
- medic-conf#271: Only update configurations docs when something has changed
- medic-conf#292: Refactor to replace renamed dependency “opn”
- medic-conf#306: Allow for configuring xml2sms in forms
- medic-conf#323: Improve usage documentation regarding the options parameter
- medic-gateway#138: Tweak gateway SMS forwarding so you can define how long we wait to send SMS
- cht-core#5902: Offline users download all their previous feedback docs
- cht-core#5946: Replace underscore with lodash throughout our codebase
- cht-core#6108: Batch processing of sentinel changes
- cht-core#6125: Batch all sentinel operations
- cht-core#6181: Purging for task and target documents
- cht-core#5955: Login page redirection doesn’t work
- cht-core#6111: Unable to dismiss Guided Tour if you navigate to a different tab at the end of the tour
- cht-core#6147: Data from user’s meta database is not being replicated to
- cht-core#6149: Report content patient hyperlinks point to ‘/contacts’ list
- cht-core#6161: Fix race condition when deleting reports
- cht-core#6162: Submitting almost any form from the mobile app throws and catches a Java error
- cht-core#6183: Map tile fetching blocked by CSP for geopoint questions
- cht-core#6184: Reverse geocoding blocked by CSP for geopoint questions
- cht-core#6192: Broken link in Sentinel error message
- cht-core#6212: Console errors on upgrade page
- cht-core#6220: Number of tasks for person not shown on profile
- cht-core#6223: Outbound Push calls code to delete broken tasks unneccessarily
- cht-core#6231: Misaligned “Title” column in SMS Forms page of the App Management console
- cht-core#6239: The number of Feedback docs is incorrect
- cht-core#6249: CouchDB admins can’t login in the app
- cht-core#6256: API error for weak password is not prescriptive
- cht-core#6272: Modal dialogs are replaced by the same dialog
- cht-core#6315: The update settings API reports success but has no effect
- cht-core#6328: Upgrade page doesn’t show branches available to upgrade to if there are no betas to upgrade to
- cht-core#6335: Received messages appear as sent messages
- cht-core#6337: Infinite redirect loop on login
- cht-core#6356: Search reset button does not clear freetext field
- cht-core#6374: Labels for select fields are grey instead of black like other fields
- cht-core#6389: If multiple task documents are created with the same emission id only one of them is ever updated
- cht-core#6394: LHS Contact Action labels don’t render at 400px or below
- cht-core#6415: Missing translation “state.duplicated”
- cht-core#6417: As an offline user, submitting a report without a subject throws an error
- cht-core#6421: Db-doc doesn’t allow unallocated data_records
- cht-core#6425: Support resolving tasks concerning unknown contacts
- cht-core#6440: Sentinel will skip changes entirely in certain conditions
- cht-core#6450: Images used in a repeat are only showing spinners
- medic-conf#286: Hierarchy error prevents “move-contacts” action from working with parents using contact_type
- medic-conf#288: Keep our apps and configurations in sync with
- medic-conf#300: Error when uploading forms using Windows CMD/Powershell using medic-conf 3.1.0
- medic-conf#301: Unable to upload an app form after changing its .properties.json
- medic-conf#303: upload-app-forms skips the upload of forms based only on local changes, ignoring the state of the form on the instance
- medic-conf#325: Task generation fails when given contactless reports
- cht-core#4482: Report number of feedback docs in instance monitoring API response
- cht-core#4748: Make it easier to debug forms
- cht-core#5722: Reuse the same eslint config between repos
- cht-core#5956: deploy-info e2e test doesn’t work locally
- cht-core#5960: MessageQueueCtrl unit test is flaky
- cht-core#6009: Run CHT-Reference-App tests through travis
- cht-core#6092: Refactor Auth service to return boolean not throw
- cht-core#6126: Extend ESLint rules
- cht-core#6317: “grunt test” doesn’t work
- cht-core#6381: Improve Developer Install Docs to ensure CouchDB 2.3.x is installed
- cht-core#6470: Rename DHIS2 configuration names to use snake case
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.