{"action":"opened","number":305,"pull_request":{"url":"https://api.github.com/repos/dchbx/enroll/pulls/305","id":83124402,"html_url":"https://github.com/dchbx/enroll/pull/305","diff_url":"https://github.com/dchbx/enroll/pull/305.diff","patch_url":"https://github.com/dchbx/enroll/pull/305.patch","issue_url":"https://api.github.com/repos/dchbx/enroll/issues/305","number":305,"state":"open","locked":false,"title":"Mobile apis beta fix","user":{"login":"benjaminrosenbaum","id":6727295,"avatar_url":"https://avatars.githubusercontent.com/u/6727295?v=3","gravatar_id":"","url":"https://api.github.com/users/benjaminrosenbaum","html_url":"https://github.com/benjaminrosenbaum","followers_url":"https://api.github.com/users/benjaminrosenbaum/followers","following_url":"https://api.github.com/users/benjaminrosenbaum/following{/other_user}","gists_url":"https://api.github.com/users/benjaminrosenbaum/gists{/gist_id}","starred_url":"https://api.github.com/users/benjaminrosenbaum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjaminrosenbaum/subscriptions","organizations_url":"https://api.github.com/users/benjaminrosenbaum/orgs","repos_url":"https://api.github.com/users/benjaminrosenbaum/repos","events_url":"https://api.github.com/users/benjaminrosenbaum/events{/privacy}","received_events_url":"https://api.github.com/users/benjaminrosenbaum/received_events","type":"User","site_admin":false},"body":"Changes to the Mobile API for performance optimizations and general architectural improvement; see https://github.com/dchealthlink/HBX-mobile-app-APIs for context. \r\n\r\nThis PR is a minimal fix of glaring performance problems intended to allow us to go to private beta (with live broker data, read-only). A followup (pre-launch) PR will address more fundamental architectural concerns. \r\n\r\nAmong the performance fixes:\r\n* break enrollment financial data (premiums, etc) out of the master API call (all employer clients of a broker) into a details API call (just one employer)\r\n* batch staff query across multiple employers\r\n* only fetch enrolled data in the master API for those clients currently in Open Enrollment (usually a small minority)\r\n* use a faster, enrollments-based method of counting # enrolled in the master API (while using the  slower plan_year.total_enrolled_count in the details API since it is guaranteed to match the web)\r\n\r\n### Redmine ticket(s)\r\n* https://devops.dchbx.org/redmine/issues/8029\r\n\r\n### Local build result\r\n\r\n```\r\nbundle exec rake parallel:spec[4]\r\nbundle exec cucumber\r\n```\r\n\r\n### Latest rebase/merge tag\r\n*\r\n\r\n---\r\n\r\n### Data ticket(s) Followup\r\n* (redmine links here - optional)\r\n\r\n### Related Pull Requests\r\n* https://github.com/dchbx/enroll/pull/229 - previous PR for this enhancement\r\n\r\n---\r\n\r\n### TODOs / Notes\r\n#### Peer Review\r\n* (For code review)\r\n\r\n#### Functional Testing\r\n* Functional testing can be done similarly to the example given in https://github.com/dchbx/enroll/pull/229, however, rather than getting everything in the first query, each summary RESTfully includes an \"employer_details_url\" link which should be queried (with the same logged in user) to get details on that employer.\r\n\r\n#### Deployment\r\n* (for release manager and/or build manager)\r\n","created_at":"2016-08-29T16:09:08Z","updated_at":"2016-08-29T16:09:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dchbx/enroll/pulls/305/commits","review_comments_url":"https://api.github.com/repos/dchbx/enroll/pulls/305/comments","review_comment_url":"https://api.github.com/repos/dchbx/enroll/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dchbx/enroll/issues/305/comments","statuses_url":"https://api.github.com/repos/dchbx/enroll/statuses/314aa1a63090631f56f7e9349dad3bf395dfd7b6","head":{"label":"benjaminrosenbaum:mobile-apis-beta-fix","ref":"mobile-apis-beta-fix","sha":"314aa1a63090631f56f7e9349dad3bf395dfd7b6","user":{"login":"benjaminrosenbaum","id":6727295,"avatar_url":"https://avatars.githubusercontent.com/u/6727295?v=3","gravatar_id":"","url":"https://api.github.com/users/benjaminrosenbaum","html_url":"https://github.com/benjaminrosenbaum","followers_url":"https://api.github.com/users/benjaminrosenbaum/followers","following_url":"https://api.github.com/users/benjaminrosenbaum/following{/other_user}","gists_url":"https://api.github.com/users/benjaminrosenbaum/gists{/gist_id}","starred_url":"https://api.github.com/users/benjaminrosenbaum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjaminrosenbaum/subscriptions","organizations_url":"https://api.github.com/users/benjaminrosenbaum/orgs","repos_url":"https://api.github.com/users/benjaminrosenbaum/repos","events_url":"https://api.github.com/users/benjaminrosenbaum/events{/privacy}","received_events_url":"https://api.github.com/users/benjaminrosenbaum/received_events","type":"User","site_admin":false},"repo":{"id":56689117,"name":"enroll","full_name":"benjaminrosenbaum/enroll","owner":{"login":"benjaminrosenbaum","id":6727295,"avatar_url":"https://avatars.githubusercontent.com/u/6727295?v=3","gravatar_id":"","url":"https://api.github.com/users/benjaminrosenbaum","html_url":"https://github.com/benjaminrosenbaum","followers_url":"https://api.github.com/users/benjaminrosenbaum/followers","following_url":"https://api.github.com/users/benjaminrosenbaum/following{/other_user}","gists_url":"https://api.github.com/users/benjaminrosenbaum/gists{/gist_id}","starred_url":"https://api.github.com/users/benjaminrosenbaum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjaminrosenbaum/subscriptions","organizations_url":"https://api.github.com/users/benjaminrosenbaum/orgs","repos_url":"https://api.github.com/users/benjaminrosenbaum/repos","events_url":"https://api.github.com/users/benjaminrosenbaum/events{/privacy}","received_events_url":"https://api.github.com/users/benjaminrosenbaum/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/benjaminrosenbaum/enroll","description":"An ACA-compliant enrollment system for individual and SHOP markets","fork":true,"url":"https://api.github.com/repos/benjaminrosenbaum/enroll","forks_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/forks","keys_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/keys{/key_id}","collaborators_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/teams","hooks_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/hooks","issue_events_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/issues/events{/number}","events_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/events","assignees_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/assignees{/user}","branches_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/branches{/branch}","tags_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/tags","blobs_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/git/refs{/sha}","trees_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/git/trees{/sha}","statuses_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/statuses/{sha}","languages_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/languages","stargazers_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/stargazers","contributors_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/contributors","subscribers_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/subscribers","subscription_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/subscription","commits_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/commits{/sha}","git_commits_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/git/commits{/sha}","comments_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/comments{/number}","issue_comment_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/issues/comments{/number}","contents_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/contents/{+path}","compare_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/compare/{base}...{head}","merges_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/merges","archive_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/downloads","issues_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/issues{/number}","pulls_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/pulls{/number}","milestones_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/milestones{/number}","notifications_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/labels{/name}","releases_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/releases{/id}","deployments_url":"https://api.github.com/repos/benjaminrosenbaum/enroll/deployments","created_at":"2016-04-20T13:27:41Z","updated_at":"2016-04-20T13:27:45Z","pushed_at":"2016-08-29T15:53:12Z","git_url":"git://github.com/benjaminrosenbaum/enroll.git","ssh_url":"git@github.com:benjaminrosenbaum/enroll.git","clone_url":"https://github.com/benjaminrosenbaum/enroll.git","svn_url":"https://github.com/benjaminrosenbaum/enroll","homepage":"","size":36674,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"dchbx:enhancement-8029","ref":"enhancement-8029","sha":"f50e483dca953827a347e8ce840c852a36c1f44b","user":{"login":"dchbx","id":4580217,"avatar_url":"https://avatars.githubusercontent.com/u/4580217?v=3","gravatar_id":"","url":"https://api.github.com/users/dchbx","html_url":"https://github.com/dchbx","followers_url":"https://api.github.com/users/dchbx/followers","following_url":"https://api.github.com/users/dchbx/following{/other_user}","gists_url":"https://api.github.com/users/dchbx/gists{/gist_id}","starred_url":"https://api.github.com/users/dchbx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchbx/subscriptions","organizations_url":"https://api.github.com/users/dchbx/orgs","repos_url":"https://api.github.com/users/dchbx/repos","events_url":"https://api.github.com/users/dchbx/events{/privacy}","received_events_url":"https://api.github.com/users/dchbx/received_events","type":"Organization","site_admin":false},"repo":{"id":28518679,"name":"enroll","full_name":"dchbx/enroll","owner":{"login":"dchbx","id":4580217,"avatar_url":"https://avatars.githubusercontent.com/u/4580217?v=3","gravatar_id":"","url":"https://api.github.com/users/dchbx","html_url":"https://github.com/dchbx","followers_url":"https://api.github.com/users/dchbx/followers","following_url":"https://api.github.com/users/dchbx/following{/other_user}","gists_url":"https://api.github.com/users/dchbx/gists{/gist_id}","starred_url":"https://api.github.com/users/dchbx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchbx/subscriptions","organizations_url":"https://api.github.com/users/dchbx/orgs","repos_url":"https://api.github.com/users/dchbx/repos","events_url":"https://api.github.com/users/dchbx/events{/privacy}","received_events_url":"https://api.github.com/users/dchbx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dchbx/enroll","description":"An ACA-compliant enrollment system for individual and SHOP markets, built on Ruby on Rails with a Mongo database managed by IdeaCrew, Inc for the DC Health Benefit Exchange.","fork":false,"url":"https://api.github.com/repos/dchbx/enroll","forks_url":"https://api.github.com/repos/dchbx/enroll/forks","keys_url":"https://api.github.com/repos/dchbx/enroll/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dchbx/enroll/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dchbx/enroll/teams","hooks_url":"https://api.github.com/repos/dchbx/enroll/hooks","issue_events_url":"https://api.github.com/repos/dchbx/enroll/issues/events{/number}","events_url":"https://api.github.com/repos/dchbx/enroll/events","assignees_url":"https://api.github.com/repos/dchbx/enroll/assignees{/user}","branches_url":"https://api.github.com/repos/dchbx/enroll/branches{/branch}","tags_url":"https://api.github.com/repos/dchbx/enroll/tags","blobs_url":"https://api.github.com/repos/dchbx/enroll/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dchbx/enroll/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dchbx/enroll/git/refs{/sha}","trees_url":"https://api.github.com/repos/dchbx/enroll/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dchbx/enroll/statuses/{sha}","languages_url":"https://api.github.com/repos/dchbx/enroll/languages","stargazers_url":"https://api.github.com/repos/dchbx/enroll/stargazers","contributors_url":"https://api.github.com/repos/dchbx/enroll/contributors","subscribers_url":"https://api.github.com/repos/dchbx/enroll/subscribers","subscription_url":"https://api.github.com/repos/dchbx/enroll/subscription","commits_url":"https://api.github.com/repos/dchbx/enroll/commits{/sha}","git_commits_url":"https://api.github.com/repos/dchbx/enroll/git/commits{/sha}","comments_url":"https://api.github.com/repos/dchbx/enroll/comments{/number}","issue_comment_url":"https://api.github.com/repos/dchbx/enroll/issues/comments{/number}","contents_url":"https://api.github.com/repos/dchbx/enroll/contents/{+path}","compare_url":"https://api.github.com/repos/dchbx/enroll/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dchbx/enroll/merges","archive_url":"https://api.github.com/repos/dchbx/enroll/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dchbx/enroll/downloads","issues_url":"https://api.github.com/repos/dchbx/enroll/issues{/number}","pulls_url":"https://api.github.com/repos/dchbx/enroll/pulls{/number}","milestones_url":"https://api.github.com/repos/dchbx/enroll/milestones{/number}","notifications_url":"https://api.github.com/repos/dchbx/enroll/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dchbx/enroll/labels{/name}","releases_url":"https://api.github.com/repos/dchbx/enroll/releases{/id}","deployments_url":"https://api.github.com/repos/dchbx/enroll/deployments","created_at":"2014-12-26T18:59:14Z","updated_at":"2016-07-22T16:21:01Z","pushed_at":"2016-08-29T15:54:10Z","git_url":"git://github.com/dchbx/enroll.git","ssh_url":"git@github.com:dchbx/enroll.git","clone_url":"https://github.com/dchbx/enroll.git","svn_url":"https://github.com/dchbx/enroll","homepage":"https://enroll.dchealthlink.com","size":37383,"stargazers_count":4,"watchers_count":4,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":10,"mirror_url":null,"open_issues_count":70,"forks":10,"open_issues":70,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dchbx/enroll/pulls/305"},"html":{"href":"https://github.com/dchbx/enroll/pull/305"},"issue":{"href":"https://api.github.com/repos/dchbx/enroll/issues/305"},"comments":{"href":"https://api.github.com/repos/dchbx/enroll/issues/305/comments"},"review_comments":{"href":"https://api.github.com/repos/dchbx/enroll/pulls/305/comments"},"review_comment":{"href":"https://api.github.com/repos/dchbx/enroll/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dchbx/enroll/pulls/305/commits"},"statuses":{"href":"https://api.github.com/repos/dchbx/enroll/statuses/314aa1a63090631f56f7e9349dad3bf395dfd7b6"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":24,"additions":238,"deletions":72,"changed_files":8}}
{"actor":{"display_login":"benjaminrosenbaum"}}