From 68539f3c4a20de26a902ff666efeea322e7cd8d1 Mon Sep 17 00:00:00 2001 From: jlidke Date: Fri, 31 Oct 2025 15:24:25 +0100 Subject: fix: getProvisionTypeByPolicyCode updated to new consent structure (#173) --- .../etl/processor/consent/ConsentProcessorTest.kt | 58 ++ src/test/resources/deniedConsentBundle.json | 692 +++++++++++++++++++++ src/test/resources/permittedConsentBundle.json | 692 +++++++++++++++++++++ 3 files changed, 1442 insertions(+) create mode 100644 src/test/kotlin/dev/dnpm/etl/processor/consent/ConsentProcessorTest.kt create mode 100644 src/test/resources/deniedConsentBundle.json create mode 100644 src/test/resources/permittedConsentBundle.json (limited to 'src/test') diff --git a/src/test/kotlin/dev/dnpm/etl/processor/consent/ConsentProcessorTest.kt b/src/test/kotlin/dev/dnpm/etl/processor/consent/ConsentProcessorTest.kt new file mode 100644 index 0000000..5a86a29 --- /dev/null +++ b/src/test/kotlin/dev/dnpm/etl/processor/consent/ConsentProcessorTest.kt @@ -0,0 +1,58 @@ +package dev.dnpm.etl.processor.consent + +import ca.uhn.fhir.context.FhirContext +import com.fasterxml.jackson.databind.ObjectMapper +import dev.dnpm.etl.processor.config.AppConfigProperties +import dev.dnpm.etl.processor.config.GIcsConfigProperties +import dev.dnpm.etl.processor.services.ConsentProcessor +import org.assertj.core.api.Assertions.assertThat +import org.hl7.fhir.r4.model.Bundle +import org.hl7.fhir.r4.model.Consent +import org.junit.jupiter.api.BeforeEach +import org.junit.jupiter.api.extension.ExtendWith +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.CsvSource +import org.mockito.Mock +import org.mockito.junit.jupiter.MockitoExtension +import java.util.* + +@ExtendWith(MockitoExtension::class) +class ConsentProcessorTest { + + lateinit var consentProcessor: ConsentProcessor + + val objectMapper = ObjectMapper() + val fhirContext = FhirContext.forR4() + + @BeforeEach + fun setup( + @Mock consentService: IConsentService + ) { + val appConfigProperties = AppConfigProperties() + val gIcsConfigProperties = GIcsConfigProperties("http://localhost") + + this.consentProcessor = ConsentProcessor( + appConfigProperties, + gIcsConfigProperties, + objectMapper, + fhirContext, + consentService + ) + } + + @ParameterizedTest + @CsvSource(value = [ + "permittedConsentBundle.json,permit", + "deniedConsentBundle.json,deny" + ]) + fun checkGetProvisionTypeByPolicyCode(filename: String, expected: String) { + val bundle = fhirContext.newJsonParser().parseResource( + this.javaClass.classLoader.getResourceAsStream(filename) + ) + assertThat(bundle).isInstanceOf(Bundle::class.java) + + val actual = consentProcessor.getProvisionTypeByPolicyCode(bundle as Bundle, Date(), ConsentDomain.BROAD_CONSENT) + + assertThat(actual).isEqualTo(Consent.ConsentProvisionType.valueOf(expected.uppercase())) + } +} \ No newline at end of file diff --git a/src/test/resources/deniedConsentBundle.json b/src/test/resources/deniedConsentBundle.json new file mode 100644 index 0000000..3487c57 --- /dev/null +++ b/src/test/resources/deniedConsentBundle.json @@ -0,0 +1,692 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "fullUrl": "http://gics:8080/ttp-fhir/fhir/gics/Consent/XXXX", + "resource": { + "resourceType": "Consent", + "id": "XXXX", + "meta": { + "lastUpdated": "2025-10-31T14:21:04.630+01:00", + "profile": [ + "http://fhir.de/ConsentManagement/StructureDefinition/Consent", + "https://www.medizininformatik-initiative.de/fhir/modul-consent/StructureDefinition/mii-pr-consent-einwilligung" + ] + }, + "extension": [ + { + "url": "http://fhir.de/ConsentManagement/StructureDefinition/DomainReference", + "extension": [ + { + "url": "domain", + "valueReference": { + "reference": "ResearchStudy/VVVVV" + } + }, + { + "url": "status", + "valueCoding": { + "system": "http://hl7.org/fhir/publication-status", + "code": "active" + } + } + ] + } + ], + "status": "active", + "scope": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/consentscope", + "code": "research" + } + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://loinc.org", + "code": "57016-8" + } + ] + }, + { + "coding": [ + { + "system": "https://www.medizininformatik-initiative.de/fhir/modul-consent/CodeSystem/mii-cs-consent-consent_category", + "code": "2.16.840.1.113883.3.1937.777.24.2.184" + } + ] + } + ], + "patient": { + "reference": "Patient/psn-pat-here", + "display": "Patienten-ID PID-HERE" + }, + "dateTime": "2025-10-13T00:00:00+01:00", + "organization": [ + { + "display": "MII" + } + ], + "sourceReference": { + "reference": "QuestionnaireResponse/XXXX" + }, + "policy": [ + { + "uri": "urn:oid:2.16.840.1.113883.3.1937.777.24.2.1791" + } + ], + "provision": { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "provision": [ + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "IDAT_erheben", + "display": "Erfassung neuer identifizierender Daten (IDAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.2", + "display": "IDAT erheben" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_retro_speichern_verarbeiten", + "display": "Retrospektive Krankenkassendaten (KKDAT) aus fünf Jahren vor Einwilligung speichern und codiert verarbeiten zu Zwecken med. Forschung in der verantwortlichen Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.12", + "display": "KKDAT 5J retrospektiv speichern verarbeiten" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "BIOMAT_wissenschaftlich_nutzen_EU_DSGVO_konform", + "display": "Bereitstellung umcodierter Biomaterialien (BIOMAT) für wissenschaftliche Nutzung und Analysen zu Zwecken med. Forschung an ext. Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.22", + "display": "BIOMAT wissenschaftlich nutzen EU DSGVO NIVEAU" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_retro_wissenschaftlich_nutzen", + "display": "Bereitstellung umcodierter retrospektiver Krankenkassendaten (KKDAT) für wissenschaftliche Nutzung zu Zwecken med. Forschung an externe Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.13", + "display": "KKDAT 5J retrospektiv wissenschaftlich nutzen" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_Analysedaten_zusammenfuehren_Dritte", + "display": "Zusammenführen von auf Biomaterialien (BIOMAT) basierenden Analysedaten mit Analysedaten Dritter, sofern dort ebenfalls eine Einwilligung vorliegt" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.23", + "display": "BIOMAT Analysedaten zusammenfuehren Dritte" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "Rekontaktierung_Zusatzbefund", + "display": "Rekontaktierung bezüglich Zusatzbefund im Rahmen der am Standort dafür entwickelten Prozesse und der im Nutzungsantrag angegebenen Bedingungen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.31", + "display": "Rekontaktierung Zusatzbefund" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_pro_wissenschaftlich_nutzen", + "display": "Bereitstellung umcodierter prospektiver Krankenkassendaten (KKDAT) aus fünf Jahren ab Einwilligung zu Zwecken med. Forschung an ext. Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.17", + "display": "KKDAT 5J prospektiv wissenschaftlich nutzen" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_lagern_verarbeiten", + "display": "Lagerung und Verarbeitung von Biomaterialien innerhalb der verantwortlichen Stelle (BIOMAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.20", + "display": "BIOMAT lagern verarbeiten" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_retro_uebertragen", + "display": "Krankenkassendaten (KKDAT) der letzten fünf Kalenderjahre vor Datum Unterschrift übertragen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.11", + "display": "KKDAT 5J retrospektiv uebertragen" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_KVNR_5J_retro_uebertragen", + "display": "Erlaubnis zur retrospektiven Übermittlung der KVNr., MII-Pseudonym und Zeitraum Datenübermittlung (von:5 Jahre vor Datum Unterschrift; bis: Datum Unterschrift) an zuständige Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.38", + "display": "KKDAT 5J retrospektiv uebertragen KVNR" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "MDAT_erheben", + "display": "Erfassung medizinischer Daten (MDAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.6", + "display": "MDAT erheben" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_pro_speichern_verarbeiten", + "display": "Prospektive Krankenkassendaten (KKDAT) aus fünf Jahren ab Einwilligung speichern und codiert verarbeiten zu Zwecken der med. Forschung in der verantwortlichen Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.16", + "display": "KKDAT 5J prospektiv speichern verarbeiten" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "MDAT_wissenschaftlich_nutzen_EU_DSGVO_konform", + "display": "Bereitstellung umcodierter medizinischer Daten (MDAT) für wissenschaftliche Nutzung zu Zwecken med. Forschung an externe Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.8", + "display": "MDAT wissenschaftlich nutzen EU DSGVO NIVEAU" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "Rekontaktierung_Verknuepfung_Datenbanken", + "display": "Rekontaktierung zur Verknüpfung von Patientendaten mit Daten anderer Datenbanken" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.27", + "display": "Rekontaktierung Verknüpfung Datenbanken" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "Rekontaktierung_weitere_Studien", + "display": "Rekontaktierung bezüglich Information zu neuen Forschungsvorhaben oder Studien" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.29", + "display": "Rekontaktierung weitere Studien" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "IDAT_bereitstellen_EU_DSGVO_konform", + "display": "Herausgabe identifizierender Daten (IDAT) an unabhängige Treuhandstelle zur weiteren Verarbeitung" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.5", + "display": "IDAT bereitstellen EU DSGVO NIVEAU" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "IDAT_speichern_verarbeiten", + "display": "Speicherung und Verarbeitung identifizierender Daten (IDAT) zu Zwecken med. Forschung in der verantwortlichen Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.3", + "display": "IDAT speichern, verarbeiten" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "MDAT_speichern_verarbeiten", + "display": "Speicherung und Verarbeitung von medizinischen codierten Daten zu Zwecken med. Forschung innerhalb der verantwortlichen Stelle (MDAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.7", + "display": "MDAT speichern, verarbeiten" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_erheben", + "display": "Gewinnung von Biomaterialien (BIOMAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.19", + "display": "BIOMAT erheben" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "Rekontaktierung_Ergebnisse_erheblicher_Bedeutung", + "display": "Rekontaktierung des Betroffenen bei Ergebnissen von erheblicher Bedeutung" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.37", + "display": "Rekontaktierung Ergebnisse erheblicher Bedeutung" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_KVNR_5J_pro_uebertragen", + "display": "Erlaubnis zur prospektiven Übermittlung der KVNr., MII-Pseudonym und Zeitraum Datenübermittlung (von: Datum Unterschrift; bis: max. 5 Kalenderjahre nach Unterschrift) an zuständige Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.39", + "display": "KKDAT 5J prospektiv uebertragen KVNR" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_Zusatzmengen_entnehmen", + "display": "Entnahme zusätzlicher Mengen von Biomaterialien (BIOMAT) in den in der Einwilligung beschriebenen Grenzen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.25", + "display": "BIOMAT Zusatzmengen entnehmen" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "Rekontaktierung_weitere_Erhebung", + "display": "Rekontaktierung bezüglich Erhebung zusätzlicher Daten" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.28", + "display": "Rekontaktierung weitere Erhebung" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "IDAT_zusammenfuehren_Dritte", + "display": "Zusammenführung identifizierender Daten (IDAT) über die unabhängige Treuhandstelle mit Dritten Forschungspartnern, sofern dort eine Einwilligung vorliegt" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.4", + "display": "IDAT zusammenfuehren Dritte" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "MDAT_zusammenfuehren_Dritte", + "display": "Zusammenführung medizinischer Daten (MDAT) mit Dritten Forschungspartnern, sofern dort eine Einwilligung vorliegt" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.9", + "display": "MDAT zusammenfuehren Dritte" + } + ] + } + ] + }, + { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_pro_uebertragen", + "display": "Prospektive Krankenkassendaten (KKDAT) für fünf Kalenderjahre nach Datum Unterschrift übertragen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.15", + "display": "KKDAT 5J prospektiv uebertragen" + } + ] + } + ] + } + ] + } + } + } + ] +} diff --git a/src/test/resources/permittedConsentBundle.json b/src/test/resources/permittedConsentBundle.json new file mode 100644 index 0000000..20ca3de --- /dev/null +++ b/src/test/resources/permittedConsentBundle.json @@ -0,0 +1,692 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "fullUrl": "http://gics:8080/ttp-fhir/fhir/gics/Consent/XXXX", + "resource": { + "resourceType": "Consent", + "id": "XXXX", + "meta": { + "lastUpdated": "2025-10-31T14:21:04.630+01:00", + "profile": [ + "http://fhir.de/ConsentManagement/StructureDefinition/Consent", + "https://www.medizininformatik-initiative.de/fhir/modul-consent/StructureDefinition/mii-pr-consent-einwilligung" + ] + }, + "extension": [ + { + "url": "http://fhir.de/ConsentManagement/StructureDefinition/DomainReference", + "extension": [ + { + "url": "domain", + "valueReference": { + "reference": "ResearchStudy/VVVVV" + } + }, + { + "url": "status", + "valueCoding": { + "system": "http://hl7.org/fhir/publication-status", + "code": "active" + } + } + ] + } + ], + "status": "active", + "scope": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/consentscope", + "code": "research" + } + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://loinc.org", + "code": "57016-8" + } + ] + }, + { + "coding": [ + { + "system": "https://www.medizininformatik-initiative.de/fhir/modul-consent/CodeSystem/mii-cs-consent-consent_category", + "code": "2.16.840.1.113883.3.1937.777.24.2.184" + } + ] + } + ], + "patient": { + "reference": "Patient/psn-pat-here", + "display": "Patienten-ID PID-HERE" + }, + "dateTime": "2025-10-13T00:00:00+01:00", + "organization": [ + { + "display": "MII" + } + ], + "sourceReference": { + "reference": "QuestionnaireResponse/XXXX" + }, + "policy": [ + { + "uri": "urn:oid:2.16.840.1.113883.3.1937.777.24.2.1791" + } + ], + "provision": { + "type": "deny", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "provision": [ + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "IDAT_erheben", + "display": "Erfassung neuer identifizierender Daten (IDAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.2", + "display": "IDAT erheben" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_retro_speichern_verarbeiten", + "display": "Retrospektive Krankenkassendaten (KKDAT) aus fünf Jahren vor Einwilligung speichern und codiert verarbeiten zu Zwecken med. Forschung in der verantwortlichen Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.12", + "display": "KKDAT 5J retrospektiv speichern verarbeiten" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "BIOMAT_wissenschaftlich_nutzen_EU_DSGVO_konform", + "display": "Bereitstellung umcodierter Biomaterialien (BIOMAT) für wissenschaftliche Nutzung und Analysen zu Zwecken med. Forschung an ext. Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.22", + "display": "BIOMAT wissenschaftlich nutzen EU DSGVO NIVEAU" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_retro_wissenschaftlich_nutzen", + "display": "Bereitstellung umcodierter retrospektiver Krankenkassendaten (KKDAT) für wissenschaftliche Nutzung zu Zwecken med. Forschung an externe Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.13", + "display": "KKDAT 5J retrospektiv wissenschaftlich nutzen" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_Analysedaten_zusammenfuehren_Dritte", + "display": "Zusammenführen von auf Biomaterialien (BIOMAT) basierenden Analysedaten mit Analysedaten Dritter, sofern dort ebenfalls eine Einwilligung vorliegt" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.23", + "display": "BIOMAT Analysedaten zusammenfuehren Dritte" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "Rekontaktierung_Zusatzbefund", + "display": "Rekontaktierung bezüglich Zusatzbefund im Rahmen der am Standort dafür entwickelten Prozesse und der im Nutzungsantrag angegebenen Bedingungen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.31", + "display": "Rekontaktierung Zusatzbefund" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_pro_wissenschaftlich_nutzen", + "display": "Bereitstellung umcodierter prospektiver Krankenkassendaten (KKDAT) aus fünf Jahren ab Einwilligung zu Zwecken med. Forschung an ext. Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.17", + "display": "KKDAT 5J prospektiv wissenschaftlich nutzen" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_lagern_verarbeiten", + "display": "Lagerung und Verarbeitung von Biomaterialien innerhalb der verantwortlichen Stelle (BIOMAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.20", + "display": "BIOMAT lagern verarbeiten" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_retro_uebertragen", + "display": "Krankenkassendaten (KKDAT) der letzten fünf Kalenderjahre vor Datum Unterschrift übertragen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.11", + "display": "KKDAT 5J retrospektiv uebertragen" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_KVNR_5J_retro_uebertragen", + "display": "Erlaubnis zur retrospektiven Übermittlung der KVNr., MII-Pseudonym und Zeitraum Datenübermittlung (von:5 Jahre vor Datum Unterschrift; bis: Datum Unterschrift) an zuständige Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.38", + "display": "KKDAT 5J retrospektiv uebertragen KVNR" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "MDAT_erheben", + "display": "Erfassung medizinischer Daten (MDAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.6", + "display": "MDAT erheben" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_pro_speichern_verarbeiten", + "display": "Prospektive Krankenkassendaten (KKDAT) aus fünf Jahren ab Einwilligung speichern und codiert verarbeiten zu Zwecken der med. Forschung in der verantwortlichen Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.16", + "display": "KKDAT 5J prospektiv speichern verarbeiten" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "MDAT_wissenschaftlich_nutzen_EU_DSGVO_konform", + "display": "Bereitstellung umcodierter medizinischer Daten (MDAT) für wissenschaftliche Nutzung zu Zwecken med. Forschung an externe Forscher" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.8", + "display": "MDAT wissenschaftlich nutzen EU DSGVO NIVEAU" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "Rekontaktierung_Verknuepfung_Datenbanken", + "display": "Rekontaktierung zur Verknüpfung von Patientendaten mit Daten anderer Datenbanken" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.27", + "display": "Rekontaktierung Verknüpfung Datenbanken" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "Rekontaktierung_weitere_Studien", + "display": "Rekontaktierung bezüglich Information zu neuen Forschungsvorhaben oder Studien" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.29", + "display": "Rekontaktierung weitere Studien" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "IDAT_bereitstellen_EU_DSGVO_konform", + "display": "Herausgabe identifizierender Daten (IDAT) an unabhängige Treuhandstelle zur weiteren Verarbeitung" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.5", + "display": "IDAT bereitstellen EU DSGVO NIVEAU" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "IDAT_speichern_verarbeiten", + "display": "Speicherung und Verarbeitung identifizierender Daten (IDAT) zu Zwecken med. Forschung in der verantwortlichen Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.3", + "display": "IDAT speichern, verarbeiten" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "MDAT_speichern_verarbeiten", + "display": "Speicherung und Verarbeitung von medizinischen codierten Daten zu Zwecken med. Forschung innerhalb der verantwortlichen Stelle (MDAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.7", + "display": "MDAT speichern, verarbeiten" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_erheben", + "display": "Gewinnung von Biomaterialien (BIOMAT)" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.19", + "display": "BIOMAT erheben" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "Rekontaktierung_Ergebnisse_erheblicher_Bedeutung", + "display": "Rekontaktierung des Betroffenen bei Ergebnissen von erheblicher Bedeutung" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.37", + "display": "Rekontaktierung Ergebnisse erheblicher Bedeutung" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_KVNR_5J_pro_uebertragen", + "display": "Erlaubnis zur prospektiven Übermittlung der KVNr., MII-Pseudonym und Zeitraum Datenübermittlung (von: Datum Unterschrift; bis: max. 5 Kalenderjahre nach Unterschrift) an zuständige Stelle" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.39", + "display": "KKDAT 5J prospektiv uebertragen KVNR" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "BIOMAT_Zusatzmengen_entnehmen", + "display": "Entnahme zusätzlicher Mengen von Biomaterialien (BIOMAT) in den in der Einwilligung beschriebenen Grenzen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.25", + "display": "BIOMAT Zusatzmengen entnehmen" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "Rekontaktierung_weitere_Erhebung", + "display": "Rekontaktierung bezüglich Erhebung zusätzlicher Daten" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.28", + "display": "Rekontaktierung weitere Erhebung" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "IDAT_zusammenfuehren_Dritte", + "display": "Zusammenführung identifizierender Daten (IDAT) über die unabhängige Treuhandstelle mit Dritten Forschungspartnern, sofern dort eine Einwilligung vorliegt" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.4", + "display": "IDAT zusammenfuehren Dritte" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2055-10-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy", + "code": "MDAT_zusammenfuehren_Dritte", + "display": "Zusammenführung medizinischer Daten (MDAT) mit Dritten Forschungspartnern, sofern dort eine Einwilligung vorliegt" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.9", + "display": "MDAT zusammenfuehren Dritte" + } + ] + } + ] + }, + { + "type": "permit", + "period": { + "start": "2025-10-13T00:00:00+01:00", + "end": "2030-03-13T00:00:00+01:00" + }, + "code": [ + { + "coding": [ + { + "system": "https://ths-greifswald.de/fhir/CodeSystem/gics/Policy/MII", + "code": "KKDAT_5J_pro_uebertragen", + "display": "Prospektive Krankenkassendaten (KKDAT) für fünf Kalenderjahre nach Datum Unterschrift übertragen" + }, + { + "system": "urn:oid:2.16.840.1.113883.3.1937.777.24.5.3", + "code": "2.16.840.1.113883.3.1937.777.24.5.3.15", + "display": "KKDAT 5J prospektiv uebertragen" + } + ] + } + ] + } + ] + } + } + } + ] +} -- cgit v1.2.3