Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Reduces the estimated amount of work by 12 sprint points.

  • Completely eliminates DHP-1020, which is the riskiest work item, and almost completely reduces the risk from DHP-1023.

  • Potentially frees up Dwayne’s schedule later in Q4 to help with the Android stuff or the Permissions stuff.

  • Bridge Downstream runs hourly. If we remove Bridge Downstream, we don’t have to worry about triggering Bridge Downstream in the CSV Worker and adding additional delay.

  • This trivially solves the multi-select problem. We can always just render the raw JSON array in the CSV.

    • That said, this is not a particularly user-friendly output, so we might want to return a comma-delimited list anyway.

Cons

  • Would have to re-write the scoring code from that one Arc measure.

    • This is mitigated because we were planning to re-write it from R to Python anyway, and now we’re considering re-writing it in Kotlin (mobile) or Java (Worker).

  • In the old design, the JSON-to-CSV Worker would generate a zip file with multiple CSVs per assessment. (Some assessments, such as Number Match, could be relationalized into up to 6 Parquet tables.) In the new design, the JSON-to-CSV Worker would generate only metadata unless the Summarize component were written for the assessment.

    • This can be mitigated if we have some kind of reasonable default, like a link to the raw data in Synapse.

    • We have to write the Summarize components for all 3 Arc measures and for surveys anyway, so this might be a non-issue.

    • One possibility is that the apps provide a separate answers.json which is just a flattened map of key-value pairs, which makes Summarize very easy.

...