Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
15-07-2026

Inwerkingtreding:
16-07-2026

24.2 Overig - wat is de Interest Coverage Ratio (ICR)?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 24.2
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  ("ICR" AS ?Kental)
11    (IF(?r_iv != 0,
12        ROUND((xsd:decimal(?p_totaal - ?q_totaal) / xsd:decimal(?r_iv)) * 100) / 100,
13        "Ongedefinieerd"
14    ) AS ?Waarde)
15WHERE {
16
17  # Deel 1: Eindtotalen berekenen (p_totaal en q_totaal)
18  {
19    SELECT (SUM(?p_bedrag) AS ?p_totaal) (SUM(?q_bedrag) AS ?q_totaal)
20    WHERE {
21            #  BIND("2024-01-01"^^xsd:date AS ?startperiode)
22            #  BIND("2024-12-31"^^xsd:date AS ?eindperiode)
23
24        ?grootboek_post a onz-fin:Grootboekpost ;
25            onz-g:partOf ?rubriek ;
26            onz-g:hasDate ?datum ;
27            onz-fin:heeftGeldBedrag ?geld_bedrag .
28
29        # Match directe ouder: Grootboekrekening (RGS) of Grootboekrubriek (Prismant)
30        {
31            { ?rubriek a onz-fin:Grootboekrekening }
32            UNION
33            { ?rubriek a onz-fin:Grootboekrubriek }
34        }
35        # Anti-dubbeltelling: houd alleen het bladniveau (geen transitive ancestors)
36        FILTER NOT EXISTS {
37            ?grootboek_post onz-g:partOf ?child .
38            ?child onz-g:partOf ?rubriek .
39            FILTER(?child != ?rubriek)
40            { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } }
41        }
42        FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
43        BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
44
45        FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
46
47        # P-totaal
48        # Prismant: 81/82/83/89/919/920/930
49        # RGS: WOmz/WRev/WRvi/WRgr/WWvv/WNoa/WLbe/WBat/WWiv/WOvb
50        BIND(
51          IF(
52            STRSTARTS(?rubriekCode, "81") ||
53            STRSTARTS(?rubriekCode, "82") ||
54            STRSTARTS(?rubriekCode, "83") ||
55            STRSTARTS(?rubriekCode, "89") ||
56            STRSTARTS(?rubriekCode, "919") ||
57            STRSTARTS(?rubriekCode, "920") ||
58            STRSTARTS(?rubriekCode, "930") ||
59            STRSTARTS(?rubriekCode, "WOmz") ||
60            STRSTARTS(?rubriekCode, "WRev") ||
61            STRSTARTS(?rubriekCode, "WRvi") ||
62            STRSTARTS(?rubriekCode, "WRgr") ||
63            STRSTARTS(?rubriekCode, "WWvv") ||
64            STRSTARTS(?rubriekCode, "WNoa") ||
65            STRSTARTS(?rubriekCode, "WLbe") ||
66            STRSTARTS(?rubriekCode, "WBat") ||
67            STRSTARTS(?rubriekCode, "WWiv") ||
68            STRSTARTS(?rubriekCode, "WOvb"),
69            ?geld_bedrag, 0
70          ) AS ?p_bedrag
71        )
72
73        # Q-totaal
74        # Prismant: 417/418/411-419/420/4221/4223-4225/4229/4226/480-484/423/43-47/486/489/905/911-915/921/931
75        # RGS: WKpr/WPer/WAfs/WWvi/WBwv/WBed/WOok/WKol/WVkf/WAkf
76        BIND(
77          IF(
78            STRSTARTS(?rubriekCode, "417") ||
79            STRSTARTS(?rubriekCode, "418") ||
80            STRSTARTS(?rubriekCode, "411") ||
81            STRSTARTS(?rubriekCode, "412") ||
82            STRSTARTS(?rubriekCode, "413") ||
83            STRSTARTS(?rubriekCode, "414") ||
84            STRSTARTS(?rubriekCode, "415") ||
85            STRSTARTS(?rubriekCode, "416") ||
86            STRSTARTS(?rubriekCode, "419") ||
87            STRSTARTS(?rubriekCode, "420") ||
88            STRSTARTS(?rubriekCode, "4221") ||
89            STRSTARTS(?rubriekCode, "4223") ||
90            STRSTARTS(?rubriekCode, "4224") ||
91            STRSTARTS(?rubriekCode, "4225") ||
92            STRSTARTS(?rubriekCode, "4229") ||
93            STRSTARTS(?rubriekCode, "4226") ||
94            STRSTARTS(?rubriekCode, "480") ||
95            STRSTARTS(?rubriekCode, "481") ||
96            STRSTARTS(?rubriekCode, "482") ||
97            STRSTARTS(?rubriekCode, "483") ||
98            STRSTARTS(?rubriekCode, "484") ||
99            STRSTARTS(?rubriekCode, "423") ||
100            STRSTARTS(?rubriekCode, "43") ||
101            STRSTARTS(?rubriekCode, "44") ||
102            STRSTARTS(?rubriekCode, "45") ||
103            STRSTARTS(?rubriekCode, "46") ||
104            STRSTARTS(?rubriekCode, "47") ||
105            STRSTARTS(?rubriekCode, "486") ||
106            STRSTARTS(?rubriekCode, "489") ||
107            STRSTARTS(?rubriekCode, "905") ||
108            STRSTARTS(?rubriekCode, "911") ||
109            STRSTARTS(?rubriekCode, "912") ||
110            STRSTARTS(?rubriekCode, "913") ||
111            STRSTARTS(?rubriekCode, "914") ||
112            STRSTARTS(?rubriekCode, "915") ||
113            STRSTARTS(?rubriekCode, "921") ||
114            STRSTARTS(?rubriekCode, "931") ||
115            STRSTARTS(?rubriekCode, "WKpr") ||
116            STRSTARTS(?rubriekCode, "WPer") ||
117            STRSTARTS(?rubriekCode, "WAfs") ||
118            STRSTARTS(?rubriekCode, "WWvi") ||
119            STRSTARTS(?rubriekCode, "WBwv") ||
120            STRSTARTS(?rubriekCode, "WBed") ||
121            STRSTARTS(?rubriekCode, "WOok") ||
122            STRSTARTS(?rubriekCode, "WKol") ||
123            STRSTARTS(?rubriekCode, "WVkf") ||
124            STRSTARTS(?rubriekCode, "WAkf"),
125            ?geld_bedrag, 0
126          ) AS ?q_bedrag
127        )
128    }
129  }
130
131  # Deel 2: R.IV Rentelasten en soortgelijke kosten
132  # Prismant: 485/901, RGS: WFbe - WFbeRlm
133  {
134    SELECT (SUM(?r_iv_plus_bedrag) AS ?r_iv_plus) (SUM(?r_iv_min_bedrag) AS ?r_iv_min)
135    WHERE {
136            # BIND("2024-01-01"^^xsd:date AS ?startperiode)
137            # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
138
139        ?grootboek_post a onz-fin:Grootboekpost ;
140            onz-g:partOf ?rubriek ;
141            onz-g:hasDate ?datum ;
142            onz-fin:heeftGeldBedrag ?geld_bedrag .
143
144        # Match directe ouder: Grootboekrekening (RGS) of Grootboekrubriek (Prismant)
145        {
146            { ?rubriek a onz-fin:Grootboekrekening }
147            UNION
148            { ?rubriek a onz-fin:Grootboekrubriek }
149        }
150        # Anti-dubbeltelling: houd alleen het bladniveau (geen transitive ancestors)
151        FILTER NOT EXISTS {
152            ?grootboek_post onz-g:partOf ?child .
153            ?child onz-g:partOf ?rubriek .
154            FILTER(?child != ?rubriek)
155            { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } }
156        }
157        FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
158        BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
159
160        FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
161
162        # R.IV plus: Prismant=485/901, RGS=WFbe (inclusief WFbeRlm)
163        BIND(IF(STRSTARTS(?rubriekCode, "485") || STRSTARTS(?rubriekCode, "901") || STRSTARTS(?rubriekCode, "WFbe"), ?geld_bedrag, 0) AS ?r_iv_plus_bedrag)
164        # R.IV min: RGS=WFbeRlm (rentebaten, zit al in WFbe en moet eraf)
165        BIND(IF(STRSTARTS(?rubriekCode, "WFbeRlm"), ?geld_bedrag, 0) AS ?r_iv_min_bedrag)
166    }
167  }
168
169  # R.IV netto = plus - min (voor RGS: WFbe - WFbeRlm, voor Prismant: 485+901)
170  BIND(COALESCE(?r_iv_plus, 0) - COALESCE(?r_iv_min, 0) AS ?r_iv)
171}
172ORDER BY ?Kental
173