-
Notifications
You must be signed in to change notification settings - Fork 7
feat: prefill ICAO fields. #185
Comments
Hi @ascheibal , Although the referenced issues deal with vaccination certificates, they show the kind of trouble that manually entering of standardised names for RATs will introduce. Is there any progress in the implementation of this important feature? |
Hi @vaubaehn, |
@ascheibal @ggrund-tsi I'm looking into this right now. I think this issue needs to be taken care on 2 points:
The solution for the second part would be to update via change events on the name fields. I would like to test my ideas before I commit anything or submit pullrequest. Is there a way to start a local (working) dev environment?
Maybe there is some kind of dev guide to get a local, rudimentary version of keycloak running for this? I installed a docker version for this and patched the keycloak.json call, but configuration on keycloak seems to be a intense task from my point. For this issue there is no need to have all api calls present, I only need to get into the interface and open the registration/qr-code forms. Maybe another staging env, like i had on onboarding, would do the job? |
@janhoffmann
Not 100% sure, but wouldn't change events also work for QR code input? I assume same events are triggered when fields are filled out by QR module? I hope they can provide you with a testing environment. |
Hi @ascheibal , thanks a lot for your kind reply.
Full understanding, but I see it's in your mind, and I hope it will get into your discussions soon.
Yes, I see. There are also different issues that can arise from insufficient 3rd-party-implementations that 'we' came across lately (and I hope you don't mind my pings too much in that context). But there could be solutions regarding 3rd-party implementations: the transmission of the standardised names could be made optional. If fields are missing, the backend could generate them automatically before further processing. If fields are present, they could be used as transmitted (with or without validation from backend, whether they're correct. I'd prefer with validation...). In a strict approach, an error could be responded when the transmitted standardised names are not validated as correct against the regular names. My concerns are, that wallet apps (CWA and others) began to implement person certificate containers that hold all kind of certificates (v,t,r). Correct matching of new certificates of a single person to the correct (pre-)existing container becomes crucial. From a pragmatic point of view you may say, it's a 'nice to have' when certificates are matched correctly to corresponding containers. From the 'common user' perspective I expect a high number of complaints, when some certificates are matched correctly, and for others (name mismatch) new containers are created. Matching by standardised names that are automatically generated by input of regular names may not solve all problems but mitigate the most. A good algorithm to create standardised names can sanitize flawed input from manual entry of regular names. Manually entering standardised names introduces the same problems like any manual input. Beside this, it will help testing staff, doctors etc. to save some time in data entry.
True. Probably it could be a good idea to involve IBM/UBirch into this discussion/process. Their apps seem also to make use of a container model, and from reviews in app stores it looks like they're already using standardised names for matching ('Name mismatch in CWA, but no issue in CovPass').
Yes, and I assume you're seeing similar reasons like me, why it could be a good idea to implement it. Thus, my long text above is only to structure some arguments if you want to use them to discuss in an upcoming meeting. |
That's why I need to test this locally :-) |
@janhoffmann |
@ascheibal |
Possibly reference implementation by T-Systems? (to be discussed) |
Hi @BrittaTSI , |
Hi @vaubaehn - the issue is still in our backlog. There has been not decision yet by the development team on when to implement it. |
Hi @kerstin-oppermann-tsi and @BrittaTSI , may I kindly ask to re-raise following issues internally (again):
Why: When looking to error source a), TSI can't do much about it - except implementing a visual trigger to the RAT portal (display a text), that staff needs to ensure that the RAT certificate to be issued should exactly correspond to other already stored certificates (vaccination, recovery) in terms of forename, middlename surname, titles and birthdate. For API partners connected to the backend, it would be good to have a mailing to inform them, that it is recommended to implement a staff-client-feedback-loop to ensure that these data match. When looking to error source b), TSI should now urgently implement the great suggestion of @ascheibal : the ICAO fields in the RAT portal should be pre-filled to avoid typos/wrong transformation to ICAO standard when entering data (still manually) thus failing grouping of certificates. The implementation of ICAO transformation for the RAT portal should exactly produce the results that would result from the algorithm for our Bundespersonalausweis. Some sources where these issues had been discussed lately: Inviting some people into this issue to keep track or to facilitate internal discussion: For me it's not clear whether the issuance portal for issuing certificates via pharmacies already uses an automatted ICAO transformation. In this case it would be good to align IBM's and TSI's implementations. Same is true for GEMATIK applications/issuance of certificates via doctor's offices. Please leave us a line, how you will pick up this issue (again). |
Hi @thinkberg, unfortunately forgot to ping you. Please see #185 (comment) |
@vaubaehn I totally agree. Correctly typing the standardized name is the most time consuming part in the hole registration process. On the other hand this is a guarantee for disaster, converting strings is a job for code, not for humans. I want to stress one more point: |
The name is standardized using ICAO rules. However, Sometimes name components are taken from different (automated) sources and may include parts not relevant or missing parts of the name. So its not the transliteration, its the data sources that make it hard. And that is nothing easily fixed. |
Hi @thinkberg , thanks for your comment. @janhoffmann pinned it to the point in one sentence:
This is why I (or we) kindly ask you, all stakeholders, to find and agree on one ICAO algorithm reference implementation, and make it mandatory for all connected parties. It is forseeable that a reasonable portion of the public will run into problems to prove their admission status (i.e., 2G +/B) when two certificates needs to be validated in a sequence and they can't be matched. Maybe Ubirch's implementation could serve as the reference implementation for all? Edit: what I mean with ICAO transliteration heterogenity: for some API partners ICAO means, spelling everything in capital letters and replace white space with '<', while others implemented the full algorithm. |
Here you can find the ICAO Conversion guidelines for the DCC partners |
The code implements a change detection on the name input fields and prefills the standardized name when reading the QR-Code see corona-warn-app#185
@thomasaugsten thanks for the reference implementation. I implemented the algorithm and used it on qr-code reading and added a change detection on name. @kerstin-oppermann-tsi @ggrund-tsi @ascheibal please organize a review and test on my implementation, as I wrote the code without test env. I really would appreciate if "my" instance would be updated with the change asap :-) |
@ggrund-tsi let's have the discussion here: I implemented the algorithm as stated in the wiki. will add missing chars according to pdf. |
@ggrund-tsi i checked SpeakingUrl, i think we don't gain much profit by adding it and add the cost of an external lib we don't control. The new MR has the cyrillic and arabic translations as defined in the standard. One thing we all should agree on: |
@janhoffmann I hope you're fine with the ping: #290 (comment) ? If we could get a review from Ubirch, that would be the best outcome the implementation can have - not only for the RAT portal itself, but all connected workflows, thus more happy users (because the likelihood of correctly grouped recovery/vaccination & RAT test DCCs is inecreased) and more happy stakeholders (because less user complaints about ungrouped DCCs that bind much resources on SAP's/IBM's side)... |
@vaubaehn of cause. One more thought: To be clear: I'm fine with any solution and it doesn't need to be my MR, but it needs to be done. |
I fully agree.
The two goals are: getting better data quality into the RAT portal & providing the best possible reference implementation for future use. Logically, for me the reference implementation would be first step, then implementing it into the RAT portal as the second step. Screening/Reviewing your PR shouldn't be much effort, and just by having a fast look to yours, likely there won't be any changes nescessary. But in any case I'd agree that their review shouldn't be a long lasting blocker. Maybe waiting one week at most, and then move on anyway? |
@vaubaehn Did you hear anything about this? |
Good morning, @janhoffmann , unfortunately I didn't hear anything until now. Due to acute disease I also can't do much currently, so please go ahead anyways. |
@vaubaehn @ggrund-tsi any news on this topic? |
As we have illness and vacations in the team, I tried to check the PR with cyrillic and arabic letters, but for me it didn't work. If I insert cyrillic or arabic letters into the name field they will not automatically transformed and inserted into the ICAO fields.For latin letters it works. But as @ggrund-tsi mentioned cyrillic and arabic letters are the important fields that have to fill. So we decided to wait for developers are back. |
@kerstin-oppermann-tsi |
@vaubaehn no I don't unfortunatly. And as I said we had to wait for our main developers and scoping to look and decide what to do. |
@kerstin-oppermann-tsi which version did you check? |
Hi @kerstin-oppermann-tsi ,
Yes, for the technical aspects, that's the best. However, I will open an issue at Ubirch's repo, and again try to establish a collaboration on the ICAO algorithm itself, as soon as I find some time. They should either have a look to the algorithm before or after TSI merged the working version of @janhoffmann 's PR to the RAT portal, or they could opernsource their algorithm, so we can adapt in at a later point in time just in case there are some unexpected deviations for some transliteration. |
Hi all, |
@ggrund-tsi @fOppenheimer - das Issue können wir schließen, richtig? |
Feature description
The standardized name fields are neccessary for DCC conformity.
Problem and motivation
documentation: 9303_p3_cons_en.pdf
example implementation in python for substitution:
https://github.com/Arg0s1080/mrz/blob/master/mrz/generator/dictionaries/latin_based.py
The text was updated successfully, but these errors were encountered: