Netherlands - Generic Functions for data exchange Implementation Guide
0.1.0 - ci-build
Netherlands - Generic Functions for data exchange Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Bundle kvk-logicals-and-struturemaps of type transaction
Entry 1 - fullUrl = urn:uuid:KvkBasisprofiel
Resource StructureDefinition:
Name Flags Card. Type Description & Constraints Filter: kvk-basisprofiel
Base KVK Basisprofiel kvkNummer
0..1 string Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers uraNummer
0..* string URA nummer uit het LRZa indNonMailing
0..1 string Indicatie geen ongevraagde reclame per post of verkoop aan de deur naam
0..1 string Naam onder Maatschappelijke Activiteit formeleRegistratiedatum
0..1 string Registratiedatum onderneming in het Handelsregister materieleRegistratie
0..1 BackboneElement Materiële registratie datums datumAanvang
0..1 string Startdatum onderneming datumEinde
0..1 string Einddatum onderneming totaalWerkzamePersonen
0..1 integer Totaal aantal werkzame personen statutaireNaam
0..1 string De naam van de onderneming wanneer er statuten geregistreerd zijn handelsnamen
0..* BackboneElement Alle namen waaronder een onderneming of vestiging handelt (op volgorde van registreren) naam
0..1 string Handelsnaam volgorde
0..1 integer Volgorde van registreren sbiActiviteiten
0..* BackboneElement SBI activiteiten conform SBI 2008 (Standard Industrial Classification) sbiCode
0..1 string SBI code sbiOmschrijving
0..1 string SBI omschrijving indHoofdactiviteit
0..1 string Indicatie hoofdactiviteit embedded
0..1 BackboneElement Embedded resources (_embedded) hoofdvestiging
0..1 BackboneElement Hoofdvestiging informatie vestigingsnummer
0..1 string Vestigingsnummer: uniek nummer van 12 cijfers kvkNummer
0..1 string KVK nummer rsin
0..1 string Rechtspersonen Samenwerkingsverbanden Informatie Nummer eersteHandelsnaam
0..1 string De naam waaronder een onderneming of vestiging handelt formeleRegistratiedatum
0..1 string Registratiedatum onderneming in HR statutaireNaam
0..1 string Statutaire naam indHoofdvestiging
0..1 string Indicatie hoofdvestiging (Ja/Nee) indCommercieleVestiging
0..1 string Indicatie commerciële vestiging (Ja/Nee) voltijdWerkzamePersonen
0..1 integer Voltijd werkzame personen totaalWerkzamePersonen
0..1 integer Totaal werkzame personen deeltijdWerkzamePersonen
0..1 integer Deeltijd werkzame personen adressen
0..* BackboneElement Adressen van de vestiging type
0..1 string Correspondentieadres en/of bezoekadres indAfgeschermd
0..1 string Indicatie of het adres is afgeschermd volledigAdres
0..1 string Volledig adres straatnaam
0..1 string Straatnaam huisnummer
0..1 integer Huisnummer huisletter
0..1 string Huisletter huisnummerToevoeging
0..1 string Huisnummer toevoeging postcode
0..1 string Postcode plaats
0..1 string Plaats land
0..1 string Land websites
0..* string Websites eigenaar
0..1 BackboneElement Eigenaar informatie rsin
0..1 string Rechtspersonen Samenwerkingsverbanden Informatie Nummer rechtsvorm
0..1 string Rechtsvorm uitgebreideRechtsvorm
0..1 string Uitgebreide rechtsvorm adressen
0..* BackboneElement Adressen van de eigenaar type
0..1 string Type adres indAfgeschermd
0..1 string Indicatie of het adres is afgeschermd volledigAdres
0..1 string Volledig adres straatnaam
0..1 string Straatnaam huisnummer
0..1 integer Huisnummer huisletter
0..1 string Huisletter huisnummerToevoeging
0..1 string Huisnummer toevoeging postcode
0..1 string Postcode plaats
0..1 string Plaats land
0..1 string Land websites
0..* string Websites van de eigenaar Documentation for this format
Request:
PUT StructureDefinition/KvkBasisprofiel
Entry 2 - fullUrl = urn:uuid:KvkBasisprofielToOrganization
Resource StructureMap:
map "http://minvws.github.io/generiekefuncties-docs/StructureMap/KvkBasisprofielToOrganization" = "KvkBasisprofielToOrganization" // StructureMap die een KVK Basisprofiel API response transformeert naar een FHIR Organization resource. uses "http://minvws.github.io/generiekefuncties-docs/StructureDefinition/kvk-basisprofiel" alias KvkBasisprofiel as source uses "http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-organization" alias NlGfOrganization as target group KvkBasisprofielToOrganization(source src : KvkBasisprofiel, target tgt : Organization) { src -> tgt.meta as meta then { src -> meta.profile = 'http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-organization' "setProfileUrl"; } "setProfile"; src.kvkNummer as kvkNum -> tgt.identifier as kvkId then { kvkNum -> kvkId.use = 'official' "kvkUse"; kvkNum -> kvkId.system = 'http://fhir.nl/fhir/NamingSystem/kvk' "kvkSystem"; kvkNum -> kvkId.value = kvkNum "kvkValue"; }; src.uraNummer as uraNum -> tgt.identifier as uraId then { uraNum -> uraId.use = 'official' "uraUse"; uraNum -> uraId.system = 'http://fhir.nl/fhir/NamingSystem/ura' "uraSystem"; uraNum -> uraId.value = uraNum "uraValue"; uraNum -> uraId.assigner as assignerRef then { uraNum -> assignerRef.identifier as assignerId then { uraNum -> assignerId.system = 'http://fhir.nl/fhir/NamingSystem/ura' "assignerIdSystem"; uraNum -> assignerId.value = '00000001' "assignerIdValue"; uraNum -> assignerId.type as assignerIdType then { uraNum -> assignerIdType.coding as assignerIdTypeCoding then { uraNum -> assignerIdTypeCoding.system = 'http://terminology.hl7.org/CodeSystem/provenance-participant-type' "assignerIdTypeCodingSystem"; uraNum -> assignerIdTypeCoding.code = 'author' "assignerIdTypeCodingCode"; } "assignerIdTypeCoding"; } "assignerIdType"; } "assignerIdentifier"; } "uraAssigner"; }; src.naam as naam -> tgt.name = naam; src -> tgt.active = true "setActive"; src.statutaireNaam as statNaam -> tgt.alias = statNaam; src.handelsnamen as hn then KvkHandelsnaamToAlias(hn, tgt); src.sbiActiviteiten as sbi -> tgt.type as cc then KvkSBIToCodeableConcept(sbi, cc); src.embedded as emb then { emb.eigenaar as eig then { eig.rsin as rsin -> tgt.identifier as rsinId then { rsin -> rsinId.system = 'http://fhir.nl/fhir/NamingSystem/rsin' "rsinSystem"; rsin -> rsinId.value = rsin "rsinValue"; }; }; emb.hoofdvestiging as hv then { hv.adressen as adres -> tgt.address as addr then KvkAdresToAddress(adres, addr); hv.websites as web -> tgt.telecom as tel then KvkWebsiteToContactPoint(web, tel); }; }; } group KvkHandelsnaamToAlias(source src, target tgt : Organization) { src.naam as naam -> tgt.alias = naam; } group KvkSBIToCodeableConcept(source src, target tgt : CodeableConcept) { src -> tgt.coding as coding then { src -> coding.system = 'http://minvws.github.io/generiekefuncties-docs/CodeSystem/nl-gf-sbi-2025-cs' "sbiSystem"; src.sbiCode as code -> coding.code = code; src.sbiOmschrijving as omschr -> coding.display = omschr "sbiDisplay"; } "sbiCoding"; } group KvkAdresToAddress(source src, target tgt : Address) { src.volledigAdres as volledigAdres -> tgt.text = volledigAdres; src.straatnaam as straat -> tgt.line = straat as addrLine then { straat -> addrLine.extension as ext then { straat -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName' "streetNameExtUrl"; straat -> ext.valueString = straat "streetNameExtValue"; } "streetNameExt"; }; src.huisnummer as huisnr -> tgt.line = cast(huisnr, 'string') as addrLine2 then { huisnr -> addrLine2.extension as ext then { huisnr -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber' "houseNumberExtUrl"; huisnr -> ext.valueString = cast(huisnr, 'string') "houseNumberExtValue"; } "houseNumberExt"; }; src.huisletter as huisltr -> tgt.line = huisltr as addrLine3 then { huisltr -> addrLine3.extension as ext then { huisltr -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix' "houseLetterExtUrl"; huisltr -> ext.valueString = huisltr "houseLetterExtValue"; } "houseLetterExt"; }; src.huisnummerToevoeging as huisnrToev -> tgt.line = huisnrToev as addrLine4 then { huisnrToev -> addrLine4.extension as ext then { huisnrToev -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix' "houseNumberAdditionExtUrl"; huisnrToev -> ext.valueString = huisnrToev "houseNumberAdditionExtValue"; } "houseNumberAdditionExt"; }; src.postcode as pc -> tgt.postalCode = pc; src.plaats as plaats -> tgt.city = plaats; src.land as land -> tgt.country = land; src -> tgt.use = 'work' "setUse"; } group KvkWebsiteToContactPoint(source src, target tgt : ContactPoint) { src -> tgt.system = 'url' "setSystem"; src as url -> tgt.value = url "setValue"; src -> tgt.use = 'work' "setUse"; }
Request:
PUT StructureMap/KvkBasisprofielToOrganization
Entry 3 - fullUrl = urn:uuid:KvkVestigingsprofiel
Resource StructureDefinition:
Name Flags Card. Type Description & Constraints Filter: kvk-vestigingsprofiel
Base KVK Vestigingsprofiel vestigingsnummer
0..1 string Vestigingsnummer: uniek nummer dat bestaat uit 12 cijfers kvkNummer
0..1 string Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers rsin
0..1 string Rechtspersonen Samenwerkingsverbanden Informatie Nummer indNonMailing
0..1 string Indicatie geen ongevraagde reclame per post of verkoop aan de deur formeleRegistratiedatum
0..1 string Registratiedatum onderneming in HR materieleRegistratie
0..1 BackboneElement Materiële registratie datums datumAanvang
0..1 string Startdatum vestiging datumEinde
0..1 string Einddatum vestiging statutaireNaam
0..1 string De naam van de vestiging wanneer er statuten geregistreerd zijn eersteHandelsnaam
0..1 string De naam waaronder een onderneming of vestiging handelt indHoofdvestiging
0..1 string Hoofdvestiging (Ja/Nee) indCommercieleVestiging
0..1 string Commerciële vestiging (Ja/Nee) voltijdWerkzamePersonen
0..1 integer Aantal voltijd werkzame personen totaalWerkzamePersonen
0..1 integer Totaal aantal werkzame personen deeltijdWerkzamePersonen
0..1 integer Aantal deeltijd werkzame personen handelsnamen
0..* BackboneElement Alle namen waaronder een vestiging handelt (op volgorde van registreren) naam
0..1 string Handelsnaam volgorde
0..1 integer Volgorde van registreren adressen
0..* BackboneElement Adressen van de vestiging type
0..1 string Correspondentieadres en/of bezoekadres indAfgeschermd
0..1 string Indicatie of het adres is afgeschermd volledigAdres
0..1 string Volledig adres straatnaam
0..1 string Straatnaam huisnummer
0..1 integer Huisnummer huisletter
0..1 string Huisletter huisnummerToevoeging
0..1 string Huisnummer toevoeging toevoegingAdres
0..1 string Toevoeging adres postcode
0..1 string Postcode postbusnummer
0..1 integer Postbusnummer plaats
0..1 string Plaats straatHuisnummer
0..1 string Straat en huisnummer postcodeWoonplaats
0..1 string Postcode en woonplaats regio
0..1 string Regio land
0..1 string Land geoData
0..1 BackboneElement BAG geoData addresseerbaarObjectId
0..1 string Unieke BAG id nummerAanduidingId
0..1 string Unieke BAG nummeraanduiding id gpsLatitude
0..1 decimal Lengtegraad gpsLongitude
0..1 decimal Breedtegraad rijksdriehoekX
0..1 decimal Rijksdriehoek X-coördinaat rijksdriehoekY
0..1 decimal Rijksdriehoek Y-coördinaat rijksdriehoekZ
0..1 decimal Rijksdriehoek Z-coördinaat websites
0..* string Websites sbiActiviteiten
0..* BackboneElement SBI activiteiten conform SBI 2008 sbiCode
0..1 string SBI code sbiOmschrijving
0..1 string SBI omschrijving indHoofdactiviteit
0..1 string Indicatie hoofdactiviteit Documentation for this format
Request:
PUT StructureDefinition/KvkVestigingsprofiel
Entry 4 - fullUrl = urn:uuid:KvkVestigingsprofielToLocation
Resource StructureMap:
map "http://minvws.github.io/generiekefuncties-docs/StructureMap/KvkVestigingsprofielToLocation" = "KvkVestigingsprofielToLocation" // StructureMap die een KVK Vestigingsprofiel API response transformeert naar een FHIR Location resource. uses "http://minvws.github.io/generiekefuncties-docs/StructureDefinition/kvk-vestigingsprofiel" alias KvkVestigingsprofiel as source uses "http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-location" alias NlGfLocation as target group KvkVestigingsprofielToLocation(source src : KvkVestigingsprofiel, target tgt : Location) { src -> tgt.meta as meta then { src -> meta.profile = 'http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-location' "setProfileUrl"; } "setProfile"; src.vestigingsnummer as vestNr -> tgt.identifier as vestId then { vestNr -> vestId.use = 'official' "vestUse"; vestNr -> vestId.system = 'http://fhir.nl/fhir/NamingSystem/kvk-vestigingsnummer' "vestSystem"; vestNr -> vestId.value = vestNr "vestValue"; vestNr -> vestId.assigner as assignerRef then { vestNr -> assignerRef.identifier as assignerId then { vestNr -> assignerId.system = 'http://fhir.nl/fhir/NamingSystem/ura' "assignerIdSystem"; vestNr -> assignerId.value = '00000001' "assignerIdValue"; vestNr -> assignerId.type as assignerIdType then { vestNr -> assignerIdType.coding as assignerIdTypeCoding then { vestNr -> assignerIdTypeCoding.system = 'http://terminology.hl7.org/CodeSystem/provenance-participant-type' "assignerIdTypeCodingSystem"; vestNr -> assignerIdTypeCoding.code = 'author' "assignerIdTypeCodingCode"; } "assignerIdTypeCoding"; } "assignerIdType"; } "assignerIdentifier"; } "vestAssigner"; }; src.kvkNummer as kvkNum -> tgt.managingOrganization as orgRef then { kvkNum -> orgRef.identifier as orgId then { kvkNum -> orgId.system = 'http://fhir.nl/fhir/NamingSystem/kvk' "orgIdSystem"; kvkNum -> orgId.value = kvkNum "orgIdValue"; } "orgRefIdentifier"; kvkNum -> orgRef.type = 'Organization' "orgRefType"; kvkNum -> orgRef.reference = append('Organization/', kvkNum) "orgRefReference"; }; src.eersteHandelsnaam as naam -> tgt.name = naam; src -> tgt.status = 'active' "setStatus"; src -> tgt.mode = 'instance' "setMode"; src.statutaireNaam as statNaam -> tgt.alias = statNaam; src.handelsnamen as hn then KvkVestHandelsnaamToAlias(hn, tgt); src.adressen as adres -> tgt.address as addr then KvkVestAdresToAddress(adres, addr); src.adressen as adres then { adres.geoData as geo -> tgt.position as pos then KvkGeoDataToPosition(geo, pos) "geoDataToPosition"; } "geoData"; src.websites as web -> tgt.telecom as tel then KvkVestWebsiteToContactPoint(web, tel); src.sbiActiviteiten as sbi -> tgt.type as cc then KvkVestSBIToCodeableConcept(sbi, cc); } group KvkVestHandelsnaamToAlias(source src, target tgt : Location) { src.naam as naam -> tgt.alias = naam; } group KvkVestAdresToAddress(source src, target tgt : Address) { src.volledigAdres as volledigAdres -> tgt.text = volledigAdres; src.straatnaam as straat -> tgt.line = straat as addrLine then { straat -> addrLine.extension as ext then { straat -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName' "streetNameExtUrl"; straat -> ext.valueString = straat "streetNameExtValue"; } "streetNameExt"; }; src.huisnummer as huisnr -> tgt.line = cast(huisnr, 'string') as addrLine2 then { huisnr -> addrLine2.extension as ext then { huisnr -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber' "houseNumberExtUrl"; huisnr -> ext.valueString = cast(huisnr, 'string') "houseNumberExtValue"; } "houseNumberExt"; }; src.huisletter as huisltr -> tgt.line = huisltr as addrLine3 then { huisltr -> addrLine3.extension as ext then { huisltr -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix' "houseLetterExtUrl"; huisltr -> ext.valueString = huisltr "houseLetterExtValue"; } "houseLetterExt"; }; src.huisnummerToevoeging as huisnrToev -> tgt.line = huisnrToev as addrLine4 then { huisnrToev -> addrLine4.extension as ext then { huisnrToev -> ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix' "houseNumberAdditionExtUrl"; huisnrToev -> ext.valueString = huisnrToev "houseNumberAdditionExtValue"; } "houseNumberAdditionExt"; }; src.postcode as pc -> tgt.postalCode = pc; src.plaats as plaats -> tgt.city = plaats; src.regio as regio -> tgt.district = regio; src.land as land -> tgt.country = land; src -> tgt.use = 'work' "setUse"; } group KvkGeoDataToPosition(source src, target tgt : Location.position) { src.gpsLatitude as lat -> tgt.latitude = lat "latitude"; src.gpsLongitude as lon -> tgt.longitude = lon "longitude"; } group KvkVestWebsiteToContactPoint(source src, target tgt : ContactPoint) { src -> tgt.system = 'url' "setSystem"; src as url -> tgt.value = url "setValue"; src -> tgt.use = 'work' "setUse"; } group KvkVestSBIToCodeableConcept(source src, target tgt : CodeableConcept) { src -> tgt.coding as coding then { src -> coding.system = 'http://minvws.github.io/generiekefuncties-docs/CodeSystem/nl-gf-sbi-2025-cs' "sbiSystem"; src.sbiCode as code -> coding.code = code; src.sbiOmschrijving as omschr -> coding.display = omschr "sbiDisplay"; } "sbiCoding"; }
Request:
PUT StructureMap/KvkVestigingsprofielToLocation