Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
15-07-2026

Inwerkingtreding:
16-07-2026

23.1 Kapitaal - wat is de LTV (Loan to Value)?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 23.1.0
2# Parameters: ?peildatum
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    SELECT (IF(SUM(IF(?jaarrekeningpost = "A.III Financiële vaste activa", ?bedrag, 0)) = 0,
13            "Ongedefinieerd"^^xsd:string,
14            ROUND(SUM(IF(?jaarrekeningpost = "F Langlopende schulden", ?bedrag, 0)) /
15            SUM(IF(?jaarrekeningpost = "A.III Financiële vaste activa", ?bedrag, 0)) * 100) / 100) AS ?ltv)
16    WHERE {
17      {
18        SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag)
19        WHERE {
20          {
21            SELECT ?rubriek ?categorie ((SUM(?geld_bedrag) + SUM(?saldo_waarde) / COUNT(?saldo_waarde)) AS ?bedrag_rubriek)
22            WHERE {
23              # BIND("2024-12-31"^^xsd:date AS ?peildatum)
24              BIND(?peildatum AS ?peildatum_argument)
25
26              # Selecteer rubrieken: Prismant (Grootboekrubriek), RGS (Grootboekrekening)
27              {
28                  { ?rubriek a onz-fin:Grootboekrubriek }
29                  UNION
30                  { ?rubriek a onz-fin:Grootboekrekening }
31              }
32              FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
33              BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
34
35              # Categorie-toewijzing op basis van rubriekcode
36              # Prismant: 03 → A.III, 07 → F
37              # RGS: BFva/BVas → A.III, BLas → F
38              BIND(
39                COALESCE(
40                  IF(STRSTARTS(?rubriekCode, "03"), "A.III", ?unbound),
41                  IF(STRSTARTS(?rubriekCode, "07"), "F", ?unbound),
42                  IF(?rubriekCode = "BFva", "A.III", ?unbound),
43                  IF(?rubriekCode = "BVas", "A.III", ?unbound),
44                  IF(?rubriekCode = "BLas", "F", ?unbound),
45                  "other"
46                ) AS ?categorie
47              )
48              FILTER(?categorie IN ("A.III", "F"))
49
50              # Meest recente eindsaldo per rubriek
51              OPTIONAL {
52                ?rubriek onz-g:isAbout ?saldo .
53                ?saldo a onz-fin:EindSaldo ;
54                       onz-fin:heeftGeldBedrag ?saldo_bedrag ;
55                       onz-g:hasDate ?saldo_datum .
56                FILTER(?saldo_datum <= ?peildatum_argument)
57              }
58              FILTER NOT EXISTS {
59                ?rubriek onz-g:isAbout ?otherSaldo .
60                ?otherSaldo a onz-fin:EindSaldo ;
61                            onz-g:hasDate ?otherDatum .
62                FILTER(
63                  ?otherSaldo != ?saldo
64                  && ?otherDatum <= ?peildatum_argument
65                  && (
66                    ?otherDatum > ?saldo_datum
67                    || (?otherDatum = ?saldo_datum && STR(?otherSaldo) > STR(?saldo))
68                  )
69                )
70              }
71              BIND(IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde)
72
73              # Grootboekposten na saldo
74              OPTIONAL {
75                ?grootboek_post a onz-fin:Grootboekpost ;
76                      onz-g:partOf ?rubriek ;
77                      onz-g:hasDate ?datum ;
78                      onz-fin:heeftGeldBedrag ?geld_bedrag_temp .
79                # Anti-dubbeltelling: houd alleen het bladniveau (geen transitive ancestors)
80                FILTER NOT EXISTS {
81                    ?grootboek_post onz-g:partOf ?child .
82                    ?child onz-g:partOf ?rubriek .
83                    FILTER(?child != ?rubriek)
84                    { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } }
85                }
86                FILTER(
87                  ?datum <= ?peildatum_argument
88                  && (!BOUND(?saldo_datum) || ?datum > ?saldo_datum)
89                )
90              }
91              BIND(IF(BOUND(?geld_bedrag_temp), ?geld_bedrag_temp, 0) AS ?geld_bedrag)
92            }
93            GROUP BY ?rubriek ?categorie
94          }
95          VALUES (?categorie ?jaarrekeningpost) {
96            ("A.III" "A.III Financiële vaste activa")
97            ("F"     "F Langlopende schulden")
98          }
99        }
100        GROUP BY ?jaarrekeningpost
101      }
102    }
103  }
104
105  BIND("LTV" AS ?Kental)
106  BIND(?ltv AS ?Waarde)
107}
108ORDER BY ?Kental