def create(self,request, *args, **kwargs): logging.info("Received saved procedure submission.") response = '' form = ProcedureSubmitForm(self.flatten_dict(request.POST)) logging.debug("Data: %s" % form.data) try: form.full_clean() if not form.is_valid(): raise ValidationError(form._get_errors()) savedproc_guid = form.cleaned_data['savedproc_guid'] procedure_guid = form.cleaned_data['procedure_guid'] responses = form.cleaned_data['responses'] phone = form.cleaned_data['phone'] username = form.cleaned_data['username'] password = form.cleaned_data['password'] result, message = register_saved_procedure(savedproc_guid, procedure_guid, responses, phone, username, password) encounter, data, created = spform_to_encounter(form.cleaned_data) encounter.save() logging.debug("Saved encounter: " + encounter.uuid) observations = responses_to_observations(encounter, data,sort=True) for obs in observations: obs.save() if obs.is_complex: obs.create_file() #result, message = True, encounter if result: response = succeed("Successfully saved the procedure: %s" % message) logging.info("Saved procedure successfully registered.") else: response = fail(message) logging.error("Failed to register procedure: %s" % message) except ValidationError, e: for k,v in form._get_errors().items(): logging.error("SavedProcedure argument %s:%s" % (k,v)) response = fail("Invalid ProcedureSubmitForm data") raise Exception('Saved procedure submission was invalid')
def create(self, request, *args, **kwargs): logging.info("Received saved procedure submission.") response = '' form = ProcedureSubmitForm(self.flatten_dict(request.POST)) logging.debug("Data: %s" % form.data) try: form.full_clean() if not form.is_valid(): raise ValidationError(form._get_errors()) savedproc_guid = form.cleaned_data['savedproc_guid'] procedure_guid = form.cleaned_data['procedure_guid'] responses = form.cleaned_data['responses'] phone = form.cleaned_data['phone'] username = form.cleaned_data['username'] password = form.cleaned_data['password'] result, message = register_saved_procedure(savedproc_guid, procedure_guid, responses, phone, username, password) encounter, data, created = spform_to_encounter(form.cleaned_data) encounter.save() logging.debug("Saved encounter: " + encounter.uuid) observations = responses_to_observations(encounter, data, sort=True) for obs in observations: obs.save() if obs.is_complex: obs.create_file() #result, message = True, encounter if result: response = succeed("Successfully saved the procedure: %s" % message) logging.info("Saved procedure successfully registered.") else: response = fail(message) logging.error("Failed to register procedure: %s" % message) except ValidationError, e: for k, v in form._get_errors().items(): logging.error("SavedProcedure argument %s:%s" % (k, v)) response = fail("Invalid ProcedureSubmitForm data") raise Exception('Saved procedure submission was invalid')
def procedure_submit(request): """Accepts a request to send collected encounter data to the data store. See ProcedureSubmitForm for request parameters Parameters: request The data uploaded from the client. """ try: logging.info("Received saved procedure submission.") form = ProcedureSubmitForm(request.POST) response = '' if form.is_valid(): savedproc_guid = form.cleaned_data['savedproc_guid'] procedure_guid = form.cleaned_data['procedure_guid'] responses = form.cleaned_data['responses'] phone = form.cleaned_data['phone'] username = form.cleaned_data['username'] password = form.cleaned_data['password'] result, message = register_saved_procedure(savedproc_guid, procedure_guid, responses, phone, username, password) if result: response = succeed("Successfully saved the procedure: %s" % message) logging.info("Saved procedure successfully registered.") else: response = fail(message) logging.error("Failed to register procedure: %s" % message) else: logging.error( "Saved procedure submission was invalid, dumping REQUEST.") for k, v in request.REQUEST.items(): logging.error("SavedProcedure argument %s:%s" % (k, v)) response = fail( "Could not parse submission : missing parts or invalid data?") except Exception, e: et, val, tb = sys.exc_info() trace = traceback.format_tb(tb) error = "Exception : %s %s %s" % (et, val, trace[0]) for tbm in trace: logging.error(tbm) response = fail(error)
def procedure_submit(request): """Accepts a request to send collected encounter data to the data store. See ProcedureSubmitForm for request parameters Parameters: request The data uploaded from the client. """ try: logging.info("Received saved procedure submission.") form = ProcedureSubmitForm(request.POST) response = '' if form.is_valid(): savedproc_guid = form.cleaned_data['savedproc_guid'] procedure_guid = form.cleaned_data['procedure_guid'] responses = form.cleaned_data['responses'] phone = form.cleaned_data['phone'] username = form.cleaned_data['username'] password = form.cleaned_data['password'] result, message = register_saved_procedure(savedproc_guid, procedure_guid, responses, phone, username, password) if result: response = succeed("Successfully saved the procedure: %s" % message) logging.info("Saved procedure successfully registered.") else: response = fail(message) logging.error("Failed to register procedure: %s" % message) else: logging.error("Saved procedure submission was invalid, dumping REQUEST.") for k,v in request.REQUEST.items(): logging.error("SavedProcedure argument %s:%s" % (k,v)) response = fail("Could not parse submission : missing parts or invalid data?") except Exception, e: et, val, tb = sys.exc_info() trace = traceback.format_tb(tb) error = "Exception : %s %s %s" % (et, val, trace[0]) for tbm in trace: logging.error(tbm) response = fail(error)