Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SwissCovid compatibility #60

Open
DrYak opened this issue Oct 20, 2020 · 4 comments
Open

SwissCovid compatibility #60

DrYak opened this issue Oct 20, 2020 · 4 comments

Comments

@DrYak
Copy link

DrYak commented Oct 20, 2020

Hello,

What do you need to add support for SwissCovid backends (GAEN-based) to Contrac, beyond the URL of the server end-point ( https://www.pt.bfs.admin.ch/v1/ ) ?

@DrYak
Copy link
Author

DrYak commented Oct 20, 2020

Did a quick check:

Given the differences, it would be best to split of the (server-connection/risk-computation) into a separate per-country plugin/engine. The good thing is that once that is done, it would be easier to add other countries usibg GAEN-based apps

API for server is documented in code here (also, with less comments: for configuration and for auth code). These servers seem to provide dockers (could make testing easier).

The whole architecture diagram.

The server also provides this statistics end-point, which is probably used to generate these graphs.

@llewelld
Copy link
Owner

Thanks for the superb summary, which covers most of the major info needed. Based on this, it looks like it could be pretty straightforward to convert the code from CWA to SwissCovid.

The only part I'm not so clear on is the TEK upload process (the part highlighted in the attached picture, the equivalent of TeleTAN entry in the Corona-Warn-App).

The idea of a plugin is an interesting one. I'd originally planned to put contracd (the GAEN service) into a separate rpm package and build entirely separate UIs. This mirrors the approach of Android/iOS, and allows multiple frontends to share the same backend. I'm not sure how sensible it would be to try to squeeze the CWA and SwissCovid frontends into the same app, but having plugins to cover different DP-3T reference-derived apps probably does make a lot of sense.

How best to proceed with this? If you're interested to take it further, I'd start by splitting contracd off into a separate repository. We can then fork what's left to create a SwissCovid version and if they can be reunited into a single app later, then that would be neat.

tek-upload

@nasi87
Copy link

nasi87 commented Apr 5, 2021

Except the possibility of uploading a positive test result is it even necessary to program a plugin/new app for use in Switzerland since the CoronaWarnApp and SwissCovid are now compatible? Or does this apply only to the official apps and when using Contrac in Switzerland I won't have any usefulness?

@llewelld
Copy link
Owner

llewelld commented Apr 5, 2021

It sounds like you have it exactly right. I'd need to look again at the latest CWA sourcecode to be sure, but as long as you switch to "Download coverage Europe" in the settings then you should start receiving the Swiss keys. As you point out, you can download keys, but you can't upload them, and it's important to understand what this really means:

  1. You'll be alerted if you've come in to contact with someone who subsequently registers a positive test result.
  2. If you register a positive result, you won't then be able to have other people who've come into contact with you be notified.

For the second point, you could extract the key data needed from Contrac, but it's unlikely you'd be able to get this submitted using the official app or by any other means. That's a pretty important constraint if you want to use Contrac in Switzerland I'm afraid, so it would still be preferable to properly support the Swiss protocols.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants