GUI / covid-vaccine-spotter

https://www.vaccinespotter.org
MIT License
510 stars 138 forks source link

Add generic PrepMod support #167

Open dpca opened 3 years ago

dpca commented 3 years ago

Hello! I noticed that many states use the same PrepMod system under different URLs, and thought it would be cool to make the code a bit more generic and add the Massachusetts system to vaccine-spotter. The only real change was to allow the refreshStores function to take some arguments to define the provider and URL to scrape, and then return a function that runTask can call. I also had to change the handling of searchParams in fetchSearchPage to allow for searching both "covid" and "Vaccination" but honestly I don't think the PrepMod sites ever actually return results for the other selectors (like Testing/Screening) so you could probably drop the services_name_in param entirely. I tested this out locally and both maimmunizations and comassvax seem to work, although I was only able to get so far as verifying that they inserted rows into the database and not to the point where I ran the UI to see them.

I think this code could also help solve #94 and a few other states like Rhode Island.

jxchong commented 3 years ago

FYI not relevant right now for obvious reasons. but PrepMod has been used for stuff like flu vaccine clinics

dpca commented 3 years ago

Ah that makes sense, thanks for the clarification! It's strange that CO has selectors for Testing/Screening/Vaccination/COVID-19 Vaccination with most clinics under "COVID-19 Vaccination" while MA has selectors for just Testing/Screening/Vaccination and RI has no selectors at all. Providing the "Vaccination" search param under Rhode Island in fact leaves most of the clinics out of the returned results, so if that state is added it probably makes sense to either drop the param entirely or have state-specific params set.

dpca commented 3 years ago

Actually after playing with it a bit more, RI's clinics are returned with the "covid" search param, so I think having both available like in the PR will work. All of MA's clinics are under "Vaccinations" which is why I changed it to include both. Adding "Vaccination" also unearths a few additional CO clinics that were missed by just including "covid".

ElizabethCody commented 3 years ago

It should be kept in mind that some municipalities use PrepMod for restricted events and don't always make those restrictions clear on PrepMod page itself. Minnesota's Department of Health has a vaccination PrepMod site that regularly does this. Just the other day there was a clinic listed for deaf and blind people only, except those restrictions weren't specified on the PrepMod site itself, but rather on the state and county pages that linked to it. People have been turned away for making appointments at these clinics without being eligible.

Just something to keep in mind, it's probably advisable to not link directly to the PrepMod site whenever possible and instead link to the relevant page on the provider's main site.

GUI commented 3 years ago

Sorry I've been belated in review this, but adding other PrepMod locations has definitely been on my radar, so thanks for this! I'll try to review this later this week. Thank you!