Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
- Publicatiedatum:
- 18-06-2026
- Inwerkingtreding:
- 18-06-2026
22.1 Groei - wat is de omzetgroei?
Concepten
Relaties
Eigenschappen
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 22.1 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 ?Kental ?Waarde 10WHERE { 11 { 12 # Bereken verslagjaar en vergelijkingsjaar 13 SELECT ?p_verslagjaar ?p_vergelijkingsjaar 14 WHERE { 15 # ========= Verslagjaar ========= 16 { 17 SELECT (SUM(?p_bedrag) AS ?p_verslagjaar) 18 WHERE { 19 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 20 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 21 22 { 23 ?rubriek a onz-fin:Grootboekrubriek . 24 } 25 UNION 26 { 27 ?rubriek a onz-fin:Grootboekrekening . 28 } 29 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 30 31 ?grootboek_post 32 a onz-fin:Grootboekpost ; 33 onz-g:partOf ?rubriek ; 34 onz-g:hasDate ?datum ; 35 onz-fin:heeftGeldBedrag ?geld_bedrag . 36 # Behoud de grootboek post alleen voor de meest specifieke rubriek, 37 # om dubbeltelling bij meerdere rubrieken te voorkomen 38 FILTER NOT EXISTS { 39 ?grootboek_post onz-g:partOf ?specifiekereRubriek . 40 ?specifiekereRubriek onz-g:partOf+ ?rubriek . 41 } 42 FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode) 43 44 # --- P: Bedragen voor eindtotaalberekening --- 45 # Prismant: P.I=81, P.IV=82/83/89/919/920/930 46 # RGS: P.I=WOmz/WRev/WRvi/WRgr/WWvv/WNoa/WLbe/WBat, P.II = WWiv minus WWivGvp, III=WWivGvp, P.IV=WOvb 47 # voor de som P volstaat het om WWiv hier te zetten want zo wordt WWivGvp ook maar 1x geteld. 48 BIND( 49 IF( 50 STRSTARTS(?rubriekCode, "81") || 51 STRSTARTS(?rubriekCode, "82") || 52 STRSTARTS(?rubriekCode, "83") || 53 STRSTARTS(?rubriekCode, "89") || 54 STRSTARTS(?rubriekCode, "919") || 55 STRSTARTS(?rubriekCode, "920") || 56 STRSTARTS(?rubriekCode, "930") || 57 STRSTARTS(?rubriekCode, "WOmz") || 58 STRSTARTS(?rubriekCode, "WRev") || 59 STRSTARTS(?rubriekCode, "WRvi") || 60 STRSTARTS(?rubriekCode, "WRgr") || 61 STRSTARTS(?rubriekCode, "WWvv") || 62 STRSTARTS(?rubriekCode, "WNoa") || 63 STRSTARTS(?rubriekCode, "WLbe") || 64 STRSTARTS(?rubriekCode, "WBat") || 65 STRSTARTS(?rubriekCode, "WWiv") || 66 STRSTARTS(?rubriekCode, "WOvb"), 67 ?geld_bedrag, 0) AS ?p_bedrag 68 ) 69 70 } 71 } 72 73 # ========= Vergelijkingsjaar ========= 74 { 75 SELECT (SUM(?p_bedrag) AS ?p_vergelijkingsjaar) 76 WHERE { 77 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 78 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 79 80 { 81 ?rubriek a onz-fin:Grootboekrubriek . 82 } 83 UNION 84 { 85 ?rubriek a onz-fin:Grootboekrekening . 86 } 87 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 88 89 ?grootboek_post 90 a onz-fin:Grootboekpost ; 91 onz-g:partOf ?rubriek ; 92 onz-g:hasDate ?datum ; 93 onz-fin:heeftGeldBedrag ?geld_bedrag . 94 # Behoud de grootboek post alleen voor de meest specifieke rubriek, 95 # om dubbeltelling bij meerdere rubrieken te voorkomen 96 FILTER NOT EXISTS { 97 ?grootboek_post onz-g:partOf ?specifiekereRubriek . 98 ?specifiekereRubriek onz-g:partOf+ ?rubriek . 99 } 100 101 102 # vergelijkingsperiode = meetperiode minus 1 jaar 103 BIND(xsd:date(CONCAT(STR(YEAR(?startperiode)-1), "-", 104 SUBSTR(STR(?startperiode), 6, 2), "-", 105 SUBSTR(STR(?startperiode), 9, 2))) AS ?startVergelijkingsperiode) 106 107 BIND(xsd:date(CONCAT(STR(YEAR(?eindperiode)-1), "-", 108 SUBSTR(STR(?eindperiode), 6, 2), "-", 109 SUBSTR(STR(?eindperiode), 9, 2))) AS ?eindVergelijkingsperiode) 110 111 FILTER (?datum >= ?startVergelijkingsperiode && ?datum <= ?eindVergelijkingsperiode) 112 113 # --- P: Bedragen voor eindtotaalberekening --- 114 # Prismant: P.I=81, P.IV=82/83/89/919/920/930 115 # RGS: P.I=WOmz/WRev/WRvi/WRgr/WWvv/WNoa/WLbe/WBat, P.II = WWiv minus WWivGvp, III=WWivGvp, P.IV=WOvb 116 # voor de som P volstaat het om WWiv hier te zetten want zo wordt WWivGvp ook maar 1x geteld. 117 BIND( 118 IF( 119 STRSTARTS(?rubriekCode, "81") || 120 STRSTARTS(?rubriekCode, "82") || 121 STRSTARTS(?rubriekCode, "83") || 122 STRSTARTS(?rubriekCode, "89") || 123 STRSTARTS(?rubriekCode, "919") || 124 STRSTARTS(?rubriekCode, "920") || 125 STRSTARTS(?rubriekCode, "930") || 126 STRSTARTS(?rubriekCode, "WOmz") || 127 STRSTARTS(?rubriekCode, "WRev") || 128 STRSTARTS(?rubriekCode, "WRvi") || 129 STRSTARTS(?rubriekCode, "WRgr") || 130 STRSTARTS(?rubriekCode, "WWvv") || 131 STRSTARTS(?rubriekCode, "WNoa") || 132 STRSTARTS(?rubriekCode, "WLbe") || 133 STRSTARTS(?rubriekCode, "WBat") || 134 STRSTARTS(?rubriekCode, "WWiv") || 135 STRSTARTS(?rubriekCode, "WOvb"), 136 ?geld_bedrag, 0) AS ?p_bedrag 137 ) 138 } 139 } 140 } 141 } 142 143 # Bereken omzetgroei 144 BIND( 145 IF(?p_vergelijkingsjaar = 0, 146 "Ongedefinieerd"^^xsd:string, 147 xsd:decimal(?p_verslagjaar) / xsd:decimal(?p_vergelijkingsjaar) 148 ) AS ?omzetgroei_raw 149 ) 150 151 VALUES ?Kental { "Omzetgroei" "Omzetgroei%" } 152 153 BIND( 154 IF( 155 DATATYPE(?omzetgroei_raw) = xsd:string, 156 ?omzetgroei_raw, 157 IF( 158 ?Kental = "Omzetgroei", 159 ROUND(?omzetgroei_raw * 100) / 100, 160 ROUND(?omzetgroei_raw * 10000) / 100 161 ) 162 ) AS ?Waarde 163 ) 164} 165ORDER BY ?Kental 166