{"action":"created","comment":{"url":"https://api.github.com/repos/ResearchKit/mPower/pulls/comments/33608114","id":33608114,"diff_hunk":"@@ -0,0 +1,254 @@\n+//\n+//  APHParkinsonActivityViewController.m\n+//  mPower\n+//\n+//  Copyright (c) 2015 Apple, Inc. All rights reserved.\n+//\n+// Redistribution and use in source and binary forms, with or without modification,\n+// are permitted provided that the following conditions are met:\n+//\n+// 1.  Redistributions of source code must retain the above copyright notice, this\n+// list of conditions and the following disclaimer.\n+//\n+// 2.  Redistributions in binary form must reproduce the above copyright notice,\n+// this list of conditions and the following disclaimer in the documentation and/or\n+// other materials provided with the distribution.\n+//\n+// 3.  Neither the name of the copyright holder(s) nor the names of any contributors\n+// may be used to endorse or promote products derived from this software without\n+// specific prior written permission. No license is granted to the trademarks of\n+// the copyright holders even if such marks are included in this software.\n+//\n+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\n+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+//\n+\n+#import \"APHParkinsonActivityViewController.h\"\n+#import \"APHAppDelegate.h\"\n+\n+    //\n+    //    keys for the extra step ('Pre-Survey') that;'s injected\n+    //        into Parkinson Activities to ask the Patient if they\n+    //        have taken their medications\n+    //\n+NSString  *const  kMomentInDayStepIdentifier             = @\"momentInDay\";\n+\n+NSString  *const  kMomentInDayFormat                     = @\"momentInDayFormat\";\n+\n+NSString  *const  kMomentInDayFormatTitle                = @\"We would like to understand how your performance on\"\n+                                                                \" this activity could be affected by the timing of your medication.\";\n+\n+NSString  *const  kMomentInDayFormatItemText             = @\"When are you performing this Activity?\";\n+\n+NSString  *const  kMomentInDayFormatChoiceJustWokeUp     = @\"Immediately before Parkinson medication\";\n+NSString  *const  kMomentInDayFormatChoiceTookMyMedicine = @\"Just after Parkinson medication (at your best)\";\n+NSString  *const  kMomentInDayFormatChoiceEvening        = @\"Another time\";\n+NSString  *const  kMomentInDayFormatChoiceNone           = @\"I don't take Parkinson medications\";\n+\n+    //\n+    //    key for Parkinson Stashed Question Result\n+    //        from 'When Did You Take Your Medicine' Pre-Survey Question\n+    //\n+NSString  *const  kMomentInDayUserDefaultsKey            = @\"MomentInDayUserDefaults\";\n+    //\n+    //    keys for Parkinson Stashed Question Result Dictionary\n+    //        from 'When Did You Take Your Medicine' Pre-Survey Question\n+    //\n+NSString  *const  kMomentInDayChoiceAnswerKey            = @\"MomentInDayChoiceAnswer\";\n+NSString  *const  kMomentInDayQuestionTypeKey            = @\"MomentInDayQuestionType\";\n+NSString  *const  kMomentInDayIdentifierKey              = @\"MomentInDayIdentifier\";\n+NSString  *const  kMomentInDayStartDateKey               = @\"MomentInDayStartDate\";\n+NSString  *const  kMomentInDayEndDateKey                 = @\"MomentInDayEndDate\";\n+\n+    //\n+    //    keys for Parkinson Conclusion Step View Controller\n+    //\n+NSString  *const  kConclusionStepThankYouTitle           = @\"Thank You!\";\n+NSString  *const  kConclusionStepViewDashboard           = @\"The results of this activity can be viewed on the dashboard\";\n+\n+    //\n+    //    elapsed time delay before asking the patient if they took their medications\n+    //\n+static  double  kMinimumAmountOfTimeToShowSurvey         = 20.0 * 60.0;\n+\n+@interface APHParkinsonActivityViewController ()\n+\n+@property  (nonatomic, strong)  NSArray  *stashedSteps;\n+\n+@end\n+\n+    //\n+    //    Common Super-Class for all four Parkinson Task View Controllers\n+    //\n+\n+    //\n+    //    A Parkinson Activity may have an optional step inject at the\n+    //    beginning of the Activity to ask the patient if they have taken their medications\n+    //\n+    //    That extra step is included in the Activity Step Results to be uploaded\n+    //\n+    //    The Research Institution requires that this information be supplied even when\n+    //    the question is not asked, in which case, a cached copy of the most recent\n+    //    results is used, until such time as a new result may be created\n+    //\n+    //    modifyTaskWithPreSurveyStepIfRequired does the optional step injection if needed\n+    //\n+    //    stepViewControllerResultDidChange records the most recent copy of the cached result\n+    //\n+    //    taskViewController didFinishWithReason uses the cached result if the step results\n+    //    do not already contain the apropriate step result\n+    //\n+    //    the over-ridden  result  method ensures that the cached results are used if they exist\n+    //\n+@implementation APHParkinsonActivityViewController\n+\n++ (ORKOrderedTask *)modifyTaskWithPreSurveyStepIfRequired:(ORKOrderedTask *)task andTitle:(NSString *)taskTitle\n+{\n+    APHAppDelegate  *appDelegate = (APHAppDelegate *)[UIApplication sharedApplication].delegate;\n+    NSDate          *lastCompletionDate = appDelegate.dataSubstrate.currentUser.taskCompletion;\n+    NSTimeInterval   numberOfSecondsSinceTaskCompletion = [[NSDate date] timeIntervalSinceDate: lastCompletionDate];\n+    \n+    ORKOrderedTask  *replacementTask = task;\n+    \n+    if (numberOfSecondsSinceTaskCompletion > kMinimumAmountOfTimeToShowSurvey || lastCompletionDate == nil) {\n+    \n+        NSMutableArray  *stepQuestions = [NSMutableArray array];\n+        \n+        ORKFormStep  *step = [[ORKFormStep alloc] initWithIdentifier:kMomentInDayStepIdentifier title:nil text:NSLocalizedString(kMomentInDayFormatTitle, nil)];\n+        \n+        step.optional = NO;\n+        \n+        {\n+            NSArray *choices = @[\n+                                 NSLocalizedString(kMomentInDayFormatChoiceJustWokeUp, nil),\n+                                 NSLocalizedString(kMomentInDayFormatChoiceTookMyMedicine, nil),\n+                                 NSLocalizedString(kMomentInDayFormatChoiceEvening, nil),\n+                                 NSLocalizedString(kMomentInDayFormatChoiceNone, nil)\n+                                 ];\n+            ORKAnswerFormat  *format = [ORKTextChoiceAnswerFormat\n+                                        choiceAnswerFormatWithStyle:ORKChoiceAnswerStyleSingleChoice\n+                                                         textChoices:choices];\n+            \n+            ORKFormItem  *item = [[ORKFormItem alloc] initWithIdentifier:kMomentInDayFormat\n+                                                                   text:NSLocalizedString(kMomentInDayFormatItemText, nil)\n+                                                           answerFormat:format];\n+            [stepQuestions addObject:item];\n+        }\n+        [step setFormItems:stepQuestions];\n+        \n+        NSMutableArray  *newSteps = [task.steps mutableCopy];\n+        if ([newSteps count] >= 1) {\n+            [newSteps insertObject:step atIndex:1];\n+        }\n+        replacementTask = [[ORKOrderedTask alloc] initWithIdentifier:taskTitle steps:newSteps];\n+    }\n+    return  replacementTask;\n+}\n+\n+#pragma  mark  -  Step View Controller Delegate Methods\n+\n+- (void)stepViewControllerResultDidChange:(ORKStepViewController *)stepViewController\n+{\n+    NSString  *stepIdentifier = stepViewController.step.identifier;\n+    if ([stepIdentifier isEqualToString:kMomentInDayStepIdentifier] == YES) {\n+        ORKStepResult  *stepResult = stepViewController.result;\n+        if ([stepResult.results count] > 0) {\n+            id  object = [stepResult.results lastObject];\n+            if ([object isKindOfClass:[ORKChoiceQuestionResult class]] == YES) {\n+                ORKChoiceQuestionResult  *result = (ORKChoiceQuestionResult *)object;\n+                    //\n+                    //  stash the object away\n+                    //\n+                if (result.choiceAnswers.lastObject != nil) {\n+                    NSDictionary  *dictionary = @{\n+                                                  kMomentInDayChoiceAnswerKey : result.choiceAnswers.lastObject,\n+                                                  kMomentInDayQuestionTypeKey : @(result.questionType),\n+                                                  kMomentInDayIdentifierKey   : result.identifier,\n+                                                  kMomentInDayStartDateKey    : result.startDate,\n+                                                  kMomentInDayEndDateKey      : result.endDate,\n+                                                  };\n+                    NSUserDefaults  *defaults = [NSUserDefaults standardUserDefaults];\n+                    [defaults setObject:dictionary forKey:kMomentInDayUserDefaultsKey];\n+                    [defaults synchronize];\n+                }","path":"Parkinson/TasksAndSteps/APHParkinsonActivityViewController.m","position":181,"original_position":181,"commit_id":"edb7b217b34a7ae7bea7783d4578101c2a372c71","original_commit_id":"edb7b217b34a7ae7bea7783d4578101c2a372c71","user":{"login":"PacificCoaster","id":760935,"avatar_url":"https://avatars.githubusercontent.com/u/760935?v=3","gravatar_id":"","url":"https://api.github.com/users/PacificCoaster","html_url":"https://github.com/PacificCoaster","followers_url":"https://api.github.com/users/PacificCoaster/followers","following_url":"https://api.github.com/users/PacificCoaster/following{/other_user}","gists_url":"https://api.github.com/users/PacificCoaster/gists{/gist_id}","starred_url":"https://api.github.com/users/PacificCoaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PacificCoaster/subscriptions","organizations_url":"https://api.github.com/users/PacificCoaster/orgs","repos_url":"https://api.github.com/users/PacificCoaster/repos","events_url":"https://api.github.com/users/PacificCoaster/events{/privacy}","received_events_url":"https://api.github.com/users/PacificCoaster/received_events","type":"User","site_admin":false},"body":"\n> On Jun 29, 2015, at 2:43 PM, Yuan Zhu <notifications@github.com> wrote:\n> \n> In Parkinson/TasksAndSteps/APHParkinsonActivityViewController.m <https://github.com/ResearchKit/mPower/pull/6#discussion_r33517299>:\n> \n> > +                ORKChoiceQuestionResult  *result = (ORKChoiceQuestionResult *)object;\n> > +                    //\n> > +                    //  stash the object away\n> > +                    //\n> > +                if (result.choiceAnswers.lastObject != nil) {\n> > +                    NSDictionary  *dictionary = @{\n> > +                                                  kMomentInDayChoiceAnswerKey : result.choiceAnswers.lastObject,\n> > +                                                  kMomentInDayQuestionTypeKey : @(result.questionType),\n> > +                                                  kMomentInDayIdentifierKey   : result.identifier,\n> > +                                                  kMomentInDayStartDateKey    : result.startDate,\n> > +                                                  kMomentInDayEndDateKey      : result.endDate,\n> > +                                                  };\n> > +                    NSUserDefaults  *defaults = [NSUserDefaults standardUserDefaults];\n> > +                    [defaults setObject:dictionary forKey:kMomentInDayUserDefaultsKey];\n> > +                    [defaults synchronize];\n> > +                }\n> Thanks for explaining.\n> \n> Can you use NSSecureCoding to save the stepResult into NSUserDefaults? \n> So you don't need to rebuild the object on restoring.\n> \n> —\n> Reply to this email directly or view it on GitHub <https://github.com/ResearchKit/mPower/pull/6/files#r33517299>.\n> \nIn principle, yes, we could replace that result —> dictionary and dictionary —> result.\nPresumably you are suggesting creating an archive and stashing that in NSUserDefaults.\n\nHowever, the code has been in shipping versions of the App for a couple of months now,\nand so we would be faced with a migration path if we wanted to switch to the NSSecureCoding\nversion. \n\n    Best Wishes,\n        . . . . . . . .    Henry","created_at":"2015-06-30T18:40:25Z","updated_at":"2015-06-30T18:40:25Z","html_url":"https://github.com/ResearchKit/mPower/pull/6#discussion_r33608114","pull_request_url":"https://api.github.com/repos/ResearchKit/mPower/pulls/6","_links":{"self":{"href":"https://api.github.com/repos/ResearchKit/mPower/pulls/comments/33608114"},"html":{"href":"https://github.com/ResearchKit/mPower/pull/6#discussion_r33608114"},"pull_request":{"href":"https://api.github.com/repos/ResearchKit/mPower/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/ResearchKit/mPower/pulls/6","id":38812761,"html_url":"https://github.com/ResearchKit/mPower/pull/6","diff_url":"https://github.com/ResearchKit/mPower/pull/6.diff","patch_url":"https://github.com/ResearchKit/mPower/pull/6.patch","issue_url":"https://api.github.com/repos/ResearchKit/mPower/issues/6","number":6,"state":"open","locked":false,"title":"Updates to Parkinson to Synchronise With Open Source with App Store Version","user":{"login":"PacificCoaster","id":760935,"avatar_url":"https://avatars.githubusercontent.com/u/760935?v=3","gravatar_id":"","url":"https://api.github.com/users/PacificCoaster","html_url":"https://github.com/PacificCoaster","followers_url":"https://api.github.com/users/PacificCoaster/followers","following_url":"https://api.github.com/users/PacificCoaster/following{/other_user}","gists_url":"https://api.github.com/users/PacificCoaster/gists{/gist_id}","starred_url":"https://api.github.com/users/PacificCoaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PacificCoaster/subscriptions","organizations_url":"https://api.github.com/users/PacificCoaster/orgs","repos_url":"https://api.github.com/users/PacificCoaster/repos","events_url":"https://api.github.com/users/PacificCoaster/events{/privacy}","received_events_url":"https://api.github.com/users/PacificCoaster/received_events","type":"User","site_admin":false},"body":"This Pull Request contains four primary commits:\r\n\r\no    Changes in Tasks and Schedules JSON file for New Scheduler\r\n\r\no    Changes in Survey JSON file keywords\r\n\r\no    Changes to Parkinson to cater to new Pre-Survey capability, where the most recent 'Did you take your medications' result is stashed away so that the result can be uploaded even when the question is not asked.\r\n\r\no    Plus a Gallimaufry of minor typographic changes . . .","created_at":"2015-06-29T20:17:08Z","updated_at":"2015-06-30T18:40:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"077d1d85a6f56bc9871da701fb531760080cf933","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ResearchKit/mPower/pulls/6/commits","review_comments_url":"https://api.github.com/repos/ResearchKit/mPower/pulls/6/comments","review_comment_url":"https://api.github.com/repos/ResearchKit/mPower/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ResearchKit/mPower/issues/6/comments","statuses_url":"https://api.github.com/repos/ResearchKit/mPower/statuses/edb7b217b34a7ae7bea7783d4578101c2a372c71","head":{"label":"PacificCoaster:OpenSource/openSource_ready_Github","ref":"OpenSource/openSource_ready_Github","sha":"edb7b217b34a7ae7bea7783d4578101c2a372c71","user":{"login":"PacificCoaster","id":760935,"avatar_url":"https://avatars.githubusercontent.com/u/760935?v=3","gravatar_id":"","url":"https://api.github.com/users/PacificCoaster","html_url":"https://github.com/PacificCoaster","followers_url":"https://api.github.com/users/PacificCoaster/followers","following_url":"https://api.github.com/users/PacificCoaster/following{/other_user}","gists_url":"https://api.github.com/users/PacificCoaster/gists{/gist_id}","starred_url":"https://api.github.com/users/PacificCoaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PacificCoaster/subscriptions","organizations_url":"https://api.github.com/users/PacificCoaster/orgs","repos_url":"https://api.github.com/users/PacificCoaster/repos","events_url":"https://api.github.com/users/PacificCoaster/events{/privacy}","received_events_url":"https://api.github.com/users/PacificCoaster/received_events","type":"User","site_admin":false},"repo":{"id":38260832,"name":"mPower","full_name":"PacificCoaster/mPower","owner":{"login":"PacificCoaster","id":760935,"avatar_url":"https://avatars.githubusercontent.com/u/760935?v=3","gravatar_id":"","url":"https://api.github.com/users/PacificCoaster","html_url":"https://github.com/PacificCoaster","followers_url":"https://api.github.com/users/PacificCoaster/followers","following_url":"https://api.github.com/users/PacificCoaster/following{/other_user}","gists_url":"https://api.github.com/users/PacificCoaster/gists{/gist_id}","starred_url":"https://api.github.com/users/PacificCoaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PacificCoaster/subscriptions","organizations_url":"https://api.github.com/users/PacificCoaster/orgs","repos_url":"https://api.github.com/users/PacificCoaster/repos","events_url":"https://api.github.com/users/PacificCoaster/events{/privacy}","received_events_url":"https://api.github.com/users/PacificCoaster/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/PacificCoaster/mPower","description":"ResearchKit app studying Parkinson's disease, developed by Sage Bionetworks and University of Rochester.","fork":true,"url":"https://api.github.com/repos/PacificCoaster/mPower","forks_url":"https://api.github.com/repos/PacificCoaster/mPower/forks","keys_url":"https://api.github.com/repos/PacificCoaster/mPower/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PacificCoaster/mPower/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PacificCoaster/mPower/teams","hooks_url":"https://api.github.com/repos/PacificCoaster/mPower/hooks","issue_events_url":"https://api.github.com/repos/PacificCoaster/mPower/issues/events{/number}","events_url":"https://api.github.com/repos/PacificCoaster/mPower/events","assignees_url":"https://api.github.com/repos/PacificCoaster/mPower/assignees{/user}","branches_url":"https://api.github.com/repos/PacificCoaster/mPower/branches{/branch}","tags_url":"https://api.github.com/repos/PacificCoaster/mPower/tags","blobs_url":"https://api.github.com/repos/PacificCoaster/mPower/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PacificCoaster/mPower/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PacificCoaster/mPower/git/refs{/sha}","trees_url":"https://api.github.com/repos/PacificCoaster/mPower/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PacificCoaster/mPower/statuses/{sha}","languages_url":"https://api.github.com/repos/PacificCoaster/mPower/languages","stargazers_url":"https://api.github.com/repos/PacificCoaster/mPower/stargazers","contributors_url":"https://api.github.com/repos/PacificCoaster/mPower/contributors","subscribers_url":"https://api.github.com/repos/PacificCoaster/mPower/subscribers","subscription_url":"https://api.github.com/repos/PacificCoaster/mPower/subscription","commits_url":"https://api.github.com/repos/PacificCoaster/mPower/commits{/sha}","git_commits_url":"https://api.github.com/repos/PacificCoaster/mPower/git/commits{/sha}","comments_url":"https://api.github.com/repos/PacificCoaster/mPower/comments{/number}","issue_comment_url":"https://api.github.com/repos/PacificCoaster/mPower/issues/comments{/number}","contents_url":"https://api.github.com/repos/PacificCoaster/mPower/contents/{+path}","compare_url":"https://api.github.com/repos/PacificCoaster/mPower/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PacificCoaster/mPower/merges","archive_url":"https://api.github.com/repos/PacificCoaster/mPower/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PacificCoaster/mPower/downloads","issues_url":"https://api.github.com/repos/PacificCoaster/mPower/issues{/number}","pulls_url":"https://api.github.com/repos/PacificCoaster/mPower/pulls{/number}","milestones_url":"https://api.github.com/repos/PacificCoaster/mPower/milestones{/number}","notifications_url":"https://api.github.com/repos/PacificCoaster/mPower/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PacificCoaster/mPower/labels{/name}","releases_url":"https://api.github.com/repos/PacificCoaster/mPower/releases{/id}","created_at":"2015-06-29T17:27:19Z","updated_at":"2015-06-29T17:27:21Z","pushed_at":"2015-06-29T20:03:01Z","git_url":"git://github.com/PacificCoaster/mPower.git","ssh_url":"git@github.com:PacificCoaster/mPower.git","clone_url":"https://github.com/PacificCoaster/mPower.git","svn_url":"https://github.com/PacificCoaster/mPower","homepage":"","size":153670,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ResearchKit:master","ref":"master","sha":"bfcd494d8d03261a5e2b7480c25ed8b1d6f0757e","user":{"login":"ResearchKit","id":11183179,"avatar_url":"https://avatars.githubusercontent.com/u/11183179?v=3","gravatar_id":"","url":"https://api.github.com/users/ResearchKit","html_url":"https://github.com/ResearchKit","followers_url":"https://api.github.com/users/ResearchKit/followers","following_url":"https://api.github.com/users/ResearchKit/following{/other_user}","gists_url":"https://api.github.com/users/ResearchKit/gists{/gist_id}","starred_url":"https://api.github.com/users/ResearchKit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ResearchKit/subscriptions","organizations_url":"https://api.github.com/users/ResearchKit/orgs","repos_url":"https://api.github.com/users/ResearchKit/repos","events_url":"https://api.github.com/users/ResearchKit/events{/privacy}","received_events_url":"https://api.github.com/users/ResearchKit/received_events","type":"Organization","site_admin":false},"repo":{"id":32883184,"name":"mPower","full_name":"ResearchKit/mPower","owner":{"login":"ResearchKit","id":11183179,"avatar_url":"https://avatars.githubusercontent.com/u/11183179?v=3","gravatar_id":"","url":"https://api.github.com/users/ResearchKit","html_url":"https://github.com/ResearchKit","followers_url":"https://api.github.com/users/ResearchKit/followers","following_url":"https://api.github.com/users/ResearchKit/following{/other_user}","gists_url":"https://api.github.com/users/ResearchKit/gists{/gist_id}","starred_url":"https://api.github.com/users/ResearchKit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ResearchKit/subscriptions","organizations_url":"https://api.github.com/users/ResearchKit/orgs","repos_url":"https://api.github.com/users/ResearchKit/repos","events_url":"https://api.github.com/users/ResearchKit/events{/privacy}","received_events_url":"https://api.github.com/users/ResearchKit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ResearchKit/mPower","description":"ResearchKit app studying Parkinson's disease, developed by Sage Bionetworks and University of Rochester.","fork":false,"url":"https://api.github.com/repos/ResearchKit/mPower","forks_url":"https://api.github.com/repos/ResearchKit/mPower/forks","keys_url":"https://api.github.com/repos/ResearchKit/mPower/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ResearchKit/mPower/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ResearchKit/mPower/teams","hooks_url":"https://api.github.com/repos/ResearchKit/mPower/hooks","issue_events_url":"https://api.github.com/repos/ResearchKit/mPower/issues/events{/number}","events_url":"https://api.github.com/repos/ResearchKit/mPower/events","assignees_url":"https://api.github.com/repos/ResearchKit/mPower/assignees{/user}","branches_url":"https://api.github.com/repos/ResearchKit/mPower/branches{/branch}","tags_url":"https://api.github.com/repos/ResearchKit/mPower/tags","blobs_url":"https://api.github.com/repos/ResearchKit/mPower/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ResearchKit/mPower/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ResearchKit/mPower/git/refs{/sha}","trees_url":"https://api.github.com/repos/ResearchKit/mPower/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ResearchKit/mPower/statuses/{sha}","languages_url":"https://api.github.com/repos/ResearchKit/mPower/languages","stargazers_url":"https://api.github.com/repos/ResearchKit/mPower/stargazers","contributors_url":"https://api.github.com/repos/ResearchKit/mPower/contributors","subscribers_url":"https://api.github.com/repos/ResearchKit/mPower/subscribers","subscription_url":"https://api.github.com/repos/ResearchKit/mPower/subscription","commits_url":"https://api.github.com/repos/ResearchKit/mPower/commits{/sha}","git_commits_url":"https://api.github.com/repos/ResearchKit/mPower/git/commits{/sha}","comments_url":"https://api.github.com/repos/ResearchKit/mPower/comments{/number}","issue_comment_url":"https://api.github.com/repos/ResearchKit/mPower/issues/comments{/number}","contents_url":"https://api.github.com/repos/ResearchKit/mPower/contents/{+path}","compare_url":"https://api.github.com/repos/ResearchKit/mPower/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ResearchKit/mPower/merges","archive_url":"https://api.github.com/repos/ResearchKit/mPower/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ResearchKit/mPower/downloads","issues_url":"https://api.github.com/repos/ResearchKit/mPower/issues{/number}","pulls_url":"https://api.github.com/repos/ResearchKit/mPower/pulls{/number}","milestones_url":"https://api.github.com/repos/ResearchKit/mPower/milestones{/number}","notifications_url":"https://api.github.com/repos/ResearchKit/mPower/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ResearchKit/mPower/labels{/name}","releases_url":"https://api.github.com/repos/ResearchKit/mPower/releases{/id}","created_at":"2015-03-25T18:29:21Z","updated_at":"2015-06-28T22:04:37Z","pushed_at":"2015-06-29T20:17:08Z","git_url":"git://github.com/ResearchKit/mPower.git","ssh_url":"git@github.com:ResearchKit/mPower.git","clone_url":"https://github.com/ResearchKit/mPower.git","svn_url":"https://github.com/ResearchKit/mPower","homepage":"","size":66805,"stargazers_count":54,"watchers_count":54,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":29,"mirror_url":null,"open_issues_count":1,"forks":29,"open_issues":1,"watchers":54,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ResearchKit/mPower/pulls/6"},"html":{"href":"https://github.com/ResearchKit/mPower/pull/6"},"issue":{"href":"https://api.github.com/repos/ResearchKit/mPower/issues/6"},"comments":{"href":"https://api.github.com/repos/ResearchKit/mPower/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/ResearchKit/mPower/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/ResearchKit/mPower/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ResearchKit/mPower/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/ResearchKit/mPower/statuses/edb7b217b34a7ae7bea7783d4578101c2a372c71"}}}}