Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
03-10-2025

Inwerkingtreding:
03-10-2025

23.1 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-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 (IF(SUM(IF(?jaarrekeningpost = "A.III Financiële vaste activa", ?bedrag, 0)) = 0,
14                "Ongedefinieerd"^^xsd:string,(SUM(IF(?jaarrekeningpost = "F Langlopende schulden", ?bedrag, 0)) / 
15                SUM(IF(?jaarrekeningpost = "A.III Financiële vaste activa", ?bedrag, 0)))) AS ?ltv)
16        WHERE {
17            {
18                SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag)
19                WHERE {
20                    # BIND("2024-12-31"^^xsd:date AS ?peildatum)
21                    BIND(?peildatum AS ?peildatum_argument)
22                    {
23                        SELECT  # totaal per rubriek
24                            (SUM(?geld_bedrag) + SUM(?saldo_waarde)/count(?saldo_waarde) AS ?bedrag_rubriek) ?rubriek ?categorie
25                        WHERE {
26                            {
27                                SELECT  # bereken het meest recente saldo per rubriek, 0 indien geen saldo
28                                    ?rubriek ?categorie
29                                    (IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde)
30                                    ?peildatum_argument
31                                    (IF(BOUND(?saldo_datum), ?saldo_datum, ?unbound) AS ?begin_datum)
32                                    ?saldo_datum ?saldo
33                                WHERE {
34                                    # BIND("2024-12-31"^^xsd:date AS ?peildatum)
35									BIND(?peildatum as ?peildatum_argument)
36                                    # Dynamically identify rubrieken and assign categories
37                                    {
38                                        SELECT DISTINCT ?rubriek WHERE {
39                                            ?rubriek a onz-fin:Grootboekrubriek .
40                                            FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
41                                            FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$"))
42                                        }
43                                    }
44                                    BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
45
46                                    # Assign category based on the ?rubriekCode pattern
47                                    BIND(
48                                        COALESCE(
49
50                                            # Rubriek A. III
51                                            IF(STRSTARTS(?rubriekCode, "03"), "A.III", ?unbound),
52
53                                            # Rubriek F
54                                            IF(STRSTARTS(?rubriekCode, "07"), "F", ?unbound),
55                                            "other"
56                                        ) AS ?categorie
57                                    )
58                                    FILTER(BOUND(?categorie))
59
60                                    OPTIONAL {
61                                        ?rubriek onz-g:isAbout ?saldo .
62                                        ?saldo
63                                            a onz-fin:EindSaldo ;
64                                            onz-fin:heeftGeldBedrag ?saldo_bedrag ;
65                                            onz-g:hasDate ?saldo_datum .
66                                        FILTER (?saldo_datum <= ?peildatum_argument)
67                                    }
68                                    FILTER NOT EXISTS {
69                                        ?rubriek onz-g:isAbout ?saldo2 .
70                                        ?saldo2
71                                            onz-g:hasDate ?saldo_datum2 ;
72                                            a onz-fin:EindSaldo ;.
73                                        FILTER(?saldo2 != ?saldo)
74                                        FILTER (?saldo_datum2 <= ?peildatum_argument && ?saldo_datum2 > ?saldo_datum)
75                                    }
76                                }
77                            }
78                            OPTIONAL {
79                                ?grootboek_post
80                                    a onz-fin:Grootboekpost ;
81                                    onz-g:partOf ?rubriek ;
82                                    onz-g:hasDate ?datum ;
83                                    onz-fin:heeftGeldBedrag ?geld_bedrag_temp .
84                                FILTER (?datum <= ?peildatum_argument && (?datum > ?begin_datum || !BOUND(?begin_datum)))
85                            }
86                            BIND(IF(BOUND(?geld_bedrag_temp), ?geld_bedrag_temp, 0) AS ?geld_bedrag)
87
88                        } GROUP BY ?rubriek ?categorie
89                    }
90
91                    VALUES (?categorie ?jaarrekeningpost){
92                        ("A.III"  "A.III Financiële vaste activa")
93                        ("F"      "F Langlopende schulden")
94                    }
95                } GROUP BY ?jaarrekeningpost
96            }
97        }
98    }
99    
100    BIND("LTV" AS ?Kental)
101    BIND(?ltv AS ?Waarde)
102}
103ORDER BY ?Kental