Uitwisselprofiel NZa Structurele Informatieverstrekking Bedrijfsvoering Wmg

Over Uitwisselprofiel NZa Structurele Informatieverstrekking Bedrijfsvoering Wmg


Publicatiedatum:
22-01-2026

Inwerkingtreding:
22-01-2026

1.1.3 Aantal ingestroomde contractuele FTE personeel in loondienst (PIL) met een zorgfunctie

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: NZA Wmg 1.1.3
2# Parameters: ?jaar
3# Ontologie: versie 3.0
4
5PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
7PREFIX onz-g: <http://purl.org/ozo/onz-g#>
8PREFIX onz-org: <http://purl.org/ozo/onz-org#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10
11SELECT
12    (SUM(?fte_instroom) AS ?Teller)
13    ("Niet van toepassing" AS ?Noemer)
14    (?Teller AS ?Indicator_FTE36)
15WHERE {
16    SELECT
17        ?persoon
18        (IF(SUM(?fte * ?geldig_eind) > SUM(?fte * ?geldig_start), SUM(?fte * ?geldig_eind) - SUM(?fte * ?geldig_start), 0) AS ?fte_instroom)
19    WHERE {
20        {
21            SELECT 
22                ?persoon
23                ?overeenkomst_afspraak
24                ?geldig_start
25                ?geldig_eind
26            WHERE {
27                # BIND(2024 AS ?jaar) .  # Parameter
28
29                BIND(STRDT(CONCAT(STR(?jaar), "-01-01"), xsd:date) AS ?peildatum) .
30                BIND(?peildatum + "P1Y"^^xsd:duration - "P1D"^^xsd:duration AS ?eind_peildatum)
31
32                ?overeenkomst 
33                    a onz-pers:ArbeidsOvereenkomst ; # personeel in loondienst
34                    onz-pers:heeftOpdrachtnemer ?persoon ;
35                    onz-g:hasPart ?overeenkomst_afspraak .
36
37                ?overeenkomst_afspraak
38                    a onz-pers:WerkOvereenkomstAfspraak ;
39                    onz-g:startDatum ?start_afspraak .
40                OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
41                BIND(IF(?start_afspraak <= ?peildatum && ((?eind_afspraak >= ?peildatum) || (!BOUND(?eind_afspraak))), 1, 0) AS ?geldig_start)
42                BIND(IF(?start_afspraak <= ?eind_peildatum && ((?eind_afspraak >= ?eind_peildatum) || (!BOUND(?eind_afspraak))), 1, 0) AS ?geldig_eind)
43                FILTER(?geldig_start = 1 || ?geldig_eind = 1) # alleen afspraken die geldig zijn in het jaar vanaf de peildatum
44
45                ?overeenkomst_afspraak
46                    onz-g:isAbout/a ?function_class .
47                ?function_class rdfs:subClassOf onz-g:OccupationalPositionRole .
48                BIND(IF(?function_class = onz-pers:ZorgverlenerFunctie, 1, 0) AS ?zorgverlener) # ?zorgverlener = 1 als afspraak over zorgverlenerfunctie gaat
49            }
50            GROUP BY ?persoon ?overeenkomst_afspraak ?geldig_start ?geldig_eind
51            HAVING (MAX(?zorgverlener) = 1) # neem max van ?zorgverlener omdat er dubbele regels voor kunnen komen (OccupationalPostionRole EN ZorgverlenerFunctie)
52                                            # filter zodat alleen zorgverleners overblijven
53        }
54        ?overeenkomst_afspraak onz-g:hasPart ?omvang . # haal omvang van alle geldige afspraken op
55        ?omvang 
56            a onz-pers:ContractOmvang ;
57            onz-g:isAbout ?omvang_waarde .
58
59        ?omvang_waarde
60            a onz-pers:ContractOmvangWaarde ;
61            onz-g:hasDataValue ?omvang_waarde_getal ;
62            onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid .
63        ?omvang_waarde_eenheid onz-g:hasDataValue ?eenheid_factor .
64        BIND(IF(?omvang_waarde_eenheid = onz-pers:fte_36, ?omvang_waarde_getal, ?omvang_waarde_getal / 36 * ?eenheid_factor) AS ?fte) # omrekenen naar fte_36
65    }
66    GROUP BY ?persoon # per persoon toe-/afname beoordelen
67}
68