How to alter sort handler to keep existing order intact in views
As I understand you want to be able to use a secondary sort after overriding the default sort by clicking on a column header.

This can be achieved from the front-end using jQuery plugin TableSorter as described here:
https://drupal.stackexchange.com/a/125188/22915

Note this won't work for views with pagination.

It can also be achieved with some custom PHP code. Add the following to a custom module and change the CAPITALIZED words accordingly.

/**
 * Implements hook_views_query_alter().
 */
function YOUR_MODULE_NAME_views_query_alter(&amp;$view, &amp;$query) {
  if ($view-&gt;name === 'YOUR_VIEWS_NAME' &amp;&amp; $view-&gt;current_display === 'YOUR_VIEWS_DISPLAY_NAME' &amp;&amp; count($query-&gt;orderby) == 1) {
    $query-&gt;orderby[1] = array(
      'field' =&gt; 'YOUR_SECONDARY_SORT_FIELD',
      'direction' =&gt; 'ASC',
    );
  }
}


This code snippet will make sure that, no matter what column you use as main sorting, you always use a certain field as secondary sort. In your case this would be the Clinic/Hospital field (use system name in code). 

Note: if the secondary sort field is not a sortable column, you can't use the query alias. So YOUR_SECONDARY_SORT_FIELD needs to be something like: 'field_data_field_name.field_name_value' instead of 'field_data_field_name_field_name_value'.