Giter Club home page Giter Club logo
 photo

researchkit Goto Github PK

repos: 9.0 gists: 0.0

Type: Organization

Bio: ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects.

ResearchKit Framework

VCS Platform CocoaPods Carthage Compatible License

The ResearchKit™ framework is an open source software framework that makes it easy to create apps for medical research or for other research projects.

Table of Contents

Requirements

The ResearchKit framework codebase supports iOS and requires Xcode 12.0 or newer. The ResearchKit framework has a Base SDK version of 13.0.

Documentation

ebedded-framework

View the ResearchKit framework documentation by setting ResearchKit as your target in Xcode and selecting 'Build Documentation' in the Product menu dropdown.

Getting Started

Install as an embedded framework

Download the project source code and drag in ResearchKit.xcodeproj. Then, embed ResearchKit framework in your app by adding it to the "Frameworks, Libraries, and Embedded Content" section for your target as shown in the figure below.

ebedded-framework

ORKCatalog App

The included catalog app demonstrates the different modules that are available in ResearchKit. Find the project in ResearchKit's samples directory.

catalog-home catalog-survey

Surveys

The ResearchKit framework provides a pre-built user interface for surveys, which can be presented modally on an iPhone or iPad. The example below shows the process to present a height question for a participant to answer.

import ResearchKit
import ResearchKitUI
    
let sectionHeaderFormItem = ORKFormItem(sectionTitle: "Your question here.")

let heightQuestionFormItem = ORKFormItem(identifier: "heightQuestionFormItem1", text: nil, answerFormat: ORKAnswerFormat.heightAnswerFormat())
heightQuestionFormItem.placeholder = "Tap here"

let formStep = ORKFormStep(identifier: "HeightQuestionIdentifier", title: "Height", text: "Local system")
formStep.formItems = [sectionHeaderFormItem, heightQuestionFormItem]

return formStep

The height question is presented in the figure below.

height-question height-question-2

Consent

The ResearchKit framework provides classes that you can customize to explain the details of your research study and obtain a signature if needed. Use ResearchKit's provided classes to quickly welcome, and inform your participants of what the study entails.

import ResearchKit
import ResearchKitUI

// Welcome page.
let welcomeStep = ORKInstructionStep(identifier: String(describing: Identifier.consentWelcomeInstructionStep))
welcomeStep.iconImage = UIImage(systemName: "hand.wave")
welcomeStep.title = "Welcome!"
welcomeStep.detailText = "Thank you for joining our study. Tap Next to learn more before signing up."
        
// Before You Join page.
let beforeYouJoinStep = ORKInstructionStep(identifier: String(describing: Identifier.informedConsentInstructionStep))
beforeYouJoinStep.iconImage = UIImage(systemName: "doc.text.magnifyingglass")
beforeYouJoinStep.title = "Before You Join"
        
let sharingHealthDataBodyItem = ORKBodyItem(text: "The study will ask you to share some of your Health data.",
                                            detailText: nil,
                                            image: UIImage(systemName: "heart.fill"),
                                            learnMoreItem: nil,
                                            bodyItemStyle: .image)
        
let completingTasksBodyItem = ORKBodyItem(text: "You will be asked to complete various tasks over the duration of the study.",
                                          detailText: nil,
                                          image: UIImage(systemName: "checkmark.circle.fill"),
                                          learnMoreItem: nil,
                                          bodyItemStyle: .image)
        
let signatureBodyItem = ORKBodyItem(text: "Before joining, we will ask you to sign an informed consent document.",
                                    detailText: nil,
                                    image: UIImage(systemName: "signature"),
                                    learnMoreItem: nil,
                                    bodyItemStyle: .image)
        
let secureDataBodyItem = ORKBodyItem(text: "Your data is kept private and secure.",
                                     detailText: nil,
                                     image: UIImage(systemName: "lock.fill"),
                                     learnMoreItem: nil,
                                     bodyItemStyle: .image)
        
beforeYouJoinStep.bodyItems = [
    sharingHealthDataBodyItem,
    completingTasksBodyItem,
    signatureBodyItem,
    secureDataBodyItem
]

The consent steps are presented in the figure below.

consent-welcome-page consent-before-you-join

Vist the Obtaining Consentarticle in ResearchKit's Documentation for more examples that include signature collection and PDF file storage.

Active Tasks

Some studies may need data beyond survey questions or the passive data collection capabilities available through use of the HealthKit and CoreMotion APIs if you are programming for iOS. ResearchKit's active tasks invite users to perform activities under semi-controlled conditions, while iPhone sensors actively collect data. ResearchKit active tasks are not diagnostic tools nor medical devices of any kind and output from those active tasks may not be used for diagnosis. Developers and researchers are responsible for complying with all applicable laws and regulations with respect to further development and use of the active tasks.

Use predefined tasks provided by ResearchKit to guide your participants through specific actions.

import ResearchKit
import ResearchKitUI
import ResearchKitActiveTask

let orderedTask = ORKOrderedTask.dBHLToneAudiometryTask(withIdentifier: "dBHLToneAudiometryTaskIdentifier",
							intendedUseDescription: nil, options: [])
							
let taskViewController = ORKTaskViewController(task: orderedTask, taskRun: nil)
taskViewController.delegate = self

present(taskViewController, animated: true)

The dBHL Tone Audiometry task is presented in the figure below.

noise-check dbhl-tone-test

Getting Help

GitHub is our primary forum for ResearchKit. Feel free to open up issues about questions, problems, or ideas.

License

This project is made available under the terms of a BSD license. See the LICENSE file.

researchkit's Projects

researchkit doesn’t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.