Verdeelsleutels

2c. Verdeelsleutel duur zorgproces obv Wlz-indicatie per leveringsvorm

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Verdeelsleutel: 2c
2# Parameters: -
3# Ontologie: versie 2.0.0
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11
12SELECT 
13	?vestiging
14    (ROUND(100 * (SUM(?verblijf_dagen)/SUM(?dagen_zorgproces))) AS ?verblijf)
15	(ROUND(100 * (SUM(?vpt_dagen)/SUM(?dagen_zorgproces))) AS ?vpt)
16	(ROUND(100 * (SUM(?mpt_dagen)/SUM(?dagen_zorgproces))) AS ?mpt)
17	(ROUND(100 * (SUM(?pgb_dagen)/SUM(?dagen_zorgproces))) AS ?pgb)
18{
19    { 
20        SELECT DISTINCT ?vestiging ?zorgproces ?verblijf_dagen ?vpt_dagen ?mpt_dagen ?pgb_dagen ?dagen_zorgproces
21        {
22            BIND ("2022-01-01"^^xsd:date AS ?start_periode)
23            BIND ("2022-12-31"^^xsd:date AS ?eind_periode)
24            
25            VALUES ?zorgprofiel {onz-zorg:4VV onz-zorg:5VV onz-zorg:6VV onz-zorg:7VV onz-zorg:8VV onz-zorg:9BVV onz-zorg:10VV }
26            
27            #Selecteer de zorgprocessen die voldoen aan de inclusiecriteria
28            ?zorgproces
29                a onz-zorg:NursingProcess ;
30                onz-g:definedBy ?indicatie ;
31                onz-g:hasPerdurantLocation/onz-g:partOf* ?locatie ;
32                onz-g:startDatum ?start_zorgproces .
33                OPTIONAL {?zorgproces onz-g:eindDatum ?eind_zorgproces}
34                FILTER(?start_zorgproces <= ?eind_periode && ((?eind_zorgproces >= ?start_periode) || (!BOUND(?eind_zorgproces))))
35            
36            #corrigeer zorgproces-periode zodat deze binnen de gevraagde periode valt
37            BIND(IF(?start_zorgproces < ?start_periode, ?start_periode, ?start_zorgproces) AS ?start_zorgproces_corr)
38            BIND(IF(?eind_zorgproces > ?eind_periode || !BOUND(?eind_zorgproces), ?eind_periode, ?eind_zorgproces) AS ?eind_zorgproces_corr)
39
40            #Bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst
41            {
42                ?locatie 
43                    a onz-org:Vestiging ;
44                    rdfs:label ?vestiging .
45            } UNION {
46                #Includeer ook de organisatie als geheel en label deze als vestiging
47                ?locatie onz-org:vestigingVan ?organisatie_uri .
48                ?organisatie_uri 
49                    a onz-g:Business ;
50                    rdfs:label ?Organisatie .
51                BIND(CONCAT('Totaal ',?Organisatie) AS ?vestiging)
52            }
53            
54            #Selecteer de bijbehorende indicatie, om unieke clienten te kunnen bepalen
55            ?indicatie 
56                onz-g:hasPart ?zorgprofiel ;
57                onz-g:hasPart ?lv ;
58                onz-g:isAbout ?client .
59			
60            ?client a onz-g:Human .
61            ?lv a onz-zorg:Leveringsvorm .
62            
63            #Bepaal aantal dagen zorg geleverd
64            BIND ((360 * (YEAR(?eind_zorgproces_corr + "P1D"^^xsd:duration) - YEAR(?start_zorgproces_corr))) +
65           (30 * (MONTH(?eind_zorgproces_corr + "P1D"^^xsd:duration) - MONTH(?start_zorgproces_corr))) +
66           (DAY(?eind_zorgproces_corr + "P1D"^^xsd:duration) - DAY(?start_zorgproces_corr))
67           AS ?dagen_zorgproces)
68            
69            
70            #Per leveringsstroom
71            BIND(IF(?lv = onz-zorg:instelling, ?dagen_zorgproces, 0) AS ?verblijf_dagen)
72            BIND(IF(?lv = onz-zorg:vpt, ?dagen_zorgproces, 0) AS ?vpt_dagen)
73            BIND(IF(?lv = onz-zorg:mpt, ?dagen_zorgproces, 0) AS ?mpt_dagen)
74            BIND(IF(?lv = onz-zorg:pgb, ?dagen_zorgproces, 0) AS ?pgb_dagen)
75        }
76    }
77} 
78GROUP BY ?vestiging

Heb je feedback?

Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!