Applying Assessment Form Results
Sample Script
This example below outlines how to take a set of data and assign to an assessment form as an 'Assessment Form Result'. The 'Assessment Form Result' is then assigned to an assessment task. For a more general overview of the application of assessment form results, please refer to this article on the Integration section.
- """
- Example script to apply an assessment result to a task
- (Assetic.Assessments.py)
- 1. create (POST) a form result.
- 2. use the generated ID in form result response to link to the
- assessment task
- """
- import assetic
- from datetime import datetime
- from datetime import timedelta
- #Assetic SDK instance
- asseticsdk = assetic.AsseticSDK('c:/users/you/assetic.ini',None,'Error')
- #assessment form result API
- assessresultapi = assetic.AssessmentFormResultApi()
- ##need some identifiers. These may come from GET /api/v2/assessmenttask
- ##which is in the AssessmentTaskApi, use method assessment_task_get which
- ##returns all tasks assigned to the logged in user
- taskguid = '375f575c-2b6b-e611-9469-06edd62954d7'
- formguid = 'e3244b32-286b-e611-9469-06edd62954d7'
- resourceguid = '36bee8ab-4e39-4f1d-b713-4eefa521fcd8'
- #define the assessor resource (need both guid & name)
- resource = assetic.Assetic3IntegrationRepresentationsRsResourceRepresentation()
- resource.id = resourceguid
- resource.display_name = 'Kevin Wilton'
- ##build the data. Structure of this changes for each form
- ##use the form API to get structure
- data = {"CONTROL0766":"1",
- "CONTROL0770":True,
- "CONTROL0771":"Tea Tree",
- "CONTROL07712":"melaleuca alternifolia"}
- #build the object to create the result entry
- form_result = assetic.Assetic3IntegrationRepresentationsAsmtFormResultRepresentation()
- form_result.form_id = formguid
- form_result.form_result_comment='created via api'
- form_result.form_result_start_time = datetime.isoformat(datetime.now() +
- timedelta(days=-7))
- form_result.form_result_end_time = datetime.isoformat(datetime.now()
- + timedelta(days=-5))
- form_result.form_result_last_modified = datetime.isoformat(datetime.now())
- form_result.form_result_status = 1
- form_result.form_result_rs_resource_id_assessed_by=resource
- form_result.data = data
- ##execute the post
- try:
- response = assessresultapi.assessment_form_result_post(form_result)
- except assetic.rest.ApiException as e:
- ##Log exception and exit
- asseticsdk.logger.error("Status {0}, Reason: {1}".format(e.status,e.reason))
- exit();
- ##check for error messages
- if response.get('Errors') != None:
- print(response.get('Errors'))
- exit();
- ##get response ID
- id = response['Data'][0]['Id']
- print(id)
- ##now link form result with task. First create api instance
- taskapi = assetic.AssessmentTaskApi()
- try:
- linkresponse = taskapi.assessment_task_link_asmt_form_result(taskguid,id)
- except assetic.rest.ApiException as e:
- #Log exception and exit
- asseticsdk.logger.error("Status {0}, Reason: {1}".format(e.status,e.reason))
- exit();
- print (linkresponse) #expect 'True'