Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
18-06-2026

Inwerkingtreding:
18-06-2026

24.9 Overig - wat is verhouding tussen uitbesteed werk en vast personeel?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 24.9
2# Parameters: ?startperiode, ?eindperiode
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
6PREFIX onz-g: <http://purl.org/ozo/onz-g#>
7PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
8
9SELECT
10  ("Uitbesteed werk vs vast personeel" AS ?Kental)
11  (
12    IF(
13      BOUND(?vastpersoneel) && (?vastpersoneel != 0),
14      (COALESCE(?q_ii, 0) / xsd:decimal(?vastpersoneel)),
15      "Ongedefinieerd"
16    ) AS ?Waarde
17  )
18WHERE {
19
20  # DEEL 1: Vast personeel = Q.III + Q.IV + Q.V
21  # Prismant: 411-419 (Q.III), 420/4221/4223-4225/4229 (Q.IV), 4226 (Q.V)
22  # RGS: WPer (omvat WPerSol=Q.IV en WPerPen=Q.V, rest=Q.III)
23  {
24    SELECT (SUM(?q_vastpersoneel) AS ?vastpersoneel)
25    WHERE {
26            # BIND("2024-01-01"^^xsd:date AS ?startperiode)
27            # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
28
29        ?grootboek_post a onz-fin:Grootboekpost ;
30            onz-g:partOf ?rubriek ;
31            onz-g:hasDate ?datum ;
32            onz-fin:heeftGeldBedrag ?geld_bedrag .
33
34        # Match directe ouder: Grootboekrekening (RGS) of Grootboekrubriek (Prismant)
35        {
36            { ?rubriek a onz-fin:Grootboekrekening }
37            UNION
38            { ?rubriek a onz-fin:Grootboekrubriek }
39        }
40        # Anti-dubbeltelling: houd alleen het bladniveau (geen transitive ancestors)
41        FILTER NOT EXISTS {
42            ?grootboek_post onz-g:partOf ?child .
43            ?child onz-g:partOf ?rubriek .
44            FILTER(?child != ?rubriek)
45            { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } }
46        }
47        FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
48        BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
49
50        FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
51
52        # Vast personeel: Q.III + Q.IV + Q.V
53        BIND(
54          IF(
55            STRSTARTS(?rubriekCode, "411") ||
56            STRSTARTS(?rubriekCode, "412") ||
57            STRSTARTS(?rubriekCode, "413") ||
58            STRSTARTS(?rubriekCode, "414") ||
59            STRSTARTS(?rubriekCode, "415") ||
60            STRSTARTS(?rubriekCode, "416") ||
61            STRSTARTS(?rubriekCode, "419") ||
62            STRSTARTS(?rubriekCode, "420") ||
63            STRSTARTS(?rubriekCode, "4221") ||
64            STRSTARTS(?rubriekCode, "4223") ||
65            STRSTARTS(?rubriekCode, "4224") ||
66            STRSTARTS(?rubriekCode, "4225") ||
67            STRSTARTS(?rubriekCode, "4229") ||
68            STRSTARTS(?rubriekCode, "4226") ||
69            STRSTARTS(?rubriekCode, "WPer"),
70            ?geld_bedrag, 0) AS ?q_vastpersoneel
71        )
72    }
73  }
74
75  # DEEL 2: Q.II Kosten uitbesteed werk en andere externe kosten
76  # Prismant: 417/418
77  # RGS: WKprKuw
78  {
79    SELECT (SUM(?q_ii_bedrag) AS ?q_ii)
80    WHERE {
81            # BIND("2024-01-01"^^xsd:date AS ?startperiode)
82            # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
83
84        ?grootboek_post a onz-fin:Grootboekpost ;
85            onz-g:partOf ?rubriek ;
86            onz-g:hasDate ?datum ;
87            onz-fin:heeftGeldBedrag ?geld_bedrag .
88
89        # Match directe ouder: Grootboekrekening (RGS) of Grootboekrubriek (Prismant)
90        {
91            { ?rubriek a onz-fin:Grootboekrekening }
92            UNION
93            { ?rubriek a onz-fin:Grootboekrubriek }
94        }
95        # Anti-dubbeltelling: houd alleen het bladniveau (geen transitive ancestors)
96        FILTER NOT EXISTS {
97            ?grootboek_post onz-g:partOf ?child .
98            ?child onz-g:partOf ?rubriek .
99            FILTER(?child != ?rubriek)
100            { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } }
101        }
102        FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
103        BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
104
105        FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
106
107        # Q.II
108        BIND(
109          IF(
110            STRSTARTS(?rubriekCode, "417") ||
111            STRSTARTS(?rubriekCode, "418") ||
112            STRSTARTS(?rubriekCode, "WKprKuw"),
113            ?geld_bedrag, 0) AS ?q_ii_bedrag
114        )
115    }
116  }
117}
118ORDER BY ?Kental
119