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 | |
| Boosterprik | |
| Calendar | |
+| CalendarGear | |
| Check | |
| Checked | |
| 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