Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

8.2 Percentage kosten personeel niet in loondienst (PNIL)

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 8.2
2# Parameters: ?jaar, ?kwartaal, ?zorgkantoor
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX onz-org: <http://purl.org/ozo/onz-org#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11
12SELECT 
13    ?zorgkantoor_vestiging
14    ?vestiging
15    (SUM(?bedrag_pil) AS ?totaal_pil_kosten) 
16    (SUM(?bedrag_pnil) AS ?totaal_pnil_kosten) 
17    ((SUM(?bedrag_pnil)/((SUM(?bedrag_pil)+SUM(?bedrag_pnil)))*100) AS ?percentage_kosten_pnil)
18{
19    {
20        SELECT ?grootboek_post ?bedrag_pil ?bedrag_pnil ?vestiging_uri ?zorgkantoor_vestiging ?vestiging_label
21        {
22            {
23                SELECT DISTINCT ?grootboek_post ?bedrag_pil ?bedrag_pnil
24                {
25                    BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
26                        IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
27                        IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
28                        IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
29                        '')))) AS ?start_periode)
30                    BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
31                    {
32                        VALUES ?rubriek_pnil { 
33                            onz-fin:WBedOvpUik 
34                            onz-fin:WBedOvpUit 
35                            onz-fin:WBedOvpMaf 
36                            onz-fin:WBedOvpZzp
37                            onz-fin:WBedOvpPay 
38                            onz-fin:WBedOvpOip 
39                            onz-fin:418000
40                            onz-fin:418100
41                            onz-fin:418200
42                        }
43                        ?grootboek_post a onz-fin:Grootboekpost ;
44                            onz-g:partOf ?rubriek_pnil ;
45                            onz-g:hasDate ?datum ;
46                            onz-fin:heeftGeldBedrag ?bedrag_pnil .
47                        BIND(0 AS ?bedrag_pil)
48                    } UNION {
49                        VALUES ?rubriek_pil { 
50                            onz-fin:WPerLes 
51                            onz-fin:WPerSol 
52                            onz-fin:411000 
53                            onz-fin:412000 
54                            onz-fin:413000
55                            onz-fin:414000 
56                            onz-fin:415000 
57                            onz-fin:422100 
58                            onz-fin:422300 
59                            onz-fin:422400
60                            onz-fin:422410 
61                            onz-fin:422500 
62                            onz-fin:422600 
63                            onz-fin:422900
64                        }
65                        ?grootboek_post a onz-fin:Grootboekpost ;
66                            onz-g:partOf ?rubriek_pil ;
67                            onz-g:hasDate ?datum ;
68                            onz-fin:heeftGeldBedrag ?bedrag_pil .
69                        BIND(0 AS ?bedrag_pnil)
70                    }
71                    FILTER (?datum >= ?start_periode && ?datum <= ?eind_periode)
72                }
73            }
74            OPTIONAL 
75            {
76                ?grootboek_post onz-g:isAbout ?kosten_plaats .
77                ?kosten_plaats a onz-fin:Kostenplaats;
78                                onz-g:isAbout ?vestiging_uri .
79                ?vestiging_uri a onz-org:Vestiging ;
80                    onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
81                BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
82                ?pc_gebied onz-g:identifiedBy ?postcode ;
83                          onz-g:partOf+ ?zk_regio .
84                ?zk_regio a onz-org:ZorgkantoorRegio .
85                ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
86                {
87                    ?vestiging_uri onz-g:identifiedBy ?vest_nr .    
88                    ?vest_nr a onz-org:Vestigingsnummer ;
89                        onz-g:hasDataValue ?vestiging_label .
90                } UNION {
91                    ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
92                    BIND("Totaal organisatie" AS ?vestiging_label)
93                    BIND("n.v.t." AS ?zk_vestiging)
94                }
95                BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zk_vestiging_temp)
96                BIND(?zk_vestiging_temp AS ?zorgkantoor_vestiging)
97            }
98        }
99    }
100    BIND(COALESCE(?vestiging_label, "Totaal") AS ?vestiging)
101}
102GROUP BY ?zorgkantoor_vestiging ?vestiging
103ORDER BY ?zorgkantoor_vestiging ?vestiging

Heb je feedback?

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