Verdeelsleutels

2a. Verdeelsleutel duur zorglegitimatie per wet.

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Verdeelsleutel: 2a
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(?Wlz_dagen)/SUM(?dagen_zorgproces))) AS ?Wlz)
15	(ROUND(100 * (SUM(?Wmo_dagen)/SUM(?dagen_zorgproces))) AS ?Wmo)
16	(ROUND(100 * (SUM(?Zvw_dagen)/SUM(?dagen_zorgproces))) AS ?Zvw)
17{
18    { 
19        SELECT DISTINCT ?vestiging ?zorgproces ?Wlz_dagen ?Wmo_dagen ?Zvw_dagen ?dagen_zorgproces
20        {
21            BIND ("2022-01-01"^^xsd:date AS ?start_periode)
22            BIND ("2022-12-31"^^xsd:date AS ?eind_periode)
23
24            #Bepaal filter voor definitie van overeenkomsten die geldig zijn voor personeelsleden
25            VALUES ?type_indicatie
26            { 
27                onz-zorg:WlzIndicatie
28                onz-zorg:WmoIndicatie
29                onz-zorg:ZvwIndicatie
30            }
31
32            #selecteer de zorgprocessen die voldoen aan de inclusiecriteria
33            ?zorgproces
34                a onz-g:IntentionalProcess ;
35                onz-g:definedBy ?indicatie ;
36                onz-g:hasPerdurantLocation/onz-g:partOf* ?locatie ;
37                onz-g:startDatum ?start_zorgproces .
38                OPTIONAL {?zorgproces onz-g:eindDatum ?eind_zorgproces}
39                FILTER(?start_zorgproces <= ?eind_periode && ((?eind_zorgproces >= ?start_periode) || (!BOUND(?eind_zorgproces))))
40            
41            #corrigeer zorgproces-periode zodat deze binnen de gevraagde periode valt
42                BIND(IF(?start_zorgproces < ?start_periode, ?start_periode, ?start_zorgproces) AS ?start_zorgproces_corr)
43                BIND(IF(?eind_zorgproces > ?eind_periode || !BOUND(?eind_zorgproces), ?eind_periode, ?eind_zorgproces) AS ?eind_zorgproces_corr)
44
45            #Bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst
46            {
47                ?locatie 
48                    a onz-org:Vestiging ;
49                    rdfs:label ?vestiging .
50            } UNION {
51                #Includeer ook de organisatie als geheel en label deze als vestiging
52                ?locatie onz-org:vestigingVan ?organisatie_uri .
53                ?organisatie_uri 
54                    a onz-g:Business ;
55                    rdfs:label ?Organisatie .
56                BIND(CONCAT('Totaal ',?Organisatie) AS ?vestiging)
57            }
58            #selecteer de bijbehordene indicatie, om unieke clienten te kunnen bepalen
59            ?indicatie 
60                a ?type_indicatie .
61
62            #Bepaal aantal dagen zorg geleverd
63            BIND ((360 * (YEAR(?eind_zorgproces_corr + "P1D"^^xsd:duration) - YEAR(?start_zorgproces_corr))) +
64           (30 * (MONTH(?eind_zorgproces_corr + "P1D"^^xsd:duration) - MONTH(?start_zorgproces_corr))) +
65           (DAY(?eind_zorgproces_corr + "P1D"^^xsd:duration) - DAY(?start_zorgproces_corr))
66           AS ?dagen_zorgproces)
67            
68            #Per financieringsstroom
69            BIND(IF(?type_indicatie = onz-zorg:WlzIndicatie, ?dagen_zorgproces, 0) AS ?Wlz_dagen)
70            BIND(IF(?type_indicatie = onz-zorg:WmoIndicatie, ?dagen_zorgproces, 0) AS ?Wmo_dagen)
71            BIND(IF(?type_indicatie = onz-zorg:ZvwIndicatie, ?dagen_zorgproces, 0) AS ?Zvw_dagen)
72        }
73    }
74} 
75GROUP BY ?vestiging

Heb je feedback?

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