CDCgov / prime-reportstream

ReportStream is a public intermediary tool for delivery of data between different parts of the healthcare ecosystem.
https://reportstream.cdc.gov
Creative Commons Zero v1.0 Universal
73 stars 40 forks source link

WA - GAEN Send failures assessment #6377

Closed brick-green closed 1 year ago

brick-green commented 2 years ago

Problem statement

We currently have a receiver for Google/Apple Exposure Notification (GAEN). The transport regularly fails. We need to understand why it fails and plan for a solution.

What you need to know

Failures can be reviewed on last mile problems page: https://reportstream.cdc.gov/admin/lastmile

Acceptance criteria

To do

GilmoreA6 commented 2 years ago

Majority of errors are of type 400: Bad Request. The GAEN documenation (https://github.com/google/exposure-notifications-verification-server/blob/main/docs/api.md#apiissue) mentions several different reasons for why a 400 status might be returned as evident in this table image.pnge

GilmoreA6 commented 2 years ago

Errors do not appear to be related to message content as there are no obvious deficiencies in failed message. Need to investigate full JSON response to see if this is helpful.

oslynn commented 2 years ago

When I have a chance, I will take a look at this ticket with James.

GilmoreA6 commented 1 year ago

Need to add logic to GAENTransport.kt to include error returned in JSON in logs. ENCV server docs provide context and guidance for this. Relevant portion of code is between lines 238-258 of GAENTransport.kt

oslynn commented 1 year ago

In ticket 7615. I added a response errorCode of 400 Bad request Status code as @GilmoreA6 mentioned above. The errorCode will tell us a specific failure. Therefore, we can address it.

oslynn commented 1 year ago

Every wa-gaen test that failed in last mile failure. They all failed with 400 Bad requests of invalid_date = 'The provided test or symptom date, was older or newer than the realm allows. For the date to be valid the illness_onset_date (or symptomDate) and date_result_release (or testDate) must be within 29 days from the day of submission. And, the illness_onset_data <= data_result_release data. For example, date of submission is 2022-12-15 the date_result_release must be >= 2022-11-17 AND <= 2011-12-15 AND the illness_onset_date >= 2022-11-17 AND <= date_result_release. Otherwise, the date considers being older.

oslynn commented 1 year ago

Need to find out how RS generate the GAEN message for WA-GAEN.