diff --git a/packages/app/schema/archived_gm/__difference.json b/packages/app/schema/archived_gm/__difference.json index 63e8640760..b18ce224e6 100644 --- a/packages/app/schema/archived_gm/__difference.json +++ b/packages/app/schema/archived_gm/__difference.json @@ -5,7 +5,8 @@ "required": [ "tested_overall__infected_moving_average_archived_20230331", "tested_overall__infected_per_100k_moving_average_archived_20230331", - "deceased_rivm__covid_daily_archived_20221231" + "deceased_rivm__covid_daily_archived_20221231", + "hospital_nice__admissions_on_date_of_reporting_moving_average_archived_20230830" ], "properties": { "tested_overall__infected_moving_average_archived_20230331": { @@ -16,6 +17,9 @@ }, "deceased_rivm__covid_daily_archived_20221231": { "$ref": "#/definitions/diff_integer" + }, + "hospital_nice__admissions_on_date_of_reporting_moving_average_archived_20230830": { + "$ref": "#/definitions/diff_integer" } }, "additionalProperties": false, diff --git a/packages/app/schema/archived_gm_collection/__index.json b/packages/app/schema/archived_gm_collection/__index.json index f1bc4f9aa0..662345ffd9 100644 --- a/packages/app/schema/archived_gm_collection/__index.json +++ b/packages/app/schema/archived_gm_collection/__index.json @@ -3,7 +3,7 @@ "type": "object", "title": "archived_gm_collection", "additionalProperties": false, - "required": ["last_generated", "proto_name", "name", "code", "sewer_archived_20230623", "tested_overall_archived_20230331"], + "required": ["last_generated", "proto_name", "name", "code", "hospital_nice_choropleth_archived_20230830", "sewer_archived_20230623", "tested_overall_archived_20230331"], "properties": { "last_generated": { "type": "string" @@ -17,6 +17,14 @@ "code": { "$ref": "#/$defs/archived_gm_collection_id" }, + "hospital_nice_choropleth_archived_20230830": { + "type": "array", + "minItems": 342, + "maxItems": 342, + "items": { + "$ref": "hospital_nice_choropleth.json" + } + }, "sewer_archived_20230623": { "type": "array", "minItems": 342, diff --git a/packages/app/schema/archived_gm_collection/hospital_nice.json b/packages/app/schema/archived_gm_collection/hospital_nice.json new file mode 100644 index 0000000000..9a506e6b18 --- /dev/null +++ b/packages/app/schema/archived_gm_collection/hospital_nice.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "archived_gm_collection_hospital_nice", + "additionalProperties": false, + "required": ["date_unix", "gmcode", "admissions_on_date_of_admission", "admissions_on_date_of_admission_per_100000", "admissions_on_date_of_reporting", "date_of_insertion_unix"], + "properties": { + "date_unix": { + "type": "integer" + }, + "gmcode": { + "type": "string", + "pattern": "^GM[0-9]+$" + }, + "admissions_on_date_of_admission": { + "type": "integer" + }, + "admissions_on_date_of_admission_per_100000": { + "type": "number" + }, + "admissions_on_date_of_reporting": { + "type": "integer" + }, + "date_of_insertion_unix": { + "type": "integer" + } + } +} diff --git a/packages/app/schema/archived_gm_collection/hospital_nice_choropleth.json b/packages/app/schema/archived_gm_collection/hospital_nice_choropleth.json new file mode 100644 index 0000000000..8c5040046c --- /dev/null +++ b/packages/app/schema/archived_gm_collection/hospital_nice_choropleth.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "archived_gm_collection_hospital_nice_choropleth", + "additionalProperties": false, + "required": ["date_unix", "gmcode", "admissions_on_date_of_admission", "admissions_on_date_of_admission_per_100000", "admissions_on_date_of_reporting", "date_of_insertion_unix"], + "properties": { + "date_unix": { + "type": "integer" + }, + "gmcode": { + "type": "string", + "pattern": "^GM[0-9]+$" + }, + "admissions_on_date_of_admission": { + "type": "number" + }, + "admissions_on_date_of_admission_per_100000": { + "type": "number" + }, + "admissions_on_date_of_reporting": { + "type": "number" + }, + "date_of_insertion_unix": { + "type": "integer" + } + } +} diff --git a/packages/app/schema/gm/hospital_nice.json b/packages/app/schema/gm/hospital_nice.json index cbef29ffce..4b044fa2e6 100644 --- a/packages/app/schema/gm/hospital_nice.json +++ b/packages/app/schema/gm/hospital_nice.json @@ -8,9 +8,12 @@ "admissions_on_date_of_admission", "admissions_on_date_of_admission_moving_average", "admissions_on_date_of_admission_moving_average_rounded", + "admissions_in_the_last_7_days", "admissions_on_date_of_reporting", "date_unix", - "date_of_insertion_unix" + "date_of_insertion_unix", + "date_start_unix", + "date_end_unix" ], "properties": { "date_unix": { @@ -25,11 +28,20 @@ "admissions_on_date_of_admission_moving_average_rounded": { "type": ["integer", "null"] }, + "admissions_in_the_last_7_days": { + "type": ["integer", "null"] + }, "admissions_on_date_of_reporting": { "type": "integer" }, "date_of_insertion_unix": { "type": "integer" + }, + "date_start_unix": { + "type": "integer" + }, + "date_end_unix": { + "type": "integer" } } } diff --git a/packages/app/schema/gm_collection/hospital_nice_choropleth.json b/packages/app/schema/gm_collection/hospital_nice_choropleth.json index e5d12dbcc5..701367fd1d 100644 --- a/packages/app/schema/gm_collection/hospital_nice_choropleth.json +++ b/packages/app/schema/gm_collection/hospital_nice_choropleth.json @@ -3,14 +3,7 @@ "type": "object", "title": "gm_collection_hospital_nice_choropleth", "additionalProperties": false, - "required": [ - "date_unix", - "gmcode", - "admissions_on_date_of_admission", - "admissions_on_date_of_admission_per_100000", - "admissions_on_date_of_reporting", - "date_of_insertion_unix" - ], + "required": ["date_unix", "gmcode", "admissions_in_the_last_7_days_per_100000", "date_of_insertion_unix", "date_start_unix", "date_end_unix"], "properties": { "date_unix": { "type": "integer" @@ -19,16 +12,16 @@ "type": "string", "pattern": "^GM[0-9]+$" }, - "admissions_on_date_of_admission": { - "type": "integer" - }, - "admissions_on_date_of_admission_per_100000": { + "admissions_in_the_last_7_days_per_100000": { "type": "number" }, - "admissions_on_date_of_reporting": { + "date_of_insertion_unix": { + "type": "integer" + }, + "date_start_unix": { "type": "integer" }, - "date_of_insertion_unix": { + "date_end_unix": { "type": "integer" } } diff --git a/packages/app/src/components/choropleth-legenda.tsx b/packages/app/src/components/choropleth-legenda.tsx index 22f265b743..f972ff52a7 100644 --- a/packages/app/src/components/choropleth-legenda.tsx +++ b/packages/app/src/components/choropleth-legenda.tsx @@ -31,8 +31,11 @@ export function ChoroplethLegenda({ title, thresholds, valueAnnotation, pageType }); if (pageType === 'sewer' && i === 0 && x.threshold === 0) { label = commonTexts.common.no_virus_particles_measured; + } else if (pageType === 'patienten-in-beeld' || (pageType === 'ziekenhuis-opnames' && i === 0 && x.threshold === 0)) { + label = commonTexts.common.no_notifications; } - if (pageType === 'sewer' && i === 1) { + + if (pageType && i === 1) { label = replaceVariablesInText(commonTexts.common.greater_than_value, { value_1: x.threshold, value_2: thresholds[i + 1].threshold, diff --git a/packages/app/src/components/choropleth-tile.tsx b/packages/app/src/components/choropleth-tile.tsx index c3a529fc05..f9e09d7b85 100644 --- a/packages/app/src/components/choropleth-tile.tsx +++ b/packages/app/src/components/choropleth-tile.tsx @@ -8,7 +8,7 @@ import { ErrorBoundary } from './error-boundary'; import { FullscreenChartTile } from './fullscreen-chart-tile'; import { MetadataProps } from './metadata'; import { Heading, Text } from './typography'; - +import { CalendarGear } from '@corona-dashboard/icons'; type ChoroplethTileProps = { title: string; description?: string | React.ReactNode; @@ -22,6 +22,7 @@ type ChoroplethTileProps = { valueAnnotation?: string; hasPadding?: boolean; pageType?: string; + notification?: string; } & ( | { onChartRegionChange: (v: RegionControlOption) => void; @@ -44,6 +45,7 @@ export function ChoroplethTile({ valueAnnotation, hasPadding, pageType, + notification, ...dataProps }: ChoroplethTileProps) { const breakpoints = useBreakpoints(true); @@ -61,6 +63,15 @@ export function ChoroplethTile({ {typeof description === 'string' ? {description} : description} + {notification && ( + + + + {notification} + + + )} + {onChartRegionChange && chartRegion && ( diff --git a/packages/app/src/components/choropleth/logic/thresholds.ts b/packages/app/src/components/choropleth/logic/thresholds.ts index c4593342ee..778ef72f72 100644 --- a/packages/app/src/components/choropleth/logic/thresholds.ts +++ b/packages/app/src/components/choropleth/logic/thresholds.ts @@ -183,6 +183,41 @@ const hospitalAdmissionsPer100000Thresholds: ChoroplethThresholdsValue[] = [ }, ]; +const admissionsInTheLast7DaysPer100000: ChoroplethThresholdsValue[] = [ + { + color: colors.gray2, + threshold: 0, + }, + { + color: colors.scale.blueDetailed[0], + threshold: 0, + }, + { + color: colors.scale.blueDetailed[1], + threshold: 2.5, + }, + { + color: colors.scale.blueDetailed[2], + threshold: 5, + }, + { + color: colors.scale.blueDetailed[3], + threshold: 10, + }, + { + color: colors.scale.blueDetailed[4], + threshold: 15, + }, + { + color: colors.scale.blueDetailed[5], + threshold: 25, + }, + { + color: colors.scale.blueDetailed[6], + threshold: 50, + }, +]; + const infectedLocationsPercentageThresholds: ChoroplethThresholdsValue[] = [ { color: colors.gray2, @@ -319,6 +354,7 @@ export const thresholds: Thresholds = { gm: { infected_per_100k: positiveTestedThresholds, admissions_on_date_of_admission_per_100000: hospitalAdmissionsPer100000Thresholds, + admissions_in_the_last_7_days_per_100000: admissionsInTheLast7DaysPer100000, admissions_on_date_of_admission: hospitalAdmissionsThresholds, elderly_at_home: elderlyAtHomeThresholds, average: sewerThresholds, diff --git a/packages/app/src/components/choropleth/logic/types.ts b/packages/app/src/components/choropleth/logic/types.ts index ac05cff364..f7d9c9e4cf 100644 --- a/packages/app/src/components/choropleth/logic/types.ts +++ b/packages/app/src/components/choropleth/logic/types.ts @@ -1,5 +1,6 @@ import type { ArchivedGmCollection, + ArchivedGmCollectionHospitalNiceChoropleth, GmCollection, GmCollectionHospitalNiceChoropleth, GmCollectionSewer, @@ -59,7 +60,7 @@ export type InferedDataCollection = T extends GmDa export type GmDataCollection = GmCollectionHospitalNiceChoropleth[] | GmCollectionSewer[] | GmCollectionVaccineCoveragePerAgeGroup[]; export type GmDataItem = GmDataCollection[number]; -export type ArchivedGmDataCollection = GmCollectionTestedOverall[]; +export type ArchivedGmDataCollection = GmCollectionTestedOverall[] | ArchivedGmCollectionHospitalNiceChoropleth[]; export type ArchivedGmDataItem = ArchivedGmDataCollection[number]; export type ArchivedVrDataCollection = VrCollectionVulnerableNursingHome[] | VrCollectionElderlyAtHome[] | VrCollectionDisabilityCare[]; diff --git a/packages/app/src/pages/gemeente/[code]/ziekenhuis-opnames.tsx b/packages/app/src/pages/gemeente/[code]/ziekenhuis-opnames.tsx index 2ab93c9a1a..78250266cf 100644 --- a/packages/app/src/pages/gemeente/[code]/ziekenhuis-opnames.tsx +++ b/packages/app/src/pages/gemeente/[code]/ziekenhuis-opnames.tsx @@ -22,13 +22,15 @@ import { Languages, SiteText } from '~/locale'; import { ElementsQueryResult, getElementsQuery, getTimelineEvents } from '~/queries/get-elements-query'; import { getArticleParts, getDataExplainedParts, getFaqParts, getLinkParts, getPagePartsQuery } from '~/queries/get-page-parts-query'; import { createGetStaticProps, StaticProps } from '~/static-props/create-get-static-props'; -import { createGetChoroplethData, createGetContent, getLastGeneratedDate, getLokalizeTexts, selectGmData } from '~/static-props/get-data'; +import { createGetArchivedChoroplethData, createGetChoroplethData, createGetContent, getLastGeneratedDate, getLokalizeTexts, selectGmData } from '~/static-props/get-data'; import { filterByRegionMunicipalities } from '~/static-props/utils/filter-by-region-municipalities'; import { ArticleParts, LinkParts, PagePartQueryResult } from '~/types/cms'; import { countTrailingNullValues, getBoundaryDateStartUnix, replaceVariablesInText, useReverseRouter } from '~/utils'; import { useDynamicLokalizeTexts } from '~/utils/cms/use-dynamic-lokalize-texts'; import { getLastInsertionDateOfPage } from '~/utils/get-last-insertion-date-of-page'; import { getPageInformationHeaderContent } from '~/utils/get-page-information-header-content'; +import { Box } from '~/components/base/box'; +import { space } from '~/style/theme'; const pageMetrics = ['hospital_nice']; @@ -49,6 +51,11 @@ export const getStaticProps = createGetStaticProps( hospital_nice_choropleth: filterByRegionMunicipalities(hospital_nice_choropleth, context), }), }), + createGetArchivedChoroplethData({ + gm: ({ hospital_nice_choropleth_archived_20230830 }, context) => ({ + hospital_nice_choropleth_archived_20230830: filterByRegionMunicipalities(hospital_nice_choropleth_archived_20230830, context), + }), + }), async (context: GetStaticPropsContext) => { const { content } = await createGetContent<{ parts: PagePartQueryResult; @@ -73,7 +80,8 @@ export const getStaticProps = createGetStaticProps( ); function IntakeHospital(props: StaticProps) { - const { pageText, selectedGmData: data, choropleth, municipalityName, content, lastGenerated } = props; + const { pageText, selectedGmData: data, choropleth, archivedChoropleth, municipalityName, content, lastGenerated } = props; + const [isArchivedContentShown, setIsArchivedContentShown] = useState(false); const [hospitalAdmissionsOverTimeTimeframe, setHospitalAdmissionsOverTimeTimeframe] = useState(TimeframeOption.ALL); @@ -85,12 +93,9 @@ function IntakeHospital(props: StaticProps) { const lastValue = data.hospital_nice.last_value; const lastValueChoropleth = last(choropleth.gm.hospital_nice_choropleth) || lastValue; - const underReportedRange = getBoundaryDateStartUnix( - data.hospital_nice.values, - countTrailingNullValues(data.hospital_nice.values, 'admissions_on_date_of_admission_moving_average') - ); + const underReportedRange = getBoundaryDateStartUnix(data.hospital_nice.values, countTrailingNullValues(data.hospital_nice.values, 'admissions_in_the_last_7_days')); - const sevenDayAverageDates: [number, number] = [underReportedRange - WEEK_IN_SECONDS, underReportedRange - DAY_IN_SECONDS]; + const sevenDayAverageDates = { start: underReportedRange - WEEK_IN_SECONDS, end: underReportedRange - DAY_IN_SECONDS }; const metadata = { ...commonTexts.gemeente_index.metadata, @@ -117,7 +122,7 @@ function IntakeHospital(props: StaticProps) { description={textGm.pagina_toelichting} metadata={{ datumsText: textGm.datums, - dateOrRange: lastValue.date_unix, + dateOrRange: lastValue.date_end_unix, dateOfInsertionUnix: lastInsertionDateOfPage, dataSources: [textGm.bronnen.rivm], }} @@ -134,15 +139,15 @@ function IntakeHospital(props: StaticProps) { - + @@ -193,14 +198,17 @@ function IntakeHospital(props: StaticProps) { municipality: municipalityName, })} metadata={{ - date: lastValueChoropleth.date_unix, + date: { start: lastValueChoropleth.date_start_unix, end: lastValueChoropleth.date_end_unix }, source: textGm.bronnen.rivm, }} description={textGm.map_toelichting} legend={{ title: textGm.chloropleth_legenda.titel, - thresholds: thresholds.gm.admissions_on_date_of_admission, + thresholds: thresholds.gm.admissions_in_the_last_7_days_per_100000, + outdatedDataLabel: textGm.choropleth_legend_outdated_data_label, }} + pageType="ziekenhuis-opnames" + notification={textGm.choropleth_update_notification} > ) { data={choropleth.gm.hospital_nice_choropleth} dataConfig={{ metricName: 'hospital_nice_choropleth', - metricProperty: 'admissions_on_date_of_admission_per_100000', + metricProperty: 'admissions_in_the_last_7_days_per_100000', }} dataOptions={{ selectedCode: data.code, @@ -230,6 +238,52 @@ function IntakeHospital(props: StaticProps) { )} + + setIsArchivedContentShown(!isArchivedContentShown)} + /> + + {isArchivedContentShown && ( + + + + + + )} diff --git a/packages/app/src/pages/gemeente/index.tsx b/packages/app/src/pages/gemeente/index.tsx index 3992f1e178..f203a4bac3 100644 --- a/packages/app/src/pages/gemeente/index.tsx +++ b/packages/app/src/pages/gemeente/index.tsx @@ -1,4 +1,4 @@ -import { colors, GmCollectionHospitalNiceChoropleth, gmData } from '@corona-dashboard/common'; +import { colors, ArchivedGmCollectionHospitalNiceChoropleth, gmData } from '@corona-dashboard/common'; import { useRouter } from 'next/router'; import { useMemo } from 'react'; import { Box } from '~/components/base'; @@ -33,12 +33,12 @@ const Municipality = (props: StaticProps) => { }; const data = useMemo(() => { - return gmData.map( + return gmData.map( (x) => ({ gmcode: x.gemcode, admissions_on_date_of_reporting: null, - } as unknown as GmCollectionHospitalNiceChoropleth) + } as unknown as ArchivedGmCollectionHospitalNiceChoropleth) ); }, []); diff --git a/packages/app/src/pages/landelijk/patienten-in-beeld.tsx b/packages/app/src/pages/landelijk/patienten-in-beeld.tsx index 3c890e2937..b44ffe3a66 100644 --- a/packages/app/src/pages/landelijk/patienten-in-beeld.tsx +++ b/packages/app/src/pages/landelijk/patienten-in-beeld.tsx @@ -1,4 +1,4 @@ -import { colors, GmCollectionHospitalNiceChoropleth, TimeframeOption, TimeframeOptionsList } from '@corona-dashboard/common'; +import { colors, GmCollectionHospitalNiceChoropleth, ArchivedGmCollectionHospitalNiceChoropleth, TimeframeOption, TimeframeOptionsList } from '@corona-dashboard/common'; import { Ziekenhuis } from '@corona-dashboard/icons'; import { GetStaticPropsContext } from 'next'; import { useState } from 'react'; @@ -21,12 +21,14 @@ import { Languages, SiteText } from '~/locale'; import { ElementsQueryResult, getElementsQuery, getTimelineEvents } from '~/queries/get-elements-query'; import { getArticleParts, getDataExplainedParts, getFaqParts, getLinkParts, getPagePartsQuery } from '~/queries/get-page-parts-query'; import { createGetStaticProps, StaticProps } from '~/static-props/create-get-static-props'; -import { createGetChoroplethData, createGetContent, getLastGeneratedDate, getLokalizeTexts, selectNlData } from '~/static-props/get-data'; +import { createGetArchivedChoroplethData, createGetChoroplethData, createGetContent, getLastGeneratedDate, getLokalizeTexts, selectNlData } from '~/static-props/get-data'; import { ArticleParts, LinkParts, PagePartQueryResult } from '~/types/cms'; import { countTrailingNullValues, getBoundaryDateStartUnix, useReverseRouter } from '~/utils'; import { useDynamicLokalizeTexts } from '~/utils/cms/use-dynamic-lokalize-texts'; import { getLastInsertionDateOfPage } from '~/utils/get-last-insertion-date-of-page'; import { getPageInformationHeaderContent } from '~/utils/get-page-information-header-content'; +import { Box } from '~/components/base/box'; +import { space } from '~/style/theme'; const pageMetrics = ['hospital_nice_per_age_group', 'intensive_care_nice_per_age_group', 'hospital_nice', 'intensive_care_nice']; @@ -44,6 +46,9 @@ export const getStaticProps = createGetStaticProps( createGetChoroplethData({ gm: ({ hospital_nice_choropleth }) => ({ hospital_nice_choropleth }), }), + createGetArchivedChoroplethData({ + gm: ({ hospital_nice_choropleth_archived_20230830 }) => ({ hospital_nice_choropleth_archived_20230830 }), + }), async (context: GetStaticPropsContext) => { const { content } = await createGetContent<{ parts: PagePartQueryResult; @@ -68,7 +73,7 @@ export const getStaticProps = createGetStaticProps( ); const PatientsPage = (props: StaticProps) => { - const { pageText, selectedNlData: data, choropleth, content, lastGenerated } = props; + const { pageText, selectedNlData: data, choropleth, archivedChoropleth, content, lastGenerated } = props; const { commonTexts } = useIntl(); const { metadataTexts, textNl } = useDynamicLokalizeTexts(pageText, selectLokalizeTexts); @@ -76,6 +81,8 @@ const PatientsPage = (props: StaticProps) => { const [hospitalAdmissionsPerAgeGroupOverTimeTimeframe, setHospitalAdmissionsPerAgeGroupOverTimeTimeframe] = useState(TimeframeOption.ALL); const [intensiveCareAdmissionsPerAgeGroupOverTimeTimeframe, setIntensiveCareAdmissionsPerAgeGroupOverTimeTimeframe] = useState(TimeframeOption.ALL); + const [isArchivedContentShown, setIsArchivedContentShown] = useState(false); + const admissionsPerAgeGroupOverTimeToggleItems: ChartTileToggleItem[] = [ { label: textNl.hospitals.admissions_per_age_group_chart.toggle_label, @@ -118,6 +125,7 @@ const PatientsPage = (props: StaticProps) => { const lastInsertionDateOfPage = getLastInsertionDateOfPage(data, pageMetrics); const choroplethDataGm: GmCollectionHospitalNiceChoropleth[] = choropleth.gm.hospital_nice_choropleth; + const archivedChoroplethDataGm: ArchivedGmCollectionHospitalNiceChoropleth[] = archivedChoropleth.gm.hospital_nice_choropleth_archived_20230830; return ( @@ -147,23 +155,28 @@ const PatientsPage = (props: StaticProps) => { title={textNl.choropleth.title} description={textNl.choropleth.description} legend={{ - thresholds: thresholds.gm.admissions_on_date_of_admission_per_100000, + thresholds: thresholds.gm.admissions_in_the_last_7_days_per_100000, title: textNl.choropleth.legend_title, + outdatedDataLabel: textNl.choropleth_legend_outdated_data_label, }} metadata={{ - date: choropleth.gm.hospital_nice_choropleth[choropleth.gm.hospital_nice_choropleth.length - 1].date_unix, + date: { + start: choropleth.gm.hospital_nice_choropleth[choropleth.gm.hospital_nice_choropleth.length - 1].date_start_unix, + end: choropleth.gm.hospital_nice_choropleth[choropleth.gm.hospital_nice_choropleth.length - 1].date_end_unix, + }, source: textNl.sources.nice, }} + pageType="patienten-in-beeld" > ) => { )} + + setIsArchivedContentShown(!isArchivedContentShown)} + /> + + {isArchivedContentShown && ( + + + + + + )} diff --git a/packages/cms/src/lokalize/key-mutations.csv b/packages/cms/src/lokalize/key-mutations.csv index 455a549101..2171c2c02e 100644 --- a/packages/cms/src/lokalize/key-mutations.csv +++ b/packages/cms/src/lokalize/key-mutations.csv @@ -82,6 +82,20 @@ timestamp,action,key,document_id,move_to 2023-08-22T10:02:41.494Z,delete,pages.infection_radar_page.nl.sources.self_test.text,NXSglZrybYX4NidHhc6sqn,__ 2023-08-22T10:02:41.494Z,delete,pages.infection_radar_page.nl.title,J4TD0W3ViFgya1T3RhD7vX,__ 2023-08-18T14:03:05.481Z,add,common.gemeente_index.population_count_connected_to_rwzis,jnRBBkraje744C8PaQGbfi,__ +2023-08-24T13:36:49.315Z,add,pages.patients_page.nl.section_archived.description,NMSA8CUHhzxbsw88WVXCPv,__ +2023-08-24T13:36:50.327Z,add,pages.patients_page.nl.section_archived.title,NMSA8CUHhzxbsw88WVXCX8,__ +2023-08-18T10:02:33.947Z,add,common.choropleth_tooltip.gm.admissions_in_the_last_7_days_per_100000.content,jnRBBkraje744C8PaQ1fzO,__ +2023-08-18T10:02:34.932Z,add,common.choropleth_tooltip.gm.admissions_in_the_last_7_days_per_100000.subject,y0YNHvmj0Rc826uxTTWWkI,__ +2023-08-25T14:42:02.461Z,add,common.accessibility.charts.admissions_in_the_last_7_days_per_100000.content,NMSA8CUHhzxbsw88WW7oqT,__ +2023-08-25T14:42:03.415Z,add,common.accessibility.charts.admissions_in_the_last_7_days_per_100000.subject,NMSA8CUHhzxbsw88WW7oxg,__ +2023-08-25T15:05:03.610Z,add,common.accessibility.charts.admissions_in_the_last_7_days_per_100000.description,UeL7Fz3Aoju4f93F3IwAiw,__ +2023-08-25T15:05:04.575Z,add,common.accessibility.charts.admissions_in_the_last_7_days_per_100000.label,eMbA161XQE47KFPnazdUOb,__ +2023-08-25T15:05:04.576Z,delete,common.accessibility.charts.admissions_in_the_last_7_days_per_100000.content,NMSA8CUHhzxbsw88WW7oqT,__ +2023-08-25T15:05:04.576Z,delete,common.accessibility.charts.admissions_in_the_last_7_days_per_100000.subject,NMSA8CUHhzxbsw88WW7oxg,__ +2023-08-28T13:30:23.107Z,add,pages.patients_page.nl.choropleth_legend_outdated_data_label,eMbA161XQE47KFPnb2ZQgL,__ +2023-08-30T11:42:21.554Z,add,pages.hospital_page.gm.section_archived.description,eMbA161XQE47KFPnb4oWHU,__ +2023-08-30T11:42:22.486Z,add,pages.hospital_page.gm.section_archived.title,4jHB9OOu4875vLc5LFHjou,__ +2023-08-30T12:25:17.922Z,add,pages.hospital_page.gm.choropleth_legend_outdated_data_label,LWiFeXKdw2GKCaPW8MlUhW,__ 2023-08-25T09:25:07.075Z,add,pages.infection_radar_page.nl.chart_infection_radar_age_groups.description,wJsqoXQkxXB7L62AucKIES,__ 2023-08-25T09:25:08.066Z,add,pages.infection_radar_page.nl.chart_infection_radar_age_groups.source.rivm.download,uHFfJYJkKtXC1Rsty3F8yT,__ 2023-08-25T09:25:09.049Z,add,pages.infection_radar_page.nl.chart_infection_radar_age_groups.source.rivm.href,eMbA161XQE47KFPnazYbY4,__ @@ -208,3 +222,5 @@ timestamp,action,key,document_id,move_to 2023-08-28T10:03:56.821Z,delete,pages.infectie_radar_page.nl.infected_per_age_group.line_chart_legend_inaccurate_label,wJsqoXQkxXB7L62Auea2cC,__ 2023-08-28T10:03:56.821Z,delete,pages.infectie_radar_page.nl.infected_per_age_group.tooltip_labels.inaccurate,LWiFeXKdw2GKCaPW8KhWMK,__ 2023-08-28T10:03:56.821Z,delete,pages.infectie_radar_page.nl.infected_per_age_group.value_annotation,wJsqoXQkxXB7L62Auea2n2,__ +2023-08-31T12:05:58.216Z,add,common.common.no_notifications,4jHB9OOu4875vLc5LFSd9I,__ +2023-08-31T14:01:09.102Z,add,pages.hospital_page.gm.choropleth_update_notification,Shr9oQOD992CCgY8rdIL7k,__ diff --git a/packages/common/src/types/data.ts b/packages/common/src/types/data.ts index ffbfedf11d..0011031c18 100644 --- a/packages/common/src/types/data.ts +++ b/packages/common/src/types/data.ts @@ -23,6 +23,7 @@ export interface GmDifference { tested_overall__infected_moving_average_archived_20230331: DifferenceDecimal; tested_overall__infected_per_100k_moving_average_archived_20230331: DifferenceDecimal; deceased_rivm__covid_daily_archived_20221231: DifferenceInteger; + hospital_nice__admissions_on_date_of_reporting_moving_average_archived_20230830: DifferenceInteger; } export interface DifferenceDecimal { old_value: number; @@ -120,9 +121,18 @@ export interface ArchivedGmCollection { proto_name: ArchivedGmCollectionId; name: ArchivedGmCollectionId; code: ArchivedGmCollectionId; + hospital_nice_choropleth_archived_20230830: ArchivedGmCollectionHospitalNiceChoropleth[]; sewer_archived_20230623: GmCollectionSewer[]; tested_overall_archived_20230331: GmCollectionTestedOverall[]; } +export interface ArchivedGmCollectionHospitalNiceChoropleth { + date_unix: number; + gmcode: string; + admissions_on_date_of_admission: number; + admissions_on_date_of_admission_per_100000: number; + admissions_on_date_of_reporting: number; + date_of_insertion_unix: number; +} export interface GmCollectionSewer { date_start_unix: number; date_end_unix: number; @@ -772,8 +782,11 @@ export interface GmHospitalNiceValue { admissions_on_date_of_admission: number; admissions_on_date_of_admission_moving_average: number | null; admissions_on_date_of_admission_moving_average_rounded: number | null; + admissions_in_the_last_7_days: number | null; admissions_on_date_of_reporting: number; date_of_insertion_unix: number; + date_start_unix: number; + date_end_unix: number; } export interface GmSewer { values: GmSewerValue[]; @@ -839,10 +852,10 @@ export interface GmCollection { export interface GmCollectionHospitalNiceChoropleth { date_unix: number; gmcode: string; - admissions_on_date_of_admission: number; - admissions_on_date_of_admission_per_100000: number; - admissions_on_date_of_reporting: number; + admissions_in_the_last_7_days_per_100000: number; date_of_insertion_unix: number; + date_start_unix: number; + date_end_unix: number; } export interface GmCollectionSewer { date_start_unix: number; diff --git a/packages/icons/icons.md b/packages/icons/icons.md index f20cb7c91f..f25d8423a3 100644 --- a/packages/icons/icons.md +++ b/packages/icons/icons.md @@ -28,6 +28,7 @@ See below an overview of all the available icons in this package. This file is g | Binnensportlocaties |
Binnensportlocaties
| | Boosterprik |
Boosterprik
| | Calendar |
Calendar
| +| CalendarGear |
CalendarGear
| | Check |
Check
| | Checked |
Checked
| | ChevronDown |
ChevronDown
| diff --git a/packages/icons/src/icon-name2filename.ts b/packages/icons/src/icon-name2filename.ts index 5262f8dd35..5474596caa 100644 --- a/packages/icons/src/icon-name2filename.ts +++ b/packages/icons/src/icon-name2filename.ts @@ -23,6 +23,7 @@ export type IconName = | 'Binnensportlocaties' | 'Boosterprik' | 'Calendar' + | 'CalendarGear' | 'Check' | 'Checked' | 'ChevronDown' @@ -160,6 +161,7 @@ export const iconName2filename: Record = { Binnensportlocaties: 'binnensportlocaties.svg', Boosterprik: 'boosterprik.svg', Calendar: 'calendar.svg', + CalendarGear: 'calendar_gear.svg', Check: 'check.svg', Checked: 'checked.svg', ChevronDown: 'chevron_down.svg', diff --git a/packages/icons/src/svg/calendar_gear.svg b/packages/icons/src/svg/calendar_gear.svg new file mode 100644 index 0000000000..ce02a95059 --- /dev/null +++ b/packages/icons/src/svg/calendar_gear.svg @@ -0,0 +1 @@ + \ No newline at end of file