# Tag quality isGood() specific codes

**URL:** <https://forum.inductiveautomation.com/t/tag-quality-isgood-specific-codes/22283>\
**Category:** Ignition\
**Created:** [February 1, 2019, 9:03am UTC](https://forum.inductiveautomation.com/t/tag-quality-isgood-specific-codes/22283 "2019-02-01T09:03:05Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [February 1, 2019, 9:03am UTC](https://forum.inductiveautomation.com/t/tag-quality-isgood-specific-codes/22283/1 "2019-02-01T09:03:05Z")

</div>

Hello,

we are using the isGood() expression to evaluate the tag quality, but we don’t know which specific codes it englobe. I’m sure code quality 192 is returned by isGood() method but what more codes returns the isGood() method?

Thank you,

---

<div class="post-metadata">

**Author:** ![JGJohnson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jgjohnson/32/29582_2.png) [@JGJohnson](https://forum.inductiveautomation.com/u/JGJohnson)\
**Post date:** [February 1, 2019, 1:37pm UTC](https://forum.inductiveautomation.com/t/tag-quality-isgood-specific-codes/22283/2 "2019-02-01T13:37:30Z")

</div>

They’re enumerated in the [documentation](https://docs.inductiveautomation.com/display/DOC79/Understanding+Tags#UnderstandingTags-Quality)

---

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [February 1, 2019, 3:37pm UTC](https://forum.inductiveautomation.com/t/tag-quality-isgood-specific-codes/22283/3 "2019-02-01T15:37:39Z")

</div>

Hello,

Thank you for the quick answer, but I have seen the document but it doesn’t specifies that the isGood() function returns only the codes 192 and 216. The question is; the isGood() function only returns 192 and 216?

Thank you,

![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/d/de80f7fb00770fb2767bc0b42e90519532d91bc0.png)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 1, 2019, 4:42pm UTC](https://forum.inductiveautomation.com/t/tag-quality-isgood-specific-codes/22283/4 "2019-02-01T16:42:47Z")

</div>

The entire point of calling out to the `isGood()` method is that you _don’t_ care what specific quality code you have - you’re essentially asking the individual code whether it is considered “good” or not.

That said, the quality codes that `isGood()` will be true for are 192 (good data), 216 (good with local override) and 320 (good, "provisional), meaning that the value may not be good for an indefinite duration.

---

<div class="post-metadata">

**Author:** ![Jose\_Pablo\_Sonnet](https://avatars.discourse-cdn.com/v4/letter/j/7ba0ec/32.png) [@Jose\_Pablo\_Sonnet](https://forum.inductiveautomation.com/u/Jose_Pablo_Sonnet)\
**Post date:** [February 6, 2024, 4:33pm UTC](https://forum.inductiveautomation.com/t/tag-quality-isgood-specific-codes/22283/5 "2024-02-06T16:33:49Z")

</div>

Hi, I'm using Ignition v8 and isGood() is returning true for tag paths that don't exist. To solve this I've found a workaround using qualityOf() and checking the quality code to be equal or greater than 512.  
I have a lot of screens that need to be migrated from v7.9 to v8 so I'm wondering whether there is an easier approach than changing all the expression bindings that currently are using isGood(). Thanks!
