corona-warn-app / cwa-wishlist

Central repository to collect community feature requests and improvements. The CWA development ends on May 31, 2023. You still can warn other users until April 30, 2023. More information:
https://coronawarn.app/en/faq/#ramp_down
Apache License 2.0
105 stars 14 forks source link

Display of special characters in names of vaccinated persons in an internationally compatible, machine-readable way #573

Closed vyeol closed 2 years ago

vyeol commented 3 years ago

Feature description

Add a feature to convert and/or display special characters in names of vaccinated persons (such as Umlauts, letters with diacritical marks etc.) in an internationally compatible and machine-readable way (e.g. ä → ae, ö → oe, ü → ue, ß → ss, etc.), so it conforms with the way these letters are written on official identification documents, e.g. in the machine-readable zone (MRZ) of international passports.

Problem and motivation

When used for verification of vaccination status for international travel, it is predicted to cause issues in countries where special characters in names used in another country are not recognized.

This is an issue already widely known with regular passport identification when the a special character in a name is not recognized and the regular ("upper") part of the identification document and the machine-readable part visibly differ.

In addition to that, displaying the names of vaccinated persons in the app like they are presently, namely with special characters that are not internationally recognizable nor machine-readable, when the document may be used for international travel and proof of vaccination status, seems counterproductive.

In other words, displaying the name of the vaccinated person in a way conforming to international standards is conducive to enabling smooth confirmation of vaccination status.


Internal Tracking ID: EXPOSUREAPP-8186

MikeMcC399 commented 3 years ago

@vyeol The health certificate schema already has provision for what you are asking for.

The authority creating the certificate would need to provide the Family name / Standardised family name and Given name / Standardised given name.

Looking at the Android code, the app already deals with it, but I haven't come across any test certificates where this is used yet and so I don't know what the app will display if there are alternatives.

Maybe somebody else knows?

{
    "person_name": {
      "description": "Person name: Surname(s), given name(s) - in that order",
      "required": [
        "fnt"
      ],
      "type": "object",
      "properties": {
        "fn": {
          "title": "Family name",
          "description": "The family or primary name(s) of the person addressed in the certificate",
          "type": "string",
          "maxLength": 50,
          "examples": [
            "d'Červenková Panklová"
          ]
        },
        "fnt": {
          "title": "Standardised family name",
          "description": "The family name(s) of the person transliterated",
          "type": "string",
          "pattern": "^[A-Z<]*$",
          "maxLength": 50,
          "examples": [
            "DCERVENKOVA<PANKLOVA"
          ]
        },
        "gn": {
          "title": "Given name",
          "description": "The given name(s) of the person addressed in the certificate",
          "type": "string",
          "maxLength": 50,
          "examples": [
            "Jiřina-Maria Alena"
          ]
        },
        "gnt": {
          "title": "Standardised given name",
          "description": "The given name(s) of the person transliterated",
          "type": "string",
          "pattern": "^[A-Z<]*$",
          "maxLength": 50,
          "examples": [
            "JIRINA<MARIA<ALENA"
          ]
        }
      }
    },
}
vyeol commented 3 years ago

First off, thanks a lot for the quick reply!

Glad to know that the functionality is already generally implemented and could potentially be used app-side.

I wonder if there is a way for this to be communicated to the respective health authority (in this case, the RKI, I'd assume), i.e. so that the provision of standardized name data via the certificates to import into the app is realized asap?

Not sure where the exact place to submit this request would be but I imagine the app developers can usually offer direct input aimed at the health authorities with regards to further development.

One would expect standardized name scheming to be reflected on the actual physical certificates themselves as well and it's quite puzzling and inconvenient that this is not the case so far in a globalized international community.

As a random thought I wonder if, for now, it would be useful to offer in-app notes and explanations on special characters until standardized name display is realized (if ever).

MikeMcC399 commented 3 years ago

I found a test certificate with both types of names in https://github.com/eu-digital-green-certificates/dgc-testdata/tree/main/GR https://github.com/eu-digital-green-certificates/dgc-testdata/blob/main/GR/2DCode/raw/1.json shows

"nam": {
    "fn": "ΜΕΝΕΞΕΣ",
    "fnt": "MENEXES",
    "gn": "ΜΑΡΙΟΣ",
    "gnt": "MARIOS"
}

After scanning https://github.com/eu-digital-green-certificates/dgc-testdata/blob/main/GR/2DCode/png/1.png

CWA shows ΜΑΡΙΟΣ ΜΕΝΕΞΕΣ

I couldn't see the standardised name MARIOS MENEXES displayed by CWA at all.

I couldn't scan the certificate into CovPass because it gives a signature error.

I'm not sure whether the non-display of MARIOS MENEXES by CWA is a bug, or whether the request to display it would be an enhancement request.

MikeMcC399 commented 3 years ago

@vyeol The CovPassCheck-App would be the place to read out the name on the certificate and compare it to the name on an official ID document, like a passport or personal ID card.

It would be interesting to try this out on and that would need a signed certificate with a standardized name different to the name displayed in local characters. I don't have an example available to me to try out unfortunately.

(https://en.wikipedia.org/wiki/Machine-readable_passport explains about the use of only A-Z, 0-9 in the MRZ of passport documents.)

thomasaugsten commented 3 years ago

CovPass Check is only showing the local Name not the ICAO Name. You can create the feature request in the CovPass repo.

MikeMcC399 commented 3 years ago

I asked the question in https://github.com/Digitaler-Impfnachweis/covpass-android/discussions/26.

MikeMcC399 commented 3 years ago

@thomasaugsten

CovPass Check is only showing the local Name not the ICAO Name. You can create the feature request in the CovPass repo.

It is not necessary to request a new feature in CovPass Check because this has already been requested in https://github.com/Digitaler-Impfnachweis/covpass-android/issues/6.

vaubaehn commented 3 years ago

according to @thomasaugsten 's comment here: https://github.com/corona-warn-app/cwa-wishlist/issues/551#issuecomment-860639425 the requested feature (in terms of displaying ICAO fields) may be introduced in a future release.

Ein-Tim commented 3 years ago

FYI: https://github.com/corona-warn-app/cwa-app-ios/pull/3279

Ein-Tim commented 3 years ago

Hey @vyeol

Version 2.8 of the Corona-Warn-App displays names in certificates in standardized characters. More Information can be found in this blog post: Corona-Warn-App version 2.8 displays names in certificates in standardized characters.

Do you consider this as implemented? If yes, please close this issue. Thank you!

Ein-Tim commented 3 years ago

Same here, could you close this @dsarkar?

Ein-Tim commented 2 years ago

Can we please close this issue? It makes no sense to leave solved / implemented issues open for longer than necessary.

dsarkar commented 2 years ago

@vyeol Thanks for contributing here, best wishes, DS @Ein-Tim Thanks for the reminder.


Corona-Warn-App Open Source Team