Open lukeoftheshire opened 2 years ago
@lukeoftheshire @avaidyam What should be the value of duration in each slice? (the time tapped the bubble - The time tapped last bubble ) or (the time tapped the bubble - bubble display time)? Just to confirm - the slices for each bubble should be recorded whether or not interaction made, right?
time tapped - bubble display time
I believe. It will also need to record the duration between the start of the game and the current bubble appearing on screen as a different field. For all activities, please keep in mind that the ActivityEvent MUST be able to replay the entire game/survey/etc. That is, if a patient uses an activity, the clinician or data scientist must be able to take that data from the ActivityEvent and the original Activity object as well as the ActivitySpec, and then virtually recreate exactly how the game was played, for example.
@avaidyam can I start working on this? it is in on hold now.
@sarithapillai8 If it's on hold, we do not want to work on it yet. There's still more for my team to iron out before we start on this issue.
A new issue has been discovered - when the game shifts to the mode where participants are not supposed to respond to two bubbles of the same color in a row, responses can be incorrectly marked as "correct".
See the following temporal slices
{'item': 43, 'level': 3, 'type': True, 'value': 'yellow no-go-2inrow'},
{'item': 44, 'level': 3, 'type': True, 'value': 'yellow no-go-2inrow'},
{'item': 45, 'level': 3, 'type': True, 'value': 'yellow no-go-2inrow'},
{'item': 46, 'level': 3, 'type': True, 'value': 'yellow no-go-2inrow'},
Note that due to the bug mentioned above we know that each of these definitely reflects a tap (since no data is stored if the user doesn't tap). With that in mind, items 44-46 should have 'type' False, as the represent taps on the same color as the immediately preceding trial. This represents a seemingly independent issue that also needs to be fixed for this cognitive test.
@sarithapillai8 Was the duration key ever added to the temporal_slices dictionary for the Activity Event? We are currently trying to code methods to score the various mindLAMP games, and it appears that duration is not stored in the Pop the Bubbles ActivityEvent data.
@kijote0 I found the data below as the result of the pop the bubbles game. Duration is not missing.
{"duration":288322,"static_data":{},"temporal_slices":[{"duration":10957,"item":1,"level":1,"type":false,"value":"green no-go"},{"duration":5212,"item":2,"level":1,"type":true,"value":"yellow go"},{"duration":7012,"item":1,"level":2,"type":true,"value":"blue go"},{"duration":1158,"item":2,"level":2,"type":true,"value":"yellow go"},{"duration":969,"item":3,"level":2,"type":true,"value":"blue go"},{"duration":1816,"item":4,"level":2,"type":true,"value":"blue go"},{"duration":1269,"item":5,"level":2,"type":true,"value":"yellow go"},{"duration":7498,"item":1,"level":3,"type":true,"value":"blue go"},{"duration":3392,"item":2,"level":3,"type":true,"value":"blue go"},{"duration":1466,"item":3,"level":3,"type":true,"value":"pink go"},{"duration":3983,"item":4,"level":3,"type":true,"value":"pink go"},{"duration":5855,"item":5,"level":3,"type":true,"value":"pink go"},{"duration":1390,"item":6,"level":3,"type":true,"value":"blue go"},{"duration":2863,"item":7,"level":3,"type":true,"value":"pink go"},{"duration":1025,"item":8,"level":3,"type":true,"value":"blue go"},{"duration":2910,"item":9,"level":3,"type":false,"value":"red no-go-constant"},{"duration":4862,"item":10,"level":3,"type":false,"value":"red no-go-constant"},{"duration":4162,"item":11,"level":3,"type":true,"value":"blue go"},{"duration":8056,"item":12,"level":3,"type":true,"value":"blue go"},{"duration":2775,"item":13,"level":3,"type":true,"value":"pink go"},{"duration":1286,"item":14,"level":3,"type":true,"value":"blue go"},{"duration":28957,"item":15,"level":3,"type":true,"value":"pink no-go-2inrow"},{"type":"manual_exit","value":false}],"timestamp":1729753716016}
@sarithapillai8 Some instances of the game do not appear to have the duration key; for instance, the instance from 2022 below does not. {'duration': 474207, 'static_data': {}, 'temporal_slices': [{'item': 1, 'level': 1, 'type': False, 'value': 'red no-go'}, {'item': 2, 'level': 1, 'type': True, 'value': 'pink go'}, {'item': 3, 'level': 1, 'type': True, 'value': 'pink go'}, {'item': 4, 'level': 1, 'type': True, 'value': 'pink go'}, [...], {'item': 54, 'level': 3, 'type': True, 'value': 'blue go'}], 'activity': '24z57qdn0wwsvjtsvzs2', 'timestamp': 1659217949326, '_parent': 'U4602767644'}
This also seems to be the case with data currently being collected in an active study.
@kijote0 The 'duration' key added in 2023. Not sure when that feature was released. We have the duration key now.
@kijote0 I was testing the game on my local system and reviewed the code in the repository, which seemed fine. However, when I checked the build, there was a version issue preventing the 'pop the bubble' game from building successfully, causing an older file to load on the server. I fixed the build issue and updated the LAMP-activities repository. I also checked our LAMP server and can now see the duration parameter there. Could you please check and confirm?
@sarithapillai8 I reran my script, and the duration key still seems to be missing. Just to make sure that I am understanding, will the duration key now show up in all instances of Pop the Bubbles, or just those completed after the update you made to the LAMP-activities repo?
@kijote0 Are you testing on our ZCO server or the production server? We've only updated the staging environment. Please confirm.
@sarithapillai8 The production server, I believe. So I suppose the changes would not be visible then until production is updated, right?
@kijote0 Please check our Zco server (https://lamp-dashboard.zcodemo.com/). Production need to be updated after QA in dashboard-staging.
Per this issue, https://github.com/BIDMCDigitalPsychiatry/LAMP-platform/issues/45, the proper data structure for each temporal slice in Pop The Bubbles is :
However, this is significantly different from the current implementation in (at least) 3 significant ways.
First, each bubble should be always have an entry in the temporal_slices array. Instead, only bubbles that are interacted with record data. For example, here is data for a test where I did not interact with the bubbles in any way:
Second, related to the first,
item
does not correctly record the index of the bubble and simply counts up the number of bubble clicked for each level. This data shows me clicking on the LAST bubble only in a series of trials.Third, duration does not indicate
null
if the bubble is unclicked - this is related to the first issue as well.Currently, this makes data from the pop the bubbles test close to useless as it is impossible to accurately recreate either what the participant saw or what they did. Please let me know if I can give any additional info.