{"action":"created","comment":{"url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/comments/33606359","id":33606359,"diff_hunk":"@@ -0,0 +1,136 @@\n+package gov.va.med.srcalc.web.controller.admin;\n+\n+import java.util.HashMap;\n+import java.util.Map;\n+import java.util.Objects;\n+\n+import javax.inject.Inject;\n+\n+import gov.va.med.srcalc.domain.model.Variable;\n+import gov.va.med.srcalc.service.AdminService;\n+import gov.va.med.srcalc.service.DuplicateRuleNameException;\n+import gov.va.med.srcalc.service.InvalidIdentifierException;\n+import gov.va.med.srcalc.util.ValidationCodes;\n+import gov.va.med.srcalc.web.view.VariableSummary;\n+import gov.va.med.srcalc.web.view.Views;\n+import gov.va.med.srcalc.web.view.admin.EditRule;\n+import gov.va.med.srcalc.web.view.admin.ValueMatcherBuilder;\n+\n+import org.slf4j.Logger;\n+import org.slf4j.LoggerFactory;\n+import org.springframework.stereotype.Controller;\n+import org.springframework.validation.BindingResult;\n+import org.springframework.web.bind.annotation.ModelAttribute;\n+import org.springframework.web.bind.annotation.RequestMapping;\n+import org.springframework.web.bind.annotation.RequestMethod;\n+import org.springframework.web.bind.annotation.RequestParam;\n+import org.springframework.web.servlet.ModelAndView;\n+\n+import com.google.common.primitives.Ints;\n+\n+/**\n+ * <p>Web MVC controller for creating a new rule.</p>\n+ */\n+@Controller\n+public class NewRuleController\n+{\n+    public static final String NEW_RULE_URL = \"/admin/newRule\";\n+    \n+    private static final Logger fLogger = LoggerFactory.getLogger(NewDiscreteNumericalVarController.class);\n+    /**\n+     * The model attribute key of the {@link Rule} object.\n+     */\n+    protected static final String ATTRIBUTE_RULE = \"rule\";\n+    \n+    private final AdminService fAdminService;\n+    \n+    /**\n+     * Constructs an instance.\n+     * @param adminService the AdminService to use for operations\n+     * @throws NullPointerException if adminService is null\n+     */\n+    @Inject\n+    public NewRuleController(final AdminService adminService)\n+    {\n+        fAdminService = Objects.requireNonNull(adminService);\n+    }\n+    \n+    @ModelAttribute(ATTRIBUTE_RULE)\n+    private EditRule createEditRule()\n+    {\n+        fLogger.trace(\"Creating EditDiscreteNumericalVar.\");\n+        return new EditRule(fAdminService);\n+    }\n+    \n+    @RequestMapping(value = NEW_RULE_URL, method = RequestMethod.GET)\n+    public ModelAndView displayForm(\n+            @ModelAttribute(ATTRIBUTE_RULE) final EditRule editRule) throws InvalidIdentifierException\n+    {\n+        final ModelAndView mav = new ModelAndView(Views.EDIT_RULE);\n+        // Provide the URL to save the rule to the view.\n+        mav.addObject(\"SAVE_URL\", NEW_RULE_URL);\n+        // Note: \"rule\" is already in the model via createEditRule().\n+        mav.addObject(\"isNewRule\", true);\n+        // A map of the variable's key to its respective summary\n+        final Map<String, VariableSummary> variableSummaries = new HashMap<String, VariableSummary>();\n+        for(final ValueMatcherBuilder matcher: editRule.getMatchers())\n+        {\n+            final Variable var = fAdminService.getVariable(matcher.getVariableKey());\n+            variableSummaries.put(matcher.getVariableKey(), VariableSummary.fromVariable(var));\n+        }\n+        mav.addObject(\"variableSummaries\", variableSummaries);\n+        mav.addObject(\"allVariables\", fAdminService.getAllVariables());\n+        return mav;\n+    }\n+    \n+    @RequestMapping(value = NEW_RULE_URL, method = RequestMethod.POST)\n+    public ModelAndView saveRule(\n+            @ModelAttribute(ATTRIBUTE_RULE) final EditRule editRule,\n+            final BindingResult bindingResult,\n+            @RequestParam(value = \"submitButton\") final String submitString) throws InvalidIdentifierException\n+    {\n+        if(submitString.equals(\"newMatcher\"))\n+        {\n+            // Reload the page with the new matcher builder inside of the edit rule\n+            editRule.getMatchers().add(\n+                    new ValueMatcherBuilder().setVariableKey(editRule.getNewVariableKey()));\n+            \n+            return displayForm(editRule);\n+        }\n+        // Test if a remove button was clicked, and remove the proper ValueMatcherBuilder if needed\n+        final Integer removeIndex = Ints.tryParse(submitString);\n+        if(removeIndex != null)\n+        {\n+            editRule.getMatchers().remove(removeIndex.intValue());\n+            return displayForm(editRule);\n+        }\n+        // Call the validator for an EditRule here so that we can access the editRule\n+        // variable to display \n+        editRule.getValidator().validate(editRule, bindingResult);","path":"srcalc/src/main/java/gov/va/med/srcalc/web/controller/admin/NewRuleController.java","position":109,"original_position":109,"commit_id":"ef8d96f86a1b9bbbcca920d840c946841d4f5226","original_commit_id":"ef8d96f86a1b9bbbcca920d840c946841d4f5226","user":{"login":"dgtombs","id":5116096,"avatar_url":"https://avatars.githubusercontent.com/u/5116096?v=3","gravatar_id":"","url":"https://api.github.com/users/dgtombs","html_url":"https://github.com/dgtombs","followers_url":"https://api.github.com/users/dgtombs/followers","following_url":"https://api.github.com/users/dgtombs/following{/other_user}","gists_url":"https://api.github.com/users/dgtombs/gists{/gist_id}","starred_url":"https://api.github.com/users/dgtombs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgtombs/subscriptions","organizations_url":"https://api.github.com/users/dgtombs/orgs","repos_url":"https://api.github.com/users/dgtombs/repos","events_url":"https://api.github.com/users/dgtombs/events{/privacy}","received_events_url":"https://api.github.com/users/dgtombs/received_events","type":"User","site_admin":false},"body":"Did you intentionally only call the validator if we're actually trying to save the rule? I like that.","created_at":"2015-06-30T18:25:36Z","updated_at":"2015-06-30T18:25:36Z","html_url":"https://github.com/VHAINNOVATIONS/ASRCM/pull/92#discussion_r33606359","pull_request_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92","_links":{"self":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/comments/33606359"},"html":{"href":"https://github.com/VHAINNOVATIONS/ASRCM/pull/92#discussion_r33606359"},"pull_request":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92"}}},"pull_request":{"url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92","id":38598476,"html_url":"https://github.com/VHAINNOVATIONS/ASRCM/pull/92","diff_url":"https://github.com/VHAINNOVATIONS/ASRCM/pull/92.diff","patch_url":"https://github.com/VHAINNOVATIONS/ASRCM/pull/92.patch","issue_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/92","number":92,"state":"open","locked":false,"title":"Asrc 231 - Add new rules using the admin page.","user":{"login":"jamesbigmac","id":10212113,"avatar_url":"https://avatars.githubusercontent.com/u/10212113?v=3","gravatar_id":"","url":"https://api.github.com/users/jamesbigmac","html_url":"https://github.com/jamesbigmac","followers_url":"https://api.github.com/users/jamesbigmac/followers","following_url":"https://api.github.com/users/jamesbigmac/following{/other_user}","gists_url":"https://api.github.com/users/jamesbigmac/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesbigmac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesbigmac/subscriptions","organizations_url":"https://api.github.com/users/jamesbigmac/orgs","repos_url":"https://api.github.com/users/jamesbigmac/repos","events_url":"https://api.github.com/users/jamesbigmac/events{/privacy}","received_events_url":"https://api.github.com/users/jamesbigmac/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-06-25T22:01:33Z","updated_at":"2015-06-30T18:25:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e67dd2df67ef769bbcd21b6d797504b1005dc3e0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92/commits","review_comments_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92/comments","review_comment_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/comments{/number}","comments_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/92/comments","statuses_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/statuses/ef8d96f86a1b9bbbcca920d840c946841d4f5226","head":{"label":"VHAINNOVATIONS:ASRC-231","ref":"ASRC-231","sha":"ef8d96f86a1b9bbbcca920d840c946841d4f5226","user":{"login":"VHAINNOVATIONS","id":1252476,"avatar_url":"https://avatars.githubusercontent.com/u/1252476?v=3","gravatar_id":"","url":"https://api.github.com/users/VHAINNOVATIONS","html_url":"https://github.com/VHAINNOVATIONS","followers_url":"https://api.github.com/users/VHAINNOVATIONS/followers","following_url":"https://api.github.com/users/VHAINNOVATIONS/following{/other_user}","gists_url":"https://api.github.com/users/VHAINNOVATIONS/gists{/gist_id}","starred_url":"https://api.github.com/users/VHAINNOVATIONS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VHAINNOVATIONS/subscriptions","organizations_url":"https://api.github.com/users/VHAINNOVATIONS/orgs","repos_url":"https://api.github.com/users/VHAINNOVATIONS/repos","events_url":"https://api.github.com/users/VHAINNOVATIONS/events{/privacy}","received_events_url":"https://api.github.com/users/VHAINNOVATIONS/received_events","type":"Organization","site_admin":false},"repo":{"id":26819438,"name":"ASRCM","full_name":"VHAINNOVATIONS/ASRCM","owner":{"login":"VHAINNOVATIONS","id":1252476,"avatar_url":"https://avatars.githubusercontent.com/u/1252476?v=3","gravatar_id":"","url":"https://api.github.com/users/VHAINNOVATIONS","html_url":"https://github.com/VHAINNOVATIONS","followers_url":"https://api.github.com/users/VHAINNOVATIONS/followers","following_url":"https://api.github.com/users/VHAINNOVATIONS/following{/other_user}","gists_url":"https://api.github.com/users/VHAINNOVATIONS/gists{/gist_id}","starred_url":"https://api.github.com/users/VHAINNOVATIONS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VHAINNOVATIONS/subscriptions","organizations_url":"https://api.github.com/users/VHAINNOVATIONS/orgs","repos_url":"https://api.github.com/users/VHAINNOVATIONS/repos","events_url":"https://api.github.com/users/VHAINNOVATIONS/events{/privacy}","received_events_url":"https://api.github.com/users/VHAINNOVATIONS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/VHAINNOVATIONS/ASRCM","description":"The Automated Surgical Risk Calculator for Mortality Innovation is a project to develop a tool from CPRS through the “Tools” drop down that will auto-fill pertinent information into the developed risk calculator.  The Automated Risk Calculator will utilize the generated data and allow for the user to manually input required information to support clinical decision-making regarding perioperative risk.  The tool will then allow for information to be written back to the patients file in CPRS.  In addition, a secondary tool will be created to store and develop a repository for research of risk calculations developed.  ","fork":false,"url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM","forks_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/forks","keys_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/keys{/key_id}","collaborators_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/teams","hooks_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/hooks","issue_events_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/events{/number}","events_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/events","assignees_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/assignees{/user}","branches_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/branches{/branch}","tags_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/tags","blobs_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/refs{/sha}","trees_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/trees{/sha}","statuses_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/statuses/{sha}","languages_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/languages","stargazers_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/stargazers","contributors_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/contributors","subscribers_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/subscribers","subscription_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/subscription","commits_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/commits{/sha}","git_commits_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/commits{/sha}","comments_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/comments{/number}","issue_comment_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/comments{/number}","contents_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/contents/{+path}","compare_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/compare/{base}...{head}","merges_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/merges","archive_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/downloads","issues_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues{/number}","pulls_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls{/number}","milestones_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/milestones{/number}","notifications_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/labels{/name}","releases_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/releases{/id}","created_at":"2014-11-18T16:48:50Z","updated_at":"2015-05-08T20:09:42Z","pushed_at":"2015-06-30T16:46:28Z","git_url":"git://github.com/VHAINNOVATIONS/ASRCM.git","ssh_url":"git@github.com:VHAINNOVATIONS/ASRCM.git","clone_url":"https://github.com/VHAINNOVATIONS/ASRCM.git","svn_url":"https://github.com/VHAINNOVATIONS/ASRCM","homepage":null,"size":10684,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":3,"forks":0,"open_issues":3,"watchers":0,"default_branch":"master"}},"base":{"label":"VHAINNOVATIONS:master","ref":"master","sha":"0b20216e9b1990af24773332174bfb60b28f7ca1","user":{"login":"VHAINNOVATIONS","id":1252476,"avatar_url":"https://avatars.githubusercontent.com/u/1252476?v=3","gravatar_id":"","url":"https://api.github.com/users/VHAINNOVATIONS","html_url":"https://github.com/VHAINNOVATIONS","followers_url":"https://api.github.com/users/VHAINNOVATIONS/followers","following_url":"https://api.github.com/users/VHAINNOVATIONS/following{/other_user}","gists_url":"https://api.github.com/users/VHAINNOVATIONS/gists{/gist_id}","starred_url":"https://api.github.com/users/VHAINNOVATIONS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VHAINNOVATIONS/subscriptions","organizations_url":"https://api.github.com/users/VHAINNOVATIONS/orgs","repos_url":"https://api.github.com/users/VHAINNOVATIONS/repos","events_url":"https://api.github.com/users/VHAINNOVATIONS/events{/privacy}","received_events_url":"https://api.github.com/users/VHAINNOVATIONS/received_events","type":"Organization","site_admin":false},"repo":{"id":26819438,"name":"ASRCM","full_name":"VHAINNOVATIONS/ASRCM","owner":{"login":"VHAINNOVATIONS","id":1252476,"avatar_url":"https://avatars.githubusercontent.com/u/1252476?v=3","gravatar_id":"","url":"https://api.github.com/users/VHAINNOVATIONS","html_url":"https://github.com/VHAINNOVATIONS","followers_url":"https://api.github.com/users/VHAINNOVATIONS/followers","following_url":"https://api.github.com/users/VHAINNOVATIONS/following{/other_user}","gists_url":"https://api.github.com/users/VHAINNOVATIONS/gists{/gist_id}","starred_url":"https://api.github.com/users/VHAINNOVATIONS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VHAINNOVATIONS/subscriptions","organizations_url":"https://api.github.com/users/VHAINNOVATIONS/orgs","repos_url":"https://api.github.com/users/VHAINNOVATIONS/repos","events_url":"https://api.github.com/users/VHAINNOVATIONS/events{/privacy}","received_events_url":"https://api.github.com/users/VHAINNOVATIONS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/VHAINNOVATIONS/ASRCM","description":"The Automated Surgical Risk Calculator for Mortality Innovation is a project to develop a tool from CPRS through the “Tools” drop down that will auto-fill pertinent information into the developed risk calculator.  The Automated Risk Calculator will utilize the generated data and allow for the user to manually input required information to support clinical decision-making regarding perioperative risk.  The tool will then allow for information to be written back to the patients file in CPRS.  In addition, a secondary tool will be created to store and develop a repository for research of risk calculations developed.  ","fork":false,"url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM","forks_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/forks","keys_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/keys{/key_id}","collaborators_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/teams","hooks_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/hooks","issue_events_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/events{/number}","events_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/events","assignees_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/assignees{/user}","branches_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/branches{/branch}","tags_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/tags","blobs_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/refs{/sha}","trees_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/trees{/sha}","statuses_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/statuses/{sha}","languages_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/languages","stargazers_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/stargazers","contributors_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/contributors","subscribers_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/subscribers","subscription_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/subscription","commits_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/commits{/sha}","git_commits_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/git/commits{/sha}","comments_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/comments{/number}","issue_comment_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/comments{/number}","contents_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/contents/{+path}","compare_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/compare/{base}...{head}","merges_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/merges","archive_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/downloads","issues_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues{/number}","pulls_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls{/number}","milestones_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/milestones{/number}","notifications_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/labels{/name}","releases_url":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/releases{/id}","created_at":"2014-11-18T16:48:50Z","updated_at":"2015-05-08T20:09:42Z","pushed_at":"2015-06-30T16:46:28Z","git_url":"git://github.com/VHAINNOVATIONS/ASRCM.git","ssh_url":"git@github.com:VHAINNOVATIONS/ASRCM.git","clone_url":"https://github.com/VHAINNOVATIONS/ASRCM.git","svn_url":"https://github.com/VHAINNOVATIONS/ASRCM","homepage":null,"size":10684,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":3,"forks":0,"open_issues":3,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92"},"html":{"href":"https://github.com/VHAINNOVATIONS/ASRCM/pull/92"},"issue":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/92"},"comments":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/issues/92/comments"},"review_comments":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92/comments"},"review_comment":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/pulls/92/commits"},"statuses":{"href":"https://api.github.com/repos/VHAINNOVATIONS/ASRCM/statuses/ef8d96f86a1b9bbbcca920d840c946841d4f5226"}}}}