Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
5.1 Leeftijdsopbouw personeel in loondienst
Concepten
- Arbeidsovereenkomst
- Mens
- Onverplaatsbaar artefact
- Vestiging
- Vestigingsnummer
- Werkovereenkomst afspraak
- Zorgkantoor regio
Relaties
- deel van
- gaat over
- geïdentificeerd door
- heeft deel
- heeft lokaliseerbaar gebied
- heeft opdrachtnemer
- opereert in regio
- vestiging van
Eigenschappen
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 5.1 2# Parameters: ?kwartaal, ?jaar, ?zorgkantoor 3# Ontologie: versie 3.0 of nieuwer 4 5PREFIX onz-g: <http://purl.org/ozo/onz-g#> 6PREFIX onz-org: <http://purl.org/ozo/onz-org#> 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#> 11 12SELECT 13 ?vestiging 14 # ?zorgkantoor_vestiging 15 (SUM(?1620) AS ?16_20) 16 (SUM(?2125) AS ?21_25) 17 (SUM(?2630) AS ?26_30) 18 (SUM(?3135) AS ?31_35) 19 (SUM(?3640) AS ?36_40) 20 (SUM(?4145) AS ?41_45) 21 (SUM(?4650) AS ?46_50) 22 (SUM(?5155) AS ?51_55) 23 (SUM(?5660) AS ?56_60) 24 (SUM(?6165) AS ?61_65) 25 (SUM(?6670) AS ?66_70) 26 (SUM(?7175) AS ?71_75) 27 (SUM(?75_) AS ?75_ouder) 28{ 29 { 30 SELECT DISTINCT 31 ?vestiging 32 ?zorgkantoor_vestiging 33 ?persoon 34 ?leeftijd 35 { 36 # BIND(2023 AS ?jaar) 37 # BIND("Q1" AS ?kwartaal) 38 # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor) 39 40 BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')), 41 IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')), 42 IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')), 43 IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')), 44 '')))) AS ?start_periode) 45 BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode) 46 47 ?overeenkomst 48 a onz-pers:ArbeidsOvereenkomst ; 49 onz-pers:heeftOpdrachtnemer ?persoon ; 50 onz-g:hasPart ?overeenkomst_afspraak . 51 ?overeenkomst_afspraak 52 a onz-pers:WerkOvereenkomstAfspraak ; 53 onz-g:startDatum ?start_afspraak . 54 OPTIONAL { 55 ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak 56 } 57 FILTER (?start_afspraak <= ?eind_periode && (?eind_afspraak >= ?start_periode || !BOUND(?eind_afspraak))) 58 59 ?persoon 60 a onz-g:Human ; 61 onz-g:hasDateOfBirth ?geboortedatum . 62 63 BIND(YEAR(?eind_periode) - YEAR(?geboortedatum) AS ?leeftijd_voorl) 64 BIND(IF(MONTH(?geboortedatum) > MONTH(?eind_periode) 65 || (MONTH(?geboortedatum) = MONTH(?eind_periode) && DAY(?geboortedatum) > DAY(?eind_periode)), 66 ?leeftijd_voorl - 1, ?leeftijd_voorl) AS ?leeftijd) 67 68 # bepaal vestiging en zorgkantoor regio voor iedere contractafspraak 69 ?overeenkomst_afspraak onz-g:isAbout ?locatie . 70 ?locatie 71 a onz-g:StationaryArtifact ; 72 onz-g:partOf* ?vestiging_uri . 73 ?vestiging_uri a onz-org:Vestiging ; 74 onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 . 75 BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode) 76 ?pc_gebied 77 onz-g:identifiedBy ?postcode ; 78 onz-g:partOf+ ?zk_regio . 79 ?zk_regio a onz-org:ZorgkantoorRegio . 80 ?zorgkantoor onz-g:hasOperatingRange ?zk_regio . 81 { 82 ?vestiging_uri onz-g:identifiedBy ?vest_nr . 83 ?vest_nr a onz-org:Vestigingsnummer ; 84 onz-g:hasDataValue ?vestiging . 85 } UNION { 86 # Includeer ook de organisatie als geheel en label deze als vestiging 87 ?vestiging_uri onz-org:vestigingVan ?organisatie_uri . 88 BIND("Totaal organisatie" AS ?vestiging) 89 BIND("n.v.t." AS ?zk_vestiging) 90 } 91 BIND(IF(!BOUND(?zk_vestiging), ?zorgkantoor, ?zk_vestiging) AS ?zorgkantoor_vestiging) 92 93 } 94 } 95 BIND(IF(?leeftijd >= 16 && ?leeftijd <= 20, 1, 0) AS ?1620) 96 BIND(IF(?leeftijd >= 21 && ?leeftijd <= 25, 1, 0) AS ?2125) 97 BIND(IF(?leeftijd >= 26 && ?leeftijd <= 30, 1, 0) AS ?2630) 98 BIND(IF(?leeftijd >= 31 && ?leeftijd <= 35, 1, 0) AS ?3135) 99 BIND(IF(?leeftijd >= 36 && ?leeftijd <= 40, 1, 0) AS ?3640) 100 BIND(IF(?leeftijd >= 41 && ?leeftijd <= 45, 1, 0) AS ?4145) 101 BIND(IF(?leeftijd >= 46 && ?leeftijd <= 50, 1, 0) AS ?4650) 102 BIND(IF(?leeftijd >= 51 && ?leeftijd <= 55, 1, 0) AS ?5155) 103 BIND(IF(?leeftijd >= 56 && ?leeftijd <= 60, 1, 0) AS ?5660) 104 BIND(IF(?leeftijd >= 61 && ?leeftijd <= 65, 1, 0) AS ?6165) 105 BIND(IF(?leeftijd >= 66 && ?leeftijd <= 70, 1, 0) AS ?6670) 106 BIND(IF(?leeftijd >= 71 && ?leeftijd <= 75, 1, 0) AS ?7175) 107 BIND(IF(?leeftijd >= 75 , 1, 0) AS ?75_) 108} 109GROUP BY ?vestiging ?zorgkantoor_vestiging 110ORDER BY ?vestiging
Heb je feedback?
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!