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 ?vestiging 10 ?teller 11 ?noemer 12 ?indicator 13{ 14 { 15 SELECT 16 ?vestiging 17 (SUM(?count_teller) AS ?teller_temp) 18 (SUM(?filter_noemer) AS ?noemer_temp) 19 (ROUND(100*SUM(?count_teller)/SUM(?filter_noemer)) AS ?indicator_temp) 20 { 21 { 22 SELECT DISTINCT 23 ?client 24 (MAX(?start_proces) AS ?select_vestiging) 25 (MAX(?inclusie_noemer) AS ?filter_noemer) 26 (MAX(?inclusie_teller) AS ?count_teller) 27 { 28 BIND("2023-03-01"^^xsd:date as ?peildatum) 29 30 VALUES ?zorgprofiel { onz-zorg:4VV onz-zorg:5VV onz-zorg:6VV onz-zorg:7VV onz-zorg:8VV onz-zorg:9BVV onz-zorg:10VV } 31 32 #selecteer de zorgprocessen die voldoen aan de inclusiecriteria 33 ?zorgproces 34 a onz-zorg:NursingProcess ; 35 onz-g:hasParticipant ?client ; 36 onz-g:definedBy/onz-g:hasPart ?zorgprofiel ; 37 onz-g:startDatum ?start_proces . 38 OPTIONAL {?zorgproces onz-g:eindDatum ?eind_proces} 39 BIND (IF(!BOUND(?eind_proces) || ?eind_proces > ?peildatum, ?peildatum, ?eind_proces) AS ?eind_proces_corr) 40 FILTER (?start_proces <= ?peildatum && ?eind_proces_corr >= ?peildatum) 41 OPTIONAL 42 { 43 #selecteer eventuele decubituswonden en bijbehorende graad 44 ?client 45 onz-g:hasQuality ?wond . 46 ?wond 47 a onz-zorg:DecubitusWond ; 48 onz-g:startDatum ?start_wond . 49 OPTIONAL { ?wond onz-g:eindDatum ?eind_wond } 50 OPTIONAL { 51 ?wond 52 onz-g:hasQuality ?g . 53 ?g 54 onz-g:hasTime ?datum ; 55 onz-g:hasQualityValue ?graad . 56 } 57 #wond in de juiste periode 58 FILTER (!BOUND(?wond) || (?start_wond <= ?eind_proces_corr && (?eind_wond >= ?start_proces || !BOUND(?eind_wond)))) 59 } 60 #graad bij de juiste wond 61 FILTER ((?datum >= ?start_wond && ( ?datum <= ?eind_wond || !BOUND(?eind_wond))) || !BOUND(?graad)) 62 FILTER (?start_wond <= ?peildatum && (?peildatum <= ?eind_wond || !BOUND(?eind_wond))) 63 BIND (IF(BOUND(?wond) && !BOUND(?graad), 0, 1) AS ?inclusie_noemer) 64 BIND (IF((?graad = onz-zorg:decubitus_categorie_1 || !BOUND(?graad)) || ?inclusie_noemer = 0, 0, 1) AS ?inclusie_teller) 65 66 } 67 GROUP BY ?client 68 } 69 FILTER (?filter_noemer = 1) 70 ?laatsteproces 71 onz-g:hasParticipant ?client ; 72 onz-g:startDatum ?select_vestiging ; 73 onz-g:hasPerdurantLocation ?locatie . 74 ?locatie 75 onz-g:partOf* ?vestiging_uri . 76 ?vestiging_uri 77 a onz-org:Vestiging ; 78 onz-g:identifiedBy ?vest_nr . 79 ?vest_nr 80 a onz-org:Vestigingsnummer ; 81 onz-g:hasDataValue ?vestiging . 82 } 83 GROUP BY ?vestiging 84 } 85 #Corrigeer voor waarnemingen kleiner dan 10 86 #Houd rekening met een teller die mogelijk groter is dan de noemer 87 BIND (IF(?teller_temp < 10, "Waarneming kleiner dan 10", ?teller_temp) AS ?teller) 88 BIND (IF(?noemer_temp < 10, "Waarneming kleiner dan 10", ?noemer_temp) AS ?noemer) 89 BIND (IF(?teller_temp < 10, "Waarneming kleiner dan 10", ?indicator_temp) AS ?indicator) 90} 91
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!