{"action":"created","comment":{"url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/comments/142800661","pull_request_review_id":67216355,"id":142800661,"diff_hunk":"@@ -0,0 +1,301 @@\n+/* * This Source Code Form is subject to the terms of the Mozilla Public License,\n+ * v. 2.0. If a copy of the MPL was not distributed with this file, You can\n+ * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under\n+ * the terms of the Healthcare Disclaimer located at http://openmrs.org/license.\n+ *\n+ * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS\n+ * graphic logo is a trademark of OpenMRS Inc.\n+ */\n+package org.openmrs.module.idgen.rest.resource;\n+\n+import org.openmrs.module.idgen.IdentifierPool;\n+import org.openmrs.module.idgen.IdentifierSource;\n+import org.openmrs.module.idgen.PooledIdentifier;\n+import org.openmrs.module.idgen.RemoteIdentifierSource;\n+import org.openmrs.module.idgen.SequentialIdentifierGenerator;\n+import org.openmrs.module.idgen.service.IdentifierSourceService;\n+import org.openmrs.module.idgen.web.controller.IdgenRestController;\n+\n+import org.apache.commons.lang3.StringUtils;\n+\n+import java.util.ArrayList;\n+import java.util.LinkedHashSet;\n+import java.util.Set;\n+\n+import org.openmrs.module.webservices.rest.web.ConversionUtil;\n+import org.openmrs.PatientIdentifierType;\n+import org.openmrs.api.context.Context;\n+import org.openmrs.module.webservices.rest.web.response.ConversionException;\n+import org.openmrs.module.webservices.rest.SimpleObject;\n+import org.openmrs.module.webservices.rest.web.RequestContext;\n+import org.openmrs.module.webservices.rest.web.RestConstants;\n+import org.openmrs.module.webservices.rest.web.annotation.PropertyGetter;\n+import org.openmrs.module.webservices.rest.web.annotation.Resource;\n+import org.openmrs.module.webservices.rest.web.representation.DefaultRepresentation;\n+import org.openmrs.module.webservices.rest.web.representation.FullRepresentation;\n+import org.openmrs.module.webservices.rest.web.representation.RefRepresentation;\n+import org.openmrs.module.webservices.rest.web.representation.Representation;\n+import org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource;\n+import org.openmrs.module.webservices.rest.web.resource.impl.DelegatingResourceDescription;\n+import org.openmrs.module.webservices.rest.web.response.ResourceDoesNotSupportOperationException;\n+import org.openmrs.module.webservices.rest.web.response.ResponseException;\n+\n+@Resource(name = RestConstants.VERSION_1 + IdgenRestController.IDGEN_NAMESPACE + \"/identifiersource\", supportedClass = IdentifierSource.class, supportedOpenmrsVersions = {\n+        \"1.9.*\", \"1.10.*\", \"1.11.*\", \"1.12.*\", \"2.0.*\" , \"2.1.*\" })\n+public class IdentifierSourceResource extends DelegatingCrudResource<IdentifierSource>{\n+\t\n+\t@Override\n+\tpublic DelegatingResourceDescription getRepresentationDescription(Representation rep) {\n+\t\t\n+\t\tDelegatingResourceDescription description = null;\n+\t\t\n+\t\tif (rep instanceof RefRepresentation) {\n+\t\t\tdescription = new DelegatingResourceDescription();\n+\t\t\tdescription.addProperty(\"uuid\");\n+\t\t\tdescription.addProperty(\"display\");\n+\t\t\tdescription.addSelfLink();\n+\t\t\treturn description;\n+\t\t}\n+\t\t\n+\t\tif (rep instanceof DefaultRepresentation || rep instanceof FullRepresentation) {\n+\t\t\tdescription = new DelegatingResourceDescription();\n+\t\t\tdescription.addProperty(\"uuid\");\n+\t\t\tdescription.addProperty(\"name\");\n+\t\t\tdescription.addProperty(\"description\");\n+\t\t\tdescription.addProperty(\"identifierType\");\n+\t\t\t\n+\t\t\t// links\n+\t\t\tdescription.addSelfLink();\n+\t\t\tif (rep instanceof DefaultRepresentation) {\n+\t\t\t\tdescription.addLink(\"full\", \".?v=\" + RestConstants.REPRESENTATION_FULL);\n+\t\t\t}\n+\t\t}\n+\t\treturn description;\n+\t}\n+\t\n+\t@Override\n+\tpublic DelegatingResourceDescription getCreatableProperties() {\n+\t\tDelegatingResourceDescription description = new DelegatingResourceDescription();\n+\t\tdescription.addProperty(\"name\");\n+\t\tdescription.addProperty(\"description\");\n+\t\tdescription.addProperty(\"identifierType\");\n+\t\t\n+\t\treturn description;\n+\t}\n+\t\n+\t@Override\n+\tpublic DelegatingResourceDescription getUpdatableProperties() throws ResourceDoesNotSupportOperationException {\n+\t\tDelegatingResourceDescription description = new DelegatingResourceDescription();\n+\t\tdescription.addProperty(\"name\");\n+\t\tdescription.addProperty(\"description\");\n+\t\tdescription.addProperty(\"identifierType\");\n+\t\t\n+\t\treturn description;\n+\t}\n+\t\n+\t@PropertyGetter(\"identifierType\")\n+\tpublic String getidentifierType(IdentifierSource identifierSource) {\n+\t\treturn identifierSource.getIdentifierType().getUuid();\n+\t}\n+\t\n+\t@PropertyGetter(\"display\")\n+\tpublic String getDisplayString(IdentifierSource identifierSource) {\n+\t\treturn identifierSource.getIdentifierType() + \" - \" + identifierSource.getName();\n+\t}\n+\t\n+\t@Override\n+\tpublic IdentifierSource newDelegate() {\n+\t\treturn new SequentialIdentifierGenerator();\n+\t}\n+\t\n+\t@Override\n+    public Object create(SimpleObject postBody, RequestContext context) throws ResponseException {\n+\t\t\n+\t\tObject savedIdentifierSource = null;\n+\t\tString identifierSourceType = validateInput(postBody.get(\"sourceType\"));\n+\t\tArrayList<String> exception = new ArrayList<String>();\n+\t\tString identifierTypeUuid = validateInput(postBody.get(\"identifierType\"));\n+\t\tPatientIdentifierType patientIdentifierType = Context.getPatientService().getPatientIdentifierTypeByUuid(identifierTypeUuid);\n+\t\tString name = validateInput(postBody.get(\"name\"));\n+\t\tString description = postBody.get(\"description\").toString();\n+\t\t\n+\t\tif (StringUtils.isBlank(identifierTypeUuid) || patientIdentifierType == null) { \n+\t\t\texception.add(\"patient identifier type\"); \n+\t\t}\n+\t\tif (StringUtils.isBlank(name)) { \n+\t\t\texception.add(\"name\"); \n+\t\t}\n+\t\tif (StringUtils.isBlank(description)) { \n+\t\t\texception.add(\"description\"); \n+\t\t}\n+\t\t\n+\t\tif(identifierSourceType.equals(\"SequentialIdentifierGenerator\")) {\n+\t\t\t\n+\t\t\tSequentialIdentifierGenerator identifierSource = new SequentialIdentifierGenerator();\n+\t\t\tString firstIdentifierBase = validateInput(postBody.get(\"firstIdentifierBase\"));\n+\t\t\tString baseCharacterSet = validateInput(postBody.get(\"baseCharacterSet\"));\n+\t\t\tString prefix = validateInput(postBody.get(\"prefix\"));\n+\t\t\tString suffix = validateInput(postBody.get(\"suffix\"));\n+\t\t\tString minLength = validateInput(postBody.get(\"minLength\"));\n+\t\t\tString maxLength = validateInput(postBody.get(\"maxLength\"));\n+\t\t\t\n+\t\t\tif (StringUtils.isBlank(firstIdentifierBase)) { \n+\t\t\t\texception.add(\"first identifier base\"); \n+\t\t\t}\n+\t\t\tif (StringUtils.isBlank(baseCharacterSet)) { \n+\t\t\t\texception.add(\"base character set\"); \n+\t\t\t}\n+\t\t\tif (StringUtils.isBlank(baseCharacterSet)) { \n+\t\t\t\texception.add(\"base character set\"); \n+\t\t\t}\n+\t\t\tif (!StringUtils.isBlank(prefix)) { \n+\t\t\t\tidentifierSource.setPrefix(prefix); \n+\t\t\t}\n+\t\t\tif (!StringUtils.isBlank(suffix)) { \n+\t\t\t\tidentifierSource.setSuffix(suffix); \n+\t\t\t}\n+\t\t\tif (!StringUtils.isBlank(minLength)) {\n+\t\t\t\tif(StringUtils.isNumeric(minLength)) {\n+\t\t\t\t\tidentifierSource.setMinLength(Integer.parseInt(minLength));\n+\t\t\t\t}else {\n+\t\t        \t\texception.add(\"min length\");\n+\t\t        }\n+\t        }\n+\t\t\tif (!StringUtils.isBlank(maxLength)) {\n+\t\t\t\tif(StringUtils.isNumeric(maxLength)) {\n+\t\t\t\t\tidentifierSource.setMaxLength(Integer.parseInt(maxLength));\n+\t\t\t\t}else {\n+\t\t        \t\texception.add(\"max length\");\n+\t\t        }\n+\t        }","path":"omod/src/main/java/org/openmrs/module/idgen/rest/resource/IdentifierSourceResource.java","position":170,"original_position":170,"commit_id":"93bc05099368d778283a468444e12ce56d4da069","original_commit_id":"93bc05099368d778283a468444e12ce56d4da069","user":{"login":"adamsdenniskariuki","id":25571987,"avatar_url":"https://avatars0.githubusercontent.com/u/25571987?v=4","gravatar_id":"","url":"https://api.github.com/users/adamsdenniskariuki","html_url":"https://github.com/adamsdenniskariuki","followers_url":"https://api.github.com/users/adamsdenniskariuki/followers","following_url":"https://api.github.com/users/adamsdenniskariuki/following{/other_user}","gists_url":"https://api.github.com/users/adamsdenniskariuki/gists{/gist_id}","starred_url":"https://api.github.com/users/adamsdenniskariuki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamsdenniskariuki/subscriptions","organizations_url":"https://api.github.com/users/adamsdenniskariuki/orgs","repos_url":"https://api.github.com/users/adamsdenniskariuki/repos","events_url":"https://api.github.com/users/adamsdenniskariuki/events{/privacy}","received_events_url":"https://api.github.com/users/adamsdenniskariuki/received_events","type":"User","site_admin":false},"body":"fixed","created_at":"2017-10-04T21:42:09Z","updated_at":"2017-10-04T21:42:09Z","html_url":"https://github.com/openmrs/openmrs-module-idgen/pull/37#discussion_r142800661","pull_request_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/comments/142800661"},"html":{"href":"https://github.com/openmrs/openmrs-module-idgen/pull/37#discussion_r142800661"},"pull_request":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37"}},"in_reply_to_id":142792685},"pull_request":{"url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37","id":143251469,"html_url":"https://github.com/openmrs/openmrs-module-idgen/pull/37","diff_url":"https://github.com/openmrs/openmrs-module-idgen/pull/37.diff","patch_url":"https://github.com/openmrs/openmrs-module-idgen/pull/37.patch","issue_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/issues/37","number":37,"state":"open","locked":false,"title":"IDGEN-65 Create Manage Patient Identifier Sources RESTFUL API endpoints","user":{"login":"adamsdenniskariuki","id":25571987,"avatar_url":"https://avatars0.githubusercontent.com/u/25571987?v=4","gravatar_id":"","url":"https://api.github.com/users/adamsdenniskariuki","html_url":"https://github.com/adamsdenniskariuki","followers_url":"https://api.github.com/users/adamsdenniskariuki/followers","following_url":"https://api.github.com/users/adamsdenniskariuki/following{/other_user}","gists_url":"https://api.github.com/users/adamsdenniskariuki/gists{/gist_id}","starred_url":"https://api.github.com/users/adamsdenniskariuki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamsdenniskariuki/subscriptions","organizations_url":"https://api.github.com/users/adamsdenniskariuki/orgs","repos_url":"https://api.github.com/users/adamsdenniskariuki/repos","events_url":"https://api.github.com/users/adamsdenniskariuki/events{/privacy}","received_events_url":"https://api.github.com/users/adamsdenniskariuki/received_events","type":"User","site_admin":false},"body":"## JIRA TICKET NAME:\r\n\r\n[IDGEN-65 Create Manage Patient Identifier Sources RESTFUL API endpoints](https://issues.openmrs.org/browse/IDGEN-65)\r\n\r\n## SUMMARY:\r\n\r\nCreates REST end points that will get, save, and delete patient identifier sources.","created_at":"2017-09-26T21:48:15Z","updated_at":"2017-10-04T21:42:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"05276b7b62643728c738678913b90f31430ed49a","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37/commits","review_comments_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37/comments","review_comment_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/issues/37/comments","statuses_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/statuses/93bc05099368d778283a468444e12ce56d4da069","head":{"label":"adamsdenniskariuki:IDGEN-65","ref":"IDGEN-65","sha":"93bc05099368d778283a468444e12ce56d4da069","user":{"login":"adamsdenniskariuki","id":25571987,"avatar_url":"https://avatars0.githubusercontent.com/u/25571987?v=4","gravatar_id":"","url":"https://api.github.com/users/adamsdenniskariuki","html_url":"https://github.com/adamsdenniskariuki","followers_url":"https://api.github.com/users/adamsdenniskariuki/followers","following_url":"https://api.github.com/users/adamsdenniskariuki/following{/other_user}","gists_url":"https://api.github.com/users/adamsdenniskariuki/gists{/gist_id}","starred_url":"https://api.github.com/users/adamsdenniskariuki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamsdenniskariuki/subscriptions","organizations_url":"https://api.github.com/users/adamsdenniskariuki/orgs","repos_url":"https://api.github.com/users/adamsdenniskariuki/repos","events_url":"https://api.github.com/users/adamsdenniskariuki/events{/privacy}","received_events_url":"https://api.github.com/users/adamsdenniskariuki/received_events","type":"User","site_admin":false},"repo":{"id":104917572,"name":"openmrs-module-idgen","full_name":"adamsdenniskariuki/openmrs-module-idgen","owner":{"login":"adamsdenniskariuki","id":25571987,"avatar_url":"https://avatars0.githubusercontent.com/u/25571987?v=4","gravatar_id":"","url":"https://api.github.com/users/adamsdenniskariuki","html_url":"https://github.com/adamsdenniskariuki","followers_url":"https://api.github.com/users/adamsdenniskariuki/followers","following_url":"https://api.github.com/users/adamsdenniskariuki/following{/other_user}","gists_url":"https://api.github.com/users/adamsdenniskariuki/gists{/gist_id}","starred_url":"https://api.github.com/users/adamsdenniskariuki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamsdenniskariuki/subscriptions","organizations_url":"https://api.github.com/users/adamsdenniskariuki/orgs","repos_url":"https://api.github.com/users/adamsdenniskariuki/repos","events_url":"https://api.github.com/users/adamsdenniskariuki/events{/privacy}","received_events_url":"https://api.github.com/users/adamsdenniskariuki/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adamsdenniskariuki/openmrs-module-idgen","description":"Provides patient identifier generation for other OpenMRS modules","fork":true,"url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen","forks_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/forks","keys_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/teams","hooks_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/hooks","issue_events_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/issues/events{/number}","events_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/events","assignees_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/assignees{/user}","branches_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/branches{/branch}","tags_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/tags","blobs_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/git/refs{/sha}","trees_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/statuses/{sha}","languages_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/languages","stargazers_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/stargazers","contributors_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/contributors","subscribers_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/subscribers","subscription_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/subscription","commits_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/commits{/sha}","git_commits_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/git/commits{/sha}","comments_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/comments{/number}","issue_comment_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/issues/comments{/number}","contents_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/contents/{+path}","compare_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/merges","archive_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/downloads","issues_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/issues{/number}","pulls_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/pulls{/number}","milestones_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/milestones{/number}","notifications_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/labels{/name}","releases_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/releases{/id}","deployments_url":"https://api.github.com/repos/adamsdenniskariuki/openmrs-module-idgen/deployments","created_at":"2017-09-26T17:34:47Z","updated_at":"2017-09-26T17:34:48Z","pushed_at":"2017-10-04T18:52:25Z","git_url":"git://github.com/adamsdenniskariuki/openmrs-module-idgen.git","ssh_url":"git@github.com:adamsdenniskariuki/openmrs-module-idgen.git","clone_url":"https://github.com/adamsdenniskariuki/openmrs-module-idgen.git","svn_url":"https://github.com/adamsdenniskariuki/openmrs-module-idgen","homepage":null,"size":15326,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"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":"openmrs:master","ref":"master","sha":"0420a1642e2ddb131b24939de5955fa47dd950b4","user":{"login":"openmrs","id":860776,"avatar_url":"https://avatars3.githubusercontent.com/u/860776?v=4","gravatar_id":"","url":"https://api.github.com/users/openmrs","html_url":"https://github.com/openmrs","followers_url":"https://api.github.com/users/openmrs/followers","following_url":"https://api.github.com/users/openmrs/following{/other_user}","gists_url":"https://api.github.com/users/openmrs/gists{/gist_id}","starred_url":"https://api.github.com/users/openmrs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openmrs/subscriptions","organizations_url":"https://api.github.com/users/openmrs/orgs","repos_url":"https://api.github.com/users/openmrs/repos","events_url":"https://api.github.com/users/openmrs/events{/privacy}","received_events_url":"https://api.github.com/users/openmrs/received_events","type":"Organization","site_admin":false},"repo":{"id":6946743,"name":"openmrs-module-idgen","full_name":"openmrs/openmrs-module-idgen","owner":{"login":"openmrs","id":860776,"avatar_url":"https://avatars3.githubusercontent.com/u/860776?v=4","gravatar_id":"","url":"https://api.github.com/users/openmrs","html_url":"https://github.com/openmrs","followers_url":"https://api.github.com/users/openmrs/followers","following_url":"https://api.github.com/users/openmrs/following{/other_user}","gists_url":"https://api.github.com/users/openmrs/gists{/gist_id}","starred_url":"https://api.github.com/users/openmrs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openmrs/subscriptions","organizations_url":"https://api.github.com/users/openmrs/orgs","repos_url":"https://api.github.com/users/openmrs/repos","events_url":"https://api.github.com/users/openmrs/events{/privacy}","received_events_url":"https://api.github.com/users/openmrs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openmrs/openmrs-module-idgen","description":"Provides patient identifier generation for other OpenMRS modules","fork":false,"url":"https://api.github.com/repos/openmrs/openmrs-module-idgen","forks_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/forks","keys_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/teams","hooks_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/hooks","issue_events_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/issues/events{/number}","events_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/events","assignees_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/assignees{/user}","branches_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/branches{/branch}","tags_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/tags","blobs_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/git/refs{/sha}","trees_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/statuses/{sha}","languages_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/languages","stargazers_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/stargazers","contributors_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/contributors","subscribers_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/subscribers","subscription_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/subscription","commits_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/commits{/sha}","git_commits_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/git/commits{/sha}","comments_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/comments{/number}","issue_comment_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/issues/comments{/number}","contents_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/contents/{+path}","compare_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/merges","archive_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/downloads","issues_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/issues{/number}","pulls_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls{/number}","milestones_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/milestones{/number}","notifications_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/labels{/name}","releases_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/releases{/id}","deployments_url":"https://api.github.com/repos/openmrs/openmrs-module-idgen/deployments","created_at":"2012-11-30T22:18:05Z","updated_at":"2016-03-16T12:01:37Z","pushed_at":"2017-10-04T18:52:27Z","git_url":"git://github.com/openmrs/openmrs-module-idgen.git","ssh_url":"git@github.com:openmrs/openmrs-module-idgen.git","clone_url":"https://github.com/openmrs/openmrs-module-idgen.git","svn_url":"https://github.com/openmrs/openmrs-module-idgen","homepage":null,"size":15315,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":36,"mirror_url":null,"open_issues_count":3,"forks":36,"open_issues":3,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37"},"html":{"href":"https://github.com/openmrs/openmrs-module-idgen/pull/37"},"issue":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/issues/37"},"comments":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/issues/37/comments"},"review_comments":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37/comments"},"review_comment":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/pulls/37/commits"},"statuses":{"href":"https://api.github.com/repos/openmrs/openmrs-module-idgen/statuses/93bc05099368d778283a468444e12ce56d4da069"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"adamsdenniskariuki"}}