Verdeelsleutels

2b. Verdeelsleutel duur zorgproces obv Wlz-indicatie per langdurige zorg sector

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Verdeelsleutel: 2b
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(?ggzb_dagen)/SUM(?dagen_zorgproces))) AS ?GGZ_B)
15    (ROUND(100 * (SUM(?lg_dagen)/SUM(?dagen_zorgproces))) AS ?LG)
16    (ROUND(100 * (SUM(?lvg_dagen)/SUM(?dagen_zorgproces))) AS ?LVG)
17    (ROUND(100 * (SUM(?vg_dagen)/SUM(?dagen_zorgproces))) AS ?VG)
18    (ROUND(100 * (SUM(?vv_dagen)/SUM(?dagen_zorgproces))) AS ?VV)
19    (ROUND(100 * (SUM(?zgaud_dagen)/SUM(?dagen_zorgproces))) AS ?ZGAUD)
20    (ROUND(100 * (SUM(?zgvis_dagen)/SUM(?dagen_zorgproces))) AS ?ZGVIS)
21{
22    {
23        SELECT DISTINCT ?vestiging ?zorgproces ?ggzb_dagen ?lg_dagen ?lvg_dagen ?vg_dagen ?vv_dagen ?zgaud_dagen ?zgvis_dagen ?dagen_zorgproces
24        {
25            BIND ("2022-01-01"^^xsd:date AS ?start_periode)
26            BIND ("2022-12-31"^^xsd:date AS ?eind_periode)
27
28            #selecteer de zorgprocessen die voldoen aan de inclusiecriteria
29            ?zorgproces
30                a onz-zorg:NursingProcess ;
31                onz-g:definedBy ?indicatie ;
32                onz-g:hasPerdurantLocation/onz-g:partOf* ?locatie ;
33                onz-g:startDatum ?start_zorgproces .
34                OPTIONAL {?zorgproces onz-g:eindDatum ?eind_zorgproces}
35                FILTER(?start_zorgproces <= ?eind_periode && ((?eind_zorgproces >= ?start_periode) || (!BOUND(?eind_zorgproces))))
36            
37            #corrigeer zorgproces-periode zodat deze binnen de gevraagde periode valt
38                BIND(IF(?start_zorgproces < ?start_periode, ?start_periode, ?start_zorgproces) AS ?start_zorgproces_corr)
39                BIND(IF(?eind_zorgproces > ?eind_periode || !BOUND(?eind_zorgproces), ?eind_periode, ?eind_zorgproces) AS ?eind_zorgproces_corr)
40
41            #Bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst
42            {
43                ?locatie 
44                    a onz-org:Vestiging ;
45                    rdfs:label ?vestiging .
46            } UNION {
47                #Includeer ook de organisatie als geheel en label deze als vestiging
48                ?locatie onz-org:vestigingVan ?organisatie_uri .
49                ?organisatie_uri 
50                    a onz-g:Business ;
51                    rdfs:label ?Organisatie .
52                BIND(CONCAT('Totaal ',?Organisatie) AS ?vestiging)
53            }
54            #selecteer de bijbehordene indicatie, om unieke clienten te kunnen bepalen
55            ?indicatie 
56                a onz-zorg:WlzIndicatie ;
57                onz-g:hasPart/onz-g:isAbout ?sector .
58
59            ?sector
60                a onz-zorg:LangdurigeZorgSector .
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(?sector = onz-zorg:GGZ-B, ?dagen_zorgproces, 0) AS ?ggzb_dagen)
70            BIND(IF(?sector = onz-zorg:LG, ?dagen_zorgproces, 0) AS ?lg_dagen)
71            BIND(IF(?sector = onz-zorg:LVG, ?dagen_zorgproces, 0) AS ?lvg_dagen)
72            BIND(IF(?sector = onz-zorg:VG, ?dagen_zorgproces, 0) AS ?vg_dagen)
73            BIND(IF(?sector = onz-zorg:VV, ?dagen_zorgproces, 0) AS ?vv_dagen)
74            BIND(IF(?sector = onz-zorg:ZGAUD, ?dagen_zorgproces, 0) AS ?zgaud_dagen)
75            BIND(IF(?sector = onz-zorg:ZGVIS, ?dagen_zorgproces, 0) AS ?zgvis_dagen)
76        } 
77    }
78}
79GROUP BY ?vestiging

Heb je feedback?

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