{"action":"created","comment":{"url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/comments/53826710","id":53826710,"diff_hunk":"@@ -0,0 +1,315 @@\n+#!/usr/bin/env python\n+##\n+##  Copyright 2015 SRI International\n+##  License: https://ncanda.sri.com/software-license.txt\n+##\n+##  $Revision: 2110 $\n+##  $LastChangedBy: nicholsn $\n+##  $LastChangedDate: 2015-08-07 09:10:29 -0700 (Fri, 07 Aug 2015) $\n+##\n+\"\"\"\n+ncanda_quality_control_script\n+======================\n+This script checks the quality of the data for the NCANDA Project on REDCap.\n+\"\"\"\n+import os\n+import sys\n+import json\n+import datetime\n+\n+import redcap\n+import math\n+import pandas as pd\n+\n+fields = ['study_id', 'redcap_event_name','exclude', 'visit_ignore',\n+          'visit_date', 'dob', 'cnp_test_sessions_dob','saliva_missing',\n+          'saliva_1_collected','saliva_1_date','saliva_2_collected','saliva_2_date',\n+          'saliva_3_collected','saliva_3_date','saliva_4_collected',\n+          'saliva_4_date','youthreport1_missing','youthreport1_date',\n+          'youthreport1b_missing', 'youthreport1b_date','youthreport2_missing',\n+          'youthreport2_date','youthreport2_yid2', 'youthreport1_yid2',\n+          'parentreport_missing','parentreport_date','ssage_youth_missing',\n+          'ssage_youth_date', 'lssaga1_youth_missing','lssaga1_youth_date',\n+          'lssaga1_parent_missing','lssaga1_parent_date','bio_np_missing',\n+          'bio_np_date','dd1000_missing','dd1000_date','dd100_missing',\n+          'dd100_date','np_wrat4_missing','np_wrat4_wr_raw','np_gpeg_missing',\n+          'np_gpeg_exclusion','np_gpeg_dh_time','np_gpeg_ndh_time',\n+          'np_reyo_missing','np_reyo_copy_time','np_reyo_qc(completed)',\n+          'np_atax_missing','np_atax_sht_trial1','np_wais4_missing',\n+          'np_wais4_rawscore','np_wais4_rawscore_computed',\n+          'np_wais4_rawscore_diff(correct)','pasat_missing','pasat_date',\n+          'cnp_missing','cnp_test_sessions_dotest','stroop_missing',\n+          'stroop_date','mrireport_missing','mrireport_date',\n+          'mr_session_report_complete'];\n+\n+form_fields = [['youthreport1_missing','youthreport1_date'],\n+          ['youthreport1b_missing', 'youthreport1b_date'],['youthreport2_missing',\n+          'youthreport2_date'],['parentreport_missing','parentreport_date'],\n+          ['ssage_youth_missing','ssage_youth_date'],['lssaga1_youth_missing',\n+          'lssaga1_youth_date'],['lssaga1_parent_missing','lssaga1_parent_date'],\n+          ['bio_np_missing', 'bio_np_date'],['dd1000_missing','dd1000_date'],\n+          ['dd100_missing','dd100_date'],['np_wrat4_missing','np_wrat4_wr_raw'],\n+          ['np_reyo_missing','np_reyo_copy_time'], ['np_atax_missing',\n+          'np_atax_sht_trial1'],['np_wais4_missing', 'np_wais4_rawscore'],\n+          ['pasat_missing','pasat_date'],['cnp_missing',\n+          'cnp_test_sessions_dotest'],['stroop_missing','stroop_date']];\n+\n+np_gpeg_fields = [['np_gpeg_exclusion___dh','np_gpeg_dh_time'],\n+                  ['np_gpeg_exclusion___ndh','np_gpeg_ndh_time']]\n+\n+saliva_fields = [['saliva_1_collected','saliva_1_date'],\n+          ['saliva_2_collected','saliva_2_date'],['saliva_3_collected',\n+          'saliva_3_date'],['saliva_4_collected','saliva_4_date']];\n+\n+fields_sex = [['youthreport1_missing','youthreport1_yid2'],\n+\t\t\t['youthreport2_missing','youthreport2_yid2']]\n+\n+def get_project_entry(args=None):\n+    \"\"\"\n+    Pulls the data from REDCap\n+    \"\"\"\n+    # Get API key.\n+    summary_key_file = open(os.path.join(os.path.expanduser(\"~\"),\n+                                         '.server_config',\n+                                         'redcap-dataentry-token'), 'r')\n+    summary_api_key = summary_key_file.read().strip()\n+\n+    # Connect to API.\n+    project_entry = redcap.Project('https://ncanda.sri.com/redcap/api/',\n+                                   summary_api_key, verify_ssl=False)\n+    return project_entry\n+\n+def data_entry_fields(fields,project,arm):\n+    \"\"\"\n+    Gets the dataframe containing a specific arm from REDCap\n+    \"\"\"\n+    # Get a dataframe of fields\n+    data_entry_raw = project.export_records(fields=fields, format='df',\n+        events=[arm])\n+    return data_entry_raw\n+\n+def missing_form(idx,row,field_missing, field_value):\n+    \"\"\"\n+    Generates a report indicating which Forms have not been entered onto redcap\n+    \"\"\"\n+    error = dict()\n+    #exclude with a value of 1 is excluded\n+    if math.isnan(row.get('exclude')):\n+        # visit_ignore____yes with value 1 is ignored\n+        if row.get('visit_ignore___yes') != 1:\n+            # form is not missing if form_missing if value nan or zero\n+            if row.get(field_missing) != 1:\n+                # for form_date, date is stored as a string\n+                if type(row.get(field_value)) == float:\n+                    if math.isnan(row.get(field_value)):\n+                        error = dict(subject_site_id = idx[0],\n+                                visit_date = row.get('visit_date'),\n+                                form_missing = field_missing,\n+                                event_name = idx[1],\n+                                error = 'ERROR: Form is missing')\n+    return error\n+\n+def np_groove_check(idx,row,field_missing, field_excluded, field_value):\n+    \"\"\"\n+    Checks to see if the Grooveboard NP is missing\n+    \"\"\"\n+    # visit_ignore____yes with value 0 is not ignored\n+    error = dict()\n+    if math.isnan(row.get('exclude')):\n+        if row.get('visit_ignore___yes') == 0:\n+            # np is not missing if field_missing if value nan or zero\n+            if row.get(field_excluded) == 0:\n+                # np is not excluded if field_missing if value nan or zero\n+                if row.get(field_missing) == 0 or math.isnan(row.get(field_missing)):\n+                    # for np_date, date is stored as a string\n+                    if type(row.get(field_value)) == float:\n+                        # If field is left blank, a NaN is put in it's place\n+                        if math.isnan(row.get(field_value)):\n+                            error = dict(subject_site_id = idx[0],\n+                                visit_date = row.get('visit_date'),\n+                                np_missing = field_missing,\n+                                event_name = idx[1],\n+                                error = 'ERROR: NP is missing.'\n+                                )\n+    return error\n+\n+def fourteen_days_MRI_report(idx,row):\n+    \"\"\"\n+    Generates a report indicating which MRI reports have no data after 14 days.\n+    \"\"\"\n+    error = dict()\n+    #exclude with a value of 1 is excluded\n+    if math.isnan(row.get('exclude')):\n+        # visit_ignore____yes with value 1 is ignored\n+        if row.get('visit_ignore___yes') != 1:\n+                    if row.get('mrireport_missing') != 1:\n+                        if type(row.get('mrireport_missing')) == str:\n+                            if datetime.datetime.strptime(row.get('mrireport_date'),'%Y-%m-%d') == datetime.date.today()-datetime.timedelta(days = 14):\n+                                error = dict(subject_site_id = idx[0],\n+                                visit_date = row.get('visit_date'),\n+                                event_name = idx[1],\n+                                error = 'ERROR: No MRI data after 14 days')\n+    return error\n+\n+def cnp_dob(idx,row):\n+    \"\"\"\n+    Checks to see if dob and cnp_test_sessions_dob match\n+    \"\"\"\n+    # visit_ignore____yes with value 0 is not ignored\n+    error = dict()\n+    if math.isnan(row.get('exclude')):\n+        if row.get('visit_ignore___yes') == 0:\n+            if row.get('dob') == row.get('cnp_test_sessions_dob'):\n+                error = dict(subject_site_id = idx[0],\n+                            visit_date = row.get('visit_date'),\n+                            event_name = idx[1],\n+                            error = 'ERROR: DOB and CNP_TEST_SESSIONS_DOB do not match.'\n+                            )\n+    return error\n+\n+def missing_mri_stroop(idx,row):\n+    \"\"\"\n+    Generate a report indicating which MRI Stroop have not been entered.\n+    \"\"\"\n+    # visit_ignore____yes with value 0 is not ignored\n+    error = dict()\n+    if math.isnan(row.get('exclude')):\n+        if row.get('visit_ignore___yes') != 1:\n+            # MRI Report is not missing if form_missing if value nan or zero\n+            if row.get('mri_missing') != 1:\n+                if row.get('redcap_data_access_group') == 'SRI' or row.get('redcap_data_access_group') == 'UCSD':\n+                    if row.get('mri_stroop_missing') == 0:\n+                        # for mri_stroop_date, date is stored as a string, if blank, defaults to NaN\n+                        if type(row.get('mri_stroop_date')) == float:\n+                            error = dict(subject_site_id = idx[0],\n+                                    xnat_sid = row.get('mri_xnat_sid'),\n+                                    visit_date = row.get('visit_date'),\n+                                    event_name = idx[1],\n+                                    error = 'ERROR: MRI Stroop is missing'\n+                                    )\n+    return error\n+\n+def missing_saliva_sample(idx,row,saliva_collected, saliva_date):\n+    \"\"\"\n+    Generate a report indicating which Saliva Samples have not been entered.\n+    \"\"\"\n+    # visit_ignore____yes with value 0 is not ignored\n+    error = dict()\n+    if math.isnan(row.get('exclude')):\n+        if row.get('visit_ignore___yes') != 1:\n+            # saliva_sample is not missing if saliva_sample_missing if value zero\n+            if row.get('saliva_missing') != 1:\n+                if row.get(saliva_collected) == 1:\n+                # for form_date, date is stored as a string\n+                    if type(row.get(saliva_date)) == float:\n+                        error = dict(subject_site_id = idx[0],\n+                                visit_date = row.get('visit_date'),\n+                                event_name = idx[1],\n+                                sample_missing = saliva_collected,\n+                                visit_notes = row.get('visit_notes'),\n+                                error = 'ERROR: Saliva Sample is missing'\n+                                )\n+    return error\n+\n+def visit_data_missing(idx,row):\n+\t\"\"\"\n+\tGenerate a report indicating which Visit Dates are missing.\n+\t\"\"\"\n+\terror = dict()\n+\tif row.get('exclude') != 1:\n+\t\tif row.get('visit_ignore___yes') != 1:\n+\t\t\tif type(row.get('visit_date')) != str:\n+\t\t\t\terror = dict(subject_site_id = idx[0],\n+\t\t\t\t\tevent_name = idx[1],\n+\t\t\t\t\terror = 'ERROR: Visit date missing.'\n+\t\t\t\t\t)\n+\treturn error\n+\n+def WAIS_score_verification(idx,row):\n+\t\"\"\"\n+\tVerifies whether the wais_rawscore was computed correctly.\n+\t\"\"\"\n+\t# visit_ignore____yes with value 0 is not ignored\n+\terror = dict()\n+\tif math.isnan(row.get('exclude')):\n+\t\tif row.get('visit_ignore___yes') != 1:\n+\t\t\t# form is not missing if form_missing if value nan or zero\n+\t\t\tif row.get('np_wais4_missing') != 1:\n+\t\t\t\tif row.get('np_wais4_rawscore_computed') == row.get('np_wais4_rawscore_diff(correct)'):\n+\t\t\t\t\tif row.get('np_wais4_rawscore_diff(correct)') != 0:\n+\t\t\t\t\t\terror = dict(subject_site_id = idx[0],\n+\t\t\t\t\t\t\tvisit_date = row.get('visit_date'),\n+\t\t\t\t\t\t\tevent_name = idx[1],\n+\t\t\t\t\t\t\terror = 'ERROR: WAIS score is not verified'\n+\t\t\t\t\t\t\t)\n+\treturn error\n+\n+def youth_report_sex(idx,row, field_missing, field_sex):\n+\t\"\"\"\n+\tChecks whether or not sex was entered correctly in the Youth Report\n+\t\"\"\"\n+\t# visit_ignore____yes with value 0 is not ignored\n+\terror = dict()\n+\tif math.isnan(row.get('exclude')):\n+\t\tif row.get('visit_ignore___yes') != 1:\n+\t\t\t# np is not missing if field_missing if value nan or zero\n+\t\t\tif row.get(field_missing) != 1:\n+\t\t\t\tif row.get('sex') != row.get(field_sex):\n+\t\t\t\t\terror = dict(subject_site_id = idx[0],\n+\t\t\t\t\t\t\t\tvisit_date = row.get('visit_date'),\n+\t\t\t\t\t\t\t\tevent_name = idx[1],\n+\t\t\t\t\t\t\t\tfield = field_sex,\n+\t\t\t\t\t\t\t\terror = 'ERROR: SEX and SEX in YOUTHREPORT do not match.'\n+\t\t\t\t\t\t\t\t)\n+\treturn error\n+\n+\n+def main(args=None):\n+    project_entry = get_project_entry()\n+    project_df = data_entry_fields(fields,project_entry,'1y_visit_arm_1')\n+    error = []\n+\n+    for idx, row in project_df.iterrows():","path":"scripts/reporting/ncanda_quality_control_script.py","position":272,"original_position":272,"commit_id":"9ffdc63ab0c8b19ffe7cb7e5678281e3643fff27","original_commit_id":"91a1f1f6730ef2d7e0cec184ec8cfce3b3c19f32","user":{"login":"nicholsn","id":463344,"avatar_url":"https://avatars.githubusercontent.com/u/463344?v=3","gravatar_id":"","url":"https://api.github.com/users/nicholsn","html_url":"https://github.com/nicholsn","followers_url":"https://api.github.com/users/nicholsn/followers","following_url":"https://api.github.com/users/nicholsn/following{/other_user}","gists_url":"https://api.github.com/users/nicholsn/gists{/gist_id}","starred_url":"https://api.github.com/users/nicholsn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicholsn/subscriptions","organizations_url":"https://api.github.com/users/nicholsn/orgs","repos_url":"https://api.github.com/users/nicholsn/repos","events_url":"https://api.github.com/users/nicholsn/events{/privacy}","received_events_url":"https://api.github.com/users/nicholsn/received_events","type":"User","site_admin":false},"body":"@abonil91 since you pass the same parameters to almost all of these you could write a function to run these rather than using `if check` ... `if check:` ...","created_at":"2016-02-23T18:39:56Z","updated_at":"2016-02-23T18:39:56Z","html_url":"https://github.com/sibis-platform/ncanda-data-integration/pull/4#discussion_r53826710","pull_request_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4","_links":{"self":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/comments/53826710"},"html":{"href":"https://github.com/sibis-platform/ncanda-data-integration/pull/4#discussion_r53826710"},"pull_request":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4"}}},"pull_request":{"url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4","id":59724262,"html_url":"https://github.com/sibis-platform/ncanda-data-integration/pull/4","diff_url":"https://github.com/sibis-platform/ncanda-data-integration/pull/4.diff","patch_url":"https://github.com/sibis-platform/ncanda-data-integration/pull/4.patch","issue_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/issues/4","number":4,"state":"open","locked":false,"title":"ADD: Master QC Script","user":{"login":"abonil91","id":6495937,"avatar_url":"https://avatars.githubusercontent.com/u/6495937?v=3","gravatar_id":"","url":"https://api.github.com/users/abonil91","html_url":"https://github.com/abonil91","followers_url":"https://api.github.com/users/abonil91/followers","following_url":"https://api.github.com/users/abonil91/following{/other_user}","gists_url":"https://api.github.com/users/abonil91/gists{/gist_id}","starred_url":"https://api.github.com/users/abonil91/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abonil91/subscriptions","organizations_url":"https://api.github.com/users/abonil91/orgs","repos_url":"https://api.github.com/users/abonil91/repos","events_url":"https://api.github.com/users/abonil91/events{/privacy}","received_events_url":"https://api.github.com/users/abonil91/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-02-17T23:04:41Z","updated_at":"2016-02-23T18:39:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e6ddc8e1cc2a1e054884934a8a799608f81323ff","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4/commits","review_comments_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4/comments","review_comment_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/issues/4/comments","statuses_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/statuses/9ffdc63ab0c8b19ffe7cb7e5678281e3643fff27","head":{"label":"abonil91:master","ref":"master","sha":"9ffdc63ab0c8b19ffe7cb7e5678281e3643fff27","user":{"login":"abonil91","id":6495937,"avatar_url":"https://avatars.githubusercontent.com/u/6495937?v=3","gravatar_id":"","url":"https://api.github.com/users/abonil91","html_url":"https://github.com/abonil91","followers_url":"https://api.github.com/users/abonil91/followers","following_url":"https://api.github.com/users/abonil91/following{/other_user}","gists_url":"https://api.github.com/users/abonil91/gists{/gist_id}","starred_url":"https://api.github.com/users/abonil91/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abonil91/subscriptions","organizations_url":"https://api.github.com/users/abonil91/orgs","repos_url":"https://api.github.com/users/abonil91/repos","events_url":"https://api.github.com/users/abonil91/events{/privacy}","received_events_url":"https://api.github.com/users/abonil91/received_events","type":"User","site_admin":false},"repo":{"id":50870721,"name":"ncanda-data-integration","full_name":"abonil91/ncanda-data-integration","owner":{"login":"abonil91","id":6495937,"avatar_url":"https://avatars.githubusercontent.com/u/6495937?v=3","gravatar_id":"","url":"https://api.github.com/users/abonil91","html_url":"https://github.com/abonil91","followers_url":"https://api.github.com/users/abonil91/followers","following_url":"https://api.github.com/users/abonil91/following{/other_user}","gists_url":"https://api.github.com/users/abonil91/gists{/gist_id}","starred_url":"https://api.github.com/users/abonil91/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abonil91/subscriptions","organizations_url":"https://api.github.com/users/abonil91/orgs","repos_url":"https://api.github.com/users/abonil91/repos","events_url":"https://api.github.com/users/abonil91/events{/privacy}","received_events_url":"https://api.github.com/users/abonil91/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/abonil91/ncanda-data-integration","description":"This is the Data Integration, MRI, and Bioinformatics Component of the National Consortium on Alcohol and NeuroDevelopment in Adolescence (NCANDA), funded by the NIAAA.","fork":true,"url":"https://api.github.com/repos/abonil91/ncanda-data-integration","forks_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/forks","keys_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/keys{/key_id}","collaborators_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/teams","hooks_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/hooks","issue_events_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/issues/events{/number}","events_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/events","assignees_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/assignees{/user}","branches_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/branches{/branch}","tags_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/tags","blobs_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/git/refs{/sha}","trees_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/git/trees{/sha}","statuses_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/statuses/{sha}","languages_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/languages","stargazers_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/stargazers","contributors_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/contributors","subscribers_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/subscribers","subscription_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/subscription","commits_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/commits{/sha}","git_commits_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/git/commits{/sha}","comments_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/comments{/number}","issue_comment_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/issues/comments{/number}","contents_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/contents/{+path}","compare_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/compare/{base}...{head}","merges_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/merges","archive_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/downloads","issues_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/issues{/number}","pulls_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/pulls{/number}","milestones_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/milestones{/number}","notifications_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/labels{/name}","releases_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/releases{/id}","deployments_url":"https://api.github.com/repos/abonil91/ncanda-data-integration/deployments","created_at":"2016-02-01T21:00:58Z","updated_at":"2016-02-01T21:01:00Z","pushed_at":"2016-02-23T18:34:01Z","git_url":"git://github.com/abonil91/ncanda-data-integration.git","ssh_url":"git@github.com:abonil91/ncanda-data-integration.git","clone_url":"https://github.com/abonil91/ncanda-data-integration.git","svn_url":"https://github.com/abonil91/ncanda-data-integration","homepage":"https://www.nitrc.org/projects/ncanda-datacore","size":2051,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"sibis-platform:master","ref":"master","sha":"a5361449ff83d1e407bc28374dff8004701bcb99","user":{"login":"sibis-platform","id":8131128,"avatar_url":"https://avatars.githubusercontent.com/u/8131128?v=3","gravatar_id":"","url":"https://api.github.com/users/sibis-platform","html_url":"https://github.com/sibis-platform","followers_url":"https://api.github.com/users/sibis-platform/followers","following_url":"https://api.github.com/users/sibis-platform/following{/other_user}","gists_url":"https://api.github.com/users/sibis-platform/gists{/gist_id}","starred_url":"https://api.github.com/users/sibis-platform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sibis-platform/subscriptions","organizations_url":"https://api.github.com/users/sibis-platform/orgs","repos_url":"https://api.github.com/users/sibis-platform/repos","events_url":"https://api.github.com/users/sibis-platform/events{/privacy}","received_events_url":"https://api.github.com/users/sibis-platform/received_events","type":"Organization","site_admin":false},"repo":{"id":41770281,"name":"ncanda-data-integration","full_name":"sibis-platform/ncanda-data-integration","owner":{"login":"sibis-platform","id":8131128,"avatar_url":"https://avatars.githubusercontent.com/u/8131128?v=3","gravatar_id":"","url":"https://api.github.com/users/sibis-platform","html_url":"https://github.com/sibis-platform","followers_url":"https://api.github.com/users/sibis-platform/followers","following_url":"https://api.github.com/users/sibis-platform/following{/other_user}","gists_url":"https://api.github.com/users/sibis-platform/gists{/gist_id}","starred_url":"https://api.github.com/users/sibis-platform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sibis-platform/subscriptions","organizations_url":"https://api.github.com/users/sibis-platform/orgs","repos_url":"https://api.github.com/users/sibis-platform/repos","events_url":"https://api.github.com/users/sibis-platform/events{/privacy}","received_events_url":"https://api.github.com/users/sibis-platform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sibis-platform/ncanda-data-integration","description":"This is the Data Integration, MRI, and Bioinformatics Component of the National Consortium on Alcohol and NeuroDevelopment in Adolescence (NCANDA), funded by the NIAAA.","fork":false,"url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration","forks_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/forks","keys_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/teams","hooks_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/hooks","issue_events_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/issues/events{/number}","events_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/events","assignees_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/assignees{/user}","branches_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/branches{/branch}","tags_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/tags","blobs_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/git/refs{/sha}","trees_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/statuses/{sha}","languages_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/languages","stargazers_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/stargazers","contributors_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/contributors","subscribers_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/subscribers","subscription_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/subscription","commits_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/commits{/sha}","git_commits_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/git/commits{/sha}","comments_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/comments{/number}","issue_comment_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/issues/comments{/number}","contents_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/contents/{+path}","compare_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/merges","archive_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/downloads","issues_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/issues{/number}","pulls_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls{/number}","milestones_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/milestones{/number}","notifications_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/labels{/name}","releases_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/releases{/id}","deployments_url":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/deployments","created_at":"2015-09-02T00:23:18Z","updated_at":"2016-01-29T21:48:28Z","pushed_at":"2016-02-23T18:34:01Z","git_url":"git://github.com/sibis-platform/ncanda-data-integration.git","ssh_url":"git@github.com:sibis-platform/ncanda-data-integration.git","clone_url":"https://github.com/sibis-platform/ncanda-data-integration.git","svn_url":"https://github.com/sibis-platform/ncanda-data-integration","homepage":"https://www.nitrc.org/projects/ncanda-datacore","size":2068,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4"},"html":{"href":"https://github.com/sibis-platform/ncanda-data-integration/pull/4"},"issue":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/issues/4"},"comments":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/issues/4/comments"},"review_comments":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4/comments"},"review_comment":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/pulls/4/commits"},"statuses":{"href":"https://api.github.com/repos/sibis-platform/ncanda-data-integration/statuses/9ffdc63ab0c8b19ffe7cb7e5678281e3643fff27"}}}}