DTXS API Use cases Task planning, risk assessment and output analysis Activity 3: Identify risks

Activity 3: Identify risks

Introduction

In this activity, the risks of the previously specified task will be identified. This activity will be done by an expert in the field of decommissioning safety. Let's assume that this expert is using some external tool for risk analysis and this tool uses inputs from the previous activity and generates list of identified risks.

We will show here, how this risk analysis tool can download necessary inputs from the DTXS server and upload the results of the risk analysis back.

Expected output

List of risks for the previously planned task, saved to the DTXS server as a set of records of ndc:Safety.Risks.Register class and assigned to the task using the ndc:Tasks:RiskIds property.

Steps

Note: In this example, the 'download-record' operations are creating separate JSON files. These files would then have to be loaded into an external risk-analysis tool. It is recommended to use a DTXS-client directly in the tool to avoid creating and reading JSON files back-and-forth.

1
Download the 3D model

The 3D model has been uploaded in the previous activity. Now we will use it for visualisation of the task plan.

python dtxs-client.py config.json download-document test-db [DOCUMENT_UID] sample-3d-model.ifc The document has been saved into sample-3d-model.ifc file.
2
Download definition of the task

Let's suppose that this activity is done by an expert who does not have any connection to those who planned the task in the previous activity. So, we will need to download all information about the planned task from the previous activity. Example below illustrates that there will be multiple download-record commands. Full example is available in  https://github.com/wai-blue/dtxs-client/blob/main/use-case-1-3.py

python dtxs-client.py config.json download-record [RECORD_UID] task.json The record has been saved into task.json file. ... python dtxs-client.py config.json download-record [RECORD_UID] task.json The record has been saved into task.json file.
3
Download other necessary data.

Use download-record to download all other necessary data like worker roles, workers and robots or definition of teams. See the previous activity for the list of downloadable data. You will need UIDs of each record.

Note: These other data could be, e.g., already known hotspots. If your current task is, e.g., to dismantle a certain component, you might need to know the hotspots measured in one of the previous tasks. These measurements are important input to the identification of the risks and so the should be available in the next steps.

python dtxs-client.py config.json download-record [RECORD_UID] [OUTPUT_FILE] The record has been saved into XYZ file.
4
Feed downloaded data into a risk-analysis tool.

All inputs for the risk analysis are ready to be used. Feed/import them into the tool.

If the tool would have a DTXS client directly implemented, the transfer of data could be transparent, without using external JSON files.

No interaction with DTXS is necessary now.

5
Identify risks.

Use your risk-analysis tool to identify risks.

6
Upload risks back to the server and assign them to the task.

Let's suppose your risk-analysis tool has a user interface which allows an expert to create a risk. Once the risk is created, the tool shall call the DTXS API to create a record of class ndc:Safety.Risks.Register.

python dtxs-client.py config.json create-record test-db ndc:Safety.Risks.Register '{ "Name": "Fall from height", "Description": "A worker can fall, railing is missing.", "Type": "Safety", "Severity": 9, "Probability": 9 }' Received access token, length: 1165 bytes Record created. UID = 8efc2169-4b58-11f0-a491-f4ee08cb8a79 python dtxs-client.py config.json update-record test-db [RECORD_UID_OF_TASK] '{ "RiskIds": ["RISK_1_UID", "RISK_2_UID", ..., "RISK_N_UID"] }' Received access token, length: 1165 bytes Record updated. UID = 8efc2169-4b58-11f0-a491-f4ee08cb8a79

Similar operation should be done for update: python dtxs-client.py config.json update-record ...

Conclusion

In this activity, we've shown how an external tool can download inputs from DTXS to perform risk analysis and then upload the results (list of risks) back to the server.

If you have access to the Aquila Twinlab tool, you should see list of identified risks there.

Now, continue to the Next activity: Task inspection and risk assessment.

(C) wai.blue | Rendered using GuideVis