Skip to content
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

feat: Add LTC federal vaccination data #1765

Merged
merged 7 commits into from
Jan 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 4 additions & 52 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ executors:
working_directory: *workspace_root

jobs:
api:
setup:
executor: main-executor
steps:
- checkout
Expand All @@ -34,36 +34,6 @@ jobs:
paths:
- _api
- _data
gatsby-build:
executor: main-executor
steps:
- checkout
- attach_workspace:
at: *workspace_root
- run:
name: apt-update
command: 'sudo apt-get update'
- run:
name: install-dependencies
command: 'sudo apt-get install gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget'
- run:
name: install
command: 'yarn install'
- run:
name: setup
command: 'yarn run setup:env-vars'
- run:
name: build
command: 'yarn run build:gatsby'
- run:
name: test
command: 'yarn run build:test'
- persist_to_workspace:
root: *workspace_root
paths:
- _api
- _data
- public
gatsby-test:
executor: main-executor
steps:
Expand All @@ -90,32 +60,14 @@ jobs:
- run:
name: lint
command: 'yarn run test:lint'
storybook:
executor: main-executor
steps:
- checkout
- attach_workspace:
at: *workspace_root
- run:
name: install
command: 'yarn install'
- run:
name: storybook
command: 'yarn run storybook:build'
workflows:
version: 2
build_and_test:
jobs:
- api
- gatsby-build:
requires:
- api
- setup
- gatsby-lint:
requires:
- api
- setup
- gatsby-test:
requires:
- api
- storybook:
requires:
- api
- setup
15 changes: 15 additions & 0 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,13 @@ const gatsbyConfig = {
type: 'covidAnnotation',
},
},
{
resolve: 'gatsby-source-covid-tracking-api',
options: {
file: './_data/ltc_fed_vaccinations.json',
type: 'ltcFedVaccinations',
},
},
{
resolve: 'gatsby-source-covid-tracking-api',
options: {
Expand Down Expand Up @@ -303,6 +310,14 @@ const gatsbyConfig = {
},
},
},
{
resolve: 'gatsby-source-covid-tracking-counties',
options: {
type: 'Counties',
counties: `${__dirname}/_data/nyt_counties.json`,
demographics: `${__dirname}/_data/census_demographics_counties.json`,
},
},
{
resolve: 'gatsby-render-components',
options: {
Expand Down
34 changes: 34 additions & 0 deletions src/components/pages/data/cards/long-term-care-vaccinations.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React from 'react'
import { Link } from 'gatsby'
import { Card, CardBody, CardNote } from '~components/common/card'
import { Statistic } from '~components/common/statistic'
import LastUpdatedLabel from './last-updated-label'

const LongTermCareVaccinations = ({ ltcFedVaccinations }) => (
<Card title="Vaccinations">
<CardBody>
<Statistic
title="Total resident &amp; staff doses administered"
value={ltcFedVaccinations.Administered_Fed_LTC}
/>
<Statistic
title="Staff &amp; resident 1st dose administered"
value={ltcFedVaccinations.Administered_Fed_LTC_Dose1}
/>

<Statistic
title="Staff &amp;resident 2nd dose administered"
value={ltcFedVaccinations.Administered_Fed_LTC_Dose2}
/>
<CardNote>
Vaccinations administered through the{' '}
<Link to="https://covidtracking.com/about-data/faq#where-does-your-data-about-vaccinations-in-long-term-care-facilities-come-from">
Pharmacy Partnership for Long-Term Care Program
</Link>
</CardNote>
<LastUpdatedLabel date={ltcFedVaccinations.Date} />
</CardBody>
</Card>
)

export default LongTermCareVaccinations
1 change: 1 addition & 0 deletions src/components/pages/data/state-data.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ const State = ({ state, metadata }) => {
longTermCare={state.childLtc}
annotations={state.annotations}
hhsHospitalization={state.hhsHospitalization}
ltcFedVaccinations={state.ltcFedVaccinations}
/>

<a
Expand Down
5 changes: 5 additions & 0 deletions src/components/pages/data/states.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const States = ({
raceDataCombined,
raceDataSeparate,
hhsHospitalization,
ltcFedVaccinations,
}) => {
const stateList = []

Expand Down Expand Up @@ -58,6 +59,10 @@ const States = ({
? hhsHospitalization.find(record => record.state === state.state)
: false

state.ltcFedVaccinations = ltcFedVaccinations
? ltcFedVaccinations.find(record => record.Location === state.state)
: false

stateList.push(state)
})

Expand Down
23 changes: 17 additions & 6 deletions src/components/pages/data/summary.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import TestsViralCard from './cards/tests-viral'
import NationalTestsCard from './cards/tests-national'
import LongTermCareCard from './cards/long-term-care'
import HospitalizationHhsCard from './cards/hospitalization-hhs-card'

import LongTermCareVaccinationsCard from './cards/long-term-care-vaccinations'
import createRaceValues from './cards/crdt/create-race-data'
import CrdtCasesCard from './cards/crdt/cases-card'
import CrdtDeathsCard from './cards/crdt/deaths-card'
Expand Down Expand Up @@ -54,6 +54,7 @@ const StateSummary = ({
longTermCare,
raceData,
hhsHospitalization,
ltcFedVaccinations,
annotations = false,
national = false,
}) => {
Expand Down Expand Up @@ -364,17 +365,27 @@ const StateSummary = ({
recoveredMetricName={getMetricTitle('Recovered', annotations)}
national={national}
/>
{!national && (
</div>
{national && <NationalText footnote={nationalSummaryFootnote} />}
</div>
{!national && (
<>
<h4>Long-term-care facilities</h4>
<div className={summaryStyles.container}>
<LongTermCareCard
data={longTermCare}
stateName={stateName}
stateDeaths={data.death}
stateSlug={stateSlug}
/>
)}
</div>
{national && <NationalText footnote={nationalSummaryFootnote} />}
</div>
{ltcFedVaccinations && (
<LongTermCareVaccinationsCard
ltcFedVaccinations={ltcFedVaccinations}
/>
)}
</div>
</>
)}
{!national && (
<>
<h4>Race &amp; ethnicity data</h4>
Expand Down
10 changes: 10 additions & 0 deletions src/pages/data/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ const DataPage = ({ data }) => {
raceDataCombined={data.allCovidRaceDataCombined.nodes}
raceDataSeparate={data.allCovidRaceDataSeparate.nodes}
hhsHospitalization={data.allHhsHospitals.nodes}
ltcFedVaccinations={data.allLtcFedVaccinations.nodes}
/>
</Layout>
)
Expand Down Expand Up @@ -294,5 +295,14 @@ export const query = graphql`
total_pediatric_patients_hospitalized_confirmed_covid
}
}
allLtcFedVaccinations {
nodes {
Administered_Fed_LTC
Administered_Fed_LTC_Dose1
Administered_Fed_LTC_Dose2
Date
Location
}
}
}
`
8 changes: 8 additions & 0 deletions src/templates/state/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ const StateTemplate = ({ pageContext, data, path }) => {
allTweets,
allCovidAnnotation,
hhsHospitals,
ltcFedVaccinations,
} = data
return (
<Layout
Expand Down Expand Up @@ -69,6 +70,7 @@ const StateTemplate = ({ pageContext, data, path }) => {
raceData={getRaceData(data)}
longTermCare={data.covidStateInfo.childLtc}
hhsHospitalization={hhsHospitals}
ltcFedVaccinations={ltcFedVaccinations}
/>
<StateTweets
tweets={allTweets}
Expand Down Expand Up @@ -326,5 +328,11 @@ export const query = graphql`
total_adult_patients_hospitalized_confirmed_covid
total_pediatric_patients_hospitalized_confirmed_covid
}
ltcFedVaccinations(Location: { eq: $state }) {
Administered_Fed_LTC
Administered_Fed_LTC_Dose1
Administered_Fed_LTC_Dose2
Date
}
}
`