Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

All symptoms should generate symptom reports/exposure notifications (bug in 0.3) #268

Closed
danamlewis opened this issue Jun 12, 2020 · 11 comments · Fixed by #274 or #278
Closed

All symptoms should generate symptom reports/exposure notifications (bug in 0.3) #268

danamlewis opened this issue Jun 12, 2020 · 11 comments · Fixed by #274 or #278
Assignees
Labels
bug Something isn't working
Milestone

Comments

@danamlewis
Copy link
Contributor

Per @mellowgeek, we think symptoms that are not the severe symptom list are not sending to the server, similar to the related android issue (Co-Epi/app-android#237), maybe because of https://github.com/Co-Epi/app-backend-rust/blob/master/src/reporting/public_report.rs ?

Any symptom someone enters in a report SHOULD go to the server and trigger exposure alerts.

While we're fixing this - let's also enable (for now, for testing in early betas) the 'I don't have any symptoms' to trigger exposure notifications as well so people get confidence for the early testing that the app is working as intended for logging exposures/interactions.

Right now, selecting runny nose or other symptoms are not triggering exposure notifications, and all symptoms should trigger an EN.

@danamlewis danamlewis added the bug Something isn't working label Jun 12, 2020
@danamlewis danamlewis added this to the 0.3 milestone Jun 12, 2020
@ivnsch
Copy link
Collaborator

ivnsch commented Jun 12, 2020

I explicitly described the memo representation here: Co-Epi/app-android#165.

The related is conversation is here, and a call IIRC. It was not stated that not all the symptoms should be sent, but implied: e.g. if we want to notify other users about wet, but not dry cough, because the later is less contagious, why would we notify them about e.g. muscle aches?

For completeness, the report is not being sent either if the cough/fever/breathlessness combination is considered not contagious:

pub fn should_be_sent(&self) -> bool {
    self.fever_severity != FeverSeverity::None
        || self.cough_severity != CoughSeverity::None
        || self.breathlessness
}

(this would have to be corrected to exclude e.g. dry cough to be consequent with the above btw).

To speed up the conversation, assuming there was a communication failure and all the symptoms should be sent: What do we do if the user selected e.g. fever and enters a non-fever temperature? Are these details specified somewhere?

@scottleibrand
Copy link
Contributor

Yes, this was a communication failure. Sorry about that.

We want end users to be able to decide for themselves what exposures are worth worrying about, which includes which symptoms are of interest. For now, that means we should generate exposure alerts for all symptoms.

What you documented in Co-Epi/app-android#165 (comment) looks correct to me. But you apparently interpreted that to be the complete list of symptoms we'd report on. I was instead reading that as just the ones that had severity information, and that for all other symptoms we'd just include in the report whether the symptom was reported or not.

@ivnsch
Copy link
Collaborator

ivnsch commented Jun 14, 2020

Okay. I didn't interpret this list as the complete list, it was (IIRC) a call, where it was said that things like muscle aches are irrelevant to user users, from which I inferred that it shouldn't be sent.

Can you please specify what to send/display if user selects fever and enters a non-fever temperature (and maybe other corner cases which I'm not thinking about)?

@danamlewis
Copy link
Contributor Author

Thinking through the options and corner cases on reporting, see below. Let me know if you think this is missing any of the flows.

User-facing option in the app Report to other users
“I don’t have any symptoms today” “No symptoms reported”
Cough Cough - IF wet/dry - report as “Wet cough” or “Dry cough” otherwise as just “Cough”
Shortness of breath Shortness of breath (don’t report severity)
Fever Fever - IF ‘highest fever reported’ is <99.5 F, don’t report fever. Otherwise, do report fever.
Muscle aches Muscle aches
Loss of smell or taste Loss of smell or taste
Diarrhea Diarrhea
Runny nose Runny nose
I have symptoms that are not on the list “Other symptoms”

If symptoms are reported from the first screen but a follow up option (that per above, such as wet/dry cough would be reportable) is skipped, default to reporting the symptom from the home screen, without severity indication.

@ivnsch
Copy link
Collaborator

ivnsch commented Jun 17, 2020

Thanks a lot for the table! Much better. Something new that stands out: do we really want to notify other users about no symptoms reported? Users may fill out the form routinely ("share how you are feeling": this doesn't suggest any relationship with being or having been sick), and we shouldn't send alerts for this.

@ivnsch ivnsch self-assigned this Jun 17, 2020
@ivnsch
Copy link
Collaborator

ivnsch commented Jun 17, 2020

Also, we currently using the fever scale from this issue. <99.5 F could be mild fever with it. Which should be use?

And just to confirm, are we not showing anymore "severe/mild" fever, but just "fever"?

@ivnsch ivnsch linked a pull request Jun 17, 2020 that will close this issue
@ivnsch ivnsch reopened this Jun 17, 2020
@scottleibrand
Copy link
Contributor

The “no symptoms reported” is to allow people to test the exposure notification without having to lie about having symptoms and potentially alarm someone unnecessarily. We’ll probably remove that later once we have sufficient testing.

@ivnsch
Copy link
Collaborator

ivnsch commented Jun 17, 2020

I find this confusing. If we're testing, it should be ok to send arbitrary inputs. Am I missing something?

@scottleibrand
Copy link
Contributor

We’re (hopefully) not the ones who’ll be doing most of the testing. That’ll be the real-world users of the app. So we need to be able to support sending test exposure reports and allow people to use the app “for reals”.

@ivnsch
Copy link
Collaborator

ivnsch commented Jun 18, 2020

Ok, on the basis that we want to be able to test while in production, this makes sense. Just wanting to understand. It's probably good to have these decisions documented too.

Probably it makes sense at some point to add a toggle in settings or similar to ignore (not display) no-symptoms alerts, which would be enabled by default. This way we wouldn't confuse regular users.

Can anyone answer the other 2 questions, please?

#268 (comment)

@scottleibrand
Copy link
Contributor

I don't have a strong opinion on the cutoff for fever. 99.5F seems like a reasonable midpoint in the "mild fever" range, but I would also be fine using 98.6F or 100.5F as the cutoff if it simplifies the code to avoid another threshold.

And yes, we only want exposure alerts to say "fever", not mild/severe.

@ivnsch ivnsch linked a pull request Jun 18, 2020 that will close this issue
@ivnsch ivnsch closed this as completed Jun 18, 2020
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants