ehn-dcc-development / eu-dcc-schema

Schema for the ehn DCC payload
Apache License 2.0
164 stars 59 forks source link

NL Birthdates with XX #78

Closed SchulzeStTSI closed 3 years ago

SchulzeStTSI commented 3 years ago

We received a lot of requests about valid birth dates from NL which can have the format of XX-XX-1963. This one are rejected by the schema. Is there a way to support it?

jschlyter commented 3 years ago

Per the latest version of the schema, date of birth MUST be formatted as YYYY-MM-DD, YYYY-MM, or YYYY.

@gabywh, please confirm.

gabywh commented 3 years ago

Per the latest version of the schema, date of birth MUST be formatted as YYYY-MM-DD, YYYY-MM, or YYYY.

@gabywh, please confirm.

Yes can confirm, v1.1.0 - but do please note the OP:

valid birth dates from NL which can have the format of XX-XX-1963.

This is not correct for two main reasons:

  1. the "ICAO" format (at least: it is the ICAO Use Case here, so I'll just refer to it as the "ICAO format" for short, so that way we keep both the physical format plus the Use Case in mind) is 1963-XX-XX
  2. this is definitively NOT supported in the DGC schema which is ISO8601

At the risk of repeating myself:

  1. ICAO can have e.g. 1963-XX-XX
  2. An ISO8601 equivalent would be 1963 (thus: YYYY)

Two Use Cases for comparison:

  1. Manual:
    1. 1963-XX-XX (ICAO) says: "there is no month to compare and no day to compare, so you can only compare year"
    2. 1963 (ISO8601) says: "there is no month to compare and no day to compare, so you can only compare year"
    3. result: a manual comparison compares year only
  2. Programmatic:
    1. one line of Python to compare "1963-XX-XX" with "1963"

Given that the QR code will be scanned, the programmatic comparison will most likely be used in the verification business rules.

gabywh commented 3 years ago

Detailed in: https://github.com/ehn-digital-green-development/ehn-dgc-schema/releases/tag/1.1.0

ijansch commented 3 years ago

Although XX-XX-1963 is indeed a dutch birthdate, it's the yyy-mm-dd version of it (1963-XX-XX) what we'd like to put in the date field. Preferably we can use the actual XX-XX (or 00-00) as that matches exactly what is on the ID card that a verifier would check against. Having support for '1963' only is already a major leap forward in supporting unknown dates, but a verifier would have to know that the '1963' in the DGC and the '1963 xx xx' in the person's ID are the same thing, which is why XX-XX is more ideal.

chris2286266 commented 3 years ago

Sorry, but "1963-XX-XX" does NOT conform to the schema and/or ISO8601. I suggest, that you just use "1963" and a) let your local Validation-App display "1963-XX-XX" in such a case and/or b) leave it to the verifier to recognize, that a birthdate displayed as "1963" is the same as "1963-XX-XX".

wasperen commented 3 years ago

in the latest version (https://github.com/eu-digital-green-certificates/dgc-testdata/tree/6c4da5873361081362d599ea55fd6c01cd46d017/NL) we have settled on the following example dates:

T:2021-01-01
T:1963
T:1964-01
T:1963-00
T:1953-09-03
T:2000-02-29
F:1815-08-24
F:2023-01-01
wasperen commented 3 years ago

Sorry, but "1963-XX-XX" does NOT conform to the schema and/or ISO8601. I suggest, that you just use "1963" and a) let your local Validation-App display "1963-XX-XX" in such a case and/or b) leave it to the verifier to recognize, that a birthdate displayed as "1963" is the same as "1963-XX-XX".

that is the decision we have taken. we never had XX-XX-1963, but did have 1963-XX-XX in there, which we now settled on.

chris2286266 commented 3 years ago

that is the decision we have taken. we never had XX-XX-1963, but did have 1963-XX-XX in there, which we now settled on.

Whom do you mean by "we"?

wasperen commented 3 years ago

that is the decision we have taken. we never had XX-XX-1963, but did have 1963-XX-XX in there, which we now settled on.

Whom do you mean by "we"?

we as in The Netherlands

wasperen commented 3 years ago

https://github.com/ehn-digital-green-development/ehn-dgc-schema/releases/tag/1.1.0

this fixes it

gabywh commented 3 years ago

Sorry, but "1963-XX-XX" does NOT conform to the schema and/or ISO8601. I suggest, that you just use "1963" and a) let your local Validation-App display "1963-XX-XX" in such a case and/or b) leave it to the verifier to recognize, that a birthdate displayed as "1963" is the same as "1963-XX-XX".

that is the decision we have taken. we never had XX-XX-1963, but did have 1963-XX-XX in there, which we now settled on.

Which is just ridiculous and violates (1) an ISO standard, and (2) the eHealthNetwork guidelines for interoperability. I guess any further comment is superfluous

wasperen commented 3 years ago

Hey Gabi - as you see here https://github.com/ehn-digital-green-development/ehn-dgc-schema/issues/78#issuecomment-848860527 we are now using completely ISO compliant dates. You will find these in the test cases that we submitted into the testdata repository a couple of days ago and which have subsequently been merged into the set. Sorry for any confusion. Regards, W

vaubaehn commented 3 years ago

Which is just ridiculous and violates (1) an ISO standard, and (2) the eHealthNetwork guidelines for interoperability. I guess any further comment is superfluous

I'm surprised about the communication style among/between collaborators.