Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
03-10-2025

Inwerkingtreding:
03-10-2025

19.3 Wat is de werkkapitaalratio?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 19.3.0
2# Parameters: ?peildatum, ?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  ("Werkkapitaalratio" AS ?Kental)
11  ( 
12    IF(
13      BOUND(?bedrijfsopbrengsten) && (?bedrijfsopbrengsten != 0),
14      (xsd:decimal(?werkkapitaal) / xsd:decimal(?bedrijfsopbrengsten)),
15      "Ongedefinieerd"
16    ) AS ?Waarde
17  )
18  #Werkkapitaal
19WHERE {
20  {
21    SELECT
22      ( (SUM(IF(?jaarrekeningpost = "B Vlottende activa", ?bedrag, 0))
23        - SUM(IF(?jaarrekeningpost = "G Kortlopende schulden", ?bedrag, 0))
24       ) AS ?werkkapitaal )
25    WHERE {
26      {
27        SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag)
28        WHERE {
29
30          {
31            SELECT ?rubriek ?categorie ((SUM(?geld_bedrag) + SUM(?saldo_waarde) / COUNT(?saldo_waarde)) AS ?bedrag_rubriek)
32            WHERE {
33              # BIND("2024-12-31"^^xsd:date AS ?peildatum)              
34              BIND(?peildatum AS ?peildatum_argument)
35              {
36                SELECT DISTINCT ?rubriek WHERE {
37                  ?rubriek a onz-fin:Grootboekrubriek .
38                  FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$"))
39                }
40              }
41              BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
42              BIND(
43                COALESCE(
44                  IF(STRSTARTS(?rubriekCode, "3"), "B.I", ?unbound),
45                  IF(STRSTARTS(?rubriekCode, "12"), "B.II", ?unbound),
46                  IF(STRSTARTS(?rubriekCode, "131"), "B.III", ?unbound),
47                  IF(STRSTARTS(?rubriekCode, "132"), "B.IV", ?unbound),
48                  IF(STRSTARTS(?rubriekCode, "14") || STRSTARTS(?rubriekCode, "15"), "G", ?unbound),
49                  "other"
50                ) AS ?categorie
51              )
52              FILTER(?categorie IN ("B.I","B.II", "B.III","B.IV", "G"))
53              OPTIONAL {
54                ?rubriek onz-g:isAbout ?saldo .
55                ?saldo a onz-fin:EindSaldo ;
56                       onz-fin:heeftGeldBedrag ?saldo_bedrag ;
57                       onz-g:hasDate ?saldo_datum .
58                FILTER(?saldo_datum <= ?peildatum_argument)
59              }
60              FILTER NOT EXISTS {
61                ?rubriek onz-g:isAbout ?otherSaldo .
62                ?otherSaldo a onz-fin:EindSaldo ;
63                            onz-g:hasDate ?otherDatum .
64                FILTER(
65                  ?otherSaldo != ?saldo
66                  && ?otherDatum <= ?peildatum_argument
67                  && ?otherDatum > ?saldo_datum
68                )
69              }
70              BIND(IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde)
71              OPTIONAL {
72                ?post a onz-fin:Grootboekpost ;
73                      onz-g:partOf ?rubriek ;
74                      onz-g:hasDate ?datum ;
75                      onz-fin:heeftGeldBedrag ?geld_bedrag_temp .
76                FILTER(
77                  ?datum <= ?peildatum_argument
78                  && (!BOUND(?saldo_datum) || ?datum > ?saldo_datum)
79                )
80              }
81              BIND(IF(BOUND(?geld_bedrag_temp), ?geld_bedrag_temp, 0) AS ?geld_bedrag)
82            }
83            GROUP BY ?rubriek ?categorie
84          }
85          VALUES (?categorie ?jaarrekeningpost) {
86            ("B.I"    "B Vlottende activa")
87            ("B.II"   "B Vlottende activa")
88            ("B.III"  "B Vlottende activa")
89            ("B.IV"   "B Vlottende activa")
90            ("G"      "G Kortlopende schulden")
91          }
92        }
93        GROUP BY ?jaarrekeningpost
94      }
95    }
96  }
97
98  # Bedrijfsopbrengsten (P)
99  {
100    SELECT ((?p_totaal) AS ?bedrijfsopbrengsten)
101    WHERE {
102      {
103        SELECT (SUM(?p_bedrag) AS ?p_totaal)
104        WHERE {
105          # BIND("2024-01-01"^^xsd:date AS ?startperiode)
106          # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 
107          {
108            SELECT DISTINCT ?rubriek WHERE {
109              ?rubriek a onz-fin:Grootboekrubriek .
110              FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$"))
111            }
112          }
113          BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
114          ?post a onz-fin:Grootboekpost ;
115                onz-g:partOf ?rubriek ;
116                onz-g:hasDate ?datum ;
117                onz-fin:heeftGeldBedrag ?geld_bedrag .
118          FILTER(?datum >= ?startperiode && ?datum <= ?eindperiode)
119          BIND(
120                IF(
121                    STRSTARTS(?rubriekCode, "81") ||
122                    STRSTARTS(?rubriekCode, "82") ||
123                    STRSTARTS(?rubriekCode, "83") ||
124                    STRSTARTS(?rubriekCode, "89") ||
125                    STRSTARTS(?rubriekCode, "919") ||
126                    STRSTARTS(?rubriekCode, "920") ||
127                    STRSTARTS(?rubriekCode, "930"),
128                    ?geld_bedrag, 0
129            ) AS ?p_bedrag
130          )
131        }
132      }
133    }
134  }
135}
136ORDER BY ?Kental
137