From 45a86ef2beb50a4be40e4f5fa60a45909844ba24 Mon Sep 17 00:00:00 2001 From: Michael Sprauer Date: Wed, 15 Apr 2020 21:32:59 +0200 Subject: [PATCH 01/19] addCorsMappings pilot.imis-prototyp.de --- .../main/java/de/coronavirus/imis/config/WebMvcConfig.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/de/coronavirus/imis/config/WebMvcConfig.java b/server/src/main/java/de/coronavirus/imis/config/WebMvcConfig.java index e7493b2b..da351785 100644 --- a/server/src/main/java/de/coronavirus/imis/config/WebMvcConfig.java +++ b/server/src/main/java/de/coronavirus/imis/config/WebMvcConfig.java @@ -10,8 +10,11 @@ public class WebMvcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") - .allowedOrigins("https://imis-prototyp.de", "https://staging.imis-prototyp.de", - "http://imis-prototyp.de", "http://localhost:8080") + .allowedOrigins("https://imis-prototyp.de", + "https://staging.imis-prototyp.de", + "https://pilot.imis-prototyp.de", + "http://imis-prototyp.de", + "http://localhost:8080") .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") .allowCredentials(true); } From 02e47691d68ed74ef29674917d0a072d68a158db Mon Sep 17 00:00:00 2001 From: Michael Sprauer Date: Thu, 16 Apr 2020 21:38:02 +0200 Subject: [PATCH 02/19] deploy to eu-west4-b (which is cheaper) --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b914cc89..c4da6e86 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,8 +16,8 @@ env: CLOUD_STORE_SERVICE_ACCOUNT: ${{ secrets.CLOUD_STORE_SERVICE_ACCOUNT }} POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} GITHUB_SHA: ${{ github.sha }} - GKE_ZONE: europe-west3-b - GKE_CLUSTER: cluster-1 + GKE_ZONE: europe-west4-b + GKE_CLUSTER: prod REGISTRY_HOSTNAME: eu.gcr.io jobs: From 2190d819aa67627374cf2dc3200e0ed9162011d8 Mon Sep 17 00:00:00 2001 From: Jochen-Sch Date: Wed, 29 Apr 2020 20:43:13 +0200 Subject: [PATCH 03/19] Correction of Example Data Adjusted name of Health Agency and assigned realistic adresses to Health agency and Lab (not the real ones) --- .../sample_data/createDepartmentOfHealth.json | 14 +++++++------- .../resources/sample_data/createLaboratory.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/server/src/main/resources/sample_data/createDepartmentOfHealth.json b/server/src/main/resources/sample_data/createDepartmentOfHealth.json index c412e35e..99fc2b04 100644 --- a/server/src/main/resources/sample_data/createDepartmentOfHealth.json +++ b/server/src/main/resources/sample_data/createDepartmentOfHealth.json @@ -1,12 +1,12 @@ { "institutionType": "DEPARTMENT_OF_HEALTH", - "name": "Krankenhaus", - "street": "Rhein-Straße", - "houseNumber": "13a", - "zip": "3454325", - "city": "Köln", - "email": "clinic@example.de", + "name": "Gesundheitsamt", + "street": "Hauptstrasse", + "houseNumber": "10-12", + "zip": "66117", + "city": "Saarbrücken", + "email": "healthagency@example.de", "phoneNumber": "43345", - "comment": "this is a comment for the clinic", + "comment": "this is a comment for the health agency", "id": "asdfa" } diff --git a/server/src/main/resources/sample_data/createLaboratory.json b/server/src/main/resources/sample_data/createLaboratory.json index 8cec9a04..b13dc05a 100644 --- a/server/src/main/resources/sample_data/createLaboratory.json +++ b/server/src/main/resources/sample_data/createLaboratory.json @@ -3,7 +3,7 @@ "name": "Labor123", "street": "Hauptstraße", "houseNumber": "12", - "zip": "2453543", + "zip": "10115", "city": "Berlin", "email": "email@example.de", "phoneNumber": "123456", From fd949acc5af98958aebd9fc096689d27eb0f18a2 Mon Sep 17 00:00:00 2001 From: Jochen-Sch Date: Mon, 11 May 2020 17:08:05 +0200 Subject: [PATCH 04/19] Pilot Update & Sync New Case Status, Country List + Sync of symptoms from dev --- client/src/components/LocationFormGroup.vue | 46 +++++++++--------- client/src/models/case_status.ts | 52 +++++++++++++++++++++ client/src/models/index.ts | 10 ++++ client/src/models/risk-occupation.ts | 5 +- client/src/models/symptoms.ts | 10 ---- client/src/views/RegisterPatient.vue | 28 ++--------- 6 files changed, 91 insertions(+), 60 deletions(-) create mode 100644 client/src/models/case_status.ts diff --git a/client/src/components/LocationFormGroup.vue b/client/src/components/LocationFormGroup.vue index be60ff2b..851a5559 100644 --- a/client/src/components/LocationFormGroup.vue +++ b/client/src/components/LocationFormGroup.vue @@ -9,27 +9,16 @@ - @@ -74,17 +63,26 @@ - + + Belgien + Deutschland + Frankreich + Italien + Luxemburg + Niederlande + Polen + Schweiz + Tschechien + Türkei + - + @@ -163,7 +161,7 @@ export default Vue.extend({ }, async handleZipSearch(value: string) { this.currentZipSearch = value - if (!value || value.length < 2) { + if (!value || value.length < 4) { this.zips = [] } else { const result: Plz[] = await getPlzs(value) diff --git a/client/src/models/case_status.ts b/client/src/models/case_status.ts new file mode 100644 index 00000000..9db07f41 --- /dev/null +++ b/client/src/models/case_status.ts @@ -0,0 +1,52 @@ +import { PatientStatus2 } from '@/models/index' + +export interface CaseStatusItem { + id: PatientStatus2; + label: string; + icon: string; +} + +export const caseStatus: CaseStatusItem[] = [ + { + id: 'REGISTERED', + label: 'Registriert', + icon: 'login', + }, { + id: 'CONTACT', + label: 'Kontaktfall', + icon: 'search', + }, { + id: 'SUSPECTED', + label: 'Verdachtsfall', + icon: 'search', + }, { + id: 'TEST_FINISHED_POSITIVE', + label: 'Bestätigter Fall', + icon: 'check', + }, { + id: 'TEST_FINISHED_NEGATIVE', + label: 'Ausgeräumter Fall', + icon: 'stop', + }, { + id: 'RECOVERED_WITH_EMISSION', + label: 'Genesener Fall mit Ausscheidung', + icon: 'logout', + }, { + id: 'RECOVERED_NO_EMISSION', + label: 'Genesener Fall ohne Ausscheidung', + icon: 'logout', + }, { + id: 'RECOVERED_NO_TEST', + label: 'Genesener Fall ohne Nachweis', + icon: 'logout', + }, { + id: 'PATIENT_DEAD', + label: 'Verstorben', + icon: 'cloud', + }, + { + id: 'QUARANTINE_MANDATED', + label: 'Quarantäne angeordnet', + icon: 'safety', + }, +] diff --git a/client/src/models/index.ts b/client/src/models/index.ts index e4601674..de9d14ce 100644 --- a/client/src/models/index.ts +++ b/client/src/models/index.ts @@ -22,6 +22,16 @@ export type PatientStatus = 'REGISTERED' | 'PATIENT_DEAD' | 'DOCTORS_VISIT' | 'QUARANTINE_MANDATED'; +export type PatientStatus2 = 'REGISTERED' + | 'CONTACT' + | 'SUSPECTED' + | 'TEST_FINISHED_POSITIVE' + | 'TEST_FINISHED_NEGATIVE' + | 'RECOVERED_WITH_EMISSION' + | 'RECOVERED_NO_EMISSION' + | 'RECOVERED_NO_TEST' + | 'PATIENT_DEAD' + | 'QUARANTINE_MANDATED'; export type RiskOccupation = 'NO_RISK_OCCUPATION' | 'FIRE_FIGHTER' | 'DOCTOR' | 'CAREGIVER' | 'NURSE' export interface Option { diff --git a/client/src/models/risk-occupation.ts b/client/src/models/risk-occupation.ts index cea24e99..43fe05ab 100644 --- a/client/src/models/risk-occupation.ts +++ b/client/src/models/risk-occupation.ts @@ -6,9 +6,12 @@ export interface RiskOccupationOption { } export const RISK_OCCUPATIONS: RiskOccupationOption[] = [ - { value: 'FIRE_FIGHTER', label: 'Feuerwehrmann/frau' }, { value: 'DOCTOR', label: 'Arzt/Ärztin' }, { value: 'NURSE', label: 'Pflegepersonal' }, { value: 'CAREGIVER', label: 'Altenpflege' }, + { value: 'FIRE_FIGHTER_POLICE', label: 'Gefahrenabwehr (Polizei, Feuerwehr usw.)' }, + { value: 'PUBLIC_ADMINISTRATION', label: 'Öffentliche Verwaltung' }, + { value: 'STUDENT', label: 'Schüler-in' }, + { value: 'TEACHER', label: 'Lehrer-in/Kindergärtner-in' }, { value: 'NO_RISK_OCCUPATION', label: 'Keiner der genannten (bitte unten eingeben)' }, ] diff --git a/client/src/models/symptoms.ts b/client/src/models/symptoms.ts index bd8627fd..0461330b 100644 --- a/client/src/models/symptoms.ts +++ b/client/src/models/symptoms.ts @@ -1,15 +1,5 @@ import { Option } from '@/models/index' -export const ADDITIONAL_SYMPTOMS: Option[] = [ - { - label: 'Akutes schweres Atemsyndrom (ARDS)', - value: 'ARDS', - }, { - label: 'Beatmungspflichtige Atemwegserkrankung', - value: 'RESPIRATORY_DISEASE', - }, -] - export const SYMPTOMS: Option[] = [ { label: 'Appetitverlust', diff --git a/client/src/views/RegisterPatient.vue b/client/src/views/RegisterPatient.vue index cfa2b9f3..f60c31a5 100644 --- a/client/src/views/RegisterPatient.vue +++ b/client/src/views/RegisterPatient.vue @@ -231,9 +231,9 @@ required: true, message: 'Bitte Status wählen', }], initialValue: 'SUSPECTED' }]"> - - - {{eventType.label}} + + + {{caseStatus.label}} @@ -245,28 +245,6 @@ }], initialValue: today}]" label="Meldedatum" /> - - - - - Wurde eine Erregerdiagnostik beauftragt? - - - - - - - - - - - From d50e60231e6941ce2818920bf2048d654ff2829a Mon Sep 17 00:00:00 2001 From: Jochen-Sch Date: Mon, 11 May 2020 17:12:25 +0200 Subject: [PATCH 05/19] Update RegisterPatient.vue --- client/src/views/RegisterPatient.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/views/RegisterPatient.vue b/client/src/views/RegisterPatient.vue index f60c31a5..0ac6e368 100644 --- a/client/src/views/RegisterPatient.vue +++ b/client/src/views/RegisterPatient.vue @@ -213,7 +213,7 @@ message: 'Bitte Erkrankung wählen', }], initialValue: 'CORONA'}]" > - SARS-nCoV-2 + COVID-19 From 9008847954ed9c1880d43bb3cb3bd6d28f3264a4 Mon Sep 17 00:00:00 2001 From: Jochen-Sch Date: Mon, 11 May 2020 17:16:37 +0200 Subject: [PATCH 06/19] Sync Test Capture from Dev Screen for 'Zuordnung Test' test-types + test-materials sync from dev --- client/src/models/test-materials.ts | 19 ++++++++++ client/src/models/test-types.ts | 3 -- client/src/views/RegisterTest.vue | 54 +++++++++++++++-------------- 3 files changed, 47 insertions(+), 29 deletions(-) create mode 100644 client/src/models/test-materials.ts diff --git a/client/src/models/test-materials.ts b/client/src/models/test-materials.ts new file mode 100644 index 00000000..a9fc5297 --- /dev/null +++ b/client/src/models/test-materials.ts @@ -0,0 +1,19 @@ +export type TestMaterial = 'RACHENABSTRICH' | 'NASENABSTRICH' | 'VOLLBLUT'; + +export interface TestMaterialItem { + id: TestMaterial; + label: string; +} + +export const testMaterials: TestMaterialItem[] = [ + { + id: 'RACHENABSTRICH', + label: 'Rachenabstrich', + }, { + id: 'NASENABSTRICH', + label: 'Nasenabstrich', + }, { + id: 'VOLLBLUT', + label: 'Vollblut', + }, +] diff --git a/client/src/models/test-types.ts b/client/src/models/test-types.ts index 7e92f432..6c141709 100644 --- a/client/src/models/test-types.ts +++ b/client/src/models/test-types.ts @@ -3,17 +3,14 @@ export type TestType = 'PCR' | 'ANTIBODY'; export interface TestTypeItem { id: TestType; label: string; - icon: string; } export const testTypes: TestTypeItem[] = [ { id: 'ANTIBODY', label: 'Antikörper', - icon: 'search', }, { id: 'PCR', label: 'PCR', - icon: 'link', }, ] diff --git a/client/src/views/RegisterTest.vue b/client/src/views/RegisterTest.vue index d4eac1ff..4bf55146 100644 --- a/client/src/views/RegisterTest.vue +++ b/client/src/views/RegisterTest.vue @@ -43,12 +43,25 @@ message: 'Bitte geben Sie den Typen des Tests an.' }]}]"> - {{testTypeItem.label}} + + + + + {{testMaterialItem.label}} + + + + - - -
- -
-
Der Test wurde erfolgreich angelegt.
-
-
Test ID: {{ createdLabTest.testId }}
-
Test Status: {{ createdLabTestStatus }}
-
-