NWFWMD-IT / Hydrologic-Monitoring-Project

0 stars 0 forks source link

Set `LocationVisit.InventoryVerified` default to 'No' #141

Closed mmannion closed 9 months ago

mmannion commented 9 months ago

Business Case

User testing round 2 feedback includes changes to the survey section in which users verify the equipment present at a Location (ADD REFERENCE TO CORRESPONDING ISSUE). As part of this change, we are refining how the LocationVisit.InventoryVerified value gets set.

To minimize burden on the user, and to avoid self-inconsistent results, we will not ask the user directly whether they verified the inventory (now called "equipment"). Instead, the survey will first display a list of equipment for the Location, then ask the user if any changes need to be made via the question: "Changes to equipment?" Possible answers will be "Yes" and "No", as chosen by radio button.

By default, the question will have neither answer value selected. If the user interacts with that question - choosing either the "Yes" or "No" value - the survey will set InventoryVerified to "Yes". This implies that the geodatabase should default to setting InventoryVerified to "No" in absence of a positive assertion to the contrary.

To summarize the behavior regarding the (newly renamed) "Changes to equipment?" survey question:

User Behavior InventoryVerified Value
Skip question No (geodatabase default)
Answer Yes Yes
Answer No Yes

Additional Context

We intend to capture two types of information during a Location Visit about the equipment inventory:

  1. Did the user check the inventory?
  2. Do the inventory records need updating?

These are related, but separate, questions. Accordingly, we need separate mechanisms for storing their answers. In the data model:

The possible values are:

InventoryVerified Value LocationIssue Record Description
No Absent User did not check equipment inventory
No Present INVALID - Survey will control InventoryVerified value to avoid this condition
Yes Absent User checked inventory and found it to be correct
Yes Present User checked inventory and found it to be incorrect

Inventory Expectations

Note that users are not required/expected to check the equipment inventory during every Location Visit (although they have the option to do so).

When a user does inspect the equipment inventory, they may make a cursory assessment or a detailed one. For example, all users will notice the presence/absence of a data logger. Astute users may notice that the same model of logger is both installed and reported by the survey. During most visits, we only expect users to record these observations if there is a discrepancy with the equipment.

Infrequently (e.g. annually) users will be specifically tasked with taking a detailed field inventory, including verifying serial numbers.

To Do

mripp commented 9 months ago

I added the logic to Survey123 and tested. If the user Selects 'Yes' or 'No' to 'Changes to Equipment Needed' then the database field LocationVisit.InventoryVerified is set to 'Yes' If the user Selects nothing to 'Changes to Equipment Needed' then the database field LocationVisit.InventoryVerified is set to 'No' Image

Note that the field LocationVisit.InventoryVerified doesn't need to be automatically set to No in order for this to work.