Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
15-07-2026

Inwerkingtreding:
16-07-2026

19.5 Liquiditeit - wat is de current ratio?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 19.5
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 = "G Kortlopende schulden", ?bedrag, 0)) = 0,
14                "Ongedefinieerd"^^xsd:string,
15                SUM(IF(?jaarrekeningpost = "B Vlottende activa", ?bedrag, 0)) / 
16                SUM(IF(?jaarrekeningpost = "G Kortlopende schulden", ?bedrag, 0))) AS ?werkkapitaal)
17
18        WHERE {
19                {
20                SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag)
21                WHERE {
22                    #BIND("2024-12-31"^^xsd:date AS ?peildatum)
23                    BIND(?peildatum AS ?peildatum_argument)
24                    {
25                        SELECT  # totaal per rubriek
26                            (SUM(?geld_bedrag) + SUM(?saldo_waarde)/count(?saldo_waarde) AS ?bedrag_rubriek) ?rubriek ?jaarrekeningpost_child 
27                        WHERE {
28                                {
29                                SELECT  # bereken het meest recente saldo per rubriek, 0 indien geen saldo
30                                    ?rubriek  ?jaarrekeningpost_child
31                                    (IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde)
32                                    ?peildatum_argument
33                                    (IF(BOUND(?saldo_datum), ?saldo_datum, ?unbound) AS ?begin_datum)
34                                    ?saldo_datum ?saldo
35
36                                WHERE {
37                                    # BIND("2024-12-31"^^xsd:date AS ?peildatum)
38                                    BIND(?peildatum as ?peildatum_argument)
39                                 
40                                    {
41                                        # Prismant: prefix-mapping, want Prismant consolideert niet dus we willen onderliggende rubrieken
42                                        {
43                                        	?rubriek a onz-fin:Grootboekrubriek .
44                                        }
45                                        UNION
46                                        {
47                                        	?rubriek a onz-fin:Grootboekrekening .
48                                            # in de testdata is deze branch overbodig, voor de zekerheid laten staan omdat in werkelijkheid 
49                                            # de codes waarschijnlijk grootboekrekeningen zijn 
50                                        }
51                                        BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
52
53                                        VALUES (?prismantPrefix ?jaarrekeningpost_child) {
54                                        ("3"     "B.I")
55                                        ("12"    "B.II")
56                                        ("131"   "B.III")
57                                        ("132"   "B.IV")
58                                        ("14"    "G")
59                                        ("15"    "G")
60                                        }
61                                        FILTER(STRSTARTS(?rubriekCode, ?prismantPrefix))
62                                    }
63                                    UNION
64                                    {
65                                        # RGS exacte mapping, want RGS consolideert zelf onderliggende rubrieken
66                                        VALUES (?rubriekCode ?jaarrekeningpost_child) {
67                                        ("BVrd"    "B.I")
68                                        ("BPro"    "B.I")
69                                        ("BObd"    "B.I")
70                                        ("BVor"    "B.II")
71                                        ("BVfi"    "B.II")
72                                        ("BEff"    "B.III")
73                                        ("BLim"    "B.IV")
74                                        ("BSch"    "G")
75                                        }
76                                    
77                                        BIND(IRI(CONCAT(STR(onz-fin:), ?rubriekCode)) AS ?rubriek)
78                                        {
79                                            ?rubriek a onz-fin:Grootboekrubriek .
80                                        }
81                                        UNION
82                                        {
83                                            ?rubriek a onz-fin:Grootboekrekening .
84                                        }
85                                    }
86
87
88                                    OPTIONAL {
89                                        ?rubriek onz-g:isAbout ?saldo .
90                                        ?saldo
91                                            a onz-fin:EindSaldo ;
92                                            onz-fin:heeftGeldBedrag ?saldo_bedrag ;
93                                            onz-g:hasDate ?saldo_datum .
94                                        FILTER (?saldo_datum <= ?peildatum_argument)
95
96                                        FILTER NOT EXISTS {
97                                            ?rubriek onz-g:isAbout ?saldo2 .
98                                            ?saldo2
99                                                a onz-fin:EindSaldo ;
100                                                onz-g:hasDate ?saldo_datum2 .
101
102                                            FILTER(?saldo2 != ?saldo)
103                                            FILTER (?saldo_datum2 <= ?peildatum_argument)
104                                            FILTER (
105                                                ?saldo_datum2 > ?saldo_datum 
106                                                || (
107                                                    ?saldo_datum2 = ?saldo_datum 
108                                                    && STR(?saldo2) > STR(?saldo)
109                                                )
110                                            )
111                                        }
112                                    }
113                                }
114                            }
115                            OPTIONAL {
116                                ?grootboek_post
117                                    a onz-fin:Grootboekpost ;
118                                    onz-g:partOf ?rubriek ;
119                                    onz-g:hasDate ?datum ;
120                                    onz-fin:heeftGeldBedrag ?geld_bedrag_temp .
121                                # Behoud de grootboek post alleen voor de meest specifieke rubriek, 
122                                # om dubbeltelling bij meerdere rubrieken te voorkomen
123                                FILTER NOT EXISTS {
124                                  ?grootboek_post onz-g:partOf ?specifiekereRubriek .
125                                  ?specifiekereRubriek onz-g:partOf+ ?rubriek .
126                                }
127                                FILTER (?datum <= ?peildatum_argument && (?datum > ?begin_datum || !BOUND(?begin_datum)))
128                            }
129                            BIND(IF(BOUND(?geld_bedrag_temp), ?geld_bedrag_temp, 0) AS ?geld_bedrag)
130
131                        } GROUP BY ?rubriek ?jaarrekeningpost_child 
132                    }
133
134                    VALUES (?jaarrekeningpost_child ?jaarrekeningpost){
135                        ("B.I"    "B Vlottende activa")
136                        ("B.II"   "B Vlottende activa")
137                        ("B.III"  "B Vlottende activa")
138                        ("B.IV"   "B Vlottende activa")
139                        ("G"      "G Kortlopende schulden")
140                    }
141                } GROUP BY ?jaarrekeningpost
142                                    
143            }
144        }
145    }
146    
147    BIND("Current ratio" AS ?Kental)
148    BIND(IF(?werkkapitaal = "Ongedefinieerd"^^xsd:string,
149        "Ongedefinieerd"^^xsd:string,
150        ROUND(?werkkapitaal * 100) / 100) AS ?Waarde)
151
152}
153ORDER BY ?Kental