Managing Qualtrics Survey Distributions and Response Data with SAS



Similar documents
SAS Visual Analytics 7.2 for SAS Cloud: Quick-Start Guide

Using Internet or Windows Explorer to Upload Your Site

Qualtrics Survey Tool

Organizational Development Qualtrics Online Surveys for Program Evaluation

Leveraging the SAS Open Metadata Architecture Ray Helm & Yolanda Howard, University of Kansas, Lawrence, KS

Work with PassKey Manager

FTP Use. Internal NPS FTP site instructions using Internet Explorer:

QUALTRICS TIPS AND TRICKS FOR UNC-CH USERS

Administering Jive for Outlook

itunes Store Publisher User Guide Version 1.1

Simplifying Device Enrollment and Content Distribution Using the Device Enrollment Program, the Volume Purchase Program, and the Casper Suite

Managed File Transfer Utility

Getting Started (direct link to Lighthouse Community

SAS Visual Analytics 7.1 for SAS Cloud. Quick-Start Guide

Electronic Tender Management System Quick User Guide Supplier

SOA Software API Gateway Appliance 7.1.x Administration Guide

WatchDox Administrator's Guide. Application Version 3.7.5

Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager

Microsoft Office Live Meeting Events User s Guide

Table of Contents. Welcome Login Password Assistance Self Registration Secure Mail Compose Drafts...

Installing the ASP.NET VETtrak APIs onto IIS 5 or 6

ewebextra OfficeMate Integration User s Guide

Tracking Network Changes Using Change Audit

About Data File Exchange

Extracting YouTube videos using SAS. Dr Craig Hansen

ClickView Digital Signage User Manual

How to install phpbb forum on NTU student club web server

Qlik REST Connector Installation and User Guide

USER GUIDE for Salesforce

PRiSM Security. Configuration and considerations

GlobalSign Enterprise PKI Support. GlobalSign Enterprise Solution EPKI Administrator Guide v2.4

SAS. Cloud. Account Administrator s Guide. SAS Documentation

OnDemand for Academics

Sage 200 Web Time & Expenses Guide

Integration Overview. Web Services and Single Sign On

ewebextra OfficeMate Integration User s Guide

APPLICATION PROGRAM INTERFACE (API) FOR AIRASSURE WEB PM2.5 SOFTWARE


DocuSign Connect for Salesforce Guide

WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide

SAS University Edition: Installation Guide for Windows

SNAMP Data Server Tutorial

Broner Issue Tracking System User Guide

FileMaker Server 10 Help

An Overview of REDCap, a secure web-based application for Electronic Data Capture

Lepide Event Log Manager. Users Help Manual. Lepide Event Log Manager. Lepide Software Private Limited. Page 1

PassKey Manager. Schoolwires Centricity

User manual for the visitors of Interreg Danube Programme website

fåíéêåéí=péêîéê=^çãáåáëíê~íçêûë=dìáçé

Scheduling in SAS 9.4 Second Edition

All of the IntelliGanttt functions are accessed directly in Microsoft Project from the IntelliGanttt menu on the menu bar.

SOS SO S O n O lin n e lin e Bac Ba kup cku ck p u USER MANUAL

The Web Pro Miami, Inc. 615 Santander Ave, Unit C Coral Gables, FL T: info@thewebpro.com

Setting Up ALERE with Client/Server Data

D&B SafeTransPort Tutorial YOUR MANAGED FILE TRANSFER SOLUTION FOR SECURE FILE TRANSFERS WITH D&B

SFTP Server User Login Instructions. Open Internet explorer and enter the following url:

User Guide for Payroll Service (APS+)

Scheduling in SAS 9.3

International Monetary Fund. The Integrated Correspondence System. Using the ICS Information Framework Template

Table of Contents 1. Contents...1

KeyAdvantage System DMS Integration. Software User Manual

SAP Digital CRM. Getting Started Guide. All-in-one customer engagement built for teams. Run Simple

Integration Guide. SafeNet Authentication Service. Using SAS as an Identity Provider for Salesforce

Information Server Documentation SIMATIC. Information Server V8.0 Update 1 Information Server Documentation. Introduction 1. Web application basics 2

GlobalSign Customers. Enterprise PKI Client Authentication User Guide. Employing authentication as an additional security layer to the EPKI platform

User-password application scripting guide

Massey University Wireless Network Client Configuration Mac OS X

Marketo GoToWebinar Adapter. User Guide Version 3.5

BroadVision. Portal 8.0. User Guide. 585 Broadway Redwood City, CA

Administrative Guide for Dataroom Center and Dataroom Managers

Alert Solutions by WebLaunch User Guide

Pinpointe User s Guide

Contents Notice to Users

AT&T Synaptic Storage as a Service SM Getting Started Guide

ISL Online Integration Manual

Producing Listings and Reports Using SAS and Crystal Reports Krishna (Balakrishna) Dandamudi, PharmaNet - SPS, Kennett Square, PA

Bahamas Tax Information Exchange Portal Documentation

3 Setting up Databases on a Microsoft SQL 7.0 Server

Web Remote Access. User Guide

Web Design. Links and Navigation

eedge101 Training Guide

EMC Smarts Network Configuration Manager

RoboMail Mass Mail Software

Montefiore Portal Quick Reference Guide

The Cancer Institute NSW Grants Management System User Guide

Document Management Getting Started Guide

Technote 20 Using MSIE to FTP into an AcquiSuite

How to use FTP Commander

Schools CPD Online General User Guide Contents

Technical Paper. Defining an ODBC Library in SAS 9.2 Management Console Using Microsoft Windows NT Authentication

CA Nimsoft Service Desk

FileMaker Server 11. FileMaker Server Help

Curtis Mack Looking Glass Analytics

Technical Support Set-up Procedure

Electronic Questionnaires for Investigations Processing (e-qip)

ArtfulBits Password Reset Web Part

Portal Administration. Administrator Guide

OpenText Information Hub (ihub) 3.1 and 3.1.1

Transcription:

Paper 3399-2015 Managing Qualtrics Survey Distributions and Response Data with SAS ABSTRACT Faith E Parsons, Sean J Mota and Yan Quan Center for Behavioral Cardiovascular Health, Columbia University Medical Center, New York, NY Managing multiple surveys and distributing them to several research participants at multiple time intervals can be tedious and time consuming. Qualtrics is an online survey tool that offers a variety of features that could be useful for researchers. By using SAS to interface with the Qualtrics REST API, and SAS XML Mapper to generate the XML maps from the XML responses, we were able to implement an effective system that enabled survey data to be accessed regularly, accurately scheduled the distribution of surveys to research participants, and prevented withdrawn participants from receiving scheduled emails. In this paper, we demonstrate how to implement the submit API requests with the FILENAME statement (URL access method) and process API responses with SAS XML Mapper. Additionally we describe an approach for tracking active and inactive respondents. INTRODUCTION The Center for Behavioral Cardiovascular Health (CBCH) at Columbia University Medical Center (CUMC) conducts a variety of clinical, basic, translational, and behavioral research studies. Federally-funded research studies are often running concurrently with the majority of these requiring participants to complete questionnaires within multiple follow-up intervals. For each research undertaking, it is essential that questionnaires are administered in a timely manner and are followed up within the correct follow-up window. Additionally, data must be accessible for regular reports and analyses. One specific study at CBCH, the Stress and Activity Study, required healthy volunteers to complete a survey every month for 12 months. The follow-up dates were calculated using 30-day increments from the initial visit, and participants were given a 7-day window to complete the survey. The challenge to our data management team was to develop an efficient and reliable system that ensures: surveys are sent at the correct follow-up dates, participants are sent reminders of incomplete surveys before their follow-up window is over, withdrawn participants must not receive survey invitations, and survey data are readily accessible for creation of progress results and interim analyses. Qualtrics Research Suite provided an effective and efficient way of collecting data from our research participants by eliminating paper questionnaires and having survey data immediately available. Importantly, the Business Associate Agreement between Qualtrics and CUMC ensures that all data are protected and stored in a secure, HIPAA-compliant data storage environment. Qualtrics also offers a REpresentational State Transfer (REST) Application Program Interface (API) service, which when paired with SAS, enables the automation of multiple tasks that would otherwise be tedious and labor intensive. Therefore, we also discuss how we used SAS to interface with Qualtrics REST API to manage multiple surveys distributed across varying time frames. QUALTRICS HOW IT WORKS The Qualtrics Research Suite is an online survey software that allows users to build and manage complex surveys and distribute using an intuitive graphical user interface (GUI). Surveys can be organized in a library, and research participants are considered panel members, and these can be organized in panels. 1

Panels can further be organized in the same library where respective surveys are stored. Completed responses are immediately available and can be downloaded in varying formats including commaseparated values (CSV), fixed-field-length text, or XML files. Qualtrics also generates an alphanumeric ID for each library, survey, panel, and panel member which are used to define and customize API requests. QUALTRICS REST API The Qualtrics REST API allows users to perform tasks like downloading or distributing surveys using a simple url syntax called a HTTP request. Moreover, users can perform other tasks that are not available through the GUI. The HTTP request consists of the root url and five primary parameters (Table 1). Additional parameters may be required depending on the specific request being made. Parameter name Request User Token Format Version Function Identifies type of request being made. The username to login to Qualtrics. A unique alphanumeric identifier that is used to authenticate the API session. The format of the response. Valid values include XML, JSON or JSONP. The API version to be used. Table 1. List of primary parameters for the Qualtrics REST API The root url is https://survey.qualtrics.com/wrapi/controlpanel/api.php and the basic structure of a REST API request looks like this: https://survey.qualtrics.com/wrapi/controlpanel/api.php?request=[requestnam e]&user=[username]&token=[token]&format=xml&version=2.4. SAS AND REST API Using the FILENAME statement, URL access method, and SAS XML LIBNAME engine, below is the basic structure of how an API query can be submitted in SAS: FILENAME data_fileref URL '[HTTP Request]'; FILENAME map_fileref '[Directory\XMLMap.Map]'; LIBNAME data_fileref xmlv2 xmlmap = map_fileref access=readonly; The first FILENAME statement uses the URL access method to associate the HTTP request with the data_fileref, while the second FILENAME statement associates the XML map file with the map_fileref. The order of these two statements can be interchanged. The LIBNAME statement accesses the SAS XML LIBNAME engine, executes the HTTP request, and if successful, processes the XML response using the XML map and then converts it into SAS datasets. In most cases, a single XML file will convert to two or more SAS datasets, therefore we use the DATASETS procedure to view the list of generated SAS datasets. PROC DATASETS LIB = Survey; RUN; 2

DOWNLOADING SURVEY RESPONSES Responses to survey data can be downloaded through the Qualtrics GUI. However, since new responses are expected periodically and reports need to be generated regularly, it is more efficient and less timeconsuming to perform the required processes using SAS. The API request to download all the response data from a specific survey is getlegacyresponsedata. One additional parameter, SurveyID which identifies the specific survey to download, is required to complete this request. Several optional parameters are also available so users can customize the downloaded data according to their needs, but these are beyond the scope of this paper. GENERATING THE XML MAP Before we wrote the SAS code, we first generated the XML map using SAS XML Mapper. Afterwards, all other data processing steps can be accomplished using SAS code. To create the XML Map: 1. Paste the HTTP request on the address bar of your web browser and press Enter. 2. If the request is successful, a prompt to save the XML file will appear. Save the file. 3. Open the XML Mapper (we used version 9.3) and open the XML file from step 2 by clicking File Open XML 4. Click Tools AutoMap using XML or the AutoMap icon to generate the XML map. 5. (Optional, but highly recommended) Review the variable formats to make sure they are correct, particularly the length of character variables. To change the variable format, click on the variable name within the XMLMap pane, click the format tab, and make the necessary changes (Figure 1). 6. Click Save XML Map As and save the generated XML Map in your work folder. NOTE: It is important to remember the directory where the XML Map is saved, because you will need to refer to it in the SAS code. Figure 1. The SAS XML Mapper 9.3 window. 3

DOWNLOADING SURVEY DATA USING SAS The following is an example code to download data from the survey with SurveyID SV_8hW6VeLhK6cDXXT. FILENAME Survey URL 'https://survey.qualtrics.com/wrapi/controlpanel/api.php?request=getlegacyr esponsedata&user=user20&token=sm0rxwhmewo1oumcapgzlo6ot5sejrgmpqpwyn2d&form at=xml&version=2.4&surveyid=sv_8hw6velhk6cdxxt' LRECL = 32767; FILENAME SurvMap 'C:\My_Project\SurveyMap.map'; LIBNAME Survey xmlv2 xmlmap = SurvMap access=readonly; PROC DATASETS LIB = Survey; RUN; DISTRIBUTING SURVEYS ADDING RESEARCH PARTICIPANTS TO THE MAILING LIST In Qualtrics, a Panel is a mailing list of research participants, and individual participants are referred to as panel members. Panels can be uploaded manually using the Qualtrics GUI, or through an HTTP request using addrecipient. For example, the following FILENAME statement sends a request to add the study participant, Jane Doe, to the panel with ID 3t1N3ti5FD0q64B. This panel is stored in a library with ID UR_bfqictNzeViQb65. Users can also specify the participant s email address and an External Data Reference, usually the participant ID number. FILENAME AddRec URL 'https://survey.qualtrics.com/wrapi/controlpanel/api.php?request=addrecipie nt&user=user20&token=sm0rxwhmewo1oumcapgzlo6ot5sejrgmpqpwyn2d&format=xml&ve rsion=2.4&libraryid=ur_bfqictnzeviqb65&panelid=ml_3t1n3ti5fd0q64b&firstname =Jane&LastName=Doe&Email=janedoe@email.com&ExternalDataRef=8000'; A successful request will return the following XML and the SAS XML LIBNAME engine converts this into three SAS datasets 4

Alternatively, an unsuccessful request will return the following XML response. DISTRIBUTING SURVEYS VIA EMAIL The survey link can be emailed to all panel members concurrently using the sendsurveytopanel request. However, in most cases research participants will need to complete the surveys at different times, and it is more efficient to send them the survey links when they come in window for their respective follow-up date. This can be done by using the request sendsurveytoindividual. Table 2 shows the list of parameters required for the HTTP request. This feature is very useful, particularly when research participants are required to complete the same questionnaire at multiple time points. The SAS programmer can calculate the window dates for each follow-up date for every participant, and use a combination of DATA steps, loops, and MACRO variables to execute the API request. Parameter name Values/Format Description SurveyID <String> The survey to be distributed. SendDate YYYY-MM-DD hh:mm:ss The time/date user wishes to send an email FromEmail <String> The reply-to email address. FromName <String> The name the email will come from. Subject <String> The subject for the email. MessageID <String> The message ID of the message you want to send. This may contain template language which needs to be created prior to distributing surveys. MessageLibraryID <String> The library ID where the message is saved. PanelID <String> The panel ID where the panel member belongs. PanelLibraryID <String> The library ID where the panel is saved. RecipientID <String> The ID of the individual panel member you wish send the email to. Table 2. Required parameters for the sendsurveytoindividual API request. Here is an example request to send the survey on April 28, 2015 at 12pm MDT to a participant whose RecipientID is MLRP_bCRPxd49mGptnsF. FILENAME Send URL 'https://survey.qualtrics.com/wrapi/controlpanel/api.php?request=sendsurvey ToIndividual&User=user20&Token=Sm0rxwhmEwo1ouMcapGzLO6ot5sEjRgMpqpWyN2d&For mat=xml&version=2.4&surveyid=sv_8hw6velhk6cdxxt&senddate=2015-04-28 12:00:00&FromEmail=fep2110@cumc.columbia.edu&FromName=Faith Parsons&Subject=Study Survey&MessageID=MS_1IkZ13wrcIz3eol&MessageLibraryID=GR_8vsW1J9WlavB8WN&Pan elid==ml_3t1n3ti5fd0q64b&panellibraryid=gr_8vsw1j9wlavb8wn&recipientid= MLRP_bCRPxd49mGptnsF'; 5

OTHER USEFUL API REQUESTS Occasionally research participants are unable to complete the study and are therefore withdrawn. Therefore, it is important that withdrawn participants no longer receive scheduled survey emails. This can be easily achieved by either: 1. Deleting the panel member using the removerecipient request, or 2. Setting the panel member s status to Unsubscribed using the updaterecipient request, and specifying &Unsubscribed=1. Unsubscribed or deleted panels will no longer receive any of the pre-scheduled emails. Other useful API requests are listed in Table 3. Request Name sendsurveytopanel addrecipient sendreminder getdistributions Function Sends an email with survey link to all panel members in a panel Adds a new panel member to an existing panel Sends a reminder email to participants who have not completed a specific survey Returns data for the specified distribution, which includes information on surveys completed. Table 3. List of other useful API requests CONCLUSION Managing multiple surveys and distributing them to several research participants at multiple time intervals can be tedious and time consuming. By using SAS 9.3 to interface with the Qualtrics REST API, and SAS XML Mapper to generate XML maps from the XML responses, we were able to implement a system that can download the survey data regularly, accurately schedule the distribution of surveys to research participants, and prevent withdrawn participants from receiving scheduled emails. REFERENCES Alcántara C, Muntner P, Edmondson D, Safford MM, Redmond N and Davidson KW. The Perfect Storm: Concurrent Stress and Depressive Symptoms Increase Risk of Myocardial Infarction or Death Circ Cardiovasc Qual Outcomes. 2015;8:146-54. Busby, P. 2012. A Simple Way of Importing from a REST Web Service into SAS in Three Lines of Code. Proceedings of the SAS Global Forum 2012. Available at http://support.sas.com/resources/papers/proceedings12/075-2012.pdf. Qualtrics. 2015. Qualtrics Control Panel REST API Documentation. Accessed March 20, 2015. https://survey.qualtrics.com/wrapi/controlpanel/docs.php. Wright, W. L. 2010. How to Create an XML Map with XML Mapper. Proceedings from NESUG 2010. Available at http://www.lexjansen.com/nesug/nesug10/ff/ff14.pdf. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the authors at: Faith E. Parsons Center for Behavioral Cardiovascular Health Columbia University Medical Center 622 West 168 th St PH9-320 New York, NY 10032 Email: fep2110@cumc.columbia.edu 6

Sean J. Mota Department of Medicine Columbia University Medical Center 622 West 168 th St New York, NY 10032 Email: sm510@cumc.columbia.edu Yan Quan Center for Behavioral Cardiovascular Health Columbia University Medical Center 622 West 168 th St PH9-320 New York, NY 10032 Email: yq2135@cumc.columbia.edu SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are trademarks of their respective companies. 7