Importing Attendance Records

Many hospitals and healthcare organizations that implement the Dual Code learning environment need to migrate attendance records from their legacy LMS or in some cases. Furthermore, rather than taking attendance via the browser, some prefer to do it using a spreadsheet. The attendance records can easily be imported into the Dual Code learning environment by uploading a CSV (comma separated value) file.

NOTE: This tool leverages the same tool as the "Importing Classroom Sessions". You may use the tool to create classroom sessions and log attendance records at the same time, using 1 spreadsheet. We suggest that you read the documentation on how to import classroom sessions to better understand how this tool works.

Step-by-step Guide

To upload classroom sessions:

  1. Prepare your CSV file (read the "Important Notes" section below to learn more about the format for the CSV file)

  2. Go to Site Administration > Courses > Upload Sessions and Attendance > Upload Records

  3. Add your CSV file to the "File" text area

  4. For "Upload Mode", select the appropriate option

    1. The "Add new sessions only" is not valid if you are trying to upload attendance information. This option is only valid if you import classroom sessions without attendance.

  5. Click on the "Preview" button at the bottom of the page

  6. Review the "Results" column

    1. If you do NOT have a green checkmark in the Results column, review the "Status" column, fix your errors in the CSV, click on the "Cancel" button, and start this procedure over with the new CSV. Please note that by default, you are only previewing the first 10 rows of your CSV file. So you may want to review the CSV file in its entirety if errors were discovered.

    2. If you ONLY see green checkmarks in the Results column, click on the "Upload Records" button. Please note that by default, you are only previewing the first 10 rows of your CSV file. So it is possible to have green checkmarks in the first 10 rows but errors in other rows in the CSV file.

The file is now scheduled to be processed. Generally speaking, the file is processed almost immediately, but if the file is very large, or if there are other files waiting to be processed, it may take a while to process your file. You will receive a notification once your file has been processed. It's important that you verify the results and fix any errors that may have been encountered during the upload of the file.

Important Notes

You can now download a template to import face-to-face attendance directly from your system, complete with the name of the users. To do so, simply navigate to the face-to-face activity in question, and in the "Export Attendance" section at the bottom of the page, select the "Import" format. Once you have downloaded the template, simply modify the attendance for each user to "no_show", "partially_attended" or "fully_attended" (using the underscores but not the quotes), and re-upload the file.

There are a few rules that need to be respected in order to be able to add attendance records:

  • The encoding of the CSV file must be in UTF-8

  • The first row in the CSV file must contain the name of the columns to be imported, These are:

    • course OR activity

    • starttime

    • endtime

    • maxcapacity

    • mincapacity

    • duration

    • username: The user's username as it exists in the learning environment 

    • attendance: One of 4 options: Booked, No show, Partially attended, or Fully attended. Note that the "Booked" option should only be used for future sessions, when you are trying to identify which users have signed up for a specific session.

    • hours: If the attendance is "Partially attended", the number of hours the user attended in the hh:mm format. Note that this field is ignored if the attendance value is "No show" or "Fully attended".

    • remarks: If the attendance is "Partially attended", remarks related to the user's attendance (e.g. "showed up late"). Note that this field is ignored if the attendance value is "No show" or "Fully attended".

  • The next rows in the CSV file will contain the attendance record information that needs to be imported in the learning environment (one row per attendance record)

  • The course must be the course shortname and will only work if there is only one (1) face-to-face activity in the course. If you have more than one face-to-face activity in the course, then you must use "activity" instead of "course".

  • The activity must be the ID of the pre-existing face-to-face activity. You can find the activity by navigating to the activity in question using your browser. 

  • The starttime and endtime must be in the following ISO 8601 format: 2016-06-28T15:19:21+00:00, where:

    • 2016-06-27 is the date in YYYY-MM-DD format (based on the Gregorian calendar)

    • 15:19:21 is the time in hh:mm:ss format (based on the 24-hour clock system)

    • (optional) +00:00 is the time offset from the UTC (Coordinated Universal Time). For example, an organization located in Ottawa or Toronto would write -04:00. Note that the time offset (+00:00) is not required. If it is omitted, the system will take the default timezone of the LMS

  • The maxcapacity is the maximum capacity of the session. That is, the maximum number of users that can register in the system before registration is closed or users end up on a waiting list. It must be an integer value or 0 if there is no maximum capacity.

  • The mincapacity is the minimum capacity of the session. That is, the minimum number of users that must register. If that minimum number is not reached, an email may be sent to the instructor to inform them (if the instructor requested to be informed). It must be an integer value or 0 if there is no minimum capacity.

  • The duration must be in the hh:mm format. The duration is generally equal to the end time minus the start time, but not always. For example, it's possible to have a session that starts at 8am and end at 4pm, for the duration can be 7:00 if learners are granted a 1 hour lunch during which they are not paid.

  • Any Face-to-face custom fields (like 'room' or 'location') must be prefaced in the import with 'session_field_'.  Therefore 'room' would become 'session_field_room' and 'location' would be 'session_field_location'. 

  • Any required Face-to-face custom fields need to be included in the import. 

Sample File

Here is an example using the file presented in the "Importing Classroom Sessions" documentation, but with attendance record information:

course,starttime,endtime,maxcapacity,mincapacity,duration,session_field_room,username,attendance,hours,remarks
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101A,jsmith,"Fully attended"
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101A,jdoe,"No show"
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101A,ptremblay,"Partially attended",1:30,"Showed up late"

Overwriting Rules

When uploading the CSV file above, the learning environment will both create the classroom session (if it does not already exist) and add attendance records. If the session already exists, the learning environment will only create the attendance record. However, if the session information is not identical to a previously existing session, then the learning environment will create a new session.

For example, the following file will create one (1) session with three (3) attendance records:

course,starttime,endtime,maxcapacity,mincapacity,duration,session_field_room,username,attendance,hours,remarks
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101A,jsmith,"Fully attended"
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101A,jdoe,"No show"
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101A,ptremblay,"Partially attended",1:30,"Showed up late"

On the other hand, the following file will create three (3) session each with one (1) attendance record because the "room" information varies for each session:

course,starttime,endtime,maxcapacity,mincapacity,duration,session_field_room,username,attendance,hours,remarks
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101A,jsmith,"Fully attended"
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101B,jdoe,"No show"
WHMIS,2016-06-28T13:00:00-04:00,2016-06-28T14:00:00-04:00,10,0,2:00,101C,ptremblay,"Partially attended",1:30,"Showed up late"

It's important to understand that the CSV file does not allow you to update sessions. If any of the session parameters are different, the learning environment will always create a new session. 

Related Articles