Versions Compared

Key

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

...

  1. Contact Tracer (CT) begins CT interview over phone

  2. CT prompts interviewee to upload data from SafePaths app to SafePlaces

  3. CT works with interviewee to redact, update, and add points of concern

  4. CT concludes interview and transitions case data from “In Progress” state to “Staged for Publishing”

  5. Admin user of SafePlaces/HA selects cases that are in a state of “Staged for Publishing”

  6. Admin user performs further redaction on aggregated case data

  7. After further redaction, the admin user transitions the cases from “Staged for Publishing” to a “Published” stateThe SafePlaces application creates an JSON file of the anonymized aggregate data “Publishing” state.

  8. Transitioning a set of cases to a “Published” state will result in the creation of a publication record that is associated with all of the cases. The publication record will be representative of the publishing – including a timestamp of when the publishing occurred and other metadata.

    All cases associated with the publication will be aggregated, anonymized, serialized as JSON, and written to a temp file (see The File that is Downloaded for how file(s) The file created in step #8 is programmatically uploaded will be structured).

    After being generated, the file(s) will be programmatically transferred to the location the HA plans to host published data from. will host the JSON file from (specified in the organization’s settings). How an HA serves up the file could differ from one HA to the next (could be AWS s3, gcloud, standard file server, etc.). The HA is responsible for implementing this functionality within their own API or by extending the existing example application.

  9. SafePaths mobile application hits the endpoint the HA has configured to host published data from and performs intersection logic

...

Example of the Cursor File:

Code Block
{
  version: '1.0',
  name: 'My Example Organization',
  publish_date_utc: 1591199908,
  info_website_url: 'http://info.wowza.com',
  api_endpoint_url: 'https://api.wowza.com/safe_paths/',
  privacy_policy_url: '',
  reference_website_url: 'https://reference.wowza.com/',
  notification_threshold_percent: 66,
  notification_threshold_count: 6,
  pages: [
    {
      id: '1590395806_1590399405',
      startTimestamp: 1590395806,
      endTimestamp: 1590399405,
      filename: 'https://api.wowza.com/safe_paths/1590395806_1590399405.json'
    },
    {
      id: '1590399406_1590403005',
      startTimestamp: 1590399406,
      endTimestamp: 1590403005,
      filename: 'https://api.wowza.com/safe_paths/1590399406_1590403005.json'
    },
    {
      id: '1590403006_1590406605',
      startTimestamp: 1590403006,
      endTimestamp: 1590406605,
      filename: 'https://api.wowza.com/safe_paths/1590403006_1590406605.json'
    },
    {
      id: '1590406606_1590410205',
      startTimestamp: 1590406606,
      endTimestamp: 1590410205,
      filename: 'https://api.wowza.com/safe_paths/1590406606_1590410205.json'
    },
    {
      id: '1590410206_1590413805',
      startTimestamp: 1590410206,
      endTimestamp: 1590413805,
      filename: 'https://api.wowza.com/safe_paths/1590410206_1590413805.json'
    }
  ]
}

As the device iterates through this list it will pull down the filename which will contain the contact points data. Those files will contain the following.

Code Block
{
  version: 2.0,
  authority_name: 'My Example Organization',
  publish_date_utc: 1590268155,
  info_website: 'http://sample.com',
  notification_threshold_percent: 66,
  notification_threshold_count: 6,
  concern_point_hashes: [ '416aa7c7caef6032', '201c55540de7155c' ],
  pages_name: 'https://api.wowza.com/safe_paths/1590395806_1590399405.json'
}

...

  1. How often will the admin of the HA be releasing data for publishing? This seems like more of a question about the HA’s workflow but has impact on how often the SafePaths mobile app pulls data to perform intersection analysis on.

  2. What does the data in the file the admin downloads look like? There seems to be some confusion around what data is actually contained in the JSON file that the admin user downloads. We know that the file should contain aggregate anonymized points of concern but I’ve run into uncertainty on what points of concern are relevant to what needs to be included in the file at the time of download. I’ve heard that we only want to return . What’s the (date) range of data that reflected in the file? There have been talks that the file should contain one of the following but it is unclear on where we’ve landed:

    1. The file that the admin user downloads contains all points of concern that have been

    added
    1. published since the

    last time a file was downloaded (last publishing/”Released for Publishing”). I’ve also heard that we want to release a master file that contains ALL points all anonymized points of concern since. We should figure out which approach is correct in order to move forward
    1. start of them using the SafePlaces workflow tool – a “master” file. After the admin selects the cases to publish they are simply appended to this file.

    2. The file that the admin user downloads only contains points data about the cases they are currently publishing. The file would be representative of the points of concern added since the last time they published a file.