Want to know what has changed since a previous version? This page lists those changes. You can alter the range of release notes to display if you wish.
The latest release of Profile is version 2.4.
Profile 1.0
(Release 1030): released 2012-03-29; requires iOS 5.0 and IHServer 7.6.2.380 or later
Initial general release.
Profile 1.1
(Release 1100): released 2012-04-11; requires iOS 5.0 and IHServer 7.6.2.412 or later
Graph
Added a graph view to the Measures view.
Simply tap a measure name to graph it.
The graph supports single values and ranges like BP, plus displays minimum and maximum lines if known.
You can pinch to zoom the graph, or zoom in with a double-tap or zoom out with a two-finger tap.
Patients, Appointments & Tasks Maps
The Patients, Appointments and Tasks lists now each include a Map button, which shows a map view with pins for all listed patients.
Each pin annotation view includes the patient's name and address.
The map is automatically zoomed to show all patient pins.
The action menu (to show the location in the Maps app or copy the location) applies to the last-selected patient pin.
Tasks
Replaced the detail disclosure button with a menu that includes Show Patient (if the task has a patient), Edit Task, Complete Task and Cancel Task.
The latter two menu options immediately update the status of the tapped task.
Added buttons to sort and group the tasks by due date, by patient, or by priority.
Added a switch in Settings to include or exclude concluded tasks (i.e. ones that aren't Pending or Held).
Added the ability to see and choose the task holder.
The patient is now pre-populated when creating a task from the Patient Tasks variation, and can't be changed.
The patient can't be changed for an existing task (as the server doesn't support that).
Improved the popover to choose patients.
Patient Details
Toggling Edit mode on and off without making any changes no longer unnecessarily saves the patient to the server.
Tapping on non-edit rows no longer highlights them unless they can do something (e.g. tapping Email composes an email to the patient).
Patient Map
Now includes a button to show your current location on the map, which also supports rotating the map to match your heading.
When the location button is used, the map is zoomed to show both the current location and the patient's location.
The title now just says "Map", rather than the address, since it typically is too long (the address is still on the pin).
Other
Adding a measure in New Encounter now lists it in the Measures view, both when it is a draft and after the encounter is saved.
Added providers to the reference data.
The reference data is now automatically reloaded after an app update, since it may be stale.
The serial number is now preserved when using the Erase All Content and Settings function.
Removed the detail disclosure button from the Appointments list, since it doesn't do anything.
An empty response from the Server is now captured as an error.
Fixed a rare crasher with text fields.
Improved settings loading logic to avoid reloading reference data more often than it should.
Now requires IHServer 7.6.2.412 or later.
Profile 1.1.1
(Release 1110): released 2012-08-20; requires iOS 5.0 and IHServer 7.6.2.412 or later
Changed the Unlock Profile view to combine the Server and Port fields into a single Server field. The http:// or https:// prefix is optional (it uses https:// if no port or a port of 443 is specified). Also, if the server is hosted on myaccession.com, just a server name can be entered, e.g. just the "example" part of "example.myaccession.com/aps".
Fixed an issue with SSL/TLS connections.
Settings for Appointments and Tasks now have wider date ranges, including an All option.
Some other performance and stability improvements.
Profile 1.1.2
(Release 1120): released 2012-11-14; requires iOS 5.0 and IHServer 7.6.4.281 or later
Sync Performance Enhancements
Changed loading clinical views to load all views in one request.
Changed loading measures to load them all in one request.
Changed loading encounters to not use uncessary encoding.
When syncing, now sends up to 8 requests to the server at once, to speed up the sync process.
Now displays "Updating..." in the sync status bar, since the server and Profile are now both doing multiple things at once.
Changed the order of loading patient data, so the time-consuming ones are started first.
Now uses a 15 second timeout when connecting, and a 5 minute timeout for other operations, so it fails quickly if it can't connect, but allows plenty of time for large amounts of data to load.
Other
Updated TestFlight SDK to version 1.1, for Xcode 4.5 compatibility.
Updated CorePlot SDK to the latest version, for Xcode 4.5 compatibility.
Added support for the new 4" display on the iPhone 5.
Built for iOS 6.0, compatible back to iOS 5.0.
Added a maximum server version check, since Profile 1 doesn't work with IHServer 7.8.0 or later (use Profile 2 instead).
Now requires IHServer 7.6.4.281 or later, but before 7.8.0.
Profile 1.1.3
(Release 1130): released 2012-12-06; requires iOS 5.0 and IHServer 7.6.4.298 or later
Fixed a crash with a blank note for a new encounter.
Fixed a potential crash with saving tasks.
Fixed an issue with reading dates.
Fixed a potential crash with dismissing popovers.
Worked around incorrect measures data from the server causing crashes.
Improved selection of results and others when changing the grouping display mode.
Now requires IHServer 7.6.4.298 or later, but before 7.8.0.
Profile 1.1.4
(Release 1140): released 2013-01-12; requires iOS 5.0 and IHServer 7.6.5.226 or later
Task filtering is now done on the server, so loading Tasks is much more efficient and speedy. (ALN40113)
Fixed incorrect time conversion for historical Encounters (and potentially elsewhere). (ALN40130)
If an error occurs while connecting to the server, it is now displayed in the Sync Errors list. Tap the error to try again.
Now requires IHServer 7.6.5.226 or later.
Profile 1.1.5
(Release 1150): released 2013-01-23; requires iOS 5.0 and IHServer 7.6.5.226 or later
Results now supports showing multi-page documents.
Dramatically increased performance of loading large reference data like disease codes (seconds instead of minutes).
Eliminated crash due to running out of memory when loading large reference data.
Profile 1.1.6
(Release 1160): released 2013-02-19; requires iOS 5.0 and IHServer 7.6.5.226 or later
Patient Groups
Now supports loading all patient groups that have the "Show on Mobile Devices" option enabled in P4W (via Patient Groups ▸ Rename).
Now initially only loads the groups, not the group members, since the dynamic ones can take some time to run. Tap a group name to load it if not already.
Added Reload buttons to the Patient Groups and Group lists, to load them again, in case they have changed on the server.
A number of cosmetic improvements.
Other
Now loads Appointments more efficiently.
New Encounter ▸ About now only lists Disease Codes if there are 500 or fewer, and suggests searching to refine if too many to display. It now also shows how many match.
Profile 1.1.7
(Release 1170): released 2013-05-24; requires iOS 5.0 and IHServer 7.6.5.331 or later
Tasks can now assign any user as the Holder, instead of only providers.
Changed the sync process to be more responsive when loading lots of data.
Fixed crash if a Results caption is missing.
Fixed automatically loading Patient Group members.
Fixed encoding of "<" and ">" characters (affected saving a patient or task).
Fixed date & time display of historical Encounters.
Now always sends GMT dates to the server, e.g. when saving tasks.
Now supports 0001-01-01 placeholder dates.
Now requires IHServer 7.6.5.331 or later.
Profile 2.0
(Release 2050): released 2012-07-07; requires iOS 5.0 and IHServer 7.8.0.362 or later
Case Orientation
Now supports case-oriented practices.
When case-oriented, the Patient Functions now lists available cases.
Choosing a case displays warnings and/or errors, if any; warnings can be accepted.
Case access is logged, and sent to the server when case oriented.
Moved case-specific administrative and clinical functions to a separate list for each case.
An EMR list is included to view all data in one place.
Updated syncing of several data types to support case orientation.
Added an Add new Case item to the cases section in the Patient Functions list.
Tapping this shows a view to enter a title, case type, and other properties to create a new case for the patient.
Modified saving appointments, tasks and new encounters to ensure they are saved after the case, in case they use a new case.
Views for a case type that has a colour set now tints the navigation and toolbars that colour.
Loads the case types as reference data.
Appointments
Added a New Appointment (+) button to the Appointments views, to enable adding a new appointment.
Added an editor view to enable editing appointments.
Now displays the reason and type for each appointment in the appointments list.
Added options when tapping an appointment, to Show Patient, Edit Appointment, Mark/Clear Did Not Attend, and Start Encounter (or Show Encounter if already started).
The Start Encounter option creates a new encounter for the appointment, with the intervention auto-chosen. If the intervention has any list form actions, those forms are automatically added to the contact.
Tasks
Redesigned the task editor to use the same style as new encounter's contacts and appointments, with a sidebar page selector and detail pages.
Added a Type field, to choose a task type.
Added Explanation and Activity Notes text fields.
Added the ability to add images for the explanation and activity notes.
When editing an existing task with non-image attachments, those are also listed and can be viewed, if iOS knows how to display them.
Added support for typing templates in both the Explanation and Activity Notes text fields.
Exciting new feature: added the ability to listen to a dictation and record a new dictation (or other audio).
Patients List
Added a Reload button to Edit mode. Select one or more patients and tap this to reload their data, without having to delete and re-add, and without losing any draft or pending updates.
Library
Added a new Library item in General Functions.
Displays a list of library categories in the sidebar and content documents in the main view. Tap to navigate the categories, or display a document.
The lists of categories and documents are loaded when loading settings.
Individual documents are cached on the device when first selected. So if you'll be going offline, tap on the documents you want to access beforehand to fetch them. The cached documents are indicated with a large document icon.
An Edit mode enables fetching multiple documents at once, or reloading or removing cached ones.
Added a new Settings page with options to clear and load the library lists, and clear cached documents.
New Encounters
The New Encounter feature has now been moved to the Patient Functions list, to be much more convenient.
Tap Add New Encounter to add one, or tap a draft new encounter to edit it.
New encounters can now include multiple contacts within one encounter.
When there's a current encounter, it gently pulsates in the list.
Significantly redesigned the contact editor.
New measures now have a settable measure date, list previous measures, and can be easily graphed.
When an encounter is started via Appointments, the appointment and intervention (if any) is displayed, and a switch enables indicating that this encounter completes the intervention.
When an encounter is started directly, an Add Unbooked Appointment option enables linking it to an intervention. Doing this creates an unbooked appointment for the encounter.
Now sets the appointment seen duration when starting an encounter via an appointment.
Changed Add new Photo to Add new Image, since the image may not be a photo.
Forms
Added an Add new Form item to Encounter Contact. It shows a list of available list forms. Tapping one adds that form to the contact.
Added a new Form view in the Contact view, to edit form values.
Complex forms are broken up into smaller, more manageable chunks, with the group headings (HRCs) listed in the sidebar.
Changed the Encounter detail view to list messages relating to forms. Tap an error or warning to show it in the form — the message is displayed inline, with red and orange icons and text and color backgrounds, after the relevant item.
The Encounter view also now offers a button to Accept Warnings or Handle Errors if there are any.
The Sync Errors list now shows a summary of any form messages. Tap the row to show the Encounter view with details.
Forms with the InsertIntoNotes template property are inserted as text into the Contact notes after editing the form.
Added a new Forms item in the Clinical section of Patient Functions, which shows a list of existing forms for the patient/case, both from the server and created locally.
Reference Series
Added a Reference Series item to the Patient Functions.
Displays a list of available reference series for the patient. Tap one to graph it.
As with Measures, the graph can be panned and zoomed (via pinch or double-tap/two-finger tap).
Lexicon
Added support for Profile's lexicon feature. Text throughout the app substitutes other text as appropriate.
The lexicon dictionary is loaded as part of the reference data.
On the Go
Now supports the new On the Go preferences from Profile for Windows.
Now displays the "On the Go" custom icon and name (if any) in the Unlock, General Functions and About views (after they are fetched when authenticating or loading).
Clinical Views only list the groups selected in those preferences, and now loads faster.
Settings
Added a Load Forms switch to the Patient options of Settings. Defaults on.
Added a Clear Cached Groups switch to settings for Patient Groups. If on, the cached lists of patient groups and group members are removed from the device when loading the settings. Doesn't affect loaded patients. Defaults on.
Also added a Load Patient Groups switch. If on, the lists of patient groups and group members are loaded when loading the settings. Defaults on; you can turn off if you don't use this feature, or want to only load manually via the Refresh Groups Now button.
Other
Split loading of reference data into separate sync updates, for better diagnostics and future-proofing.
Refactored reference data and documents to be more efficient.
Fixed a potential crasher when restoring the sync updates queue.
Fixed an occasional crasher when tapping the sync options toolbar button.
Fixed a potential crasher when changing views very quickly.
Fixed a crasher when loading patient groups.
Changed the Sync Errors icon for consistency with case errors and warnings.
Now redisplays several lists during syncing, so they are updated faster.
Improved error reporting for JSON-based Server responses.
Tapping a loading sync error now tries to sync again.
Date pickers are now shown in a separate view on iPhone.
Fixed an issue with mapping multiple patients, where it'd stop partway if any of the addresses couldn't be found.
Improved layout of some lists, including Patients, Appointments, Tasks, Drafts and Sync Errors, and others.
When selecting a field, the view is scrolled so the selected field is centered (instead of having the field at the bottom).
When hiding the keyboard, the view is no longer scrolled to the top.
Find Patients and Patient Groups now uses the modern multi-select checkboxes.
Now includes patient names in the Drafts and Sync Errors lists (where appropriate), to make it easier to identify them.
Adjusted the spacing of some of the toolbar icons.
Now automatically loads the preferences and reference data when unlocking, if it is due or the format has changed (only specific ones that need it).
Now automatically saves the data once per minute, for safety.
Changed the None and All buttons in Find Patients and Patient Groups to Select None and Select All, and centered them.
The Choose a Form, No Forms, No Results, No Clinical Views and No Encounters views now use the dark leather background, to make it more clear that there's no content to display.
Now preserves the selected row when going back on iPad.
The provider lookups in the Appointment, Task and New Case editors are now indexed.
All indexed lookups now include a search field at the top to filter the list.
Updated the About ▸ Credits.
Changed the Erase All Content and Settings button in the About view to red, to emphasize its destructive nature.
Many behind-the-scenes improvements.
Now requires IHServer 7.8.0.362 or later.
Profile 2.0.1
(Release 2055): released 2012-08-20; requires iOS 5.0 and IHServer 7.8.0.362 or later
Forms
Added support for background and text color properties of form templates: if set, the colors are used for the field prompt.
If a hint is set, it is displayed below the prompt.
Templates that have been deleted from the server are now marked as historical, so they aren't offered when adding a form in New Encounter.
Fixed layout of value picker popovers where they could appear off the bottom of the screen for long forms.
Date and time values now default to blank instead of today; tapping to display the picker will enter today's date/time.
Date and time pickers now include a Clear button to remove the value.
Fixed live-updating of date and time values.
Other
Changed the Unlock Profile view to combine the Server and Port fields into a single Server field. The http:// or https:// prefix is optional (it uses https:// if no port or a port of 443 is specified). Also, if the server is hosted on myaccession.com, just a server name can be entered, e.g. just the "example" part of "example.myaccession.com/aps".
Fixed an issue with SSL/TLS connections.
Improved text colour handling.
Settings for Appointments and Tasks now have wider date ranges, including an All option.
After saving a new case, automatically reloads the patient's interventions and problems, in case the server added some for the new case.
Some other performance and stability improvements.
Tweaked the icon, to make it more distinctive from version 1.
Profile 2.2
(Release 2220): released 2013-01-09; requires iOS 5.0 and IHServer 7.8.0.992 or later
Major Changes
Added a flexible search function to the Appointments list.
Tasks can be filtered "for me" or "by me".
You can now change the Place of Service (POS).
Redesigned Patient Groups feature.
Added Folder support, to list folder members, quickly access them, and change the current folder of a patient.
Added a new Social page of Patient Functions, for viewing or editing social values like ethnicity and user fields.
Added an Additional Addresses item to the Patient Functions.
Added a new Alerts item in the Patient Functions list (for patient-scoped alerts), and in the Case Functions list (for case-scoped alerts).
Added a Notes item to the Patient Functions and Case Functions lists.
Added a Care Team item to the Case Functions list.
Reference Series can now display multiple graphs at once, and dynamically includes new form values.
Added a new Letters item in the Case Functions list, which displays a list of historical and draft letters, which can be edited.
Letters can also be added via a New Encounter, using pre-populated templates.
Many improvements to forms, plus historical ones can now be edited.
Swipe right-to-left or tap the page curl in a patient-based view to flip the page up to reveal Quick Clinical Views.
Clinical Views are now dynamic, able to load new values from forms.
Added a new Quick Contact item to the Case Functions list. Shows a popover with a list of Quick Contacts. A Quick Contact is added as a normal Encounter with a single Contact.
Many changes with New Encounters, including an OnTheGo setting to use a single contact or multiple contacts, and Activity, Location and Type options.
Syncing now uses the "IOSBusinessLogicServiceV2" web services, and has had dramatic performance improvements.
Tap the sync status to display a popover showing sync activity; it updates live during a sync.
Much nicer error display in the Sync Errors view.
Many changes to reference data, including the ability to reload individually, new external provider and other lookups, and more.
New settings for graph theme; with a new default light theme; go to Settings if you prefer the dark theme.
Added an info bar at the top of the screen (just under the iOS status bar) that displays the name, gender and DOB of the current patient, plus the current case, if any, and a timer of the current encounter, if any.
The sidebar can now be hidden in either orientation in many views.
Added support for the new 4" display on the iPhone 5, and built for iOS 6.0, compatible back to iOS 5.0.
Plus numerous performance improvements, feature enhancements, and fixes. Read on for details....
Patient Info Bar & Sidebar
Added a black bar at the top of the screen (just under the iOS status bar) that displays the name, gender and DOB of the current patient. (PP-299)
When in a case view, the name of the case is also displayed.
When there is a current encounter, a pulsating timer is displayed.
When not in a patient view, the name of the logged on user is displayed.
The sidebar is now a bit narrower when in portrait orientation, to give more room to the main view area.
Now uses custom layout of the views, enabling more usability improvements in the future.
Added a button to relevant views to hide the sidebar. When tapped, the sidebar slides out, so the main view takes the full screen. Tap the button again to bring the sidebar back.
Appointments
The Appointments list now displays the status of the appointment. (PP-427)
Provided a more clear error message when creating a new appointment without specifying a case.
Now loads appointments for all POS's. (PP-276)
Now marks Appointments, Tasks and patients as drafts while editing them, to prevent losing changes by loading settings or changing the logged on user while editing.
Editing an appointment now handles errors correctly. (Issue 021)
Fixed positioning of action popovers from Appointments etc when the list is scrolled.
The Appointments list now displays the POS for each appointment, since they are loaded from all POS's. (You'll need to reload to see this.)
Fixed a spurious draft remaining after adding an appointment. (Issue 047)
Search Appointments
Added a search button to the Appointments list, which displays search criteria in a popover view. Only available when online. (78-P4Iv2.2-011)
You can search by any combination of Patient, Provider, POS, Reason, Type, and Due range before and after today.
Tap the Search button to find matching appointments on the server, and display a list of results.
Tasks
Added a Filter popover to the Tasks list, to choose between showing tasks "for me" or "by me". (PP-378)
Changed the Group By options from a segmented control to a popover.
Enhanced the tasks request to include tasks by me as well as tasks for me.
Fixed crash with displaying the Tasks list.
Can now add new tasks in the EMR.
Tasks with a Holder of a different provider, or are concluded, are now filtered out of the task list. (Issues 023 and 025)
Library
Documents in the Library now show a cloud icon if they haven't been loaded from the server, for consistency with other areas.
If Documents don't have icons, a placeholder icon (with a star badge) is used instead.
Place of Service
Added a new item to the General Functions list to display the current Place of Service (POS). (78-P4Iv2.1-008)
Tap it to show a popover with the available POS's for the current provider, and choose a different one. The default POS is indicated.
If a non-default POS is chosen, that POS is used when next syncing.
The POS list uses the indexed style if there are more than 10 places.
Patient Groups
Now supports loading all patient groups that have the "Show on Mobile Devices" option enabled in P4W (via Patient Groups ▸ Rename).
The groups are organized by type.
Now initially only loads the groups, not the group members, since the dynamic ones can take some time to run. Tap a group name to load it if not already.
Added Reload buttons to the Patient Groups and Group lists, to load them again, in case they have changed on the server.
A number of cosmetic improvements.
Graph (PP-220)
Added Measures and Reference Series settings for graph theme, with options of dark or light themes. Light theme is now the default.
Added a Reference Series settings option to use emphasis for the reference line (50th percentile). Defaults off.
Updated Measures and Reference Series graphs to use these settings.
Patient Lists
The Patient Groups and Find Patients views now also display the patient's gender, DOB, age and national ID number, to help identify the correct patient.
The Patients, Appointments, Tasks, etc lists now display the folder, if any. And include the same info on the iPhone (previously it had omitted some).
The Patient Groups view is resized larger while reloading, or if a lengthy error occurs, to avoid truncating the activity indicator or error message.
Now automatically loads new data for existing patients when their Patient Functions view is first displayed (e.g. tap a patient loaded in a previous version, and this version will load the missing Additional Addresses, Social and Care Team values).
Fixed a bug with calculating an age for a patient with no known DOB.
The Cases rows in the Patient Functions list are now dynamically sized to fit a long case title with a case type.
Automatically reloads patient problems, measures and reference series data when a previously cached patient is first accessed.
Fixed crash when mapping multiple patients if a patient is missing an address.
Patient General
Renamed Patient Details as General, to match Profile for Windows, now that there are other patient details pages.
Fixed crash when toggling edit mode, e.g. in Patient General or Social.
The patient age display is now calculated from the DOB, so it updates if you edit the DOB. (Issue 046)
Folders (PP-410)
Added a Folder item to the Patient Functions list, with a badge for the number of other patients in the folder. Tap to display the Folder list.
The Folder list shows the other patients in the folder. If a patient isn't yet loaded, it appears with a cloud icon; tap to load it. Tap a loaded patient to display it.
The Folder list includes an Edit button that displays a patient lookup popover; choose another patient to make this patient join their folder, or choose None to remove from the folder.
Added an Add Folder option to the patient lookup popover. It appears when you type text in the search field; tap it to add a new folder with that name.
When loading a patient, now loads their folder, if any.
When saving a patient, now updates the folder.
Added a Settings option to automatically load a specified number of other patients in a folder. Set to None by default.
Automatically reloads existing patients when they are first accessed, to populate the folder information.
Modern patient lookups (that support the Search on Server option) can now search on folder, too.
Added a switch to Settings to control loading folders. Defaults on.
Patient Additional Addresses
Added an Additional Addresses item to the Patient Functions.
When tapped, displays a list of addresses in the sidebar. Tap one to display it, or toggle the Edit button to add, delete or edit addresses.
Fixed error saving placeholder patients when loading from a linkage to another patient.
Patient Social
Added a Social item to the Patient Functions.
Added a Social view, that works similar to the General one, but for editing social values like ethnicity and user fields.
Alerts
Added a new Alerts item in the Patient Functions list (for patient-scoped alerts), and in the Case Functions list (for case-scoped alerts). (78-P4Iv2.2-003)
If there are alerts for the patient, the Alerts list is selected by default, so they are immediately visible when you select that patient.
Tap an alert to show a popover with an option to edit the alert and options to close the alert, optionally with an outcome.
Added an Alert editor, with a sidebar and detail views like for Appointments and Tasks.
Automatically loads alerts for existing patients when they are first accessed.
Added a Load Alerts switch to the Patient Settings. Defaults to on.
Removed "Case: EMR" from the Alerts Scope lookup, since it doesn't make sense, and gives a server error.
Changed autocapitalization of Alerts Description to sentences instead of words.
When creating a new alert, the description is set to the type name, if the description is blank.
Patient Notes
Added a Notes item to the Patient Functions and Case Functions lists. It shows a checkmark if there are notes. (PP-412)
Tapping it shows the notes for the patient or case. (PP-412)
Cases
After saving a new case, automatically reloads the patient's interventions and problems, in case the server added some for the new case.
Added source code and date fields to the New Case view, and now sends them when creating a new case, and fetches when loading.
The Add new Case function is now disabled when Profile has been taken offline, or there is no network connection.
Case Type and Source 1 are now mandatory for New Case, and the Source 1 Date is auto-populated, since the server requires them. (PP-409)
Fixed the case identification when loading patient problems and measures.
Care Team
Added a Care Team item to the Case Functions list.
When tapped, displays a list of care team members in the sidebar. Tap one to display it, or toggle the Edit button to add, delete or edit care team members.
Loading a Care Team member that is a patient (e.g. a mother) will automatically loads that patient, if it isn't already loaded. (PP-155)
The Care Team list displays a "Previous" prefix before role names if the care team member status is Closed.
Measures
Fixed a rare crasher when graphing invalid measures.
Forms
Added an Edit button to the historical Form view. If tapped, the form editor is displayed; the edits are saved to the server when done.
The historical Forms list now displays the date the form was added, and the name of who created and last modified it. (PP-399)
Boolean fields now use a lookup popover with "<clear>", "No" and "Yes" values, instead of switch. The "<clear>" choice removes the value; it is the default.
Custom lookups (combo fields etc) that have a blank value (or code for coded lookups) will also display as "<clear>".
Fields that show a popover (lookup, boolean, date and time) now display a disclosure indicator, to distinguish them from text/number fields.
When there are form errors or warning in a New Encounter, the full text is now displayed (wrapping if necessary). (PP-275)
Tapping the message in the Sync Errors list now shows the corresponding encounter, enabling it to be edited. (PP-275)
Tapping an error or warning in the Encounter view now correctly displays the relevant form. (PP-275)
The full error or warning text is displayed in the form, too.
Now correctly loads a new instance of a form template when reloading reference data if it has been changed. (JAM29598)
Form template items with lookup lists now include "<clear>" item to revert to a null value. (PP-240)
Numeric form items are now blank by default. (PP-258)
Coded form template lookups are now sorted alphabetically.
Changed the filter and sort buttons to display popovers, like with Tasks.
Changed the tasks list to group the tasks accordingly, like Encounters.
Fixed setting the status of forms saved with a New Encounter.
Automatically reloads patient forms when patients are first accessed, to fetch the creation date and providers.
Now displays list form's root item hint at the bottom of each form page; this can be used to display a version number (or other suitable text).
Fixed form lookups appearing in the wrong place if the list is scrolled. (PP-301)
Fixed an issue when a form loads additional short codes.
New forms now include a button to set the status of the form (incomplete or complete). (78-P4Iv2.2-012)
Historical forms now include a button to toggle showing all forms or only incomplete ones. (78-P4Iv2.2-012)
Historical forms also now use a button to toggle sorting by name or creation order.
Added support for the new "IncludeNullIntoNotes" property for list forms. If true, null (clear) values are included in the notes (as before), but if false, they are omitted. (78-P4Iv2.2-015)
If the form sidebar would only contain one item, it now isn't used, since it doesn't add any value.
A form hint no longer shows up both below the prompt and as a text field placeholder.
Now uses the number keyboard for numeric fields in forms. (PP-390)
Letters
Added a new Letters item in the Case Functions list, which displays a list of historical and draft letters. (78-P4Iv2.2-001)
Automatically loads letters for existing patients when they are first accessed.
Loads reference data for letters (letter templates and short codes).
Added a Load Letters switch to the Patient Settings. Defaults to on.
Added an Add new Letter option to the Contact sidebar, which shows a popover list of letter templates. (78-P4Iv2.2-001)
Choose a template to add a letter; if online, variables are resolved first.
Added a letter detail sidebar, where you can configure the recipient, subject, etc.
Added a rich text letter editor, which supports styles.
Added a person lookup that combines Patient, Internal Provider and External Provider lookups into one view, used for the To and CC lookups.
The new person lookup supports searching, including the ability to search for patients on the server (if online).
Letters are now included when saving a new encounter.
If the letter template specifies a To recipient, that is used, otherwise the patient is used for To. Similarly, if CC recipients are specified in the template, they are used, and if a From provider is specified, it is used, otherwise defaults to the current user.
The historical Letter view includes an Edit button. If tapped, the letter editor is displayed, and the historical letter can be edited; the edits are saved to the server when done.
Added a Reason field to the Letter detail view.
Changed the historical Letters, Results and Encounters group buttons to display a popover, like with Tasks.
In the historical Letter view, the Edit button is now only available if the letter doesn't have a Status of Final.
The From field for new letters now defaults to the current user, if the template doesn't specify one. (PP-307)
Reference Series
Added a Multiple button to Reference Series. If tapped, multiple reference series can be selected, and a Graph button appears.
The Graph button displays the selected reference series in a full-screen view, laid out in a grid. Each can be zoomed etc as normal.
Tap a graph in the full-screen view to show a popover of that graph, for a quick closer look.
Reference Series and Measures graphs now have floating axes, so they're always visible, and faint grid lines.
Reference Series also now doesn't have dots for the percentile lines.
Added Select None and Select All buttons to the Reference Series list.
Adjusted the plot space to optimally show all of the percentiles and data, without wasted space.
Changed the appearance of the percentile lines.
Now preserves the selected state after dismissing the Graph view.
When adding a form in a new encounter, reference series items are added for any relevant form items with matching concept codes, so they'll be plotted in the Reference Series graphs.
Now stores the concept codes in the reference series templates.
Reloads the reference series templates when you next load data; the above won't work until this is done (either Sync ▸ Load or Sync ▸ Reload Reference Data).
Editing a historical form will now reload the reference series and measures, in case the form data changed them.
Now reloads the patient's Reference Series data after saving a new encounter. (PP-386)
Fixed display of Reference Series values for the EMR.
Fixed incorrect behavior of a tap in the Reference Series graph on iPhone.
Results
When viewing Results, any documents (images/PDFs) are now viewed by default, regardless of the current view mode.
Fixed rare issue with the Results mode button if the result has an attachment without a name.
Improved selection of results and others when changing the grouping display mode.
Clinical Views
Changed the way the CSS is injected into Clinical Views HTML, to work if there isn't a title.
Removed the activity indicator and animation when showing app-generated HTML views (like Clinical Views), to speed up display and avoid "blinking".
Quick Clinical Views
Swipe right-to-left in a patient-based view to flip the page up to reveal the Clinical Views.
Tap anywhere along the top of the view to dismiss (or the Done button).
Added a page curl tab at the bottom-right of views that support the Quick Clinical Views, as a visual reminder and alternative to swiping right-to-left.
Preserves the scroll position when you return to the Quick Clinical Views.
Dynamic Clinical Views
Enhanced both Clinical Views and Quick Clinical Views to use JavaScript to update the content with values of forms and measures from new encounters. (78-P4Iv2.2-002)
Clinical Views now updates the HTML to use JavaScripts from reference data.
Extended form templates and measure concepts to include termset codes.
Loads JavaScripts used by the clinical views as reference data.
Quick Contacts
Added a new Quick Contact item to the Case Functions list. Shows a popover with a list of Quick Contacts. (78-P4Iv2.2-007)
Added a Quick Contact view, shown when one is chosen. The text area supports typing templates etc.
A Quick Contact is added as a normal Encounter with a single Contact.
Available Quick Contacts are loaded as reference data.
Encounters
Historical Encounters now displays the provider and POS for the encounter. (PP-416)
Automatically reloads historical Encounters to fetch the provider and POS information.
The ContactAdd new Form item now only lists forms that aren't already used in the contact. (PP-207)
When starting a new encounter from an appointment, sets the encounter type from the appointment type. (PP-383)
Fixed bug with creating an unbooked appointment from a new encounter in the EMR.
HRCs with only HRCs immediately within are now displayed as section headers in the form sidebar. (PP-289)
Now automatically selects a new Measure or Form when one is added. (PP-287)
When the OnTheGo preference for single-contact encounters is enabled, the Encounter view appears within the Contact list, and only one contact can be used for each encounter.
When using multi-contact encounters, now displays a more descriptive name for each contact in the Encounters view, if there isn't an About type or any Note text. (78-P4Iv2.2-013)
The Drafts and Sync Errors lists now support single-contact encounters.
Fixed crash when using Add new Measure or Add new Form in a case-based contact.
Changed the historical Encounters list to use flexible row heights, to avoid truncating labels.
When finalising a New Encounter, if there are Complete forms and/or Final letters, an alert is displayed to warn that they can't be modified once finalised.
Fixed incorrect layout of errors and warnings in New Encounter forms. (PP-304)
Now uses the first line of the note for the New Encounter title, if no problem, disease, or custom text has been specified. (PP-302)
Fixed crash when accessing contacts in single-contact encounters mode. (PP-285 & PP-286)
Encounter Activity, Location and Type
The New Encounter view now includes options for Activity, Location and Type. The Type option shows an ID badge icon for face-to-face encounters, or a crossed-out ID badge icon for non-face-to-face ones.
Historical encounters now display the encounter activity, location, type, and resolved status.
Historical encounters now show an ID badge icon for face-to-face encounters, a crossed-out ID badge icon for non-face-to-face encounters, or an index card icon for encounters without a type.
Accessing a patient that was loaded before this version will automatically reload the historical encounters, to include the new properties.
Enhanced service reference data, and added encounter type reference data, to support the above.
Encounter Activity is filtered to only show services with a category of Activity.
Syncing
Added a Show/Hide Details button to the Sync Errors list. Ugly errors like server exceptions are now hidden by default; tap the button to show or hide the details.
If the error from the Unlock view is long and complex, the error alert now only shows the relevant portion, and includes a Details button to show the remainder.
Now uses the "IOSBusinessLogicServiceV2" web services. You'll need to change the server URL to the proxy one, including the path, e.g. "192.168.1.2:81/V2"; contact your administrator for the appropriate URL. An alert is displayed when first unlocking to remind of this.
Changed loading measures to load them all in one request.
Changed loading encounters to not use unnecessary encoding.
When syncing, now sends up to 8 requests to the server at once, to speed up the sync process.
Sync requests that take more than a fraction of a second to process in Profile are now done in the background, to further speed up syncing (currently only providers and external providers).
Now displays "Updating..." in the sync status bar, since the server and Profile are now both doing multiple things at once.
Tap the sync status to display a popover showing sync activity; it updates live during a sync.
Changed the order of loading patient data, so the time-consuming ones are started first.
Fixed a long-standing exception (that had been caught and ignored) with request descriptors that had expired.
Reduced the connection timeout from 60 to 30 seconds, so it recovers from a lost connection faster.
Increased the request timeout to 5 minutes, since multiple requests could be waiting.
Now immediately removes the "Working offline" status when taking Profile online.
Logging web service information now truncates if too long, to avoid flooding the log with too much information.
Improved the presentation of several kinds of errors. Let us know if you see any ugly error messages from the server. (PP-315)
The Sync Activity view now includes a Done button on iPhone.
Fixed switching of settings and the info bar name when logging in as a different user.
Fixed duplicate requests causing the User Name field to be disabled when there's an error while unlocking.
When reactivating the app, now checks for an invalid time since the last use as a security precaution.
The sync activity text now supports the lexicon.
Improved unreadable response (invalid JSON) errors to ensure the context is visible.
If a sync error occurs when adding a new case, tapping on the error now re-displays the New Case view so the error can be corrected. (Issue 048)
Similarly, if a sync error occurs when saving patient Social, Additional Address, or Care Team Member, their view is displayed when the error is tapped.
Provided a more clear error message if trying to add data in an invalid state.
Fixed rare crasher trying to load data for a patient without an EMR prepared.
Fixed a possible weakness with the rotation of the Sync button and animation of the New Encounter timer in the Info Bar.
Reference Data
Enhanced Reference Data Settings to list the reference data, along with how long ago each was refreshed. Tap one to refresh immediately.
Added an option to Reference Data Settings to enable choosing reference data individually via the Sync menu too. If on, the optional Refresh Reference Data button will show a similar list.
Refactored loading reference data to be more efficient.
No longer converts form codes to uppercase; the case is preserved, so the server will match them.
Fixed unnecessary repeated requests in the About view after clearing all data and settings if an error occurs when re-authenticating.
Changed the provider lookup reference data to include additional information.
Now loads external providers as part of reference data.
Now preloads more short code types with reference data.
Provider lookups now display the codes in sub-labels.
Added support for an external provider lookup, with the codes and addresses in sub-labels — all of which are searchable.
Made several lookups generic. Used by Additional Addresses and Care Team.
Fixed missing country information in a few patients.
Lookup fields that are too long to fit are now wrapped onto two lines.
Now uses a different method to load the POS list, to work around a server issue. (PP-374)
Fixed an issue loading measure concepts.
Enhanced the provider reference data and lookups to sort on the last name.
Fixed text alignment in the person lookup and some other places.
All search bars now use the black style (to match the popover frame) on iPad.
Encounter Activity, Type and Location now only uses indexed lookups if there are more than 10 items.
Fixed crash when loading services with invalid values.
Improved the reference data request queue.
Appointment Reason and Contact Activity lookups now only show Active services.
Loading the Services reference data now includes their status.
Short Codes are now loaded differently for better performance.
Settings
Improved the handling of the Settings list.
Added a switch to Settings ▸ Reference Data to optionally include a Refresh Reference Data button in the Sync options menu. Off by default.
Settings for Appointments and Tasks now have wider date ranges, including an All option.
Added a Settings option to automatically load patients via Care Team members. Off by default. (PP-410)
Other
Now remembers and restores the scroll position and selection when navigating around, for faster access.
Added a preference for the OnTheGo POS, so it can be labeled as such if different than the default POS.
Optimized the web services.
Fixed the colour of field prompts.
Now displays a disclosure indicator for all items that display lookups, to help distinguish them from text edit fields.
Improved everywhere that sorts on a name to be case and diacritical insensitive, for more correct ordering.
Now removes leading and trailing spaces from service descriptions, to avoid incorrect sorting.
Fixed cosmetic issue with headers showing when there aren't any rows within the section.
Optimized highlighted icon generation, and now draws icons for disabled rows disabled too.
Fixed rare issue when toggling views to or from edit mode.
Improved text colour handling.
Does anyone actually read all these release notes?
Fixed enabled state of the AboutDefault Country row.
The search bar in lookups is now black on iPad, to match the popover frame.
Stability improvements.
Updated TestFlight SDK to version 1.1, for Xcode 4.5 compatibility.
Updated CorePlot SDK to the latest version, for Xcode 4.5 compatibility.
Removed the rotation lock button on iPhone, since the OS provides that functionality.
Added support for the new 4" display on the iPhone 5.
Built for iOS 6.0, compatible back to iOS 5.0.
Profile 2.2.1
(Release 2225): released 2013-01-24; requires iOS 5.0 and IHServer 7.8.0.1027 or later
External Provider Preferred Communication (PP-444)
Historical Letters now displays the preferred communication method of the recipient, if known.
The External Provider lookup now displays the preferred communication method, if known.
External providers are automatically reloaded to fetch the preferred communication method property.
Appointments and Tasks
Task filtering is now done on the server, so loading Tasks is much more efficient and speedy. (ALN40113)
Added a Search Tasks function to the Tasks list. Tasks can be searched by patient, creator, holder, type, due date, status, and priority.
The Tasks list now displays the creator or holder, if not the current provider. (PP-446)
The Info Bar is now updated when choosing a patient and case while editing Appointments and Tasks. (PP-437)
The "None (EMR)" option for Case when editing Appointments and Tasks is now translated with the lexicon.
Confirmed that a server issue with loading a task for editing has been fixed. (PP-443)
Other
Fixed incorrect time conversion for historical Encounters (and potentially elsewhere). (ALN40130)
When entering floating number form values, no longer adds excess zeroes to the decimal portion. (PP-466)
Fixed a crasher creating a new patient. (PP-455)
Confirmed that a server issue with loading historical encounters has been fixed. (EGO40154)
The name of the EMR is now translated with the lexicon when patients are loaded.
Now uses the default POS after changing the logged on user, to avoid an error if the previously chosen POS isn't allowed for the new user. (PP-395)
The Care Team Member editor now requires a Team Role and Provider (or other appropriate type) to be chosen.
If an error occurs while connecting to the server, it is now displayed in the Sync Errors list. Tap the error to try again.
Dramatically increased performance of loading large reference data like disease codes (seconds instead of minutes).
Eliminated crash due to running out of memory when loading large reference data.
Now requires IHServer 7.8.0.1027 or later.
Profile 2.2.2
(Release 2227): released 2013-02-07; requires iOS 5.0 and IHServer 7.8.0.1027 or later
Sidebars
Sidebars now use a subtle blue background, with no row dividers.
The rows now use colourised icons, and the text is a lighter shade.
The colourised icons are now cached for faster access and less memory footprint.
The General Functions list now uses thinner section dividers.
New Encounters
New Encounter ▸ About now only lists Disease Codes if there are 500 or fewer, and suggests searching to refine if too many to display. It now also shows how many match.
Now reloads Clinical Views after saving a new encounter, so any measures or form values are included in the views.
Other
Results now supports showing multi-page documents.
The person lookups (Patients, Internal & External Providers) now only lists matches if there are 500 or fewer, and suggests searching to refine if too many to display.
Now uses the dark graph theme and Reference Series emphasis line by default in the standard edition, and light theme and no emphasis line in the Plunket edition. (These can be changed in the Settings; existing settings won't be changed.)
Now built for iOS 6.1, supports back to iOS 5.0.
Profile 2.2.3
(Release 2230): released 2013-02-25; requires iOS 5.0 and IHServer 7.8.0.1027 or later
Forms now supports multi-line text. Two scrolling lines will be shown initially, but the field will expand to show all text when revisited. (PP-498)
Can now save an Appointment without specifying a patient. (Server changes needed for full support; PP-486)
Loading Appointments now includes ones without a patient assigned. (PP-486)
Searching for Appointments now better displays ones with no patient.
After creating a new case, the patient is reloaded, so any server-configured default data is loaded. (PP-496)
Now creates placeholder cases when loading Appointments and Tasks if necessary for patients that haven't loaded yet. (PP-499)
The Case Functions list now displays the correct count of Reference Series. (PP-484)
Changed Care Team to ensure roles are only pre-defined types; e.g. Usual Provider can only be an Internal type, etc.
Fixed age calculation where the year is greater but the month is the same and the day is less. (PP-483)
Fixed an issue with choose value lookups with null items in form templates.
Fixed a crasher when toggling Edit mode in rare circumstances.
Fixed a crash when tapping Ignore for the special "Unable to connect to the server" Sync Error.
Fixed a crash when an error occurs while loading a patient.
Fixed a rare crash when ending editing.
Profile 2.2.4
(Release 2240): released 2013-04-21; requires iOS 5.0 and IHServer 7.8.0.1122 or later
Read-Only EMR
The EMR is now read-only by default for case-oriented practices.
The info bar displays a red slash icon for the EMR as a reminder when it's read-only.
Removed New Encounter and Draft items from Patient Functions when in read-only mode.
Removed edit functions from Appointments, Tasks and Care Team when in read-only mode.
Now updates the info bar when viewing all kinds of data, since the EMR includes case-based data.
New Encounter
When using single contact encounters, the "Appointment & Intervention" section now appears on the "Encounter" page instead of the "Notes" page. (PP-505)
When finalising a New Encounter, now displays a new Confirm Finalisation panel that lists the Intervention, Forms, and Letters, if any, with the status of each, which can be changed here. (PP-558)
When choosing an Intervention for a New Encounter, it is marked as Complete by default. (PP-505)
Added a confirmation alert when deleting a New Encounter, since there's potentially lots of data being discarded.
Fixed an issue with updating form status.
Kick User and Unlock Profile
Added support for the "kick user" functionality in P4W; if the user is kicked off, the app will alert and show the Unlock Profile view to re-authenticate.
No longer tries to show the Unlock view when it is already visible if reactivating the app.
Removed the redundant alert about the "/V2" path when connecting.
Now automatically starts syncing if there's anything pending when unlocking the app with the same credentials.
Performance Improvements & Fixes
Now loads the smaller patient data in one request, instead of 11 separate requests.
Changed the automatic patient updating feature to use the new, more efficient request mechanism.
Changed the Place of Service lookup to only use an indexed style instead of simple list if there are more than 20 items, instead of 10.
All text editing areas now support convenient gestures to change the selection: swipe left on the text to move the insertion point left, swipe right to move right. Use one finger to move by a letter, or two fingers to move by a word.
Lookups now also support handy gestures to pick items without having to display the lookup popover: simply two-finger swipe right or left to scroll through the options. (Requires two fingers to avoid accidentally changing values.)
Numeric fields (e.g. in forms) now use a custom numeric keyboard for easier input.
Fixed encoding of "<" and ">" characters (affected saving a patient).
Fixed an issue where it could look like it finished syncing while still syncing, if asked to start syncing while already syncing.
Fixed the page selector in the Results view when there are attached documents, and changed it to a modern checkmark list to show the current page.
Refactored alerts and action sheets to use a more modern and efficient approach.
Fixed date & time display of historical Encounters.
Historical Forms now supports the full-screen function.
Fixed scheduled refreshing of reference data.
Fixed alignment of labels and values in detail views (e.g. Patient General ▸ First Names used to be misaligned vertically).
Fixed an exception in the Letter editor on iPhone.
Fixed updating buttons in the Tasks list when going offline or online.
Fixed crashers when the sync queue is updated in the background.
Fixed crasher when loading appointments due to an issue with the recent iOS 6.1.2 update.
Fixed crasher when searching appointments. (PP-513)
Fixed display of the Case in the info bar when returning to a draft.
The Provider, External Provider and POS lookups now all ensure that their codes are uppercase. These lookups are reloaded automatically. (PP-514)
Now logs diagnostic information on launch, to aid debugging.
Added Patient Settings for Load Notes. Defaults on.
Changed the sync process to be more responsive when loading lots of data.
Now doesn't translate the "Results" title for the Search Appointments function via the lexicon, since "Results" has a different Profile-specific meaning.
Tasks can now assign any user as the Holder, instead of only providers.
Now always sends GMT dates to the server.
Now uses the full screen for the Take Photo function for New Encounter and Tasks, and modernized the implementation for better quality and performance. (PP-528)
Now requires IHServer 7.8.0.1122 or later.
Profile 2.2.5
(Release 2250): released 2013-05-13; requires iOS 5.0 and IHServer 7.8.0.1122 or later
Now reloads the historical Encounters and Clinical Views after saving an edited form.
Added validation of the allowable characters in the name when editing a patient.
The action menu in the Photo ID view is now disabled if there is no photo.
Profile 2.2.7
(Release 2290): released 2013-08-15; requires iOS 5.0 and IHServer 7.8.0.1302 or later
Numerous syncing performance and reliability improvements
Added a pending request mechanism, so the server can respond quickly to indicate that it needs more time.
Will now wait up to 5 minutes for the server to respond to logging on, once already authenticated, to avoid a timeout when the server is asleep.
Now does most syncing in the background, for increased performance and responsiveness while syncing.
Now saves all local data in the background.
Now reports a sync error if the received data from a request would exceed 50 MB.
Significantly improved responsiveness during syncing.
Fixed a data management issue that caused performance problems for the next sync when lots of patients are loaded.
Added support for sending unique identifiers when saving patients, cases, appointments and tasks, to avoid duplicates in the event of a partial sync. (PP-639)
Now prevents queued requests from being sent if an error occurs when syncing.
Improved speed of syncing; dynamically balances performance and responsiveness based on the sync workload.
Increased the timeout interval for authentication from 15 to 20 seconds. (ALN41394)
Fixed a hang when deleting all data after a sync error.
Now uses the same serial suffix on a retry if the initial authentication attempt failed. (PP-609)
The Serial field is now displayed again if the server reports that the device is not authorised (e.g. if the admin deletes the serial in P4W).
Now continues syncing when an error occurs, unless it's a critical communication failure. All errors can be seen in the Sync Errors list.
Eliminated redundant activity when queuing lots of patients to load, to increase performance.
If the response from the server doesn't look correct, a suitable error message is displayed.
Now detects server errors based on the status code on first connection, and tries three times before giving an error.
Improved the wording of several error messages.
If a patient hasn't been loaded when the sync is interrupted (e.g. due to a crash), it is automatically loaded when the app is relaunched. (EGO41378)
Now ensures that all requests are created on the main queue, to prevent losing requests.
Fixed an issue where views were updated before the background save completed, resulting in out-of-date draft status.
Fixed the ability to ignore a draft (deleting it).
Changed to use the new server APIs.
The Sync Now option is now disabled when there are only drafts in the queue, to avoid confusion (drafts aren't synced).
Improved the performance during sync by reducing redundant saving.
A message now appears in Sync Errors to say that there's no internet connection when starting a sync in that state.
Disabled the periodic (and unnecessary) saving, as it was interfering with syncing. (ALN41473)
Fixed sync errors due to a a previous delayed log off causing loss of the session ticket. (VIA41336)
Now immediately stops syncing if the session ticket is lost (due to an error).
If the app is unable to save its local data due to some error, it will now alert and revert to the last saved state, so it remains usable. (ALN41524)
Several other performance and reliability improvements.
Now requires IHServer 7.8.0.1302 or later.
Appointments improvements
Declining an Appointment now automatically cancels it too, as required by the server. (KON41355)
If an appointment or task is assigned to a case that hasn't been loaded, it is now displayed as "<closed case>" instead of "<missing case>". (KON41359)
Fixed issues with draft appointments. (VIA41392)
Fixed spurious draft item when adding an appointment and setting the patient. (VIA41392)
If an Appointment is Did Not Attend, the Arrived, Seen and Declined options are disabled. (KON41428)
Swiping horizontally in the Appointments list no longer shows a non-functional Delete button. (GER41447)
Tasks improvements
Fixed crash when adjusting Task attachments.
Deleting an image from a Task, without any other change, now triggers a save.
Fixed temporary appearance of a duplicate task when saving one. (ALN41455)
Fixed issues with draft tasks. (VIA41392)
Fixed incorrect handling of draft tasks when no internet connection during creation. (VIA41392)
Fixed spurious draft item when adding a task and setting the patient. (VIA41392)
Deleting a dictation now causes the Task to be synced. (KON41490)
Swiping horizontally in the Tasks list no longer shows a non-functional Delete button. (GER41447)
The Search Tasks criteria now uses checkmarks instead of on/off switches for the Status and Priority.
The Search Tasks results now include an alphabetic index for quick scrolling.
Patient improvements
Fixed a DOB issue that affected some patients. (PP-615 & PP-641)
Fixed a missing confirmation alert when removing a partially synced patient, that prevented removing the patient.
Fixed issue with a new patient being left marked as a draft after saving.
Now stores Date of Birth for patients in a way that avoids issues with moving to different timezones.
Fixed Date of Birth loading for Patient Group and Folder.
Draft patients are now skipped for the Edit ▸ Reload function in the patients list.
Fixed a bug where creating a new patient without a name could leave the data in an unsavable state until corrected.
Improved the display of draft patients with missing names in the patients list.
The patients list now updates correctly when draft patients are deleted from the New Patient view.
Added an extra check to avoid attempting to load a patient with an ID of zero.
Improved loading patients to avoid stopping syncing before completion. (KON41403)
Fixed patients repeatedly loading in some circumstances. (EGO30070)
Now updates the count of patients in the sidebar when patients are removed from the Patients list.
Weeks-old babies now display their age in weeks instead of months. (VIA41165)
Eliminated unnecessary patient data changes due to DOB calculations.
Fixed an issue where the Patients list sometimes would show patients as not fully loaded when they are. (The workaround was to switch to another view and back.) (ALN41524)
Find Patients improvements
A note is added to the end of the Find Patients list if more than 50 patients match the Find Patients search criteria.
Missing names now appear blank instead of as "(null)" in the Find Patients list. (VIA41200)
Fixed a bug in the Find Patients view when using Select All with more than 50 patients found. (VIA41401)
New Case improvements
Fixed temporary appearance of a duplicate case when saving one. (KON41450)
If an error occurs while saving a new case (e.g. there's already one of the same type), tapping the error or the new case will edit it, and it will display an upwards arrow icon. Cancel to discard the new case. (KON41252)
Additional Address improvements
Fixed a spurious error when deleting an Additional Address. (KON41413)
Changed the Additional Addresses views to be consistent with other editor views (and thus fix a bunch of issues resulting from the former inconsistency). (KON41413 & VIA41337)
Editing the address in Additional Addresses now correctly syncs the changes. (KON41504)
Care Team improvements
Changed the Care Team views to be consistent with other editor views (and thus fix a bunch of issues resulting from the former inconsistency).
Improved the Care Team views to support the draft mechanism and handle validation better. (PP-637)
New Encounter improvements
Fixed an issue with adding a new letter in New Encounter, where resolving the letter template would get stuck.
Fixed crashers when deleting images from a Task or a New Encounter.
Deleting a CC from a Letter, without any other change, now triggers a save.
Tapping on a Letter error in the Sync Errors list now displays the letter, so the error can be corrected.
Made the fullscreen button work more reliably in the Letter view.
Fixed a crasher when loading a letter with no CC.
Editing a Letter now correctly syncs the changes. (ALN41501)
The To and From values in a displayed letter are now blank instead of "(null)" if nothing is set. (ALN41486)
Deleting a contact from a New Encounter (when multi-contact encounters are used), without any other change, now triggers a save.
Adding a form will save the data immediately, so it'll be there if you leave the New Encounter and return without other changes. (KON41339)
Fixed New Encounter losing just entered notes. (KON41339)
Form lookup values (including booleans) are now case insensitive. (KON41461)
Fixed the statuses in the New Encounter confirmation view. (KON41429)
Measures and images in a New Encounter are now preserved when leaving the encounter and returning via Drafts. (KON41339)
Fixed crasher sometimes when deleting a form from a New Encounter. (KON41502)
If no location is specified in a New Encounter, now displays an alert saying that it is required. (JAM30094, PP-663 & PP-672)
Optimized the way form data is loaded, to avoid an incremental slowdown when adding several encounters that include large forms.
Reference data improvements
Moved loading the Library categories to Reference Data, and adjusted the Settings accordingly. (PP-638)
Improved loading form templates by detecting duplicates.
No longer tries to load the country list in the About view after erasing all content, to avoid repeated log on attempts if the username or password is wrong. (EGO30096)
Improved the way External Provider addresses are updated, using the modern saving technique, to improve performance.
Other improvements
An Alert is now always created in the correct scope (patient or case). (KON41430)
Removed surplus items from the Patient Groups Settings default group list.
Fixed a crasher displaying the Reference Series list.
The Measures view is now resized appropriately when the fullscreen mode is toggled. (VIA41349)
Fixed a rare crasher when removing Results documents while reloading a patient.
Added an Optimise Content option to the About view, to defragment the local database, restoring it to peak performance.
Added an Erase Content option to About view, to erase the cached data, without erasing the Settings and login credentials. This should normally be used instead of Erase All Content and Settings.
Profile 2.3
(Release 2350): released not yet; requires iOS 7.0 and IHServer 7.9.2.123 or later
Settings are now in Profile for Windows
The Settings have now been moved to Profile for Windows. See the OnTheGo Preferences.
As a result, the Profile for iOS feature of multiple Settings and their options have been removed. (EGO43115)
Put all of the sync settings on a Sync page, and put the diagnostic logging option on an Advanced page of the Settings. More logical to keep the settings together.
Added a Force Sync All button to the Sync Settings, to incrementally sync reference data, appointments, tasks, and all loaded patients.
Added experimental options to the Advanced Settings page, so IH staff can try various combinations of parallel request limits, sending delays, GetMethodsDataJSON timeouts, and GetPendingRequest delays.
Also, the Sync Options popover has been simplified to remove the Load Defaults option. Now there is just Sync to update the current appointments, tasks, and their patients. (EGO43116)
Major syncing performance improvements including automatic incremental updates
Syncing now uses the "MobileWebServiceV3" web services.
Now uses incremental loading of data, so instead of deleting and reloading all data, existing data remains and only changes are loaded, resulting in a much faster sync. (EGO43113)
Now uses one web service request per patient (or two if there are result documents), instead of nine or more. And similarly, only one request for all of the reference data. Syncing should be noticeably faster, though the server and P4I still need to do the same amount of work.
Syncing can now occur automatically, both when using the app during idle moments, and in the background. (EGO43118)
When automatically syncing, the Sync button no longer spins, the sync status text says "Auto-Connecting" and "Auto-Updating...", and the progress bar is light gray instead of blue, to indicate that the sync wasn't user-initiated. (PlunketFB001)
Also when automatically syncing patients, instead of changing the patient icon to the green downward arrow icon (representing downloading data), the icon is just tinted slightly. (PlunketFB001)
The patients automatic sync schedule is adjusted when doing the appointments/tasks/incomplete automatic sync and a manual sync. (PlunketFB001)
The frequency of the automatic updates can be set in the OnTheGo preferences.
When data is deleted on the server, any existing copy in the app now remains, but is flagged as deleted. (EGO43114)
Now only immediately loads patients for Appointments and Tasks that are due around the current date; others can be loaded as needed.
Now automatically loads reference data after using the Erase Content or Erase All Content and Settings functions. (ALN42868)
Now updates appointments and tasks when their patient is loaded elsewhere. (KON42870)
Now automatically loads any missing patients for Care Team members.
When doing a manual Sync, only patients in the current time window for appointments and tasks are synced.
Select reference data is no longer reloaded when changing the POS. (PlunketFB002)
Saving data now supports the ability to warn when a conflict occurs, and optionally overwrite the other change. (EGO43117)
Improved the presentation of errors when not showing details in the Sync Errors list.
Added a display of the time since the patient was last synced to the top of the Patient General view.
Added a Sync Patient button to the bottom of the Patient General view. Tap it to incrementally bring just this patient up-to-date.
Replaced the Reload function in the Patients list with a Sync function. Just loads incremental changes instead of all data for the patient.
Also improved the presentation of the Sync Activity popover, to always display all lines, and display errors better.
Optimized the loading of patients.
Errors are now preserved when editing drafts. (VIA42993)
Related patients from folders or care teams are now not displayed in the Patients list until they're loaded. (VIA42990)
Significant changes to the web service API to use JSON parameters for all methods.
Enhanced for iOS 7
Updated the UI design (fonts, icons, layout, etc) to support iOS 7's new appearance guidelines.
Now supports the iOS 7 Dynamic Type feature, so you can use smaller or larger text (see Text Size in the General device settings).
Added a 3D button to the maps on iOS 7, to toggle between 2D and 3D views of the maps.
The sync status bar now displays the relative time since the last sync, instead of the absolute time, like in iOS 7 Mail.
Several other changes for iOS 7 compatibility.
Note: iOS 7 is now required to use the app.
And many more changes
Patients that fall outside the current loading time window for Appointments and Tasks are now drawn with light gray icon and text, or dark gray if they have incomplete forms. (FR PLMM01)
Added the national number (NHI etc) and next of kin information to the info bar at the top of the screen, where available. (FSLT6)
Now includes days on an age in weeks, and weeks on an age in months. (FSLT6)
Added a Incomplete Forms item to the general functions list, which shows incomplete forms for all patients. (FSLT7)
The list of patients with incomplete forms is incrementally loaded as part of a manual or automatic Sync, and those patients, plus any already loaded with incomplete forms, are incrementally synced. So the Incomplete Forms list includes all incomplete forms for the current user. (ALN43132 / FR003.8)
Deleting multiple photos from a New Encounter now works correctly. (KON41523)
Now ensures that the General Functions navigation bar tint is cleared when returning to it via a load or save error.
Appointments, Tasks and other data types now remain queued even if the app crashes. (ALN41524)
Tweaked the Task filter options.
When saving an Appointment or Task (or a New Encounter that is linked to an appointment), now doesn't reload all patients in the load window. (PlunketFB005)
Added an Edit button to the Appointments list, which enables multiple selection of appointments and Remove appointment and Sync patient functions like in the Patients list. (PlunketFB007)
Added a Today button to the Appointments list, to quickly scroll to today's appointments. (PlunketFB007)
Reimplemented the age calculation to use the same logic as P4W.
Deleting a new measure from the New Encounter view will now remove it from the Measures view. (KON43144)
Fixed a missing Y axis in the graph if there is only one measure value. (KON43137)
Fixed a cosmetic (but confusing) issue where the Patients list wouldn't be updated if the server responds to requests very quickly. (ALN41524)
Photos are now scaled down to fit the OnTheGo image size limit, and stored as JPEG instead of PNG. (EGO43119)
To be consistent with P4W, changed the Declined switch in Appointments to Cancelled, and disabled the arrive/seen controls if on. (VIA42966)
Fixed editing an Additional Address that was saved as a draft. (KON43087)
A Care Team Member with a Team Role of Responsible Clinician is now fixed as an Internal type. (ALN42980)
The Dictation Notes field in the Task editor now isn't shown until there is a dictation recording. (VIA42996)
Now dismisses the keyboard when the view is scrolled, as better behavior and to avoid a crash if the edit field is scrolled out of view. (KON42906, KON42925, KON42940)
Improved detection of last use, so the Unlock Profile view is displayed even after running in the background. (PP-838)
Fixed occasional crash when going back through multiple views quickly. (KON42958)
The Mark Did Not Attend option in the Appointments list is no longer offered for Cancelled appointments, since P4W doesn't allow that. (VIA42966)