Key Concepts
Safe Places & PathCheck GPS Mobile App
Safe Places is a Web Application deployed at Health Departments for use by Contact Tracers to analyze, redact and publish location data shared by community members.
The PathCheck GPS Mobile App (referred to later as “Mobile App”) is the Mobile App (Android and iOS) that community members use to privately store their location history, share that history with Health Department Contact Tracers, and monitor published “points of concern” for Exposure Notifications.
For historical reasons, in some contexts the PathCheck GPS Mobile App may be referred to as “Safe Paths” - though we are trying to phase out this name.
End-to-End Testing
By this, we mean testing the Mobile App, together with an instance of the Safe Places software. It is possible (and sometimes desirable) to test the Mobile App in isolation, or Safe Places in isolation - See this article for some notes on what other options are available: Testability of Safe Places - PathCheck GPS Mobile App interactions
...
Example 5 - Testing with a personal Safe Places instance
To be completed…. Some testers may wish to run a personal Safe Places instance, for their own sole use. This may be for privacy reasons, or becuase they want to test out some bespoke code changes, some new infrastructure arrangements etc.
Setting up a personal Safe Places instance is pretty complicated.
Anybody who can do that can probably figure out what needs to be done in terms of a YAML file, based on what’s already written above…. not trivial, and it’s beyond the scope of this article to explain how to do that - there is some guidance in the Safe Places repos:
https://github.com/Path-Check/safeplaces-backend
https://github.com/Path-Check/safeplaces-frontend
For end-to-end testign with a personal Safe Places instance, anaswers to the setup questions will typically be:
Use a personalSafe Places instance
Create a bespoke YAML file for this instance or add this instance to the staging YAML file.
EIther use a Development / Develop app build that natively uses the staging YAML, or configure the relevant YAML file using the available Feature Flag.
Testing End-to-End - How to Test
Sharing Location Data
For details & screeshots see here: GPS Mobile App - Overview of Function
In summary:
If Health Department is already available in the App for Location Sharing:
In Safe Places, click “Add New Record”, and note the code provided.
In the Mobile App, choose Location Sharing, choose the appropriate Health Department, then enter the code generated by Safe Places.
Agree to all the various consents, until you get to “Done”
Back in Safe Places, click on “Check Data Upload” - is all is well, you should now see the data points on a map.
If Health Department is not yet available in the App:
Enable Feature Flags in the “About” screen by tapping 10x on “PathCheck GPS”
Under More / Feature Flags, enable “Custom Yaml URL”
Under Health Departments, choose “Manually Add Via URL”
Enter the URL of the YAML file that contains details of the Health Department (see “Key Concepts” and “Example Setups” above if you aren’t clear what this means!)
Once this is entered, your Health Department should now be available in the App for Location Sharing, so you can now perform the process above.
Publishing Location Data
To be completed - with screenshots…add details (Safe PLaces not working right now to confirm exact flows and grab screenshots.
(note you can also manually add data points).
Generating Exposure Notifications
In the Health Departments screen in the Mobile App, click on the relevant Health Department so that a green check appears.
The App should now download the published location data.
If you published location data that came from this device, then it should generate Exposure Notifications for all the times that it had recorded locations (except for any data you may have redacted in Safe Places).
If you published location data that came from a different device, or was created manually, then results will vary depending on the level of overlap with location points stored on this device.
Note that Exposure Notifications only trigger if > 66% of points within a 30 minute period match (i.e. 4 or more points in a 30 minute period). These parameters can be changed in the data published by Safe Places, but there is not yet any Safe Places function to configure these.