{"id":1876,"url":"https://github.com/ResearchKit/ResearchKit","last_synced_at":"2025-08-02T05:33:33.475Z","repository":{"id":28463267,"uuid":"31979038","full_name":"ResearchKit/ResearchKit","owner":"ResearchKit","description":"ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects.","archived":false,"fork":false,"pushed_at":"2025-04-15T17:24:18.000Z","size":87332,"stargazers_count":5659,"open_issues_count":240,"forks_count":1166,"subscribers_count":290,"default_branch":"main","last_synced_at":"2025-07-28T12:43:10.099Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.researchandcare.org","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ResearchKit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-03-10T20:05:32.000Z","updated_at":"2025-07-25T09:00:23.000Z","dependencies_parsed_at":"2022-07-10T13:30:18.477Z","dependency_job_id":"453bb45b-5139-4463-8099-58f61c522177","html_url":"https://github.com/ResearchKit/ResearchKit","commit_stats":{"total_commits":2594,"total_committers":180,"mean_commits":"14.411111111111111","dds":0.7393986121819583,"last_synced_commit":"5c5d295bd5b06a5d0c028afcdad6858cca60cba5"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/ResearchKit/ResearchKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResearchKit%2FResearchKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResearchKit%2FResearchKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResearchKit%2FResearchKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResearchKit%2FResearchKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ResearchKit","download_url":"https://codeload.github.com/ResearchKit/ResearchKit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResearchKit%2FResearchKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267520337,"owners_count":24100823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:15:57.952Z","updated_at":"2025-08-02T05:33:31.185Z","avatar_url":"https://github.com/ResearchKit.png","language":"Objective-C","funding_links":[],"categories":["SDK","Objective-C","Official","官方的"],"sub_categories":["Official","Other free courses"],"readme":"\n![ResearchKit](https://github.com/user-attachments/assets/0384c1a6-ec67-45d3-be68-136a2e4cacff)\n\nResearchKit Framework\n===========\n\n![VCS](https://img.shields.io/badge/dvcs-Git%20%2B%20LFS-tomato.svg) ![Platform](https://img.shields.io/cocoapods/p/ResearchKit.svg) ![CocoaPods](https://img.shields.io/cocoapods/v/ResearchKit.svg) ![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-yellow.svg?style=flat) [![License](https://img.shields.io/badge/license-BSD-green.svg?style=flat)](https://github.com/ResearchKit/ResearchKit#license) ![](https://travis-ci.com/ResearchKit/ResearchKit.svg?branch=master)\n\nThe *ResearchKit™ framework* is an open source software framework that makes it easy to create apps\nfor medical research or for other research projects.\n\n# Table of Contents\n\n* [Requirements](#requirements)\n* [Documentation](#documentation)\n* [Getting Started](#gettingstarted)\n\t* [Installing](#installation)\n\t* [ORKCatalog App](#orkcatalog-app)\n* [Surveys](#surveys)\n* [Consent](#consent)\n* [Active Tasks](#active-tasks)\n* [Getting Help](#getting-help)\n* [License](#license)\n\n# Requirements \u003ca name=\"requirements\"\u003e\u003c/a\u003e\n\nThe *ResearchKit framework* codebase supports iOS and requires Xcode 12.0 or newer. The *ResearchKit framework* has a Base SDK version of 13.0.\n\n# Documentation \u003ca name=\"documentation\"\u003e\u003c/a\u003e\n\n\u003cimg width=\"1000\" alt=\"ebedded-framework\" src=\"https://github.com/ResearchKit/ResearchKit/assets/29615893/19d6edd3-3d95-4416-9ac4-24ccb35e09c2\"\u003e\n\nView the *ResearchKit framework* documentation by setting ResearchKit as your target in Xcode and selecting 'Build Documentation' in the Product menu dropdown.\n\n\n# Getting Started \u003ca name=\"gettingstarted\"\u003e\u003c/a\u003e\n\n* [Website](https://www.researchandcare.org)\n* [WWDC: ResearchKit and CareKit Reimagined](https://developer.apple.com/videos/play/wwdc2019/217/)\n\n\n### Install as an embedded framework \u003ca name=\"installation\"\u003e\u003c/a\u003e\n\nDownload 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.\n\n\u003cimg width=\"1000\" alt=\"ebedded-framework\" src=\"https://github.com/ResearchKit/ResearchKit/assets/29615893/7479f313-ecc7-4d94-8c64-c58ae7362a4d\"\u003e\n\n### ORKCatalog App \u003ca name=\"orkcatalog-app\"\u003e\u003c/a\u003e\n\nThe included catalog app demonstrates the different modules that are available in *ResearchKit*. Find the\nproject in ResearchKit's [`samples`](samples) directory.\n\n|   |   |\n|---|---|\n| ![catalog-home](https://github.com/ResearchKit/ResearchKit/assets/29615893/45357cf8-17bf-4f38-aebc-bdf1c3395eb5) | ![catalog-survey](https://github.com/ResearchKit/ResearchKit/assets/29615893/a850f20b-7a05-4d14-bc2d-2d6dab7af30d) |\n\n# Surveys \u003ca name=\"surveys\"\u003e\u003c/a\u003e\n\nThe *ResearchKit framework* provides a pre-built user interface for surveys, which can be presented\nmodally on an *iPhone* or *iPad*. The example below shows the process to present a height question for a participant to answer.\n\n```swift\nimport ResearchKit\nimport ResearchKitUI\n    \nlet sectionHeaderFormItem = ORKFormItem(sectionTitle: \"Your question here.\")\n\nlet heightQuestionFormItem = ORKFormItem(identifier: \"heightQuestionFormItem1\", text: nil, answerFormat: ORKAnswerFormat.heightAnswerFormat())\nheightQuestionFormItem.placeholder = \"Tap here\"\n\nlet formStep = ORKFormStep(identifier: \"HeightQuestionIdentifier\", title: \"Height\", text: \"Local system\")\nformStep.formItems = [sectionHeaderFormItem, heightQuestionFormItem]\n\nreturn formStep\n```\n\nThe height question is presented in the figure below.\n\n|   |   |\n|---|---|\n| ![height-question](https://github.com/ResearchKit/ResearchKit/assets/29615893/4f425329-83b7-45c3-84f9-58cdbcaf2529) | ![height-question-2](https://github.com/ResearchKit/ResearchKit/assets/29615893/2cc0dc2c-5c2a-4b50-a4be-834363fb64b5) |\n\n# Consent \u003ca name=\"consent\"\u003e\u003c/a\u003e\n\nThe *ResearchKit framework* provides classes that you can customize to explain the\ndetails 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.\n\n```swift\nimport ResearchKit\nimport ResearchKitUI\n\n// Welcome page.\nlet welcomeStep = ORKInstructionStep(identifier: String(describing: Identifier.consentWelcomeInstructionStep))\nwelcomeStep.iconImage = UIImage(systemName: \"hand.wave\")\nwelcomeStep.title = \"Welcome!\"\nwelcomeStep.detailText = \"Thank you for joining our study. Tap Next to learn more before signing up.\"\n        \n// Before You Join page.\nlet beforeYouJoinStep = ORKInstructionStep(identifier: String(describing: Identifier.informedConsentInstructionStep))\nbeforeYouJoinStep.iconImage = UIImage(systemName: \"doc.text.magnifyingglass\")\nbeforeYouJoinStep.title = \"Before You Join\"\n        \nlet sharingHealthDataBodyItem = ORKBodyItem(text: \"The study will ask you to share some of your Health data.\",\n                                            detailText: nil,\n                                            image: UIImage(systemName: \"heart.fill\"),\n                                            learnMoreItem: nil,\n                                            bodyItemStyle: .image)\n        \nlet completingTasksBodyItem = ORKBodyItem(text: \"You will be asked to complete various tasks over the duration of the study.\",\n                                          detailText: nil,\n                                          image: UIImage(systemName: \"checkmark.circle.fill\"),\n                                          learnMoreItem: nil,\n                                          bodyItemStyle: .image)\n        \nlet signatureBodyItem = ORKBodyItem(text: \"Before joining, we will ask you to sign an informed consent document.\",\n                                    detailText: nil,\n                                    image: UIImage(systemName: \"signature\"),\n                                    learnMoreItem: nil,\n                                    bodyItemStyle: .image)\n        \nlet secureDataBodyItem = ORKBodyItem(text: \"Your data is kept private and secure.\",\n                                     detailText: nil,\n                                     image: UIImage(systemName: \"lock.fill\"),\n                                     learnMoreItem: nil,\n                                     bodyItemStyle: .image)\n        \nbeforeYouJoinStep.bodyItems = [\n    sharingHealthDataBodyItem,\n    completingTasksBodyItem,\n    signatureBodyItem,\n    secureDataBodyItem\n]\n```\nThe consent steps are presented in the figure below.\n\n|   |   |\n|---|---|\n| ![consent-welcome-page](https://github.com/ResearchKit/ResearchKit/assets/29615893/e6cbbe07-47ed-4bb4-a84a-f3bf612e9122) | ![consent-before-you-join](https://github.com/ResearchKit/ResearchKit/assets/29615893/687fe345-14d9-4356-9c37-c6a2714875ae) |\n\nVist the `Obtaining Consent`article in ResearchKit's Documentation for\nmore examples that include signature collection and PDF file storage.\n\n# Active Tasks \u003ca name=\"active-tasks\"\u003e\u003c/a\u003e\n\nSome studies may need data beyond survey questions or the passive data collection capabilities\navailable through use of the *HealthKit* and *CoreMotion* APIs if you are programming for *iOS*.\n*ResearchKit*'s active tasks invite users to perform activities under semi-controlled conditions,\nwhile *iPhone* sensors actively collect data.\nResearchKit 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.\n\nUse predefined tasks provided by *ResearchKit* to guide your participants through specific actions.\n\n```swift\nimport ResearchKit\nimport ResearchKitUI\nimport ResearchKitActiveTask\n\nlet orderedTask = ORKOrderedTask.dBHLToneAudiometryTask(withIdentifier: \"dBHLToneAudiometryTaskIdentifier\",\n\t\t\t\t\t\t\tintendedUseDescription: nil, options: [])\n\t\t\t\t\t\t\t\nlet taskViewController = ORKTaskViewController(task: orderedTask, taskRun: nil)\ntaskViewController.delegate = self\n\npresent(taskViewController, animated: true)\n```\nThe dBHL Tone Audiometry task is presented in the figure below.\n\n|   |   |\n|---|---|\n| ![noise-check](https://github.com/ResearchKit/ResearchKit/assets/29615893/d8fb669c-bb60-482d-9a2d-e5b6b6696aa5) | ![dbhl-tone-test](https://github.com/ResearchKit/ResearchKit/assets/29615893/04df862b-46bc-4749-8c3e-02d2e54dbcbf) |\n\n# Getting Help \u003ca name=\"getting-help\"\u003e\u003c/a\u003e\n\nGitHub is our primary forum for ResearchKit. Feel free to open up issues about questions, problems, or ideas.\n\n# License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is made available under the terms of a BSD license. See the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FResearchKit%2FResearchKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FResearchKit%2FResearchKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FResearchKit%2FResearchKit/lists"}