# system.kanoa.item.checkItemState(itemStateName, itemStateClassId, itemStates, userId)

Checks if an item state exists in the passed itemStates dictionary and creates it if it doesn't

---
### Parameters
**itemStateName** `String`: Name of item state<br />
**itemStateClassId** `Integer`: Item class Id<br />
**itemStates** `Dictionary`<br />
**userId** `Integer`: Id of user executing the function<br />

---
### Returns
**itemStateId** `Integer`<br />
**itemStates** `Dictionary` Updated dictionary if new item state created<br />
**itemStatesUpdated** `Boolean` True if itemStateName was not found and added to itemStates<br />
**message** `String` None if success<br />

---
### Example
```python
itemStateName = 'Illegible label'
itemStateClassId = 45
itemStates = system.kanoa.utilities.convertDatasetToDict(system.kanoa.item.getItemStates({}), 'itemStateName', 'itemStateId')
userId = 17
retVal, msg = system.kanoa.item.checkItemState(itemStateName, itemStateClassId, itemStates, userId)
```
