Uitwisselprofiel NZa Basisinformatie kostenonderzoek

Versie:

Publicatiedatum:18-04-2024

Inwerkingtreding:18-04-2024




Bekijk bron...

3.2. Gemiddeld bruto jaarsalaris per fte

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: NZA 3.2
2# Parameters: $(start_periode_datum), $(eind_periode_datum)
3# Ontologie: versie 2.1.1
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11PREFIX time: <http://www.w3.org/2006/time#>
12
13
14SELECT ?teller ?noemer (?teller / ?noemer AS ?indicator)
15WHERE 
16{
17    {
18    SELECT ( SUM(?bedrag) AS ?teller ) 
19    WHERE 
20        {
21        BIND("2022-01-01"^^xsd:date AS ?start_periode_datum)
22        BIND("2022-12-31"^^xsd:date AS ?eind_periode_datum)
23
24        VALUES ?rubriek { 
25            onz-fin:WPerSol
26            onz-fin:WPerLes
27
28            onz-fin:PM411000
29            onz-fin:PM412000
30            onz-fin:PM413000
31            onz-fin:PM415000
32            onz-fin:PM422100
33            onz-fin:PM422300
34            onz-fin:PM422400
35            onz-fin:PM422410
36            onz-fin:PM422500
37            onz-fin:PM422600
38            onz-fin:PM422900
39            }   
40
41        ?post a onz-fin:Grootboekpost ;
42            onz-g:partOf ?rubriek ;
43            onz-g:isAbout ?kosten ;
44            onz-g:hasDate ?datum .
45
46        ?kosten onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?bedrag .
47
48        FILTER (?datum >= ?start_periode_datum && ?datum <= ?eind_periode_datum)
49        }
50    }
51    {
52    SELECT (SUM(?subtotaal) as ?noemer)
53    WHERE 
54        {
55        SELECT (SUM(?omvang_factor_corr) as ?subtotaal)
56        WHERE
57        { 
58            # definieer periode waarin overeenkomst geldig moet zijn
59            BIND("2022-01-01"^^xsd:date AS ?start_periode_datum)
60            BIND("2022-12-31"^^xsd:date AS ?eind_periode_datum)
61
62            ?overeenkomst 
63                onz-pers:heeftOpdrachtnemer ?persoon ;
64                a onz-pers:ArbeidsOvereenkomst ;
65                onz-g:hasPart ?omvang ;
66                onz-g:startDatum ?start .                
67            OPTIONAL {?overeenkomst onz-g:eindDatum ?end}
68            # alleen overeenkomsten in de gevraagde periode
69            FILTER (?start <= ?eind_periode_datum && (!BOUND(?end) || ?end >= ?start_periode_datum))
70
71            ?omvang
72                a onz-pers:ContractOmvang ;
73                onz-g:startDatum ?start_omvang ;
74                onz-g:isAbout ?omvang_waarde .
75            OPTIONAL {?omvang onz-g:eindDatum ?eind_omvang}
76            FILTER (?start_omvang <= ?eind_periode_datum && (!BOUND(?eind_omvang) || ?eind_omvang >= ?start_periode_datum))
77            ?omvang_waarde
78                onz-g:hasDataValue ?omvang_waarde_getal ;
79                onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid .
80            ?omvang_waarde_eenheid
81                onz-pers:hasDenominatorQualityValue onz-g:Week ;
82                onz-pers:hasNumeratorQualityValue onz-g:Uur ;
83                onz-g:hasDataValue ?omvang_waarde_factor .
84
85            BIND(?omvang_waarde_getal/36*?omvang_waarde_factor AS ?omvang_waarde_rapportage)
86
87            # corrigeer wanneer start of eind van de contractomvang buiten de gevraagde periode valt
88            BIND(IF(?start_periode_datum > ?start_omvang, ?start_periode_datum, ?start_omvang) AS ?start_omvang_corr)
89            BIND(IF((?eind_periode_datum < ?eind_omvang) || !BOUND(?eind_omvang), ?eind_periode_datum, ?eind_omvang) AS ?eind_omvang_corr)
90
91            # bereken aantal dagen in de periode
92            ?start_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_periode .
93            ?eind_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_periode .
94            BIND(?eind_periode - ?start_periode + 1 AS ?dagen_periode)
95
96            # bereken aantal dagen overeenkomst
97            ?start_omvang_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_omvang_corr_final .
98            ?eind_omvang_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_omvang_corr_final .
99            BIND(?eind_omvang_corr_final- ?start_omvang_corr_final + 1 AS ?dagen_overeenkomst)
100
101            BIND (?dagen_overeenkomst/?dagen_periode AS ?factor)
102            
103            # Bereken relevant deel van de omvangwaarde
104            BIND (?factor * ?omvang_waarde_rapportage AS ?omvang_factor_corr)
105        } 
106        GROUP BY ?overeenkomst ?omvang
107        }
108    }
109}

Heb je feedback?

Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!