0.x release notes
0.4.15
March 2, 2017
- Fixed potential race condition with medic-gateway. Issue: medic-projects/issues/1243
- Bumped libphonenumber to make phone number validation more up to date. Issue: medic-projects/issues/1005
0.4.14
December 16, 2016
- Bug fix for medic-gateway sending scheduled messages. Issue: #2535
0.4.13
October 21, 2016
- Option to set birthdate using days old instead of weeks. Issue: #2756
- The week/month is off by 2 in the Reporting Rates analytics dashboard. Issue: #2781
- Remove socket limit in medic-api. Issue: #2632
0.4.12
July 21, 2016
- Fixed bug in reporting rates for weekly time unit. #2429
- Log warnings in sentinel when ID collisions happen. #1898
- Support integration with medic-gateway for sending and receiving SMS medic-api#69
0.4.11
February 4, 2016
- Security fix for leaking auth info.
0.4.10
Nov 16, 2015
Added support for Outgoing Deny List, a comma separated list of phone numbers or strings to deny outgoing service to. #750
Fixed bug in records export. #1273
Fixed bugs in uniqueWithin validation. medic-sentinel#74
Added link to Help page in main menu.
0.4.9
Aug 26, 2015
Fixed bug on node 0.12 in felix-couchdb. #1145
Improved error handling when notifications (start/stop) configs are misconfigured. #1144
Fixed bug in
exists
validation where it fails on some unicode characters. #1147Fixed Reporting Rates interface that was neglected and broken. #1030
Fixed bug in exporting data by date, it’s now inclusive. #1104
0.4.8
July 14, 2015
Added SMS parser fixes from dev branch:
- parse string fields with exclamation marks
- compact textforms format handles quotes in quotes
Fixed export bug when using lowercase form codes. Please re-upload your forms so they are formatted correctly. #998
Fixed bug where exporting yields same result with or without date filter. #1059, #1031
0.4.7
June 16, 2015
Fixed ODK forms list bug when the list is empty. Issue #886
Fixed compact textforms parser bug with exclamation points. Issue #989
Fixed bug in compact textforms parser we ignored fields with uppercase letters in the key of the form definition. Issue #991
Fixed bug when creating record with empty message. Issue #990
Moved raw message to bottom of report body. Issue: #927
0.4.6
June 4, 2015
- Improved boolean expression evaluation in registration configuration.
0.4.5
May 28, 2015
Fixed bug in schedules editor for LMP (last menstrual period) based schedules. #973
Initial support for messages, records and forms API. See https://github.com/medic/medic-api/blob/master/API_v1.md
0.4.4
May 21, 2015
- Added support for a new messages parser we’re calling Javarosa prefixed with
the
J1
format code.
0.4.3
February 26, 2015
Features
Major UI enhancements #370
- Inbox Style with advanced search bar
- Admin Panels
- Mobile device support
Configurable date format #577
Built-in ANC Analytics #586
Easy user feedback mechanism #19
Added help and tour
Refactored build process, added grunt, bower and jshint.
No forms are included by default. You must upload your forms. As usual configuration (settings and forms) persists through upgrades.
Added new translations
Default auto-replies
There are now two ways to export stuff: 1) from the reports screen click on export, or 2) on the Configuration > Export screen. The former is simplified and has no way of changing facility, form, or file format. The latter is functionally equivalent to 0.4.2.
Upgrade Notes
CouchDB Lucene >= 1.0.2
Gardener >= 1.1.0
New Nginx configuration, close or redirect port 5984, proxy all requests through medic-api.
0.4.2
September 4, 2014
- Fixed bug: When searching for a patient identifier using the free-text search feature, results were not returned properly. Index the field appropriately.
0.4.1
July 31, 2014
Minor UI clean up.
Allow hash symbol to separate form code and data in structured textform message.
Modified build to bundle npm dependencies with attached node modules.
0.4.0
July 10, 2014
New Features
User interface for common settings and translations #484
User interface to configure basic ANC messaging workflows #487
Nodejs module for API calls and to handle audit transactions
Better language support on messages throughout configuration. e.g. you can define a reminder schedule using multiple languages and the right language will be used based on the locale of the message. #486
Added support to configure locales through settings screen #491
Added support for custom forms and uploading JSON form definitions #283
Supporting old/obsolete settings via migrations during restore #501
Support minute setting for scheduled hours configuration
Reduced files size of design doc by minifying javascript and combining files
Added support for unique validations across multiple fields. #412
External IDs can be added to facilities on the facility page. #503
Added
columns
query parameter to allow callers to messages and data_records exports to retrieve specific columns in a specific order. #503Added Patient ID field to default data record export
Allow specifying of task columns in message export.
To include the group column, include the parameter
columns=["task.group"]
(and any other columns you need, eg:patient_id
). #432Allow range searches on number fields in lucene. #481
Bug fixes
Fixed bug stopping district admins from being able to delete documents. #509
Corrected language Nepalese to Nepali
Fixed too many requests for app_settings #511
Fixed saving user password, was getting reset/wiped #509
Render facilities controls on all facilities tabs. #338
Deprecated and Backwards Incompatible changes
deprecated
exclude_cols
parameter for export integrations. Migrate applications to use thecolumns
parameter instead.No forms are included by default, you must upload your forms. As usual configuration (settings and forms) persists through upgrades.
0.3.11
June 19, 2014
Fixed bug where scheduled messages were out of order on Chrome #527
Fixed bug where app settings was ignored, and the app reverted to defaults. #524
Added delivery form to generic ANC forms.
Modified behavior of patient reports when
silence_for
option is empty we clear the entire schedule instead of a group.Fixed notifications to add the configured response #508
Fixed bug and added support for multiple schedules in schedule silencing
When
silence_for
is specified we should only silence/clear one group, I introduced a bug a few commits ago that would ignore the group and silence/clear based on date. Use thesilence_for
window to match and clear the first group.Also added support for comma separate string on
silence_type
option. In the MCH case we have two schedules that can be generated depending on the form submission/registration: ANC Reminders and ANC Reminders LMP. Now both schedules can be cleared with a single ANCV settings entry.
0.3.10
June 12, 2014
- updated intrahealth-senegal forms
0.3.9
May 22, 2014
- fixed a bug in settings parser, to conform to the latest app-settings changes, otherwise configs never get triggered.
0.3.8
May 22, 2014
fixed bug in messages export filters to include all data records, unstructured messages were being ignored. #502
added support for app-settings kanso package.
Saving settings in dashboard was too slow for use because entire ddoc was being updated. Using app-settings API fixes that.
0.3.7
May 13, 2014
- Modified KEMRI form fields to be ordered the same as KEMR form.
0.3.6
April 28, 2014
- Fixed bug in updating duplicate scheduled reports #483
0.3.5
April 16, 2014
Major bug fix that was introduced in 0.3.3 where visit reports do not get processed.
Fixed accept_patient_reports transition so it calls db for readonly actions instead of audit.
Allow analytics role to download messages and forms. Issue: #477
Updated user management to show role for analytics user. Issue: #478
Initial version of forms for Miraclefeet India
0.3.4
April 14, 2014
translate strings on user mgmt facilities select list #474
Change ordering of messages export format for better readability based on when the state is triggered. #475
From: Received, Sent, Pending, Scheduled Cleared, Muted To: Received, Scheduled, Pending, Sent, Cleared, Muted
0.3.3
April 10, 2014
Fixed spreadsheet keyboard navigation. #448
Validate ‘Everyone at x’ for at least one valid phone number. #333
Audit support for data records and facility data #415
Also includes support for export of audit data as XML or CSV file.
Note: Only new records and record edits will have an audit log entry. So this means your audit log will only contain changes to records after the upgrade.
Similarly browsing old revision will stop working for old records because they lack audit log entries. If this is a major problem for you let us know and we can add backwards compatible revision browsing in the next release.
This has been released as a standalone re-useable module for Node and browser environments: https://github.com/medic/couchdb-audit
Added support for compact version of TextForms format #428
In compact Textforms fields are delimited by spaces and determined by order. So no hashes or field keys are required like in classic TextForms format. If your field value has spaces in it then it must be surrounded by quotes unless it is the last field.
Examples:
REG 4165550000 John Smith REG "John Smith" 4165550000
Include state change timestamps and patient_id in messages export #453
Old Columns:
Record UUID, Reported Date, From, Clinic Contact Name, Clinic Name, Health Center Contact Name, Health Center Name, District Hospital Name, Message Type, Message State, Message Timestamp/Due, Message UUID, Sent By, To Phone, Message Body
New Columns:
Record UUID, Patient ID, Reported Date, Reported From, Clinic Contact Name, Clinic Name, Health Center Contact Name, Health Center Name, District Hospital Name, Message Type, Message State, Received Timestamp, Sent Timestamp, Pending Timestamp, Scheduled Timestamp, Cleared Timestamp, Muted Timestamp, Message UUID, Sent By, To Phone, Message Body
Note: These are the default column labels and they are configurable.
Disable facility select and show loading message until data is loaded. #452
Updated font-awesome to 3.2.1 to get extra icons
Fixed Help button on the spreadsheet. #455
Fixed spreadsheet duplicate rendering when quickly switching tabs. #362 #450
Added permissions checks to export lists functions. #456
Fixed bug where facility spreadsheet update records when field value is unchanged. #457
Fixed bug where registrations was not using db-wide unique IDs. medic-sentinel#54
Fixed duplicate records on ID search #430
User Management UX refactor #385, #380, #462, #380, #379, #378, #377, #429
Fixed bug on facilities screen where delete functions would stack up and inadvertently delete a facility. #469
0.3.2
_March 11, 2014 _
fixed facilities spreadsheet bug #451 in Chrome
minor user interface tweaks on deletion of facilities modal
0.3.1
_March 3, 2014 _
Fixed a bug where the facilities spreadsheet was holding focus so sending a message doesn’t work. #440
Added Bulk Messaging support, so you can send messages to multiple recipients. #333
Fixed bug to include incoming messages in messages export. #436
Fixed bug where it is possible to send a message twice by double clicking the submit button
Fixed bug where we failed to retrieve settings on port 80 #438
This was experienced when proxying to couchdb because http proxying will decode the URL including docid of the show parameter, so the show returns 404. Solution is to always double URL encode if the show docid contains special characters.
Confirm with user before deleting facility so they can’t be deleted by accident. #371
Added unique Patient ID validation support. #411 medic-sentinel/pull/50
Use unique(‘patient_id’) in your registration validation rules to validate new form submissions that are setting the patient ID values via forms.
Validation rules may consist of Pupil.js rules and custom rules. These cannot be combined as part of the same rule.
Not OK:
rule: "regex('[0-9]{5}') && unique('patient_id')"
OK:
rule: "regex('[0-9]{5}') && max(11111)"
If for example you want to validate that patient_id is 5 numbers and it is unique (or some other custom validation) you need to define two validation configs/separate rules in your settings. Example validation settings:
[ { property: "patient_id", rule: "regex('[0-9]{5}')", message: "Invalid: Patient ID {{patient_id}} must be 5 numbers." }, { property: "patient_id", rule: "unique('patient_id')", message: "Invalid: Patient ID {{patient_id}} must be unique." } ]
Added Conditional Alerts feature. #437 medic-sentinel/issue/52
Configure the Alerts section of the App Settings to send a message when an incoming message meets the configured condition.
0.3.0-beta.39 (bugfix)
February 25, 2014
Fixed textforms whitespace parser bug when using form list field types. #431
Textforms parser wasn’t trimming space correctly on a field value, so if you had a list defined using those values they would never get matched.
Textforms was only matching numeric values of length 2 or more, so if you submitted a one digit number you would not get a numeric match.
Also if the value didn’t match numeric or a date format then the whitespace was not being trimmed correctly.
0.3.0-beta.38 (debug)
February 13, 2014
- added logging calls to help debug and identify whitespace parsing bug #431
0.3.0-beta.37
January 21, 2014
Fixes to user roles (@marc)
Matches Transitional V2 in https://docs.google.com/a/medicmobile.org/spreadsheet/ccc?key=0Ao9l2yegOFn7dEJRTEw1Z3RmZm0wTEo4Nk92NjVocnc
Added support for Kemri Muvuku Form (KEMR)
Added exclude_cols query param to csv/xml form exports. #421
For example include
exclude_cols=1,5
in your query parameters to remove the first and fifth column of an export.bugfix on export query params and UX adjustments
Made English CSV export default. SpreadsheetML can be a little buggy because we’re using HTML entities (not valid XML).
Disabled default month value in exports screen since record count does not reflect the export row totals displayed. It’s probably better UX to have the user set the date knowing they are doing something than having a default that doesn’t make sense with the totals on the screen and having to guess why that is.
Added timezone support to exports #394
Render page contents first and then load the fields data since that was holding up the page load.
Indexing _id as
uuid
in field index so you can search foruuid:10366976d62ab9a31257b2fad16113ee
now and it shows up in available fields index. For some reason I think underscore prefixed fields do show up in fields listing on Lucene for some reason.Fixed poor loading on search help #422
added timezone support to exports #394
Now dates in the exported spreadsheet should include your locale timezone. Controlled by the
tz
query param.
Added new Messages Export and removed message data from Forms Export
New http endpoint
/export/messages
to get messages export. Records are always latest first (reverse chronological). Message export will include all records (valid and invalid), the point of the messages export is to give you access to all your message data, including outgoing error messages.Warning: the following URLs are no longer supported:
/{form}/data_records.csv /{form}/data_records.xml /form_data_records.xml /form_data_records.csv
Use
/export/forms/{form}
path instead.Warning: Existing form data export format has changed. Included UUID of the related record so data among the two spreadsheets (messages and form data) can be correlated if need be. Also removed the message data/columns from form data export. A record can be found via UUID by using
uuid:<the uuid string>
in the search box.Changed default column name of “From” to “Reported From”. Note if this shouldn’t change if you have an existing install since it is generated based on your translation settings.
The NEW columns (added UUID column and removed message data):
Record UUID
Reported Date
Reported From
Clinic Contact Name
Clinic Name
Health Center Contact Name
Health Center Name
District Hospital Name
[columns for form fields data depending on form]
The OLD columns:
Reported Date
From
Clinic Contact Name
Clinic Name
Health Center Contact Name
Health Center Name
District Hospital Name
[columns for form fields data depending on form]
Incoming Message
Responses
Outgoing Messages
Scheduled Tasks
0.1.22
- Major improvements in scheduled reminder support in Sentinel.
- Support for Twilio in Sentinel.
- Minor refactor of records screen:
- added counters to show sent/scheduled messages in records rows.
- displaying scheduled tasks in records expanded view
- added RC Code column
- combined facility data into one column
- improved contact info column, made more prominent by moving clinic contact info and phone together and into second column.
- Removed auto-reply messages from form submission that use sentinel/scheduler so only one response is sent on a new form submission.
- Fixed bug: Only update records of type ‘data_record’ on records screen
- Preserve css (expando visibility) when row is replaced in records.
- Use serial_number instead of patient_id for ohw_registration.
- Fixed bug in textforms parser where 01234 was parsed as 1234 and added test.
- Fixed unit tests for ONOT and ORPT form updates.
- Fixed/Added tests for ohw emergency report (OEMR) responses.
- Added PNC test for ohw emergency report (OEMR).
- Fixed ohw notifications transition to set correct muted value.
- Fixed OHW birth report (OBIR) logic and added tests.
0.1.21
- Fixed bug: regression from error handling refactor where assigning a record a new facility did not clear
facility_not_found
errors. - Fixed bug: months based reporting valid value was not being passed through view.
- Fixed regression: returning
form_invalid
response whenform_invalid_custom
error is found. - Fixed NYAA form custom validation.
- Added ability to do bulk deletes and facility updates.
- Fixed bug where record is created as valid if callback request is not completed due to disconnection or phone running out of battery. Records are initialized as invalid.
0.1.20
- HTTP callbacks refactor, now records are created on first HTTP POST.
- Tests refactor, replaced some redundant/large tests with more specific ones.
- Error handling refactor, now clients should not get system messages.
- Updated JSON forms to include Carlos Slim test forms.
- SMSSync 2.0 support: parsing of new timestamp format.
- Bundled SMSSync 2.0.1-hcb (http-callbacks) build.
- ’null’ form key in filters to find records without a form definition.
Upgrade Notes
- If you upgrade the gateway without upgrading Kujua the timestamps from the messages will not get parsed. So messages will get a timestamp assigned to them by Kujua, which reflect the time the record was created in Kujua rather than the actual time the report/message was sent.
0.1.19
- Fixed wifi lock bug in SMSSync #54.
- Updated docs with new SMSSync build instructions
- Fixed labels names and stat placement on Health Center and District reporting screens.
- Added help panel to spreadsheet to explain key bindings.
- Form revisions for OHW and CDC Nepal
0.1.18
- Fixed bug in records screen where 1 row was not getting rendered until a scroll.
- Refactored messaging, supporting
messages_task
in json forms. - Fixed bug where non-districts showing up in districts filter.
- Keep Kujua Reporting files in-tact so it can be activated with config.
- Added validations, messages and ref id labels to forms on gateway testing doc.
- Added autocomplete=off to error missing phone form in records screen.
- Added css for pointer hover to icon-exclamation-sign.
- Renamed
use-sentinel
touse_sentinel
to be consistent in JSON forms. - Added basic unstructured message support.
- Fixed bug in records during edit row function where reported date get munged.
- Added spreadsheet feature so children get updated when a parent facility is changed.
- Fixed bug where using wrong label on main analytics screen.
- Always create records, even on empty or unstructured messages.
- SMS response messaging refactor, added response messages to gateway testing doc.
- Fixed hard coded URL paths in reporting tests.
0.1.17
- Renamed
reference_field
property on forms tofacility_reference
. - Allow phone number to match on any facility type not just clinics.
0.1.16
- Tell user to login on 403 template.
- Added record detail to analytics screen expand div.
- Added configuration entries for reporting rates/analytics.
- Made labels more configurable.
- Added Kujua Sentinel support for reminders and alerts.
- Updated spreadsheet columns to use config for labels.
- Added support for form_invalid_custom error codes.
- Introduced
reference_field
on forms. - Fixed kujua reporting views to better handle undefined clinic object in facility data.
- Make it clear in HC reporting screen that contact name/phone is undefined.
- Use
__dirname
in sentinel so it can be launched from any directory. - Added page for reminder logs.
- Fixed district filtering support.
- Added lockRows option to spreadsheet.
- Fixed bug in XML spreadsheet output where true boolean value shows as 0.
- Added support in sentinel to update children when a facility is edited.
- Fixed bug on delete and editRow modal window.
- Hide all nav items except docs when logged out.
- Removed console references and added JSON.stringify to logger call.
0.1.15
- Saving responses to record and displaying in records screen.
- Added timezone offset to reported date in exports and data records screen.
- Added datepicker to filter exports by date.
- Added support for custom form validation functions
- Show better error message for other codes like missing_fields
- Fixed buttons in data records screen
- Added Kujua Reporting package for easy switching of analytics features
- Improved test coverage for missing fields, cleaned/fixed up tests.
- Fixed form parsing for fields defined as sub-objects and boolean parsing.
- Added cases for sms responses when form is undefined
- Display tooltip on input element focus in spreadsheet
- Added delete on facilities spreadsheet
- Make en/xls default export format
- Custom labels via config.js configuration doc
- Support for records to key on any facility
- Nepalese responses
- VPD field updates
- added additional form definitions
0.1.0-pre.4
- Parsing refactor to allow for better unstructured and textforms support, #106, #79
- Add validation to spreadsheet with first cut of phone validation. fixes #104
- Direct support for json-form definitions #76
- Added textforms support for tiny labels in form definition
- Generating example messages automatically in Gateway Testing doc
- Fixed textforms parser for Couchbase on OSX #46
- Using complete field keys instead of tiny labels in textforms data record creation #79
- Better generic localized message handling #79
- Added delete feature to spreadsheet rows #97
- Updated install docs to include require_valid_user steps
- Various spreadsheet fixes #103, #98
- Better localized string support in form definitions
- Include national office data to districts on save
0.1.0-pre.3
- Added Quick Install Doc
- Renamed kujua-export to kujua-base #88
- Added dropdown health centers and districts to spreadsheet #99, #66
- Various facilities spreadsheet bug fixes #92, #91, #94
- Added CouchDB security steps to install doc #88, #66
- Fixed authorization passthrough for tasks pending #87
- Various data records screen fixes #84, #83, #56
- Updated gateway/SMSSync binary and added S3 link to install docs
- Removed Export branding
- Started on functional tests using zombie.js and vows
- Added health centers and districts spreadsheet
- Added facilities section and spreadsheet editor #63
- Assert forms that pass validation gets saved #78, #75, #46
- Fixed bug where form submission fails if it has extra fields #75
- Fixed 24-hour time display bug
- Added close button to login window #70
- Fixed bug with scroll listener binding to other pages #69
0.1.0-pre.2
- Better textforms support including validation #46
- Added optional required field to form defs, all field definitions are required by default.
- Close dropdown menus when clicking anywhere on the site #53
- Stream export data instead of collecting it in memory #57
- Added validation step to all new form submissions #73
- Added records filtering by form #56
- Moved data records code to module #69
0.1.0-pre.1
- added facility columns to export formats #54
- added fr translations for facility names. #54
- The server will not send a response unless a form is recognized.
- Filtering on Districts support
- Added Records section
- Fixed reported date on re-imports, so the dates are preserved based on sent timestamp in sms message.
- Added infinite scroll for viewing records on one page instead of paging.
- Marking empty fields with question marks.
- Marking errors on records that have referral tasks with no recipient defined.
- Real-time updates via changes feed
Feedback
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.