# Booking Learners into Slots

## Booking Learners into Slots Individually Through the User Interface <a href="#how-to-assign-learners-to-rotations-by-booking-learners-into-slots" id="how-to-assign-learners-to-rotations-by-booking-learners-into-slots"></a>

* Click on the name of a schedule.
  * Note that Staff:Pcoor users will only have access to their affiliated courses/programs.
  * For multi-course rotation schedules, assigned Program Coordinators will be able to create bookings for their course, but not others.
* Mouse over the block where you want to book a learner and click.
* The system will identify all available rotations and slots with start dates in the block you clicked on. When you complete a booking the resulting card will fill the exact dates of the slot within the associated blocks.
* Select a rotation from the drop down menu.
  * Any off service rotations available to the learner will be displayed at the bottom of the list.
* Indicate a block span if you wish to book the learner in multiple consecutive blocks.
* Select a block from the dropdown menu. If you indicated a block span, additional blocks will automatically be displayed.
* Select a slot (on service or off service) for each slot.
* You may customize the dates for a slot booking if needed, which will impact the display of the rotation in both the admin view and learner view of the rotation schedule. Click the checkbox and adjust the start and end dates for the slot.
* Add a site or preceptor for the slot as needed.
* Click 'Save'.
* You can add a learner to multiple slots within a block. To do so, click anywhere on booking and then click '+ New Booking'.

## Booking Learners into Slots Using a CSV file <a href="#how-to-edit-an-assigned-slot" id="how-to-edit-an-assigned-slot"></a>

Importing your learners' rotation schedules via CSV will allow you to build out your learners' rotation schedules in Excel before importing it into Elentra.

### Preparing the CSV

The CSV will allow you to import each learner's rotation schedule (regardless of rotation length) and associate one or more sites and preceptors with each rotation for each learner in your schedule.

You will need to populate one row for each rotation you wish to schedule each learner into. Note that you can use various combinations of the Schedule Block (No.), Block Length (Weeks), and Start/End Dates columns, and the system will calculate block length, start date, and/or end date for you as needed.

Please see the **Rotation Start and End Date Logic based on Populated Fields** section below.

{% file src="<https://1986140690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FayN3HSBiNqeeT0QDZ9TB%2Fuploads%2Fgit-blob-ad77c6dcc0dc5ed2558d81a38b999092549bbec1%2FLearners%20Rotation%20Schedule%20Import%20CSV%20(1).csv?alt=media>" %}
Sample Learner Rotation Schedule CSV
{% endfile %}

* **Number:** Required. \*\*\*\* Enter the learner's Institution ID/Student Number. For learners who do not have Institution Numbers, enter their email address instead.
* **First Name:** enter the learner's first name.
* **Last Name:** enter the learner's last name.
* **Course Code:** Required. Enter the Course Code associated with the rotation.
* **Rotation Code:** Required. Enter the rotation's code (i.e., shortname).
* **Schedule Block (No.):** optionally, enter the Block number into which the rotation will be scheduled. This block number corresponds to the Rotation Schedule in which you are working. It is the block in which the rotation is schedule or starts in (see notes regarding Schedule Block (No.), Block Lengths, and Start/End Dates below).
* **Block Length (Weeks):** optionally, enter the length of the rotation in weeks (see notes regarding Schedule Block (No.), Block Lengths, and Start/End Dates below).
* **Site(s):** optionally, enter the codes that correspond to the sites at which the learner will be participating in the rotation. This field can take Site, Building, and Room information in the following format:
  * s-, b-/
    * For example: When importing site of Kingston General Hospital (code = KGH), building of Richardson Labs (code = RLabs), and room Lab 1 (name Lab 1), the cell would be filled as follows: s-KGH, b-RLabs, r-RLabs/Lab 1
    * Note that these entries are case sensitive.
* **Preceptor(s):** optionally, enter the email addresses of the preceptor(s) that will be associated with the rotation. If entering more than one preceptor, separate their email addresses with a comma and a space.
* **(Custom) Start Date:** optionally, enter the start date for the rotation (see notes regarding Schedule Block (No.), Block Lengths, and Start/End Dates below).
* **(Custom) End Date:** optionally, enter the end date for the rotation (see notes regarding Schedule Block (No.), Block Lengths, and Start/End Dates below).

**Rotation Start and End Date Logic based on Populated Fields:**

* If Block Length (Weeks) and Start and End Dates are left blank, the system will use the start and end date of the Block identified in the Schedule Blocks (No.) column.
* If Block Length \*\*\*\* (Weeks) and Start Date are populated and Schedule Blocks (No.), but End Date is left blank, the system will calculate the End Date.
  * When the last block of the schedule is longer, and the rotation booking is in the last block and the difference between the calculated End Date and the last block’s End Date is less than 7 days, the system will use the last block’s End Date as the End Date for the rotation.
* If Block Length (Weeks) and End Date are populated, but Start Date is left blank, the system will calculate the Start Date.
  * When the first block of the schedule is shorter, and the rotation booking is in the first block and the difference between the calculated Start Date is smaller than the first block’s Start Date, the system will use the first block’s start date as the Start Date for the rotation.
* If Start Date and End Date are populated, the system will generate the rotation booking based on these dates.
* If all columns are populated (Schedule Block, Block Lengths, and Start/End Dates), Block Length (Weeks) will be ignored, and the system will rely on the Schedule Block (No.) and the Start and End Dates defined to generate the rotation booking.

### Uploading the Prepared CSV

* Navigate to Admin > Clinical Experience.
* Filter by course or cohort as needed.
* Click on Rotation Schedule.
* Click on the title of an existing rotation schedule.
* Click 'Import CSV'.
* Click 'Import CSV' again and select your file.
* Click 'Next.'
* You will be prompted to confirm your next steps - either replace the existing schedule, or merge your file with the existing schedule. Make your choice and click 'Next'.
* You will see a schedule preview. Review it.
* Click 'Import Schedule'.
* You will see the relevant rotations display for each learner.

## Editing Existing Bookings <a href="#how-to-edit-an-assigned-slot" id="how-to-edit-an-assigned-slot"></a>

* Click anywhere on a filled booking to reopen it.
* Click 'Edit' in the bottom right corner.
* Make changes as necessary on the Edit Booking card and then click 'Save.'

## Booking Course Groups into Rotations (New in ME 1.20!) <a href="#how-to-assign-learners-to-rotations-by-booking-learners-into-slots" id="how-to-assign-learners-to-rotations-by-booking-learners-into-slots"></a>

Prerequisite: You must have course groups created in order to book course groups into rotation slots.

After a rotation schedule and rotation(s) have been built and you return to the Learners tab, you will see the option to toggle between Learners and Course Groups. Click on Course Groups to change the view.

![](https://1986140690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FayN3HSBiNqeeT0QDZ9TB%2Fuploads%2Fgit-blob-3b245bfbf5012b4e3a1972734c0e528c27127f95%2FScreen%20Shot%202021-01-05%20at%2011.06.52%20AM%20\(1\).png?alt=media)

After clicking Course Groups you'll see a list of the course groups down the left. Click anywhere on the calendar to book a course group into a slot using the same steps you would for an individual.

![](https://1986140690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FayN3HSBiNqeeT0QDZ9TB%2Fuploads%2Fgit-blob-5290fcefd1737ece8ce3d5e87194f45f3782a5d5%2FScreen%20Shot%202021-01-05%20at%2011.14.24%20AM.png?alt=media)

{% hint style="warning" %}
It is important to note that booking by course group works as a shortcut to schedule the group members only **at the time you make the booking**. If you change the make up of a course group AFTER completing a course group booking, the individual learner rotation schedules will need to be manually updated.

Similarly, deleting a booking from an individual's schedule has no impact on the course group booking and will not impact the schedule of other learners.
{% endhint %}

### How to delete a course group booking

* Click on the existing booking.
* Click Delete.
* Confirm your choice.
* Note that currently this will remove the course group booking from view but **will not impact the schedules of the individual learners**. You will need to delete the booking for each individual if you made a mistake when booking a course group.

{% hint style="info" %}
Please note that there is a database setting to optionally allow program coordinators associated with courses to delete slots that have off-service learners in them and make changes to the slot spaces (setting: allow\_program\_coordinator\_manage\_booked\_slots). This setting is enabled by default. If you wish to **prevent** program coordinators from being able to do these things you should speak to a developer about changing the setting.
{% endhint %}
