Schedule View

The schedule view is used for any domain of the type SCHEDULE_DATA. This view displays a grid of time-line information for the hours between 8 am and 8 pm. Each row in this grid represents a person whose full name is displayed in the row header. Each cell in the person's row represents a half hour period containing an indicator for whether they are available or not. If a user clicks on a free cell, they should be linked to a page allowing them to enter further schedule events.

The information and setup of this particular view involves a particular setup in a page's UIM file. Schedule View is an example of the UIM for a schedule field.

Figure 1. UIM Example of Schedule View
<FIELD>
  <CONNECT>
    <SOURCE NAME="ACTION" PROPERTY="schedule"/>
  </CONNECT>
  <CONNECT>
    <LINK PAGE_ID="IncomeScreening_confirmAppointment">
  <CONNECT>
     <SOURCE NAME="ACTION" PROPERTY="appointmentDate"/>
     <TARGET NAME="PAGE" PROPERTY="date"/>
    </CONNECT>
    <CONNECT>
      <SOURCE NAME="ACTION" PROPERTY="userFullName"/>
      <TARGET NAME="PAGE" PROPERTY="fullUserName"/>
    </CONNECT>
    <CONNECT>
      <SOURCE NAME="ACTION" PROPERTY="userName"/>
      <TARGET NAME="PAGE" PROPERTY="userName"/>
    </CONNECT>
    <CONNECT>
      <SOURCE NAME="PAGE" PROPERTY="caseID"/>
      <TARGET NAME="PAGE" PROPERTY="caseID"/>
    </CONNECT>
    <CONNECT>
      <SOURCE NAME="PAGE" PROPERTY="pageDescription"/>
      <TARGET NAME="PAGE" PROPERTY="pageDescription"/>
    </CONNECT>
  </LINK>
</FIELD>

The Cúram page generator expects any schedule FIELD element to be followed by a LINK element which details the PAGE_ID of the page to go to when a free cell is clicked on. The following three CONNECT elements should be fields which provide the following attributes to the link: the date of the day in question (the time is appended to this date); the full name of the user; and the user's unique identifier. The order of these CONNECT elements is important or the schedule view will not contain the correct links.

The SCHEDULE_DATA domain is expected to be a list of user names and 32 bit schedule fields separated by a tab. An example of one such element of this list would be:

John Smith<tab>16777212

Please note that 16777212 is the integer value which translates to the bit field 00000000111111111111111111111100. A one represents a half hour when Mr. Smith is busy and a zero stands for free time. The bit field is read from the least significant bit first, i.e. from right to left, with 8 am represented by the right-most bit. As we are dealing with a twelve hour period and each bit stands for a half hour, only the first 24 bits are important. The last byte is disregarded.

The rendered widget is displayed as series of horizontal rectangular blocks (per user), with each block representing half an hour. Half hour blocks of free time are displayed differently than the other blocks (busy) in terms of color and size.