-
Notifications
You must be signed in to change notification settings - Fork 16
Dsew vaccination #1495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dsew vaccination #1495
Conversation
Converted to draft because safegraph is stalling.. |
would you merge in main please? |
@@ -359,7 +372,7 @@ def fetch_new_reports(params, logger=None): | |||
|
|||
# download and parse individual reports | |||
datasets = download_and_parse(listing, logger) | |||
|
|||
print(datasets, datasets.items()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a debugging leftover? Usually we try and use the structured logger to avoid mucking up the kibana dashboards
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I'll make it a logger command (but maybe @nmdefries can weigh in ) - this is because only a pdf instead of an excel file was uploaded on Jan 25/26th to the CDC site, and thus returned None for dataset items). Is it worth keeping in and investigating?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want to fail in that case with a useful message, we can add an assert. But it would be reasonable to check if a given listing is empty in the for sig, lst in datasets.items():
loop below. If it is empty, continue
to the next listing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think because it's not happened again, I'm going to just ignore it for now! That makes sense if it ever comes up again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the booster field is under a new section heading ("overheader"), we need to include the vaccinations/boosters overheader, e.g. "COVID-19 VACCINATION DATA: LAST WEEK (January 15-21)", in parsing via including patterns for it in skip_overheader()
dsew_community_profile/delphi_dsew_community_profile/constants.py
Outdated
Show resolved
Hide resolved
I was looking at all the vaccination-related fields CPR provides, including here for future reference. We want total & new doses administered, + boosters. It's currently under discussion if total should be only initial doses, or include boosters. It's also unclear to me exactly what is included in CPR's "Doses administered". Overheaders: Headers: From the data dictionary in the CPR spreadhsheets,
|
Hi Nat, I just saw your review, so I'll update the indicator shortly with your edits. |
Oh nooooo This is a different definition than expected. Typically we'd consider an immunocompromised person who has received an additional dose as part of their initial series (ie 3 doses total) to be "fully vaccinated" and not "boosted", but this report seems to be tossing them into the "boosted" category so long as that 3rd dose occurred after their arbitrary August 13 cutoff. I don't think there's anything we can do about that in our code, we'll just have to make it super clear in the documentation that this is how the CPR is counting it. cc @capnrefsmmat |
Not surprising that they're conflating the categories like this, but yes, that's definitely a problem we should clearly document. (I'd expect many of our users not to know the additional dose/booster dose distinction either.) |
…ovidcast-indicators into dsew_cp_vaccination
Co-authored-by: nmdefries <[email protected]>
Co-authored-by: nmdefries <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Note: when we're ready to publish these in the API, the new signal keys from SIGNALS
will need to be added to the exported_signals
setting in the Ansible production params template.
Visual and statistical checks: Comment from slack: There are some counties that have "000" as the last 3 numbers. This is because until 11/15/2021, the state levels for people_fully_vaccinated were not NA. I have removed it in the signal_prechecks pdf, but I'm not sure how we want to handle them in the future. We also stop having data for some fips codes after December 16th. I'm not sure why only < 1/2 of the first choropleth map is filled out at the county level the rest of the values I assume being NA. |
Small fixes to CPR vax signals to handle cases when fields are not available
Before 03-09-2021, "People with full course administered" was used instead of "fully vaccinated". Should this be a separate signal or might there be a better way to combine the two explicitly in the code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥳
Great! Holding off on merging until we have the remaining approvals and API documentation ready to go. |
Made a PR for the documentation, I think the visual and stat checks should be done - anything else left? For the PR, looks like I'm running into an error I don't quite understand (because I only edited the markdown). |
Added a note about the failure. |
Booster indicators at the state + level
Of note: