Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
- Publicatiedatum:
- 03-10-2025
- Inwerkingtreding:
- 03-10-2025
19.2 Wat is het werkkapitaal op korte termijn?
Concepten
Relaties
Eigenschappen
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 19.2.0 2# Parameters: ?peildatum 3# Ontologie: versie 3.0.0 of nieuwer 4 5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#> 6prefix onz-zorg: <http://purl.org/ozo/onz-zorg#> 7PREFIX onz-g: <http://purl.org/ozo/onz-g#> 8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 9 10SELECT ?Kental ?Waarde 11WHERE { 12 { 13 SELECT (SUM(IF(?jaarrekeningpost = "B Vlottende activa", ?bedrag, 0)) - 14 SUM(IF(?jaarrekeningpost = "G Kortlopende schulden", ?bedrag, 0)) AS ?werkkapitaal) 15 WHERE { 16 { 17 SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag) 18 WHERE { 19 # BIND("2024-12-31"^^xsd:date AS ?peildatum) 20 BIND(?peildatum AS ?peildatum_argument) 21 { 22 SELECT # totaal per rubriek 23 (SUM(?geld_bedrag) + SUM(?saldo_waarde)/count(?saldo_waarde) AS ?bedrag_rubriek) ?rubriek ?categorie 24 WHERE { 25 { 26 SELECT # bereken het meest recente saldo per rubriek, 0 indien geen saldo 27 ?rubriek ?categorie 28 (IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde) 29 ?peildatum_argument 30 (IF(BOUND(?saldo_datum), ?saldo_datum, ?unbound) AS ?begin_datum) 31 ?saldo_datum ?saldo 32 WHERE { 33 # BIND("2024-12-31"^^xsd:date AS ?peildatum) 34 BIND(?peildatum as ?peildatum_argument) 35 # Dynamically identify rubrieken and assign categories 36 { 37 SELECT DISTINCT ?rubriek WHERE { 38 ?rubriek a onz-fin:Grootboekrubriek . 39 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 40 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 41 } 42 } 43 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 44 45 # Assign category based on the ?rubriekCode pattern 46 BIND( 47 COALESCE( 48 # Rubrieken B.I t/m B.IV 49 IF(STRSTARTS(?rubriekCode, "3"), "B.I", ?unbound), 50 IF(STRSTARTS(?rubriekCode, "12"), "B.II", ?unbound), 51 IF(STRSTARTS(?rubriekCode, "131"), "B.III", ?unbound), 52 IF(STRSTARTS(?rubriekCode, "132"), "B.IV", ?unbound), 53 54 # Rubriek G 55 IF(STRSTARTS(?rubriekCode, "14") || STRSTARTS(?rubriekCode, "15"), "G", ?unbound), 56 "other" 57 ) AS ?categorie 58 ) 59 FILTER(BOUND(?categorie)) 60 61 OPTIONAL { 62 ?rubriek onz-g:isAbout ?saldo . 63 ?saldo 64 a onz-fin:EindSaldo ; 65 onz-fin:heeftGeldBedrag ?saldo_bedrag ; 66 onz-g:hasDate ?saldo_datum . 67 FILTER (?saldo_datum <= ?peildatum_argument) 68 } 69 FILTER NOT EXISTS { 70 ?rubriek onz-g:isAbout ?saldo2 . 71 ?saldo2 72 onz-g:hasDate ?saldo_datum2 ; 73 a onz-fin:EindSaldo ;. 74 FILTER(?saldo2 != ?saldo) 75 FILTER (?saldo_datum2 <= ?peildatum_argument && ?saldo_datum2 > ?saldo_datum) 76 } 77 } 78 } 79 OPTIONAL { 80 ?grootboek_post 81 a onz-fin:Grootboekpost ; 82 onz-g:partOf ?rubriek ; 83 onz-g:hasDate ?datum ; 84 onz-fin:heeftGeldBedrag ?geld_bedrag_temp . 85 FILTER (?datum <= ?peildatum_argument && (?datum > ?begin_datum || !BOUND(?begin_datum))) 86 } 87 BIND(IF(BOUND(?geld_bedrag_temp), ?geld_bedrag_temp, 0) AS ?geld_bedrag) 88 89 } GROUP BY ?rubriek ?categorie 90 } 91 92 VALUES (?categorie ?jaarrekeningpost){ 93 ("B.I" "B Vlottende activa") 94 ("B.II" "B Vlottende activa") 95 ("B.III" "B Vlottende activa") 96 ("B.IV" "B Vlottende activa") 97 ("G" "G Kortlopende schulden") 98 } 99 } GROUP BY ?jaarrekeningpost 100 } 101 } 102 } 103 104 BIND("Werkkapitaal op korte termijn" AS ?Kental) 105 BIND(?werkkapitaal AS ?Waarde) 106} 107ORDER BY ?Kental