GithubHelp home page GithubHelp logo

eu-digital-green-certificates / dgc-business-rules-testdata Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 34.0 793 KB

License: Apache License 2.0

Python 0.27% Shell 0.26% TypeScript 4.21% CSS 0.17% HTML 95.08%

dgc-business-rules-testdata's People

Contributors

ascheibal avatar astagi avatar carballacc avatar chris-baumann-at avatar colmharte avatar constantinos-yiasemi avatar denzilferreira avatar drashti-patel avatar dslmeinte avatar f11h avatar georgekutty23 avatar ggrund-tsi avatar gstoehld avatar kristinaleko avatar lab-incert avatar lovasoa avatar mkubicek-dtc avatar rafalgra avatar santivicen avatar schulzesttsi avatar stamo avatar teiwacz-principal avatar tgivslife avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dgc-business-rules-testdata's Issues

[EU, NL, FI] Validation of recovery validation time is done on df and du fields rather than fr

For EU, NL and FI rules the validation of recovery is done based upon the fields df and du. This means that a country with different rules in their certificate are not valid.
I believe this validation should solely be based upon the fr field (as DE does correct).

Since these are the template/recommendation rules, I believe this will cause issues

Rules of DE:
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/DE/RR-DE-0002/rule.json
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/DE/RR-DE-0001/rule.json
Rules of EU, NL and FI:
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/EU/RR-EU-0001/rule.json - This means that a country that has more strict rules than your country are validation rather than the local rules
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/EU/RR-EU-0002/rule.json - This means that a country that has less strict rules than your country are invalid and not able to enter
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/FI/RR-FI-0001/rule.json
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/FI/RR-FI-0004/rule.json
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/NL/RR-NL-0001/rule.json
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata/blob/main/NL/RR-NL-0004/rule.json

Split off tooling from this repo

Splitting off the tooling/ and valuesets/ parts of this repo into a separate repo, and its own NPM package.

This should have the following advantages:

  • No dev dependencies (such as TypeScript), which should simplify local set up.
  • Tooling can evolve independently of the rule sets in this staging repo.
  • Split-off tooling can be geared towards ease-of-use outside this repo.
  • Trigger calling of describe Mocha functions explicitly, instead of always running them.

(Could also integrate the split-off tooling into the eu-dcc-business-rules repo.)

AT: Janssen Booster Covid Certificates fail verification

Booster certificates where the original vaccine was Janssen fails verification in AT rules

The Digital Covid Certificate appears as 2 of 1 doses. Number of doses is 2 and Total doses is 1 where it refers total doses of the vaccine used for a booster.

The certificate is as per European recommendation set out here:

https://ec.europa.eu/commission/presscorner/detail/en/ip_21_6837

"Boosters will be recorded as follows:

3/3 for a booster dose following a primary 2-dose vaccination series.
2/1 for a booster dose following a single-dose vaccination or a one dose of a 2-dose vaccine administered to a recovered person"

Problem with certificate validity check when checking against France

Technical details

  • Device name: iPhone XR / Huawei P Smart 2019
  • iOS/Android version: 15.2 / 10
  • Apps used to test: CovPass (Germany) & Corona-Warn-App (Germany)

Describe the bug

Checking any vaccination certificate against validity for entry to France fails with the error "Only test is allowed, and in a EU standard format." Rule ID: GR-FR-0000 (1.0.3)

Steps to reproduce the issue

  1. Add a vaccination certificate to your wallet app supporting validity checks
  2. Check the validity against France
  3. See the issue described above

Expected behaviour

According to https://de.ambafrance.org/COVID-19-Kann-ich-nach-Frankreich-einreisen I'm allowed to travel to France with my vaccination certificate, so I'm not sure why it's shown as invalid. Probably France made a mistake when updating the rules?

Pings

@mkubicek-dtc you initially added the business rules testdata, so you may be able to confirm that this is not intended and transfer this issue to the responsible colleagues?

FYI (CWA/CovPass): @thomasaugsten, @mlenkeit, @dsarkar ,@timokoenig & @vaubaehn

Grooming Master-Excel

Reaction to comments on Master-Excel from RKI.

2Do:
Wording

  • check wording for rules and translations
  • change incorrect translations to fit German version

Deeplinks

  • check deeplinks fo rule JSONs
  • add correct deeplink to JSON for TR-DE-0005

Change rules

  • check possibility in version of CERTLOGIC that is used in apps that are currently in the field to change "+180d" to "+6m" and "+365d" to"+1year"
    • if change is possible THEN check with RKI
      • if RKI agree THEN implement change

CERTLOGIC

  • check who specified CERTLOGIC engine version as "2.0.1"
  • check which value is correct and change Excel accordingly

Consider using latest value sets when running tests

The tests currently specify all external data, including the “compressed” value sets, themselves. That prevents the tests from failing when a value set would change in an incompatible way, which would be good to know. To improve on that, we could do either one of the following:

  1. Use the latest value sets when evaluating, injecting that into the external part of the rules' logic expressions' input data. That means that the corresponding part of the rules' tests can be removed, mostly leaving validationClock.
  2. Keep the value sets specified in the rules' tests, but run the tests a second time with the latest value sets overwriting the specified one.

Wrong entry rules for Malta

Describe the bug

The entry rules / BNR are wrong for Malta. It rejects all certificates as invalid if they are older than 90 days, however, according to https://ec.europa.eu/info/live-work-travel-eu/coronavirus-response/safe-covid-19-vaccines-europeans/eu-digital-covid-certificate_en the validity period of 270 days is binding.
Malta also states that the 270 days is actually the rule (see https://deputyprimeminister.gov.mt/en/health-promotion/covid-19/Documents/Standards_vaccine_certificate_validity_100322_clean.pdf).

Steps to reproduce the issue

Should be clear, you have to use a certificate of a person which is older than 18 years & which is not a booster certificate.

Expected behaviour

Malta should have rules which complies with the actual rules set by the country.

Public Rules API

Hi,

I want to write a node app, to validate a covid cert with the regional rules. Is there any public API, where I can fetch national rule sets like documented with the Gateway API?

I could not find any public API to access but it would be great to have to create a small node implementation to verify certificates with respect to the current national/regional rules.

I'm glad for help. Thanks :)

Apologies if this is not the right place to ask this questions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.