Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

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"

...

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"

...

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"

...