def create(self, request, *args, **kwargs): """Validates user credentials with the backing data store. Request parameters: username a valid username password a valid password Parameters: request An authorization check request. """ try: wsname = "sessions" auth = { "username": request.REQUEST.get("username", None), "password": request.REQUEST.get("password", None) } logging.info("username %s" % auth['username']) opener = openmrslib.build_opener(host=settings.OPENMRS_SERVER_URL) return succeed(opener.wsdispatch(wsname, auth=auth)) except Exception, e: msg = "%s" % e logging.error(msg) return fail(msg)
def read(self,request, id=None, **kwargs): """ Returns zero or more patients from OpenMRS """ try: opener = openmrslib.build_opener(host=settings.OPENMRS_SERVER_URL) query = self.flatten_dict(request.GET) username = query.pop("username") password = query.pop("password") if id and id != 'list': response = opener.getPatient(username, password, id) if openmrslib.OPENMRS_VERSION < 1.8: message = parseOne(response) else: message =response if len(message) == 0: return fail("") else: response = opener.getAllPatients(username, password, query=query) if openmrslib.OPENMRS_VERSION < 1.8: message = parseAll(response) else: message = "" logging.debug("Response: %s" % response) for p in response: logging.debug(p) firstname = p["givenName"] lastname = p["family_name"] gender = p["gender"] birthdate = p["birthdate"] uuid = p["uuid"] patient = "%s%s%s%s%s%s".format(firstname.lower(), birthdate[0:4], birthdate[5:7], birthdate[8:10], lastname.lower(), gender.lower()) message.append(patient) logging.debug("message: %s" % message) return succeed(message) except Exception, e: logging.error("Error: %s" % str(e)) printstack(e) return fail("%s" % e)
def read(self, request, id=None, **kwargs): """ Returns zero or more patients from OpenMRS """ try: opener = openmrslib.build_opener(host=settings.OPENMRS_SERVER_URL) query = self.flatten_dict(request.GET) username = query.pop("username") password = query.pop("password") if id and id != 'list': response = opener.getPatient(username, password, id) if openmrslib.OPENMRS_VERSION < 1.8: message = parseOne(response) else: message = response if len(message) == 0: return fail("") else: response = opener.getAllPatients(username, password, query=query) if openmrslib.OPENMRS_VERSION < 1.8: message = parseAll(response) else: message = "" logging.debug("Response: %s" % response) for p in response: logging.debug(p) firstname = p["givenName"] lastname = p["family_name"] gender = p["gender"] birthdate = p["birthdate"] uuid = p["uuid"] patient = "%s%s%s%s%s%s".format( firstname.lower(), birthdate[0:4], birthdate[5:7], birthdate[8:10], lastname.lower(), gender.lower()) message.append(patient) logging.debug("message: %s" % message) return succeed(message) except Exception, e: logging.error("Error: %s" % str(e)) printstack(e) return fail("%s" % e)
def create(self,request, *args, **kwargs): """Validates user credentials with the backing data store. Request parameters: username a valid username password a valid password Parameters: request An authorization check request. """ try: wsname = "sessions" auth = {"username": request.REQUEST.get("username", None), "password" : request.REQUEST.get("password", None)} logging.info("username %s" % auth['username']) opener = openmrslib.build_opener(host=settings.OPENMRS_SERVER_URL) return succeed(opener.wsdispatch(wsname, auth=auth)) except Exception, e: msg = "%s" % e logging.error(msg) return fail(msg)