Digitaler-Impfnachweis / covpass-android

The official CovPass(-Check) Android apps and SDK.
https://digitaler-impfnachweis-app.de
Apache License 2.0
183 stars 59 forks source link

IMPORTANT (CovPassCheck): Add a 'Booster'-Info to the "Certificate valid"-Screen... #139

Closed Jo-Achim closed 2 years ago

Jo-Achim commented 2 years ago

Avoid duplicates

Current Implementation

If vaccination certificates are scanned with CovPassCheck (v1.13.3), the current situation is as follows: A scan of a vaccination certificate (e.g. BionTech 2 of 3) delivers "Certificate valid". A scan of a vaccination certificate (e.g. BionTech 3 of 3) from the same person also provides "certificate valid". That is correct so far.

Suggested Enhancement

Against the background of the new regulation, which has already been partially introduced, that 'boosted' people no longer need an additional corona test, this 'boosted' information must be displayed as additional information in CovPassCheck (and CWA).

According to current information, the above-mentioned regulation - i.e. no additional tests for 'boosted' / people with a booster vaccination - should be decided in the coming week for all of Germany.

Expected Benefits

This is the only way to determine at a glance whether an additional corona test is actually necessary or not during an access control, for example.

E.g.:

Screenshot_20211212-132710_21

"Booster #1" is an idea to count boosters when more than one booster (i.e. a second, third, ...) booster is needed.

Additional context

When making the solution, it must certainly be taken into account that further booster vaccinations will be necessary for the future and of course all vaccine combinations must be taken into account when determining the 'booster'.

vaubaehn commented 2 years ago

Vote +1 that this is important.

It may also be integrated/combined together with https://github.com/Digitaler-Impfnachweis/covpass-android/issues/107 . Serial scanning of certificates will be necessary to identify booster certificates (2/2) for J&J jabbed people (1/1): Both the J&J vaccination DCC and the Booster DCC need to be scanned to recognize the 2/2 as a booster. As many people are affected, implementation of the issue here together with #107 should be done asap.

Ein-Tim commented 2 years ago

This is, in the very end, a duplicate of https://github.com/Digitaler-Impfnachweis/covpass-ios/issues/73. But since this issue only underlines how important this change would be, I'm fine with leaving it open.

oliver-steinbrecher commented 2 years ago

Thanks for requesting this feature. We're currently refining enhancements to address this situation. Instead of showing more details on the verification result screen in the CheckApp we're going to add verification settings. This setting can be enabled and results in handling 2G+ situations equally with test or booster. Feature is planned to be delivered in release 1.17 .

Ein-Tim commented 2 years ago

@oliver-steinbrecher Any ETA? We're at 1.13 now, so this could take till beginning of February, I assume?

oliver-steinbrecher commented 2 years ago

Yes

Jo-Achim commented 2 years ago

@oliver-steinbrecher,

is it possible to change the prioritization? Or are planned changes up to v.1.17 more important? Or is the workload so high?

(I know that all discussions about the relief for boosted people are a bit open in view of Omicron - according to today's reports, a decision should be made before Christmas. On the other hand, such reliefs could promote vaccination readiness, relieve test laboratories, ...!?)

oliver-steinbrecher commented 2 years ago

We’re aware of the topic’s importance. Currently I can’t confirm anything else.

Jo-Achim commented 2 years ago

It can currently be assumed that today (01/07/2022), at least for the gastronomy in Germany, “2G plus” (2G +) will be decided and will therefore come into force in the next few days. “2G plus” (2G +) means, that only fully vaccinated persons plus a negative corona test or only fully vaccinated persons plus a booster vaccination have access to the gastronomy (and possibly other areas).

So we need - especially for the controls - on the one hand a practicable handling to check the "complete vaccination incl. test" and on the other hand the "complete vaccination incl. booster vaccination". This seems to me to be a must and ideally should be available at the same time as the regulation comes into force.

In relation to the title here: Add a 'Booster'-Info to the "Certificate valid"-Screen... to CovPassCheck as soon as possible!

Jo-Achim commented 2 years ago

“2G plus” (2G +) means, that only fully vaccinated persons plus a negative corona test or only fully vaccinated persons plus a booster vaccination have access to the gastronomy (and possibly other areas).

And already decided!

See e.g.: Bund und Länder einigen sich auf 2G plus für Gastronomie – deutschlandweit

In Deutschland ist der Zutritt zu Restaurants, Kneipen, Bars und Cafés für doppelt Geimpfte und Genesene bald nur noch mit einem tagesaktuellen negativen Schnelltest möglich. Darauf haben sich Bund und Länder in einer gemeinsamen Videoschalte verständigt. Die sogenannte 2G-plus-Regel gilt demnach bundesweit und unabhängig von der lokalen Inzidenz. Ausgenommen von der Testpflicht sind geboosterte Personen ab dem Tag ihrer Auffrischungsimpfung. Wer weder Impf- noch Genesenennachweis erbringen kann, bleibt der Zutritt in gastronomische Betriebe gänzlich verwehrt.

RobTho commented 2 years ago

will apply to NRW by 13. January 2022, see: https://www.mags.nrw/pressemitteilung/aenderung-der-corona-schutzverordnung-ausnahmen-von-der-testpflicht-fuer Additionally also you need no extra test, if you are fully vaccinated but without booster and are recovered from covid19, too

no-go commented 2 years ago

The EU has explicitly ensured that the QR code can also be presented in paper form without a cell phone. As of today, I am therefore lost in NRW, as the CovPassCheck app cannot distinguish a Booser from an ordinary vaccination at entrance. So I have to get tested despite booster or use again the 40 years old WHO vaccination certificate.

no-go commented 2 years ago

Is there anyone with write access to make a review on that pull request? https://github.com/Digitaler-Impfnachweis/covpass-android/pull/156

sleeksorrow commented 2 years ago

FWIW: There are news articles out there where the German Federal Ministry of Health (Bundesministerium für Gesundheit, BMG) states that CovPassCheck App will not be changed to address this issue, mainly for data privacy reasons. https://netzpolitik.org/2022/booster-nachweis-covpasscheck-app-nutzlos-bei-einigen-corona-regeln/

No idea if this ministry is capable to decide over an open source project, tho.

Ein-Tim commented 2 years ago

@sleeksorrow

As the app is published by the RKI (see https://digitaler-impfnachweis-app.de/impressum), which is, according to https://www.rki.de/DE/Content/Institut/institut_node.html, "[...] ein Bundesinstitut im Geschäftsbereich des Bundesministeriums für Gesundheit."

So, in the end, I think: Yes, they can decide.

oliver-steinbrecher commented 2 years ago

FWIW: There are news articles out there where the German Federal Ministry of Health (Bundesministerium für Gesundheit, BMG) states that CovPassCheck App will not be changed to address this issue, mainly for data privacy reasons. https://netzpolitik.org/2022/booster-nachweis-covpasscheck-app-nutzlos-bei-einigen-corona-regeln/

No idea if this ministry is capable to decide over an open source project, tho.

This article does not reflect the reality. As already said improvements are planed for release 1.17 . Further improvements related to booster detection are planned for release 1.18.

sleeksorrow commented 2 years ago

Thank you very much for the swift clarification.

HappyLuke commented 2 years ago

FWIW: There are news articles out there where the German Federal Ministry of Health (Bundesministerium für Gesundheit, BMG) states that CovPassCheck App will not be changed to address this issue, mainly for data privacy reasons. https://netzpolitik.org/2022/booster-nachweis-covpasscheck-app-nutzlos-bei-einigen-corona-regeln/

No idea if this ministry is capable to decide over an open source project, tho.

I guess this is simple missinterpretation. If I understood correctly @oliver-steinbrecher they are implementing an enhanced solution to check 3g/2g/2g+ and whatever solution. The required enhancement stated in the article proposes to show the number/date of vaccination. This ministry is stating that this would not be able to implement. Checking for specific rules does not explicitly reveal more information, but is only checking for a logic in the background, so this is a different case and must be validated by data privacy department. (I assume this has already been done but not yet published).

Though I understand the CWA and the CovPass projects should be open source projects. In regards to that it is very helpful and supporting that people can raise questions and issues via GitHub. Anyhow I cannot understand why the developers do not share more information and actually discuss the requirement in more details. Making applications open source can only enhance the user experience efficiently if all stakeholders incl. the users are part of the full application life cycle. This includes the business analysis and requirement refinement process. For this specific, very crucial topic I cannot see any further discussions. In worst case this might result in a feature which is not accepted and used by the user. So it would be very helpful for all of us if you can include people here into the discussions. Thank you!

Kamik423 commented 2 years ago

Just some more thoughts:

  1. In most parts of Germany J&J + one booster are enough to make one count as boosted, however Bavaria has there own rules where a third vaccination is required. This has to be addressed as well.
  2. Due to format limitations 2G + Booster requires two scanning passes. It should also indicate then if it scanned a test certificate or a vaccination one since most people don't put their test certificate into the CovPassApp as a EUDCC is very hard to get for a test.

In my opinion (as discussed in https://github.com/Digitaler-Impfnachweis/covpass-ios/issues/96) it would be best to provide the CovPassCheckApp operator with a menu something like this:

Valid checks:
[ ] Test
[ ] Vaccination
[X] Booster
[X] Vaccination + Test

As it is the most transparent, flexible and (in my opinion) intuitive interface for this.

Jo-Achim commented 2 years ago

@Kamik423, thank you for your hints. However, care should be taken to make it as easy as possible for the CovPassCheckApp operator. In particular, if he has to check a large number of certificates plus one ID document each. Finally, the acceptance of the measures also depends on their practical feasibility.

al-Iskandar commented 2 years ago

https://play.google.com/store/apps/details?id=ch.admin.bag.covidcertificate.verifier since many weeks...

boecko commented 2 years ago

Just wait till the wave is through. So you don't have to implement that feature. Seriously

Am I supposed to print "3 of 3" on the card, so "Otto-Normal"-people accept the state of vaccination, which is in the QRCode?

oliver-steinbrecher commented 2 years ago

I want to let you know that development of 1.17 has been completed and the further processing is still on track.

no-go commented 2 years ago

@boecko that's how I see it, too.There are very official-looking EU certificates. Laminated, they look very good. This looks so official that often not even the QR code is scanned.

no-go commented 2 years ago

@oliver-steinbrecher Version 1.17? There is still a big delay between f-droid (Version 1.13.2, jan 8 2022) and g-play (1.15.0, dec 21 2021) but okay :)

gfrewqpoiu commented 2 years ago

@oliver-steinbrecher Version 1.17? There is still a big delay between f-droid (Version 1.13.2, jan 8 2022) and g-play (1.15.0, dec 21 2021) but okay :)

The F-Droid Version is not maintained by this team. See here for details.

boecko commented 2 years ago

@boecko that's how I see it, too.There are very official-looking EU certificates. Laminated, they look very good. This looks so official that often not even the QR code is scanned.

I'm using the iOS-Screenshot from the CovpassApp. Blue background, name and then I removed the star and "Weitere Zertifikate". That looks very official, too.

Jo-Achim commented 2 years ago

@Kamik423 wrote:

In my opinion (as discussed in Digitaler-Impfnachweis/covpass-ios#96) it would be best to provide the CovPassCheckApp operator with a menu something like this:

Valid checks:
[ ] Test
[ ] Vaccination
[X] Booster
[X] Vaccination + Test

As it is the most transparent, flexible and (in my opinion) intuitive interface for this.

I answered:

@Kamik423, thank you for your hints. However, care should be taken to make it as easy as possible for the CovPassCheckApp operator. In particular, if he has to check a large number of certificates plus one ID document each. Finally, the acceptance of the measures also depends on their practical feasibility.

I downloaded Switzerland's 'CovPassCheck app' today; see: COVID Certificate Check.

In addition to the fact that the app also got along with 2G+ (booster) in a short test, @Kamik423's approach, which corresponds somewhat to the Swiss model, is perhaps better than I initially rated it. Why? Contrary to my idea that the 'door-keeper' should have to do as little as possible manually, the idea can also be reversed.

The 'door keeper' usually knows what standard the guests have to have in order to be let in. As a result, it can also make sense for the examiner to set the required standard, e.g. "2G+" (once at the start of the examination), and all further scan results ultimately only show whether the certificate shown / scanned corresponds to the required standard.

Of course, it can be a bit impractical if several certificates / vaccination statuses authorize entry. But that could also be solved, if necessary, by multiple selection of the "test mode", which is currently not implemented in the current version from Switzerland but includes @Kamik423's suggestion.

So sorry @Kamik423, your suggestion is more workable than I assumed.

vaubaehn commented 2 years ago

Of course, it can be a bit impractical if several certificates / vaccination statuses authorize entry. But that could also be solved, if necessary, by multiple selection of the "test mode", which is currently not implemented in the current version from Switzerland but includes @Kamik423's suggestion.

Or it's possible by implementing a more granular set of admission profiles (e.g., "2G+ with boosters", "2G+ without boosters...") and a serial/multiple scanning mode, as suggested in November 2021 via #107 . That feature was also implemented in Austria's GreenCheck by around November/December 2021.

timokoenig commented 2 years ago

The new scan mode for multiple certificates will be added in 1.17, see https://github.com/Digitaler-Impfnachweis/covpass-android/discussions/172

vaubaehn commented 2 years ago

@timokoenig Thanks for the hint. Heureka!

Kamik423 commented 2 years ago

@Jo-Achim wrote:

The 'door keeper' usually knows what standard the guests have to have in order to be let in. As a result, it can also make sense for the examiner to set the required standard, e.g. "2G+" (once at the start of the examination), and all further scan results ultimately only show whether the certificate shown / scanned corresponds to the required standard.

My words exactly :)

The best way would be probably to have presets for the configurations like "3G", "2G", "2G+ and Booster" and so on.

oliver-steinbrecher commented 2 years ago

@Jo-Achim wrote:

The 'door keeper' usually knows what standard the guests have to have in order to be let in. As a result, it can also make sense for the examiner to set the required standard, e.g. "2G+" (once at the start of the examination), and all further scan results ultimately only show whether the certificate shown / scanned corresponds to the required standard.

My words exactly :)

The best way would be probably to have presets for the configurations like "3G", "2G", "2G+ and Booster" and so on.

That’s exactly what you’ll get

HappyLuke commented 2 years ago

The new scan mode for multiple certificates will be added in 1.17, see #172

Sorry, but you won't get a like for this. I can't believe scanning multiple qr codes is the best usability which can be offered by CovPass. This is exactly what I have elaborated on. The implementation is far away from the requirement described in this post. Remembering me of this cartoon https://images.app.goo.gl/RoHo44xXAWoVLxzR9

I even more like the new feature of the CWA App were 2g/3g/2g+ is shown next to the qr code. Although this is as well some kind of a workaround.

But maybe I'm misunderstanding the new feature let's see.

oliver-steinbrecher commented 2 years ago

Multiple scans are only needed in rare case - please check the regulations.

Kamik423 commented 2 years ago

This would require multiple certificates (like multiple vaccination doses and/or recoveries) in the same QR code which is not currently permitted by the EU Digital COVID Certificate format specification (however it would be quite trivial to implement on a technical level). So there is no way to change this currently in any app. Only one vaccination dose, test, or recovery per certificate.

Jo-Achim commented 2 years ago

Now it may be that I misunderstand something: At least from the digital vaccination certificates, a booster can be read based on vaccination 3/3. In cases where a vaccination certificate plus a test certificate has to be checked, it's will hardly be able to avoid several scans. Otherwise, a new certificate / new QR code would have to be 'created' somehow from two or more certificates.

Kamik423 commented 2 years ago

Yes exactly. But in some cases it would be nice to have a combined certificate for vaccination + test. Currently in this case (2G+) two scans will be required currently.

treysis commented 2 years ago

1.17 in early February? They're joking, right?

vaubaehn commented 2 years ago

@treysis

1.17 in early February? They're joking, right?

I assume the devs/companies are not to blame here. From SAP I know, that they're usually rather aware of necessary features (with regard to the dynamic evolution of the pandemic), and that they are negotiating with RKI implementation of new features, also taking community requests into account. And I strongly suppose the same is true for IBM. I think the bottleneck is BMG/RKI, and I speculate that they were quite busy with themselves (also due to change in government last November/December) and due to delays of evaluation of funding (according to media, contracts have been extended just recently).

My feeling is, if needs of changes/new features are rather obvious and we don't hear so much from the devs, then BMG/RKI are the right addressees, because something is stuck there.

treysis commented 2 years ago

I know. My astonishment was targeted at RKI. I can't believe they're still so behind the reality. Though actually I am not surprised.

vaubaehn commented 2 years ago

@oliver-steinbrecher

Multiple scans are only needed in rare case - please check the regulations.

I guess the cases are not that rare currently: For 2G+ you won't need two DCCs, when you're boostered. As of today, around 50% of the population is boostered - and when around 75% are vaccinated, this means around 1/3 of the vaccinated don't have a booster yet. In absolute numbers that would mean roughly ~27.000.000~ 20.000.000 people, that would need two DCCs to scan when entering a 2G+ venue.

So, I'm very happy about the new features (presets, serial scanning) to come. Thanks guys!

vaubaehn commented 2 years ago

@Kamik423

This would require multiple certificates (like multiple vaccination doses and/or recoveries) in the same QR code which is not currently permitted by the EU Digital COVID Certificate format specification (however it would be quite trivial to implement on a technical level). So there is no way to change this currently in any app. Only one vaccination dose, test, or recovery per certificate.

Some additional information:

edit: direct link to the discussion: https://github.com/ehn-dcc-development/ehn-dcc-schema/issues/110#issuecomment-907308313

treysis commented 2 years ago

For 2G+ you won't need two DCCs, when you're boostered.

Afaik that's not always the case and depends on state law. Bavaria still requires negative tests when entering some venues, even when boostered.

vaubaehn commented 2 years ago

@treysis right, I forgot about this... it's even more complex...

vaubaehn commented 2 years ago

@HappyLuke

The new scan mode for multiple certificates will be added in 1.17, see #172

Sorry, but you won't get a like for this. I can't believe scanning multiple qr codes is the best usability which can be offered by CovPass. This is exactly what I have elaborated on. The implementation is far away from the requirement described in this post. Remembering me of this cartoon https://images.app.goo.gl/RoHo44xXAWoVLxzR9

I even more like the new feature of the CWA App were 2g/3g/2g+ is shown next to the qr code. Although this is as well some kind of a workaround.

But maybe I'm misunderstanding the new feature let's see.

I think the planned implementation is the best you can achieve with regard to a balance of usability, security (avoid abuse of fraud certificates), and data privacy. If I understand the planned implementation right,

That's it. So, it will ease the things significantly for visitors and for gatekeepers: clear information, still best possible data privacy, no discussions anymore about the booster status....

Kamik423 commented 2 years ago

@vaubaehn thanks for the interesting discussion. I meant the thing said in the last link: Altering the schema to support this would be very simple. The format could easily support both a test and a vaccination for example. This leave the signing issue; the app cannot do it locally. This could be solved by making a request to an EU server that can "fuse" to certificates for the same user; creating a new signed certificate after validating the ones it gets. This combined vaccine+test QR code could then be shown in big screen phones.

While I think this could improve user experience it is probably deemed as being too complex to implement.

I think part of the issue of codes scanning badly is the specific QR code reader implemented in the CovPass apps. It seems to have some issues; especially when it is printed on a warped piece of paper such as the printout you get at a pharmacy. I have scanned far more complex barcodes with the iOS built-in QR code reader. As far as I am aware it is available to developers as an API. But instead the developers opted to use [this](https://github.com/IBM/ios-scanner) open source scanner. I at least partially blame this for poor scanning performance.
timokoenig commented 2 years ago

Altering the schema to support this would be very simple.

This would mean to adjust all apps and rules of every member states so I would not consider this very simple.

I think part of the issue of codes scanning badly is the specific QR code reader implemented in the CovPass apps. It seems to have some issues; especially when it is printed on a warped piece of paper such as the printout you get at a pharmacy. I have scanned far more complex barcodes with the iOS built-in QR code reader. As far as I am aware it is available to developers as an API. But instead the developers opted to use this open source scanner. I at least partially blame this for poor scanning performance.

I'm not aware of any really big scanning issues with the iOS app except the usual problems with printouts. If you have any more information you are welcome to open up a ticket in the iOS repo. The used iOS library is just an UI wrapper around iOS internals so nothing special that affects scanning performance. Besides that it is known that there are scanning problems with Android and their SDKs which has been addressed in some other tickets.

treysis commented 2 years ago

This would mean to adjust all apps and rules of every member states so I would not consider this very simple.

Not necessarily. This could be a Germany-exclusive function. Similar to what Switzerland is doing with their Light-Certificate (which is only valid in Switzerland and can only be created for Switzerland-issued certificates).

vaubaehn commented 2 years ago

@Kamik423

This could be solved by making a request to an EU server that can "fuse" to certificates for the same user; creating a new signed certificate after validating the ones it gets. This combined vaccine+test QR code could then be shown in big screen phones.

Personally, I find this a nice and practical solution. The only downside would be, that test centers (or doctors) would need to additionally scan users' vaccination DCCs. This makes data privacy agreements much more complex, because test center/doctor/laboratory would either need to store the vaccination DCC before submitting test result together with the vaccination DCC to issuance portal for "fusion", and/or transferring the vaccination DCC over several instances (e.g., from test/center or doctor to laboratory before the laboratory transmits the result with vacc DCC in case of PCR test)... So, test centers would have more work and testees would have more to read (data privacy agreement) and sign... The original argument from EU legal department was, that the DCC should contain as least information as possible, and in case more information is needed, the presentation of multiple DCCs is better than integrating more information into one DCC...

I think part of the issue of codes scanning badly is the specific QR code reader implemented in the CovPass apps. It seems to have some issues; especially when it is printed on a warped piece of paper such as the printout you get at a pharmacy. I have scanned far more complex barcodes with the iOS built-in QR code reader. As far as I am aware it is available to developers as an API. But instead the developers opted to use this open source scanner. I at least partially blame this for poor scanning performance.

Yes, the never ending story about QR code readers... that hopefully will end soon (and only affected Android afaik): The first implementation in CWA Android was the old ZXING library, that is not actively maintained anymore. This lib has problems with image processing, when single QR code blocks do not have an exact 1:1 proportion. CovPass implemented a newer and still maintained library (boofCV scanner) for image processing, that is much more flexible, reliable and fast. But: due to bad stock Android implementations in Samsung devices, the lib crashed on newer models (folds...).

But CWA now adapted to boofCV, circumventing the crashes on Samsung fold devices, and I think CovPass/CovPassCheck will catch up with this - so QR code scanning should be solved for everyone soon.

treysis commented 2 years ago

so QR code scanning should be solved for everyone soon.

Not until the stupid grey overlay is removed and/or QR codes can be presented in full brightness automatically.