Code gekopieerd
...Kopieer naar klembord
1PREFIX onz-g: <http://purl.org/ozo/onz-g#> 2PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#> 3PREFIX onz-org: <http://purl.org/ozo/onz-org#> 4PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 5PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 6PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 7 8SELECT 9 (SUM(?tlr) AS ?teller) 10 (COUNT(?vestiging) AS ?noemer) 11 (ROUND(100 * SUM(?tlr) / COUNT(?vestiging)) AS ?indicator) 12{ 13 { 14 SELECT 15 ?vestiging 16 (MAX(?Q1) AS ?Q1_tot) 17 (MAX(?Q2) AS ?Q2_tot) 18 (MAX(?Q3) AS ?Q3_tot) 19 (MAX(?Q4) AS ?Q4_tot) 20 { 21 { 22 #selecteer alle vestigingen waar een medicatiefout is gemeld 23 SELECT DISTINCT 24 ?vestiging 25 { 26 BIND("2022-01-01"^^xsd:date AS ?start_periode) 27 BIND("2022-10-31"^^xsd:date AS ?eind_periode) 28 29 VALUES ?zorgprofiel { onz-zorg:4VV onz-zorg:5VV onz-zorg:6VV onz-zorg:7VV onz-zorg:8VV onz-zorg:9BVV onz-zorg:10VV } 30 31 #selecteer de zorgprocessen die voldoen aan de inclusiecriteria 32 ?zorgproces 33 a onz-zorg:NursingProcess ; 34 onz-g:hasParticipant ?client ; 35 onz-g:definedBy/onz-g:hasPart ?zorgprofiel ; 36 onz-g:hasPerdurantLocation ?locatie ; 37 onz-g:startDatum ?start_proces . 38 OPTIONAL {?zorgproces onz-g:eindDatum ?eind_proces} 39 FILTER (?start_proces <= ?eind_periode && (!BOUND(?eind_proces) || ?eind_proces >= ?start_periode)) 40 ?client 41 a onz-g:Human . 42 ?locatie 43 onz-g:partOf* ?vestiging . 44 ?vestiging 45 a onz-org:Vestiging . 46 #selecteer bijbehorende MIC meldingen over medicatiefouten 47 ?mic_melding onz-g:isAbout ?client ; 48 a onz-zorg:MeldingMedicatieFout ; 49 onz-g:hasTime ?datum_melding . 50 51 #Koppel melding aan juiste zorgproces 52 FILTER (?start_proces <= ?datum_melding && (!BOUND(?eind_proces) || ?eind_proces >= ?datum_melding)) 53 } 54 } 55 OPTIONAL { 56 ?bespreking 57 onz-g:hasMeetingTopic/a onz-zorg:MeldingMedicatieFout ; 58 onz-g:hasTime ?datum_bespreking ; 59 onz-g:hasPerdurantLocation/onz-g:partOf* ?vestiging . 60 BIND(MONTH(?datum_bespreking) AS ?maand) 61 } 62 BIND(IF(BOUND(?maand) && ?maand <= 3,1,0) AS ?Q1) 63 BIND(IF(BOUND(?maand) && ?maand >= 4 && ?maand <= 6,1,0) AS ?Q2) 64 BIND(IF(BOUND(?maand) && ?maand >= 7 && ?maand <= 9,1,0) AS ?Q3) 65 BIND(IF(BOUND(?maand) && ?maand >= 10,1,0) AS ?Q4) 66 } 67 GROUP BY ?vestiging 68 } 69 BIND(IF(?Q1_tot + ?Q2_tot + ?Q3_tot + ?Q4_tot = 4, 1, 0) AS ?tlr) 70}
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!