Retrieves the individual steps that make up one or more procedures in the Kanoa CMMS system. Use this function to populate a procedure's step list in a UI, to check which steps are `required` versus optional, or to filter down to the steps belonging to a particular procedure. 
All keys in `paramsDict` are optional, so an empty dictionary returns every procedure step, while supplying keys such as `procedureId` or `enabled` narrows the result to matching rows.

---
### Parameters
**paramsDict** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - enabled</td><td>Boolean</td><td></td></tr>	
 	<tr><td> - procedureId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - procedureName</td><td>String</td><td></td></tr>	
 	<tr><td> - procedureStepId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - required</td><td>Boolean</td><td></td></tr>	
 	<tr><td> - stepName</td><td>String</td><td></td></tr>	
	</tbody>
</table>

---
### Returns
**procedureStepData** `pyDataset`<br />

---
### Example
```python
# Get all enabled, required steps for a specific procedure
paramsDict = {"procedureId": 1, "enabled": True, "required": True}

data = system.kanoa.utilities.convertDatasetToJSON(system.kanoa.cmms.getProcedureSteps(paramsDict))

for i, row in enumerate(data):
	print 'Row %i'%i
	for k,v in row.items():
		print k,v
	
	break
>>> 
Row 0
lastUpdatedBy jason on 2026-03-27 16:01:50.770
createdByUser jason
stepDescription Tech to review the current LOTO form.
procedureId 1
enabled True
required False
estimatedMinutes 6
changedDate None
createdDate Fri Mar 27 16:01:50 UTC 2026
stepName Step 1
createdBy 5
changedBy None
procedureName 055 MAINTENANCE LOCKOUT/TAGOUT YEARLY PM
sortOrder 1
changedByUser None
stepConfig None
procedureStepId 3
>>> 
```
