Open juliangruendner opened 4 months ago
@kleinertp one thing that still needs to be discussed is what the bcDate is if we are talking about a provision. Can it then be assumed, that bcDate = bc.Consent.provision.provision.period.start ?
case 2 and 3 above might already be in lncluded in 1 and 2 - TODO @juliangruendner check
1.72 weiteres Modul zu klären
old version of algorithm - here only for reference - in new version simplified as some conditions of removal of resources imply other:
// THE ALGORITHM IS FOR EACH PATIENT => all consent and resources mentioned below are always for one patient
//Calculate BC start and end
bcEncounter = -> find Encounter where Enc.start <= bc.date and Enc.end >= bc.date // note that the encounter for a BC is inferred through a date overlap and not a direct link
bcStart = if bcEncounter -> bcEcnounter.start , else bc.Consent.provision.provision.period.start
bcEnd = bc.Consent.provision.provision.period.end // note that this is usually bc.Consent.provision.provision.period.start + 5 years
// filter resources
for res in resourceListToBeExtracted:
// Get resource times which are relevant for the consent calculation
resConsentStart= if resEncounter -> resEncounter.period.start , else res.clinicalDate.start
resConsentEnd = if resEncounter -> resEncouner.period.end, else res.clinicalDate.end
// It is possible that resConsentStart = resConsentEnd, but this should not be a problem for the calculation
if resConsentStart < bcStart:
remove res
// Applies to: R1, R2 (MII BC1)
// Applies to: R1, R2, R3 (MII BC2)
if resConsentStart > bcEnd:
remove res
// Applies to: R11, R12 (MII BC1)
// Applies to: R11, R12 (MII BC2)
if resConsentEnd < bcStart:
remove res
// Applies to: R1, R2 (MII BC1)
// Applies to: R1, R2 (MII BC2)
if resConsentEnd > bcEnd:
remove res
// Applies to: R9, R10, R11, R12 (MII BC1)
// Applies to: R9, R10, R11, R12 (MII BC2)
sehr schön: hier bitte den generischen link verwenden, dann bekommt man evtl updates mit: https://www.ths-greifswald.de/gics/consentstate-and-legalconsentdate
profile-to-consent as json:
{
"https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationStatement": "MedicationStatement.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/medikationsliste": "List.date",
"https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationRequest": "authoredOn",
"https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/Medication": "",
"https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationAdministration": "MedicationAdministration.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/sauerstoffsaettigung-im-blut-preduktal-durch-pulsoxymetrie": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-kern": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-rektal": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-trommelfell": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/inspiratorische-sauerstofffraktion-eingestellt": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/extrakorporales-verfahren": "Procedure.performed[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaerer-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/systemischer-vaskulaerer-widerstandsindex": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/blutfluss-cardiovasculaeres-geraet": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/horowitz-in-arteriellem-blut": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/dynamische-kompliance": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/spontanes-atemzugvolumen": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mechanische-atemfrequenz-beatmet": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-achsel": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/blutdruck-generisch": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/maximaler-beatmungsdruck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpergewicht-percentil-altersabhaengig": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/exspiratorischer-sauerstoffpartialdruck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/sauerstoffgasfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/zentralvenoeser-blutdruck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/einstellung-einatmungszeit-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/atemzugvolumen-waehrend-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/parameter-von-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/beatmungszeit-hohem-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/eingestellter-inspiratorischer-gasfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/einstellung-ausatmungszeit-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/parameter-von-extrakorporalen-verfahren": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/dauer-haemodialysesitzung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-stirn": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/ionisiertes-kalzium-nierenersatzverfahren": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/sauerstoffsaettigung-im-blut-postduktal-durch-pulsoxymetrie": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/inspiratorische-sauerstofffraktion": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-gelenk": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/kopfumfang": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/atemfrequenz": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaerer-herzindex": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaeres-schlagvolumen-durch-indikatorverduennung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaeres-schlagvolumen": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpergroesse": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/sauerstoffsaettigung-im-arteriellen-blut-durch-pulsoxymetrie": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/substituatvolumen": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/atemwegsdruck-bei-null-expiratorischem-gasfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/zeitverhaeltnis-ein-ausatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/beatmungsvolumen-pro-minute-maschineller-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/monitoring-und-vitaldaten": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-nasen-rachen-raum": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/spontane-atemfrequenz-beatmet": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/pulmonalarterieller-wedge-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/rechtsventrikulaerer-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/periphere-artierielle-sauerstoffsaettigung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksatrialer-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-halswirbelsaeule": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/icu-device": "",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-generisch": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/druckdifferenz-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/inspiratorischer-gasfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/pulmonalvaskulaerer-widerstandsindex": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/unterstuetzungsdruck-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/atemwegsdruck-bei-mittlerem-expiratorischem-gasfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/venoeser-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpergroesse-percentil": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-vaginal": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/atemzugvolumen-einstellung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/rechtsatrialer-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mittlerer-beatmungsdruck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/positiv-endexpiratorischer-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/herzzeitvolumen": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpergewicht": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-speiseroehre": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/substituatfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/endexpiratorischer-kohlendioxidpartialdruck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-leiste": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/devicemetric-eingestellte-gemessene-parameter-extrakorporale-verfahren": "",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaeres-schlagvolumenindex": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/beatmung": "Procedure.performed[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/beatmungszeit-niedrigem-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/spontanes-mechanisches-atemzugvolumen-waehrend-beatmung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/pulmonalarterieller-blutdruck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/spontane-mechanische-atemfrequenz-beatmet": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/haemodialyse-blutfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-nasal": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/puls": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/dauer-extrakorporaler-gasaustausch": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-harnblase": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/ideales-koerpergewicht": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-brust": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-atemwege": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/blutdruck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-lendenwirbelsaeule": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/exspiratorischer-gasfluss": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/arterieller-druck": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/herzfrequenz": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaerer-herzindex-durch-indikatorverduennung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/blutflussindex-extrakorporaler-gasaustausch": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaerer-schlagvolumenindex-durch-indikatorverduennung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-unter-der-zunge": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-blut": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/blutfluss-extrakorporaler-gasaustausch": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/intrakranieller-druck-icp": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/devicemetric-eingestellte-gemessene-parameter-beatmung": "",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/koerpertemperatur-brustwirbelsaeule": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/linksventrikulaeres-herzzeitvolumen-durch-indikatorverduennung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-biobank/StructureDefinition/Substance": "",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-biobank/StructureDefinition/Organization": "",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-biobank/StructureDefinition/Specimen": "Specimen.collection.collected[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-biobank/StructureDefinition/SpecimenCore": "Specimen.collection.collected[x]",
"https://www.medizininformatik-initiative.de/fhir/core/modul-prozedur/StructureDefinition/Procedure": "Procedure.performed[x]",
"https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/Vitalstatus": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/PatientPseudonymisiert": "",
"https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/ResearchSubject": "",
"https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/Patient": "",
"https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/Todesursache": "Condition.recordedDate",
"http://fhir.de/ConsentManagement/StructureDefinition/DocumentReference": "DocumentReference.date",
"http://fhir.de/ConsentManagement/StructureDefinition/TemplateFrame": "",
"http://fhir.de/ConsentManagement/StructureDefinition/Consent": "Consent.dateTime",
"http://fhir.de/ConsentManagement/StructureDefinition/TemplateModule": "",
"http://fhir.de/ConsentManagement/StructureDefinition/Domain/Organization": "",
"http://fhir.de/ConsentManagement/StructureDefinition/QuestionnaireComposed": "",
"http://fhir.de/ConsentManagement/StructureDefinition/Domain/ResearchStudy": "",
"http://fhir.de/ConsentManagement/StructureDefinition/QuestionnaireResponse": "",
"http://fhir.de/ConsentManagement/StructureDefinition/Provenance": "Provenance.recorded",
"http://fhir.de/ConsentManagement/StructureDefinition/Patient": "",
"https://www.medizininformatik-initiative.de/fhir/core/modul-diagnose/StructureDefinition/Diagnose": "Condition.recordedDate",
"https://www.medizininformatik-initiative.de/fhir/core/modul-fall/StructureDefinition/KontaktGesundheitseinrichtung": "",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/genotyp": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/medikationsempfehlung": "Task.authoredOn",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/empfohlene-folgemassnahme": "Task.authoredOn",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/familienanamnese": "FamilyMemberHistory.date",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/ergebnis-zusammenfassung": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/molekulargenetischer-befundbericht": "DiagnosticReport.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/diagnostische-implikation": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/anforderung-genetischer-test": "ServiceRequest.authoredOn",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/mikrosatelliteninstabilitaet": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/mutationslast": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/variante": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/therapeutische-implikation": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/untersuchte-region": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/ext/modul-molgen/StructureDefinition/polygener-risiko-score": "RiskAssessment.occurrence[x]",
"https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/ObservationLab": "Observation.effective[x]",
"https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/ServiceRequestLab": "ServiceRequest.authoredOn",
"https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/DiagnosticReportLab": "DiagnosticReport.effective[x]"
}
For some data extractions the resources have to be filtered by consent, as described here: https://github.com/medizininformatik-initiative/kerndatensatzmodul-consent/wiki/Example-Scenario-MDAT---Consent-based-Access-Control
There is still an ongoing discussion which date to use for each resource to determine whether a consent applies to it: https://github.com/medizininformatik-initiative/kerndatensatz-meta/issues/51 Given this ongoing discussion the algorithm in torch should be implemented to read in a configurable map, which allows one to configure a consentDate by resourceType. Until officially agreed on, the following mapping should be used:
The algorithm should additionally be configurable to map a ConsentDateFieldPath on Profile level with a fallback on resource level. If a resource cannot be found either on resource or profile level mapping it is to be disgarded. Further some resources do not have relevant ConsentDates as Consent does not directly apply to them (e.g. DeviceMetric) or is implied (e.g. Patient resource)otherwise
The consent within the MII has to be enforced for some data extractions where consent is required for the specific data use project.
To this end an algorithm should be created, which given a bundle of FHIR resources filters them by a consent being given for a specific provision.
The algorithm will assume that all consent resources for the patient are available in the FHIR server where the data resources are kept and that the consent resources adhere to the MII consent profile https://simplifier.net/medizininformatikinitiative-modulconsent/mii_pr_consent_einwilligung
To determine the Consent to be applied to the dataextraction the information from the CCDL should be used. For this any Consent resource found in the CCDL should be used to filter the resources combined in the way it appears in the CCDL.
=> if a ccdl includes two provisions combined using AND, for a resource to pass and be part of the extracted bundle it needs to lie within both provisions periods, as specified below.
PseudoCode for the implementation of the consent filter