Dual Code is committed to continuously improving the HCE and regularly implementing new features with each release. You'll find below our latest release notes.
Important Notes for 3.9 Clients
If you are upgrading to this release from 3.9, we recommend you look at the major features made available in Moodle 3.10, Moodle 3.11, Moodle 4.0 and Moodle 4.1.
The words "Teacher" and "Non-editing Teacher" are mostly used in the academic sector (e.g. colleges, universities) and not commonly used in the healthcare nor corporate sector. As such, the roles were renamed to "Lead Instructor" and "Instructor" respectively for new installations only. In other words, any new system installed after HCE 4.1.4 will see the roles "Lead Instructor" and "Instructor" while any older system will continue to see the old role names. That being said, all of our documentation will be refactored over the next few weeks to use the word "Instructor". And eventually, the words "Teacher" and "Non-editing Teacher" will be completely removed from the learning environment as well. Learn more here: https://docs.dualcode.com/x/SQCj Ref: HCE-7090 When purchasing a course using PayPal Pro, some users would double-click on the payment button, thereby resulting a two charges from Paypal Pro. As part of this improvement, the learning environment now prevents double-clicking on the payment button when using the PayPal Pro payment page. Ref: HCE-7270 When exporting the course completion report to Microsoft Excel / CSV, the unique identifier used to identify users such as their full name or email address is not included, even though it is visible on the web page. As part of this software fix, the unique identifiers are now included in the exported file. Learn more here: https://docs.dualcode.com/x/JIAX Ref: HCE-7250 Following an upgrade from HCE 3.9 to HCE 4.1, an old face-to-face attendance timesheet cannot be updated. In other words, if an instructor has already saved a timesheet in January 2023 and now (following the upgrade) needed to modify the same timesheet (by adding or removing attendees), the timesheet would not show the attendance of the users as it was entered back in January. As part of this software fix, timesheets that were saved prior to the upgrade will continue to be displayed using the older (HCE 3.9) layout. Timesheets that were never saved, regardless of when the session took place (before the upgrade or after the upgrade), will now use the new layout, which allows an instructor to save a timesheet as a draft before approving it. Learn more here: https://docs.dualcode.com/x/CYDXAg Ref: HCE-7241 When changing the business rules for the assignment of performance appraisals, it is possible to unassign users from appraisal forms. If the performance appraisal system tried to unassign users who had already completed the form, the system would immediately throw an exception and stop processing the rest of the users. The end result is that users who should have been unassigned (after the exception took place) were never unassigned from the form. As part of this software fix, if a user no longer qualifies based on the new business rules has already been completed the form, the system simply skips them (without throwing an exception) and continues to process the rest of the users. Learn more here: https://docs.dualcode.com/x/moGzAw Ref: HCE-7236 If the learning environment, as part of the "User Upload" procedure, tries to upload a CSV file that simply contains the headers but no data, it would report a failure. As part of this improvement, processing a file that contains no user data is considered a success. Learn more here: https://docs.dualcode.com/x/g4CkC Ref: HCE-7228 When defining conditions in programs, cohorts or the performance appraisal system, some special fields types such as the "Date/Time" field type (as an example) load special operators (e.g. "is on", "is before", or "is after"). When loading the page, the correct operator would be displayed, but if the administrator did not interact with the condition and simply clicked on "Save Changes" (e.g. saved the page without modifying the condition), the learning environment would inadvertently save the condition using the 1st operator in the list ("is on") instead of the previously saved operator ("is before" or "is after"). As part of this software fix, the page now saves the previously saved operator for those special field types. Learn more here: https://docs.dualcode.com/x/VAFpBg Ref: HCE-7246 When a user views the course outline page, a badge on the right side of the activity in question informs them what they need to do (if the activity is incomplete) such as "View the activity" or "Receive a passing grade", or what they have already accomplished (if the activity has been completed). The "Terms and Conditions" activity however did not have any badges. As part of this improvement, the Terms and Conditions activity now states that the user must accept the terms and conditions, which may include legal terms, a policy, or whatever the instructor put in the activity. Learn more here: https://docs.dualcode.com/display/Healthcare/Adding+an+Activity#AddinganActivity-tandcTermsandConditions Ref: HCE-7212 The "Course Completed" enrollment plugin, which allows an administrator to /wiki/spaces/Healthcare/pages/34848622, has been updated. Details about the latest changes related to this 3rd party plugin are available in https://moodle.org/plugins/pluginversion.php?id=29756 Learn more here: https://docs.dualcode.com/x/egBCAw Ref: HCE-7203 When an administrator defines a program, by default, the value of "Assign the role of" is set to "Student". The administrator however has the option to set "Assign the role of" to "Do not assign roles". The expectation is that this option would not enroll the user in the course(s) included in the program. However, the actual behaviour prior to this bug fix was that system would still enrol users in the program. It would simply omit to assign them the role of "Student". (In the learning environment, a user is first enrolled in the course, and then assigned a specific role, which is usually the role of "Student" but could also be an instructor role for example.) As part of this software fix, if "Assign the role of" is set to "Do not assign roles", the user is not enrolled in the course(s) specified in the program. Learn more here: https://docs.dualcode.com/x/BIAM Ref: HCE-7214 When a purchase is made for a course using PayPal Pro, the IPN returned by PayPal Pro failed to validate immediately. This means that it could take hours for the process to complete and for the user to be enrolled in the course following their purchase. As part of this software fix, the IPNs are now validated in a more timely manner (as soon as they are received). Learn more here: https://docs.dualcode.com/x/qoLXAg Ref: HCE-7200 The archive of the compliance report is scheduled to run on the last day of the month. In some cases (usually when the months had less than 31 days), it would run the next day (e.g. on the 1st day of the month instead). As part of this fix, the compliance report is now always archived on the last day of the month. Learn more here: https://docs.dualcode.com/x/bwCj Ref: HCE-7156 The learning environment has the capability to automatically generate quotes and invoices when a user purchase courses (and when enabled by the instructor for the course). When a user generates a quote / invoice, they can pay by cheque or EFT (electronic funds transfer). As part of this improvement, the user purchasing the course can now specify which organization they are representing. When specified by the user, the organization is displayed on the quote / invoice. Ref: HCE-7150 A course always has a "General" section at the top, which is generally used to display a welcome message or instructions. When that section is empty, it would display a "General" header but no content. As part of this improvement, the "General" header / section is no longer displayed to learners if it is empty. Ref: HCE-7102 When uploading users using a CSV file, whether it was done manually or via an automated / scheduled job, you can now view what change(s) occurred for each individual user by looking at a column called "Other" in the results. Learn more here: https://docs.dualcode.com/x/g4CkC Ref: HCE-7122 The Face-to-face session would allow an instructor to specify a "cost" as well as a "discount cost". These costs could then be included in a notification sent to learners. These cost however were simply meta data and the actual cost being charged to the learner was set in the enrollment method, not in the face-to-face session. So if the instructor entered the wrong cost in the face-to-face session, the user purchasing the course would get a notification that contained a cost different than what they were actually charged on their credit card. As part of this improvement, the "cost" and "discount cost" options previously available in the face-to-face sessions were removed. Learn more here: https://docs.dualcode.com/x/qoLXAg Ref: HCE-7126 If a user tries to upload attendance records and accidentally clicks on the "Upload Records" button twice, the task appears to be stuck and will never complete. As part of this fix, clicking on the "Upload records" button twice in a row and trying to resubmit the exact same file will display an error message to the administrator immediately, thereby preventing duplicate tasks. Learn more here: https://docs.dualcode.com/x/IQAb Ref: HCE-6959 Now that the ICQ Number, MSN ID, AIM ID, Yahoo ID, Skype ID, and Web page user profile fields are all "social" custom user fields, there is no need to link the "associated input" field to them. As part of this improvement, the "associated input" field can no longer be mapped to "social" fields. Learn more here: https://docs.dualcode.com/x/oAAG Ref: HCE-7060 The table that allows you to view the history for sessions and attendance that were uploaded was improperly formatted. As part of this fix, the solution is now properly formatted as expected. Learn more here: https://docs.dualcode.com/x/fQFpBg Ref: HCE-6958 When a user purchases a course on behalf of others users, they receive an email that contains a sales receipt in PDF format. As part of this improvement, the body of that email now contains instructions on how they can share this course with others. The instructions contains the enrolment link as well as their license key. Learn more here: https://docs.dualcode.com/x/PwHbBg Ref: HCE-7033 When selling courses to other organizations, you are now able to specify tiered site license pricing based on the size of the organization. For example, if a user from another organization's learning environment powered by Dual Code and licensed for up to 10,000 users purchases your course, you can now offer that course to everyone within that organization (up to a maximum of 10,000 enrolments) for a flat rate. This functionality only works when users purchase your course through a "Partner" site (in a multi-site deployment) or the OCI Marketplace. This includes healthcare organizations who subscribe to a learning environment powered by Dual Code as well as organizations who access your course via My Dual Code, a free learning environment available to all healthcare workers regardless of whether or not they have an agreement in place with Dual Code. Site licenses are not available to users who have an account created directly on your site, whether you created an account on their behalf or had them self-register. Learn more here: https://docs.dualcode.com/x/qoLXAg Ref: HCE-6981 If a cancellation or refund policy included a dollar value using a $ sign, the dollar value itself was not displayed on the PDF receipt. For example, if the policy says "an administrative fund of $5 will be retained when requesting a refund", the receipt would simply display "an administrative fund of will be retained when requesting a refund" would be omitted from the receipt. As part of this bug fix, the dollar value is now printed on the receipt as expected. Learn more here: https://docs.dualcode.com/x/AgPWAw Ref: HCE-7034 When a learner completes a course, as long as the course is configured to email a certificate of completion, the user will receive the email accordingly. A second / separate email was also sent to the user however informing them that they have completed the course. As part of this improvement, the 2nd email is disabled. Users now only get one (1) email when they complete the course, and only if the course is configured to send a certificate of completion. Learn more here: https://docs.dualcode.com/x/7AKj Ref: HCE-6945 As part of our general development cycle, the HCE, which is based on Moodle, the world's most popular open-source LMS, has been upgraded to Moodle 4.1.4. Learn more here: https://moodledev.io/general/releases/4.1/4.1.4 Ref: HCE-6911September 5, 2023
Teacher and Non-editing Teacher Roles Have Been Renamed for New Installations (Improvement)
September 5, 2023
Users Can Double-Click on the Payment Button when Using Paypal Pro (Improvement)
September 4, 2023
Unique Identifiers not Included When Exporting the Course Completion Report (Bug Fix)
September 1, 2023
Old / Saved Timesheets Cannot be Updated Following the Upgrade (Bug Fix)
September 1, 2023
User Unassignment for Performance Appraisal Ends Abruptly (Bug Fix)
August 28, 2023
Empty CSV File Used for User Uploads Reports a Failure (Improvement)
August 28, 2023
Conditions may Inadvertently Save the 1st Operator in the List Instead of the Previously Saved Operator (Bug Fix)
August 21, 2023
The "Terms and Conditions" Activity does not Display Badges (Improvement)
August 21, 2023
Updates to the "Course Completed" Enrollment Plugin (Improvement)
August 16, 2023
Programs Where "Assign the role of" is set to "Do not assign roles" Enrolls Users in Courses (Bug Fix)
August 14, 2023
IPN Messages Sent by PayPal Pro Failed to be Validated in a Timely Manner (Bug Fix)
July 28, 2023
Compliance Archives are not Always on the Last Day of the Month (Bug Fix)
July 25, 2023
Quote / Invoice can now Collect the Institution's Name (Improvement)
July 21, 2023
The "General" Section in a Course Keeps Showing Even when Empty (Improvement)
July 19, 2023
Viewing the Changes to Individual Users During User Uploads (New Feature)
July 19, 2023
Cost and Discount Cost Removed from Face-to-face Settings (Improvement)
July 12, 2023
Duplicate Attendance Upload Tasks Appear to be Stuck (Bug Fix)
July 6, 2023
Associated Fields Can No Longer Reference Social Fields (Improvement)
July 6, 2023
History Table for Uploading Sessions and Attendance is Improperly Formatted (Bug Fix)
June 28, 2023
Body of the Email for the Receipt Contains Instructions (Improvement)
June 27, 2023
Support for Site Licenses When Selling Courses (New Feature)
June 27, 2023
Dollar Values are Removed from the Cancellation / Refund Policy in Receipts (Bug Fix)
June 26, 2023
Disable Duplicate Course Completion Notifications (Improvement)
June 22, 2023
Moodle 4.1.4 Update (Moodle Update)
The changes below from our previous release are automatically included in this release.
If a regular user (e.g. a non-OCI user) tries to access a regular course via the OCI Library, that user will then be considered an OCI user going forward, which will prevent the user from logging in using their regular login credentials. As part of this fix, the OCI engine no longer attempts to reset the user's preferred login method if they are trying to access a regular course via OCI. In addition, regular courses are no longer visible in the OCI Library. Learn more here: https://docs.dualcode.com/x/LgXWAw Ref: HCE-6707 The completion criteria for the face-to-face activity required an instructor to select between "any session" and "all sessions", often causing confusion. It also allowed an instructor to specify that a user could "partially" attend a class, but didn't allow them to specify how much of the session the user had to attend. As part of this improvement, the activity completion criteria were simplified and now the instructor simply needs to specify how much (in percentage) of the session the user needs to attend to receive a learning record. For example, if the user needs to fully attend the session, the criteria needs to be 100%, which is the default when adding a new session. If the user can simply attend 4 hours out of a 5 hour session and still receive a learning record, then the criteria should be 80%. Note that this does not change how attendance is entered. This change simply affects how the activity completion criteria for a face-to-face session is defined. Learn more here: https://docs.dualcode.com/x/qICkC Ref: HCE-3773 Certain transaction identifies such as those shown on receipt (for sales receipts generated by the learning environment) were sequential, allowing a user to estimate how many sales a specific vendor has. As part of this improvement, the transaction identifiers are now obfuscated and randomly generated. Learn more here: https://docs.dualcode.com/x/TgFpBg Ref: HCE-6957 The "Self enrolment (Advanced)" method (formerly called "Self enrolment (Beta)", is now enabled on all systems. This methods contains advanced features not otherwise available in the regular "Self enrolment" method. This is also the method that Dual Code will continue to enhance going forward. Learn more here: https://docs.dualcode.com/x/rQFpBg Ref: HCE-6979 The OCI Marketplace is an excellent resource for educational material offered by 3rd parties, including Canadian hospitals and healthcare organizations. Many of these courses have been accredited by Colleges and associations and can be used by healthcare professionals for continuing education purposes. As part of this improvement, when a user searches for courses by keyword in your learning environment, the search results will now include courses offered through the OCI Marketplace. The OCI courses will always be displayed at the bottom of the search results page (after the list of courses offered / hosted in your learning environment). The matching OCI courses will also clearly indicate which organization is offering the course to differentiate them from your own courses. Learn more here: https://docs.dualcode.com/x/-YClBQ Ref: HCE-5273 In earlier versions of the learning environment, if multiple unrestricted self-enrolment methods were present in a course, a user would be presented with numerous options (e.g. numerous "enrol me" buttons) when trying to self-enrol. This is usually a configuration error on the part of the instructor or did not properly set the restrictions on an enrolment method. As part of this improvement, only the first (highest in the list) self-enrolment method applicable to a user will be displayed to the user. In the event that an administrator wants to disable this enhancement and continue to display numerous enrolment options to the learner, they can disable the "Show first enrolment option only" in the system-level settings. Learn more here: https://docs.dualcode.com/x/x4EBBg Ref: HCE-6934 In earlier versions of the learning environment, an instructor or administrator would have to explicitly select the preferred self-enrollment method when adding a face-to-face activity in order for a "Sign up" link to appear in the course description (as further explained in Displaying F2F Sessions in Course Descriptions). As part of this improvement, the preferred self-enrolment method is now automatically determined by the learning environment and the instructor / administrator no longer needs to select it. Learn more here: https://docs.dualcode.com/x/EQD5AQ Ref: HCE-6917 Under certain circumstances, the list of attendees in a face-to-face session could not be exported to a CSV file. As part of this fix, the issues surrounding this particular use case were resolved and the CSV file can now be exported. Learn more here: https://docs.dualcode.com/x/IoCkC Ref: HCE-6927 In earlier version, an administrator could display accreditation information on a certificate of completion by adding certain placeholder such as {ACCREDITATIONBODY}, {ACCREDITATIONTYPE}, {CREDITVALUE} and {ACCREDITATIONID}. However, this usually required the administrator to design two (2) separate certificates (e.g. one with an accreditation statement and another without an accreditation statement) and then assign the right certificate to the right course. As part of this improvement, an administrator can simply insert the {ACCREDITATIONASSERTATION} placeholder anywhere on a certificate of completion, and the certificate will only display a statement regarding accreditation if the course is accredited (as defined in the course settings). Learn more here: https://docs.dualcode.com/x/CwBLBg and https://docs.dualcode.com/x/WwAgC Ref: HCE-6909 There are several user attributes (icq, skype, yahoo, aim, msn, url) that were removed in HCE v4.1. These attributes were never deprecated in the list of placeholders that can be used in certificates of completion. As a result, they would not have displayed any information on the certificates if/when used. As part of this release, these placeholders were deprecated from the list of valid certificate of completion placeholders. The implication is that anyone who were including these fields in their CSV files as part of user uploads will need to change the headers in their CSV to correctly map to the new field name, which is now a custom field. In other words, if the column in your CSV file used to be "icq", it should now be "profile_field_icq". Learn more here: https://docs.dualcode.com/x/CwBLBg Ref: HCE-6910 The notification message sent to learners when they did not attend the session long enough to receive a learning record (e.g. they were a "No Show" or a "Partially Attended" but showed up too late or left too early) suggested that they had attended at least a part of the session. This caused confusion to learners who did not show up at all. The message has been improved to the following: The Facilitator for the "[coursefullname]" course has indicated that you did not attend the session scheduled for [startdatetime] for which you were registered. In order to complete the course, you will need to sign up for another session. Should you have any questions or would like to discuss further, you may contact the Facilitator directly. This message can be customized by an administrator at the system level or by an instructor on a course by course basis. Learn more here: https://docs.dualcode.com/x/KYAM Ref: HCE-6923 The Society of Clinical Research Associates (SOCRA) has been added to the list of accreditation bodies for the purpose of tracking CME (Continuing Medical Education) credits in the learning record store and adding it to certificates of completion Learn more here: https://docs.dualcode.com/x/WwAgC As part of our general development cycle, the web conferencing system, which is based on BigBlueButton, has been upgraded to version 2.6.7 Learn more here: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.7 Ref: HCE-5787 As part of this release, numerous improvements were made to the face-to-face activity. We recommend that you review the entire section on Managing Classroom Sessions in our user guide and also go through the user tours, which are available in the product. Learn more here: https://docs.dualcode.com/x/KYAM Ref: HCE-6245 As part of this release, numerous improvements were made to program. We recommend that you review the entire section on Managing Programs in our user guide and also go through the user tours, which are available in the product. Learn more here: https://docs.dualcode.com/x/AoAM Ref: HCE-6256 As part of our general development cycle, the HCE, which is based on Moodle, the world's most popular open-source LMS, has been upgraded to Moodle 4.1.3. Learn more here: https://moodledev.io/general/releases/4.1/4.1.3 Ref: HCE-6826June 20, 2023
Login Issues with Regular Users Who Access a Regular Course via OCI (Bug Fix)
June 19, 2023
Simplification of Face-to-face Activity Completion Criteria (Improvement)
June 19, 2023
Transaction Identifiers are Obfuscated (Improvement)
June 18, 2023
Enabling the "Self Enrolment (Advanced)" Method (Improvement)
June 14, 2023
Listing Matching OCI Courses in Keyword Searches (Improvement)
June 14, 2023
Prioritizing Self-enrolment Methods (Improvement)
June 14, 2023
Deprecation of the "Sign up Method" Setting (Improvement)
June 14, 2023
Exporting the List of Attendees Fails (Bug Fix)
June 8, 2023
Added the {ACCREDITATIONASSERTATION} Placeholder for Certificates of Completion (Improvement)
June 8, 2023
Removed Deprecated Placeholders for Certificates of Completion (Bug Fix)
June 8, 2023
Different Message when a Learner Doesn't Fully Attend a Classroom Session (Improvement)
May 26, 2023
Support for SOCRA CME Credits (Improvement)
May 18, 2023
BigBlueButton 2.6.7 Update (BigBlueButton Update)
May 12, 2023
Miscellaneous Face-to-face Improvements (Improvement)
May 12, 2023
Miscellaneous Program Improvements (Improvement)
May 12, 2023
Moodle 4.1.3 Update (Moodle Update)