| Literature DB >> 27261155 |
Vikas O'Reilly-Shah1, Sean Mackey.
Abstract
BACKGROUND: We describe here Survalytics, a software module designed to address two broad areas of need. The first area is in the domain of surveys and app analytics: developers of mobile apps in both academic and commercial environments require information about their users, as well as how the apps are being used, to understand who their users are and how to optimally approach app development. The second area of need is in the field of ecological momentary assessment, also referred to as experience sampling: researchers in a wide variety of fields, spanning from the social sciences to psychology to clinical medicine, would like to be able to capture daily or even more frequent data from research subjects while in their natural environment.Entities:
Keywords: Amazon Web Services; Android; DynamoDB; NoSQL; analytics; ecological momentary assessment; experiential sampling; microsurveys; mobile surveys; quantified self; surveys
Year: 2016 PMID: 27261155 PMCID: PMC4912681 DOI: 10.2196/mhealth.5397
Source DB: PubMed Journal: JMIR Mhealth Uhealth ISSN: 2291-5222 Impact factor: 4.773
Code metadata.
| Descriptor | Description |
| Current code version | v1.0 |
| Permanent link to code | http://dx.doi.org/10.15139/S3/12126 |
| Legal Code License | Apache 2.0 |
| Code versioning system used | None |
| Software code languages, tools, and services used | Java, Amazon Web Services (AWS) DynamoDB, Eclipse Mars IDEa |
| Compilation requirements, operating environments & dependencies | Eclipse Mars IDE |
| Support email for questions | voreill@emory.edu |
aIDE: integrated development environment.
Core Survalytics Java classes.
| Names | Notes |
| SA_AWSConstants.java | Required modification: AWSacredentials |
| SA_AWSDownloadSurvey.java | Pulls Questions into local DBa |
| SA_ResponseSenderAsynctaskService.java | Packages Responses and stores in local DB for later upload |
| SA_AWSInsertStudyJSON.java | Pushes Responses to AWS |
| SA_DisplaySurveyQuestion.java | Displays Questions |
| SA_QuestionDB.java | Wrapper class for all local DB calls |
| SA_Question.java | AWS DynamoDB Annotated Question object |
| SA_Response.java | AWS DynamoDB Annotated Response object |
| SA_AWSSurveyConnectivityBroadcastReceiver.java | Background Question download and Response upload with connectivity change |
aAWS: Amazon Web Services; DB: database.
Supplemental Survalytics Java classes.
| Names | Notes |
| SA_AWSQuestionVerificationAndDisplay.java | Question Display and Validation |
| SA_NotificationAutomaticity.java | Survalytics Sampling: add-on classes for ecological momentary assessment (experiential sampling) |
Figure 1Overview of the Survalytics platform architecture. Black arrows are calls between subclasses of the module. Red arrows demonstrate data flow. Dotted lines serve to clarify the functionality and data storage existing in the original app, in the Survalytics module, and in the cloud database. The software module may be called by the primary app in several different ways. For surveys, the app should send a call to display survey questions. The app may make a different call to store arbitrary analytic data in the cloud. Finally, if desired, the app can call the experience sampling submodule. AWS: Amazon Web Services.
Figure 2Detailed Survalytics platform architecture. The calls to be made from the primary app to the specific Java classes of the module are detailed here. In addition, the internal relationships between the classes of the module are also detailed. Black arrows are calls and red arrows demonstrate data flow. Light green arrows represent system level events that drive calls to the indicated classes. AWS: Amazon Web Services; DB: database; ESM: experience sampling module; IAM: Identity and Access Management; IP: Internet protocol address; JSON: JavaScript object notation; SQL: structured query language; UI: user interface. See Multimedia Appendix 5.