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 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.