Skip to main content

CSV File Integration

The integration services described herein require additional one-time and/or annual fees. For more information, please contact us.

Many hospitals and healthcare organizations store user information in a third-party systems such as an HRIS or CRM. The learning environment allows pulling user information from such third-party systems using CSV (comma-separated value) files. While this process can be done manually by your learning environment administration as described in the Uploading Users page, it can also be automated. When configured, the learning environment will:

  1. Get a CSV file that contains the user information from a location of your choice (usually a secure URL on your web server or Dual Code's secure FTP server)

  2. Add, update or suspend the user records in the learning environment based on the information in the CSV file (usually once a day or once a week)

User Information

In order for CSV file integration to work, it needs (at a minimum) the username for the user in question. The username acts as a key and is required to match the data in the CSV to the database records in the learning environment. In addition to the username, the CSV file will need to contain additional columns depending on the action

  • To add users, the CSV file will need the user's first name, last name and email address (at a minimum)

  • To suspend users, the CSV file will need a column called "suspended" with a value of 0 or 1 where 0 means "do not suspend user" and 1 means "suspend user" (at a minimum)

  • To update users, the CSV file will need a column for each field that needs to be updated.

This integration tool leverages the same tool that allows you to upload users manually. As such, you can review the Uploading Users page for a complete list of user profile fields and other options.

Assumptions

There are a few rules that need to be respected in order for the integration to work:

  • The CSV file must be available from a web URL or a secure FTP server. If using a web URL, for security reasons, the folder(s) containing the CSV file(s) should be password protected using HTTP Basic authentication. We also recommend that the you enable SSL and restrict HTTP requests to specific IP addresses that will be provided to you during the implementation.

  • The first row in the CSV file will contain the name of the columns exactly as they are defined in the Uploading Users page. Any deviation in the name of the columns will result in a failure since the learning environment will not know which user profile field you are trying to update.

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

  • The “username” column is the primary key used to match the users from the CSV file to the user record in the learning environment.

Configuration Information

Dual Code will need the following information in order to complete the configuration of the CSV file integration.

Method 1 - Secure FTP

  • Public Key: The public key that you generated for SSH purposes

  • Time: The time when you'd like us to run the synchronization script (ex: 3:00am)

  • Frequency: The frequency for which you'd like us to run the synchronization script (ex: 1 hour, 1 day, 1 week)

For more information on generating the public key, please read Generating a Private/Public Key.

Method 2 - Secure Web URL 

  • URL: The URL of the file (ex: https://mywebserver.com/users.csv)

  • Username: The username that will allow us to authenticate to your web server via HTTP Basic authentication (ex: dualcode)

  • Password: The password that will allow us to authenticate to your web server via HTTP Basic authentication (ex: mypassword)

  • Encoding: The encoding of the CSV file (ex: UTF-8)

  • Time: The time when you'd like us to run the synchronization script (ex: 3:00am)

  • Frequency: The frequency for which you'd like us to run the synchronization script (ex: 1 hour, 1 day, 1 week)

Additional configuration information may be requested at the time of the implementation.




JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.