Clinical Encounters is a case-based learning system, where users can write and share cases with their students or the public. As such, there is the potential to have a large database of cases available to the user. Handling the display of this large list of cases is important for ease of use. Here, our programmer discusses how we handle this display.

Summarizing Cases

The first step in deciding how to show users cases on the main menu was to figure out how we would condense the cases. Out of all of the information in each case, we needed information that could be used to quickly identify and describe the case. We decided on the following set of information:

  • Patient Name
  • Author Name
  • Short Case Description
  • Longer Case Summary
  • Case Difficulty
  • Case Audience
  • Modified Date
  • Case Record Number
  • Case Rating
  • Tags/Categories
  • Patient Image
  • Case vs Template

There were some changes from the beginning to get to the above, though. Initially, we wanted to have case version numbers. We have added limited support for adding character preview images to cases. Additionally, we now have a type for each case to represent private/public and regular/template case.

Some information is more important than others when it comes to identifying a case, so we chose to feature that info on the case preview itself. The other information not shown (primarily the Author, Date Modified, and Long Description) is still important, so we have moved it out into a separate side panel that is accessible by clicking on a case. This will be a way to see most of the information about a case.

Not all of the information is shown to the user, though. There is also an associated filename and user account number tied to each case, but that is used simply for our reference to make sure the right case is pulled when a user requests to view or edit it. We also offer a difference between public and private cases, so personal or in-progress cases can still be uploaded to the server without letting the whole world see them.

To View or To Edit?

Another area of concern is how to offer the choice between viewing or, if you are the creator, editing the case. There have been several iterations of ideas over how to best handle this. The earliest method was to ask upfront “Would you like to edit or view cases?”. This was functional and had some benefits to it,22 like allowing us to preload the chosen scene before a case was chosen, but it seemed as if we were limiting users to one or the other, so we’ve taken a new approach.

View other user’s cases

View or edit your own case

Now users can select which mode they’d like to use when picking a case. If they created the case, then they can see the Edit button, allowing them to make further changes. Any other publicly published cases will only be viewable in the Reader mode. Sadly, this does not allow us to preload the scenes to improve loading times. The scene management in Unity will now allow for a simple way to preload two scenes and select only one despite efforts to work around this. Yet, cases will still load in 3 to 4 seconds when ignoring download times.

Display Options (Lists, Sorting, and Searching)

Of course, with case previews sized as they are above, space will fill up quickly even with just a few cases. To tackle this, we’ve added a number of features that will make it easier to browse through cases and find what is needed.

An alternate list view for cases

For starters, there is also an alternate list mode akin to Windows Explorer’s list or details mode. It keeps all of the information from the big preview and resizes it, reducing the extra space, making it easier to browse through a lot more cases at once. This will help those who know what they’re looking for find the right cases more easily.

We’ve also added ways to sort and search through cases. These will help limit the number of cases shown while narrowing results down and will help users search through cases even faster than before.

All in all, it comes together to make the main menu a place for users to quickly find and jump into their favorite cases. You can read more about the Clinical Encounters platform at its website and follow along with our development on the blogs.