Inleiding
Persoonsgebonden informatie ophalen uit het rijksregister en andere gerelateerde bronnen. Denk daarbij aan domicilie, gezinssamenstelling of afstammingsgegevens.
Use cases
-
Automatisch vooraf invullen van persoonsgegevens in een aanvraagformulier.
-
Controle op adreswijziging in functie van terugvordering premie.
-
Valideren of een aanvrager op een bepaald adres gedomicilieerd is (adrescheck).
-
Bepalen van gezinssamenstelling voor rechtentoekenning (bv. reductietarieven of toelagen).
-
Raadplegen van historische gegevens om wijzigingen doorheen de tijd te auditen (naam/adres/burgerlijke staat).
-
Opzoeken van bewoners op een adres voor plaatsgebonden communicatie of inspecties.
Setup
Idem als bij alle MAGDA-connectoren. Zie MAGDA algemene setup.
Specifieke applicatie eigenschappen
Specifieke applicatie eigenschappen, los van de eigenschappen die de toegang regelen.
GeefPersoon
|
Eigenschap |
Default |
Beschrijving |
|---|---|---|
|
|
- |
Databron (bijvoorbeeld |
|
|
|
Taal |
GHP heeft als enige SOAP-service ook een kong-api-key in de SSL-config.
|
Eigenschap |
Default |
Beschrijving |
|---|---|---|
|
|
- |
Databron (bijvoorbeeld |
|
|
|
Taal |
|
Eigenschap |
Default |
Beschrijving |
|---|---|---|
|
|
|
Taal |
GeefHistoriekGezinssamenstelling
|
Eigenschap |
Default |
Beschrijving |
|---|---|---|
|
|
|
Taal |
Services en functies
Overzicht
|
Functie |
Retourtype |
Info |
|---|---|---|
|
|
Basis persoonsgegevens |
|
|
|
Persoonsgegevens met info over ouders |
|
|
|
Basis persoonsgegevens als HashMap |
|
|
|
Persoonsgegevens met gezinssamenstelling |
|
|
|
Persoonsgegevens met historiek gezinssamenstelling |
|
|
|
Persoonsgegevens met historiek |
|
|
|
Persoonsgegevens op basis van domicilie |
Elke functie hieronder is, naast de workflow expressie, ook rechtstreeks aanroepbaar vanuit Java-code door MagdaCamundaConnector (bean magda) te injecteren in je klasse. Zie MAGDA gebruik voor een volledig voorbeeld met dependency injection. De "Java-code"-snippets per functie tonen enkel de effectieve aanroep zelf.
geefPersoon
Zoek persoonsgegevens op basis van een rijksregisternummer. Een eenvoudige toepassing van deze functie kan je configureren via een specifieke Skryv Studio workflow template.
Workflow expressie
${magda.geefPersoon(String identifier, String dossierId)}
Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven:
${magda.geefPersoonWithUri(String identifier, String uri, String hoedanigheid, String dossierId)}
Java-code
GeefPersoonResponse response = magda.geefPersoon(identifier, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Rijksregisternummer |
|
(withUri variant) |
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
URI die de aanroepende applicatie identificeert in de MAGDA SOAP request context. |
|
(withUri variant) |
String |
‘12345’ |
IPDC-code die je aansluitingsrechten identificeert. |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv-applicatie. Wordt gebruikt voor logging van de MAGDA-call. |
MAGDA-documentatie
Technische documentatie voor Persoon.GeefPersoon-02.02
Ouput
Je krijgt een getypeerd GeefPersoonResponse-object terug. Dit object bevat een Persoon-element met persoonsgegevens zoals aangeleverd door MAGDA vanuit het Rijksregister (RR) of de Kruispuntbank van de Sociale Zekerheid (KSZ), afhankelijk van de geconfigureerde bron en de machtigingen van je applicatie.
Gepseudonimiseerd voorbeeld geboortegegevens:
<Geboorte DatumBegin="1976-09-14">
<Datum>1976-09-14</Datum>
<Plaats>
<Gemeente>
<NISCode>44021</NISCode>
<Naam>Gent</Naam>
</Gemeente>
<Land>
<NISCode>150</NISCode>
<ISOCode>BEL</ISOCode>
<Naam>BELGIE</Naam>
</Land>
</Plaats>
<Aktenummer>00142</Aktenummer>
<Bewijsstuk>
<Code>1</Code>
<Omschrijving Taal="nl">Akte van de burgerlijke stand</Omschrijving>
</Bewijsstuk>
</Geboorte>
Gepseudonimiseerd voorbeeld burgerlijke staat gegevens:
<BurgerlijkeStaten>
<BurgerlijkeStaat DatumBegin="2005-06-18">
<Code>20</Code>
<Omschrijving Taal="nl">Gehuwd</Omschrijving>
<Partner>
<INSZ>77032544821</INSZ>
<Naam DatumBegin="2005-06-18">
<Achternamen>
<Achternaam>Pieters</Achternaam>
</Achternamen>
<Voornamen>
<Voornaam>An</Voornaam>
</Voornamen>
</Naam>
<Geslacht>
<Code>2</Code>
<Omschrijving Taal="nl">Vrouwelijk</Omschrijving>
</Geslacht>
<Geboortedatum>1977-03-25</Geboortedatum>
</Partner>
<Plaats>
<Gemeente>
<NISCode>21004</NISCode>
<Naam>Brussel</Naam>
</Gemeente>
<Land>
<NISCode>150</NISCode>
<ISOCode>BEL</ISOCode>
<Naam>BELGIE</Naam>
</Land>
</Plaats>
<Aktenummer>00587</Aktenummer>
</BurgerlijkeStaat>
</BurgerlijkeStaten>
Gepseudonimiseerd voorbeeld domiciliegegevens:
<Hoofdverblijfplaats DatumBegin="2015-03-21">
<NietGestandaardiseerdeStraatnaam>
<String>Kerkstraat</String>
<Taal>nl</Taal>
</NietGestandaardiseerdeStraatnaam>
<Huisnummer>12</Huisnummer>
<Busnummer>3</Busnummer>
<PostCode>9000</PostCode>
<NietGestandaardiseerdeGemeentenaam>
<String>Gent</String>
<Taal>nl</Taal>
</NietGestandaardiseerdeGemeentenaam>
<NISCodeGemeente>44021</NISCodeGemeente>
<Land>
<String>BELGIE</String>
<Taal>nl</Taal>
</Land>
<NISCodeLand>150</NISCodeLand>
<ISOCodeLand>BEL</ISOCodeLand>
<StraatCode>0145</StraatCode>
</Hoofdverblijfplaats>
Gepseudonimiseerd voorbeeld naamsgegevens:
<Naam DatumBegin="1976-09-14">
<Achternamen>
<Achternaam>De Smedt</Achternaam>
<Achternaam>Van den Berghe</Achternaam>
</Achternamen>
<Voornamen>
<Voornaam>Jean</Voornaam>
<Voornaam>Pierre</Voornaam>
<Voornaam GebruikelijkeVoornaam="1">Luc</Voornaam>
</Voornamen>
</Naam>
Error-handling
Speficieke foutcodes:
|
Code |
Toelichting |
|---|---|
|
30003 |
Onbestaand INSZ |
|
30001 |
Geen gegevens gevonden voor de vraag |
|
20002 |
INSZ in de vraag heeft een ongeldige structuur |
|
60009 |
Er heeft zich een technisch probleem voorgedaan |
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.
List<UitzonderingType> uitzonderingen = response.getRepliek()
.getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();
for (UitzonderingType u : uitzonderingen) {
String code = u.getIdentificatie();
if ("30003".equals(code) || "30001".equals(code)) {
throw new BpmnError("MAGDA_PERSOON_NIET_GEVONDEN", u.getDiagnose());
}
if ("20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", u.getDiagnose());
}
if ("60009".equals(code)) {
throw new BpmnError("MAGDA_TECHNISCHE_FOUT", u.getDiagnose());
}
}
geefPersoonWithAfstammingWithUri
Zoek persoonsgegevens met afstammingsgegevens op basis van rijksregisternummer.
Workflow expressie
${magda.geefPersoonWithAfstammingWithUri(String identifier, String uri, String hoedanigheid, String dossierId)}
Java-code
GeefPersoonResponse response = magda.geefPersoonWithAfstammingWithUri(identifier, uri, hoedanigheid, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Rijksregisternummer (INSZ) van de persoon waarvan je de gegevens wil opvragen |
|
|
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
URI die de aanroepende applicatie identificeert in de MAGDA SOAP request context. |
|
|
String |
‘12345’ |
IPDC-code die je aansluitingsrechten identificeert. |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv-applicatie. Wordt gebruikt voor logging van de MAGDA-call. |
MAGDA-documentatie
Technische documentatie voor Persoon.GeefPersoon-02.02
Output
Je krijgt een getypeerd GeefPersoonResponse-object terug. Dit object bevat een Persoon-element met persoonsgegevens zoals aangeleverd door MAGDA vanuit het Rijksregister (RR) of de Kruispuntbank van de Sociale Zekerheid (KSZ), afhankelijk van de geconfigureerde bron en de machtigingen van je applicatie. Het Afstamming-element bevat nul, één of twee Ouder-elementen. Er wordt steeds slechts één afstamming teruggegeven: die met de recentste begindatum. Voor een volledig historisch overzicht van alle afstammingen raadpleeg je de giveHistoryPerson-service.
Gepseudonimiseerd voorbeeld afstammingsgegevens:
<Afstamming>
<Type>
<Code>00</Code>
<Omschrijving Taal="nl">wettig kind</Omschrijving>
</Type>
<Ouders>
<Ouder>
<INSZ>01234567993</INSZ>
<Naam>
<Achternamen><Achternaam>De Bruyker</Achternaam></Achternamen>
<Voornamen><Voornaam>Jean</Voornaam></Voornamen>
</Naam>
<Geslacht>
<Code>1</Code>
<Omschrijving Taal="nl">Mannelijk</Omschrijving>
</Geslacht>
<Geboortedatum>1931-08-22</Geboortedatum>
<IsOverleden>false</IsOverleden>
</Ouder>
<Ouder>
<INSZ IsFictief="1">34100300000</INSZ>
<Naam>
<Achternamen><Achternaam>Vandamme</Achternaam></Achternamen>
<Voornamen>
<Voornaam>Maria</Voornaam>
<Voornaam>Ingrid</Voornaam>
</Voornamen>
</Naam>
<Geslacht>
<Code>2</Code>
<Omschrijving Taal="nl">Vrouwelijk</Omschrijving>
</Geslacht>
<Geboortedatum>1934-10-03</Geboortedatum>
<IsOverleden>false</IsOverleden>
</Ouder>
</Ouders>
</Afstamming>
Error-handling
Speficieke foutcodes:
|
Code |
Toelichting |
|---|---|
|
30003 |
Onbestaand INSZ |
|
30001 |
Geen gegevens gevonden voor de vraag |
|
20002 |
INSZ in de vraag heeft een ongeldige structuur |
|
60009 |
Er heeft zich een technisch probleem voorgedaan |
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.
List<UitzonderingType> uitzonderingen = response.getRepliek()
.getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();
for (UitzonderingType u : uitzonderingen) {
String code = u.getIdentificatie();
if ("30003".equals(code) || "30001".equals(code)) {
throw new BpmnError("MAGDA_PERSOON_NIET_GEVONDEN", u.getDiagnose());
}
if ("20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", u.getDiagnose());
}
if ("60009".equals(code)) {
throw new BpmnError("MAGDA_TECHNISCHE_FOUT", u.getDiagnose());
}
}
geefPersoonWithUriAsHM
Zoek persoonsgegevens op basis van rijksregisternummer en krijg deze binnen als Java hashmap.
Workflow expressie (Camunda connector)
${magda.geefPersoonWithUriAsHM(String identifier, String uri, String hoedanigheid, String dossierId)}
Java-code
HashMap response = magda.geefPersoonWithUriAsHM(identifier, uri, hoedanigheid, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Rijksregisternummer |
|
|
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
URI die de aanroepende applicatie identificeert in de MAGDA SOAP request context. |
|
|
String |
‘12345’ |
IPDC-code die je aansluitingsrechten identificeert. |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv-applicatie. Wordt gebruikt voor logging van de MAGDA-call. |
MAGDA-documentatie
Technische documentatie voor Persoon.GeefPersoon-02.02
Output
Je krijgt de persoonsgegevens terug als een HashMap<String, Object> in plaats van als een getypeerd GeefPersoonResponse-object. Dit maakt het eenvoudiger om individuele velden rechtstreeks aan te spreken in een BPMN-expressie of workflow-variabele, zonder dat je afhankelijk bent van de Java-typestructuur.
De hashmap weerspiegelt de structuur van het Persoon-object zoals gedefinieerd door MAGDA. Afhankelijk van de geconfigureerde bron (RR of KSZ) en de specifieke machtigingen van je applicatie kunnen de beschikbare velden variëren. De sleutels in de hashmap komen overeen met de elementnamen uit de MAGDA-respons, bijvoorbeeld:
// Naam opvragen
String achternaam = (String) response.get("Naam");
// Geboortedatum opvragen
Map<String, Object> geboorte = (Map<String, Object>) response.get("Geboorte");
// Hoofdverblijfplaats opvragen
Map<String, Object> adressen = (Map<String, Object>) response.get("Adressen");
Map<String, Object> hoofdverblijfplaats = (Map<String, Object>) adressen.get("Hoofdverblijfplaats");
Error-handling
Speficieke foutcodes:
|
Code |
Toelichting |
|---|---|
|
30003 |
Onbestaand INSZ |
|
30001 |
Geen gegevens gevonden voor de vraag |
|
20002 |
INSZ in de vraag heeft een ongeldige structuur |
|
60009 |
Er heeft zich een technisch probleem voorgedaan |
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.
List<UitzonderingType> uitzonderingen = response.getRepliek()
.getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();
for (UitzonderingType u : uitzonderingen) {
String code = u.getIdentificatie();
if ("30003".equals(code) || "30001".equals(code)) {
throw new BpmnError("MAGDA_PERSOON_NIET_GEVONDEN", u.getDiagnose());
}
if ("20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", u.getDiagnose());
}
if ("60009".equals(code)) {
throw new BpmnError("MAGDA_TECHNISCHE_FOUT", u.getDiagnose());
}
}
giveFamilyComposition
Zoek gegevens over gezinssamenstelling op basis van een rijksregisternummer.
Workflow expressie
${magda.giveFamilyComposition(String ssin, String dossierId)}
Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven:
${magda.giveFamilyCompositionWithUri(String ssin, String uri, String hoedanigheid, String dossierId)}
Java-code
GeefGezinssamenstellingResponse response = magda.giveFamilyCompositionWithUri(ssin, uri, hoedanigheid, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Rijksregisternummer |
|
(withUri variant) |
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
URI die de aanroepende applicatie identificeert in de MAGDA SOAP request context. |
|
(withUri variant) |
String |
‘12345’ |
IPDC-code die je aansluitingsrechten identificeert. |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv-applicatie. Wordt gebruikt voor logging van de MAGDA-call. |
MAGDA-documentatie
Technische documentatie voor Persoon.GeefGezinssamenstelling-02.02
Output
Je krijgt een object GeefGezinssamenstellingResponse terug met info over de gezinssamenstelling.
Gepseudonimiseerd voorbeeld gezinssamenstelling:
<Gezinsleden>
<!-- Echtgenote / partner -->
<Gezinslid DatumBegin="2005-06-18">
<INSZ>77032544821</INSZ>
<Naam DatumBegin="2005-06-18">
<Achternamen>
<Achternaam>Pieters</Achternaam>
</Achternamen>
<Voornamen>
<Voornaam>An</Voornaam>
</Voornamen>
</Naam>
<Geslacht DatumBegin="1977-03-25">
<Code>2</Code>
<Omschrijving Taal="nl">Vrouwelijk</Omschrijving>
</Geslacht>
<Geboortedatum>1977-03-25</Geboortedatum>
<Positie>
<Code>02</Code>
<Omschrijving Taal="nl">echtgenoot, echtgenote</Omschrijving>
</Positie>
<Woonvorm>
<Code>01</Code>
<Omschrijving Taal="nl">kerngezin</Omschrijving>
</Woonvorm>
</Gezinslid>
<!-- Kind -->
<Gezinslid DatumBegin="2007-03-14">
<INSZ>07031455832</INSZ>
<Naam DatumBegin="2007-03-14">
<Achternamen>
<Achternaam>Janssen</Achternaam>
</Achternamen>
<Voornamen>
<Voornaam>Emma</Voornaam>
</Voornamen>
</Naam>
<Geslacht DatumBegin="2007-03-14">
<Code>2</Code>
<Omschrijving Taal="nl">Vrouwelijk</Omschrijving>
</Geslacht>
<Geboortedatum>2007-03-14</Geboortedatum>
<Positie>
<Code>03</Code>
<Omschrijving Taal="nl">zoon, dochter</Omschrijving>
</Positie>
<Woonvorm>
<Code>01</Code>
<Omschrijving Taal="nl">kerngezin</Omschrijving>
</Woonvorm>
</Gezinslid>
<!-- Kind dat het gezin verlaten heeft (DatumEinde aanwezig) -->
<Gezinslid DatumBegin="2009-11-02" DatumEinde="2031-09-01">
<INSZ>09110266543</INSZ>
<Naam DatumBegin="2009-11-02">
<Achternamen>
<Achternaam>Janssen</Achternaam>
</Achternamen>
<Voornamen>
<Voornaam>Luca</Voornaam>
</Voornamen>
</Naam>
<Geslacht DatumBegin="2009-11-02">
<Code>1</Code>
<Omschrijving Taal="nl">Mannelijk</Omschrijving>
</Geslacht>
<Geboortedatum>2009-11-02</Geboortedatum>
<Positie>
<Code>03</Code>
<Omschrijving Taal="nl">zoon, dochter</Omschrijving>
</Positie>
<Woonvorm>
<Code>01</Code>
<Omschrijving Taal="nl">kerngezin</Omschrijving>
</Woonvorm>
</Gezinslid>
</Gezinsleden>
Error-handling
Specifieke foutcodes:
|
Code |
Toelichting |
|---|---|
|
30003 |
Onbestaand INSZ |
|
30001 |
Geen gegevens gevonden voor de vraag |
|
20002 |
INSZ in de vraag heeft een ongeldige structuur |
|
40005 |
De toegang tot de gegevens is geweigerd |
|
16018 |
Gegevens uit externe bron zijn niet beschikbaar |
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.
List<UitzonderingType> uitzonderingen = response.getRepliek()
.getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();
for (UitzonderingType u : uitzonderingen) {
String code = u.getIdentificatie();
if ("30003".equals(code) || "30001".equals(code)) {
throw new BpmnError("MAGDA_GEZIN_NIET_GEVONDEN", u.getDiagnose());
}
if ("20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", u.getDiagnose());
}
if ("40005".equals(code) || "16018".equals(code)) {
throw new BpmnError("MAGDA_BRON_NIET_BESCHIKBAAR", u.getDiagnose());
}
}
giveHistoryFamilyComposition
Zoek gegevens over historiek van gezinssamenstelling op basis van een rijksregisternummer.
Workflow expressie
${magda.giveHistoryFamilyComposition(String ssin, String date, String on, String dossierId)}
Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven:
${magda.giveHistoryFamilyCompositionWithUri(String ssin, String date, String on, String uri, String hoedanigheid, String dossierId)}
Java-code
GeefGezinssamenstellingResponse response = magda.giveHistoryFamilyCompositionWithUri(ssin, date, on, uri, hoedanigheid, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Rijksregisternummer |
|
|
String |
‘2010-06-30’ |
Startdatum referteperiode, geef alle gezinssamenstellingen sinds dat moment |
|
|
String |
‘2020-01-01’ |
Refertedatum, geef de gezinssamenstelling zoals die op dat moment was |
|
(withUri-variant) |
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
URI die de aanroepende applicatie identificeert in de MAGDA SOAP request context. |
|
(withUri-variant) |
String |
‘12345’ |
IPDC-code die je aansluitingsrechten identificeert. |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv-applicatie. Wordt gebruikt voor logging van de MAGDA-call. |
MAGDA-documentatie
Technische documentatie voor Persoon.GeefHistoriekGezinssamenstelling-02.02
Output
Je krijgt een getypeerd GeefHistoriekGezinssamenstellingResponse object met de historiek van de gezinssamenstelling. Het kan ofwel gaan om een snapshot (input parameter on) of een tijdlijn (input parameter date).
Gepseudonimiseerd voorbeeld (tijdslijn).
<ns2:GeefHistoriekGezinssamenstellingResponse xmlns:ns2="http://www.vlaanderen.be/MAGDA">
<!-- Context -->
<Context>
<Tijdstip>2026-05-21T14:00:00Z</Tijdstip>
<CorrelatieID>2f0c5df2-5562-4fd9-bb88-abc987654321</CorrelatieID>
<Bron>GHG</Bron>
</Context>
<!-- Referte -->
<Referte>
<UwReferte>550e8400-e29b-41d4-a716-446655440000</UwReferte>
<Applicatie>SkryvApp</Applicatie>
</Referte>
<!-- Antwoord -->
<Antwoord>
<Inhoud>
<!-- Gezinssamenstelling 1 (historiek) -->
<Gezinssamenstellingen>
<Gezinssamenstelling DatumBegin="2010-06-30" DatumEinde="2015-12-31">
<Gezinsleden>
<Gezinslid>
<INSZ>850102XXX45</INSZ>
<Naam>DEMO JAN</Naam>
<GeboorteDatum>1985-01-02</GeboorteDatum>
<Geslacht>1</Geslacht>
<RelatieTotReferentie>PERSOON</RelatieTotReferentie>
</Gezinslid>
<Gezinslid>
<INSZ>870505XXX12</INSZ>
<Naam>DEMO ANNA</Naam>
<GeboorteDatum>1987-05-05</GeboorteDatum>
<Geslacht>2</Geslacht>
<RelatieTotReferentie>PARTNER</RelatieTotReferentie>
</Gezinslid>
</Gezinsleden>
</Gezinssamenstelling>
</Gezinssamenstellingen>
<!-- Gezinssamenstelling 2 -->
<Gezinssamenstellingen>
<Gezinssamenstelling DatumBegin="2016-01-01">
<Gezinsleden>
<Gezinslid>
<INSZ>850102XXX45</INSZ>
<Naam>DEMO JAN</Naam>
<GeboorteDatum>1985-01-02</GeboorteDatum>
<Geslacht>1</Geslacht>
<RelatieTotReferentie>PERSOON</RelatieTotReferentie>
</Gezinslid>
<Gezinslid>
<INSZ>870505XXX12</INSZ>
<Naam>DEMO ANNA</Naam>
<GeboorteDatum>1987-05-05</GeboorteDatum>
<Geslacht>2</Geslacht>
<RelatieTotReferentie>PARTNER</RelatieTotReferentie>
</Gezinslid>
<Gezinslid>
<INSZ>160303XXX77</INSZ>
<Naam>DEMO LISA</Naam>
<GeboorteDatum>2016-03-03</GeboorteDatum>
<Geslacht>2</Geslacht>
<RelatieTotReferentie>KIND</RelatieTotReferentie>
</Gezinslid>
</Gezinsleden>
</Gezinssamenstelling>
</Gezinssamenstellingen>
</Inhoud>
<!-- Optioneel -->
<Uitzonderingen>
<Uitzondering>
<Code>INFO_PARTIAL_HISTORY</Code>
<Omschrijving>Historiek beperkt tot beschikbare gegevens</Omschrijving>
</Uitzondering>
</Uitzonderingen>
</Antwoord>
</ns2:GeefHistoriekGezinssamenstellingResponse>
Error-handling
Specifieke foutcodes:
|
Code |
Oorsprong |
Toelichting |
|---|---|---|
|
30003 |
KSZ |
Onbestaand INSZ |
|
30001 |
MAGDA/KSZ |
Geen gegevens gevonden voor de vraag |
|
30002 |
KSZ |
INSZ geannuleerd |
|
20002 |
MAGDA |
INSZ in de vraag heeft een ongeldige structuur |
|
40005 |
KSZ |
De toegang tot de gegevens is geweigerd |
|
30004 |
MAGDA |
Persoon heeft een nieuw INSZ verkregen (WAARSCHUWING, met annotaties Oud/Nieuw INSZ) |
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.
List<UitzonderingType> uitzonderingen = response.getRepliek()
.getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();
for (UitzonderingType u : uitzonderingen) {
String code = u.getIdentificatie();
if ("30003".equals(code) || "30001".equals(code) || "30002".equals(code)) {
throw new BpmnError("MAGDA_HISTORIEK_GEZIN_NIET_GEVONDEN", u.getDiagnose());
}
if ("20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", u.getDiagnose());
}
if ("30004".equals(code)) {
// WAARSCHUWING, geen blokkerende fout - annotaties bevatten Oud/Nieuw INSZ
LOGGER.warn("Persoon heeft nieuw INSZ verkregen: {}", u.getDiagnose());
}
}
giveHistoryPerson
Geef historische persoonsgegevens op basis van een rijksregisternummer.
Workflow expressie
${magda.giveHistoryPerson(String identifier, String date, String oneDay, String dossierId)}
Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven:
${magda.giveHistoryPersonWithUri(String identifier, String date, String oneDay, String uri, String hoedanigheid, String dossierId)}
Java-code
GeefHistoriekPersoonResponse response = magda.giveHistoryPersonWithUri(identifier, date, oneDay, uri, hoedanigheid, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Rijksregisternummer |
|
|
String |
‘2010-06-30’ |
Indien oneDay ‘true’ is, dan is dit de refertedatum; indien oneDay ‘false', dan is dit de startdatum van de referteperiode |
|
|
String |
‘true' of ‘false’ |
‘true’ betekent de historische persoonsgegevens op die exacte dag (zie date); ‘false’ betekent historische persoonsgegevens vanaf die dag (zie date) |
|
(withUri-variant) |
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
URI die de aanroepende applicatie identificeert in de MAGDA SOAP request context. |
|
(withUri-variant) |
String |
‘12345’ |
IPDC-code die je aansluitingsrechten identificeert. |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv-applicatie. Wordt gebruikt voor logging van de MAGDA-call. |
MAGDA-documentatie
Technische documentatie voor Persoon.GeefHistoriekPersoon-02.02
Output
Je krijgt een getypeerd GeefHistoriekPersoonResponse object met historische persoonsgegevens. Het kan gaan om een snapshot (oneDay = true), ofwel om een tijdslijn (oneDay = false). Zo krijg je zicht op de sleutelmomenten en -gebeurtenissen in iemands leven (bijvoorbeeld geboorte, huwelijk, verhuis). De aard van informatie is afhankelijk van de geconfigureerde bron en de machtigingen van je applicatie.
Gepseudonimiseerd voorbeeld (tijdslijn):
<ns2:GeefHistoriekPersoonResponse xmlns:ns2="http://www.vlaanderen.be/MAGDA">
<!-- Context -->
<Context>
<Tijdstip>2026-05-21T13:45:00Z</Tijdstip>
<CorrelatieID>9c31d7ea-bd88-4a9a-a111-abc123456789</CorrelatieID>
<Bron>GHP</Bron>
</Context>
<!-- Referte -->
<Referte>
<UwReferte>550e8400-e29b-41d4-a716-446655440000</UwReferte>
<Applicatie>SkryvApp</Applicatie>
</Referte>
<!-- Antwoord -->
<Antwoord>
<Inhoud>
<HistoriekPersoon Bron="RR">
<INSZ>850102XXX45</INSZ>
<!-- Historiek Naam -->
<HistoriekNaam>
<Naam DatumBegin="1985-01-02">
<Achternamen>
<Achternaam>DEMO</Achternaam>
</Achternamen>
<Voornamen>
<Voornaam>JAN</Voornaam>
</Voornamen>
</Naam>
<Naam DatumBegin="2015-06-01">
<Achternamen>
<Achternaam>DEMO-VERANDERD</Achternaam>
</Achternamen>
<Voornamen>
<Voornaam>JAN</Voornaam>
</Voornamen>
</Naam>
</HistoriekNaam>
<!-- Historiek Geslacht -->
<HistoriekGeslacht>
<Geslacht DatumBegin="1985-01-02">
<Code>1</Code>
<Omschrijving>Mannelijk</Omschrijving>
</Geslacht>
</HistoriekGeslacht>
<!-- Historiek Geboorte -->
<HistoriekGeboorte>
<Geboorte>
<Datum>1985-01-02</Datum>
<Plaats>
<Gemeente>
<Naam>BRUGGE</Naam>
<NISCode>31005</NISCode>
</Gemeente>
<Land>
<ISOCode>BEL</ISOCode>
<Naam>België</Naam>
</Land>
</Plaats>
</Geboorte>
</HistoriekGeboorte>
<!-- Historiek Nationaliteit -->
<HistoriekNationaliteit>
<Nationaliteit DatumBegin="1985-01-02">
<Code>150</Code>
<Omschrijving>België</Omschrijving>
</Nationaliteit>
</HistoriekNationaliteit>
<!-- Historiek Adressen -->
<HistoriekAdressen>
<HistoriekHoofdverblijfplaats>
<Hoofdverblijfplaats DatumBegin="2000-01-01" DatumEinde="2010-05-31">
<Straatcode>1234</Straatcode>
<Huisnummer>5</Huisnummer>
<Postcode>9000</Postcode>
<Gemeente>GENT</Gemeente>
</Hoofdverblijfplaats>
<Hoofdverblijfplaats DatumBegin="2010-06-01">
<Straatcode>5678</Straatcode>
<Huisnummer>10</Huisnummer>
<Busnummer>1</Busnummer>
<Postcode>8000</Postcode>
<Gemeente>BRUGGE</Gemeente>
</Hoofdverblijfplaats>
</HistoriekHoofdverblijfplaats>
</HistoriekAdressen>
<!-- Historiek Burgerlijke Staat -->
<HistoriekBurgerlijkeStaat>
<BurgerlijkeStaat DatumBegin="2008-09-20">
<Code>20</Code>
<Omschrijving>Gehuwd</Omschrijving>
</BurgerlijkeStaat>
</HistoriekBurgerlijkeStaat>
</HistoriekPersoon>
</Inhoud>
<!-- Optioneel -->
<Uitzonderingen>
<Uitzondering>
<Code>INFO_PARTIAL_DATA</Code>
Error-handling
Specifieke foutcodes:
|
Code |
Oorsprong |
Toelichting |
|---|---|---|
|
12506 |
MAGDA |
INSZ van de gebruiker beantwoordt niet aan de vormvereisten |
|
20002 |
MAGDA/KSZ/RR |
INSZ in de vraag heeft een ongeldige structuur |
|
30001 |
KSZ/RR |
Geen gegevens gevonden voor de vraag |
|
30003 |
KSZ |
Onbestaand INSZ |
|
30002 |
KSZ |
INSZ geannuleerd |
|
30004 |
MAGDA |
Persoon heeft een nieuw INSZ verkregen |
|
40005 |
KSZ/RR |
De toegang tot de gegevens is geweigerd |
|
40006 |
KSZ/RR |
Fout in autorisatie |
|
60009 |
MAGDA/RR |
Er heeft zich een technisch probleem voorgedaan |
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.
List<UitzonderingType> uitzonderingen = response.getRepliek()
.getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();
for (UitzonderingType u : uitzonderingen) {
String code = u.getIdentificatie();
if ("30001".equals(code) || "30003".equals(code)) {
throw new BpmnError("MAGDA_HISTORIEK_NIET_GEVONDEN", u.getDiagnose());
}
if ("30002".equals(code)) {
throw new BpmnError("MAGDA_INSZ_GEANNULEERD", u.getDiagnose());
}
if ("12506".equals(code) || "20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", u.getDiagnose());
}
if ("60009".equals(code)) {
throw new BpmnError("MAGDA_TECHNISCHE_FOUT", u.getDiagnose());
}
}
searchPersonByAddress
Zoek persoonsgegevens op basis van een adres.
Workflow expressie
Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.
${magda.searchPersonByAddress(String postCode, String streetCode, String houseNumber, String busNumber, String uri, String hoedanigheid)}
Java-code
ZoekPersoonOpAdresResponse response = magda.searchPersonByAddress(postCode, streetCode, houseNumber, busNumber, uri, hoedanigheid);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘8000’ |
Postcode adres |
|
|
String |
‘67890’ |
Straatcode (CRAB Stratenlijst) |
|
|
String |
'1' |
Huisnummer |
|
|
String |
'5' |
Eventueel busnummer |
|
|
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
URI die de aanroepende applicatie identificeert in de MAGDA SOAP request context. |
|
|
String |
‘12345’ |
IPDC-code die je aansluitingsrechten identificeert. |
MAGDA-documentatie
Technische documentatie voor Persoon.ZoekPersoonOpAdres-02.02
Output
Je krijgt een getypeerd object ZoekPersoonOpAdresResponseobject terug met persoonsgegevens voor het opgegeven adres (domicilie). Voor elke persoon ingeschreven op het adres, krijg je specifieke informatie terug, afhankelijk van de geconfigureerde bron en de machtigingen van je applicatie.
Gepseudonimiseerd voorbeeld van de response:
<ns2:ZoekPersoonOpAdresResponse xmlns:ns2="http://www.vlaanderen.be/MAGDA">
<!-- Context -->
<Context>
<Tijdstip>2026-05-21T13:30:15Z</Tijdstip>
<CorrelatieID>c84f9c2e-8b8b-4f7e-9a21-123456789abc</CorrelatieID>
<Bron>SPOA</Bron>
</Context>
<!-- Referte -->
<Referte>
<UwReferte>REQ-20260521-0001</UwReferte>
<Applicatie>TestClient</Applicatie>
</Referte>
<!-- Antwoord -->
<Antwoord>
<Personen>
<Persoon Bron="RR">
<INSZ>850101XXX01</INSZ>
<Naam>
<Achternaam>DEMO</Achternaam>
<Voornaam>JAN</Voornaam>
</Naam>
<Geslacht>1</Geslacht>
<GeboorteDatum>1985-01-01</GeboorteDatum>
<Register>Bevolkingsregister</Register>
<Adressen>
<Hoofdverblijfplaats>
<Straatcode>1234</Straatcode>
<Huisnummer>10</Huisnummer>
<Busnummer>1</Busnummer>
<Postcode>8000</Postcode>
<Gemeente>BRUGGE</Gemeente>
</Hoofdverblijfplaats>
</Adressen>
</Persoon>
<Persoon Bron="KSZ">
<INSZ>920305XXX44</INSZ>
<Naam>
<Achternaam>VOORBEELD</Achternaam>
<Voornaam>ANNA</Voornaam>
</Naam>
<Geslacht>2</Geslacht>
<GeboorteDatum>1992-03-05</GeboorteDatum>
<IsOverleden>false</IsOverleden>
<Beheerder>
<Code>11002</Code>
<Omschrijving>Stad Brugge</Omschrijving>
</Beheerder>
<Status>
<Code>ACTIEF</Code>
</Status>
<Register>Bevolkingsregister</Register>
<Adressen>
<Hoofdverblijfplaats>
<Straatcode>1234</Straatcode>
<Huisnummer>10</Huisnummer>
<Busnummer>1</Busnummer>
<Postcode>8000</Postcode>
<Gemeente>BRUGGE</Gemeente>
</Hoofdverblijfplaats>
</Adressen>
</Persoon>
</Personen>
<!-- Optioneel: uitzonderingen -->
<Uitzonderingen>
<Uitzondering>
<Code>WAARSCHUWING_MAX_RESULTATEN</Code>
<Omschrijving>Niet alle resultaten worden weergegeven</Omschrijving>
</Uitzondering>
</Uitzonderingen>
</Antwoord>
</ns2:ZoekPersoonOpAdresResponse>
Error-handling
Specifieke foutcodes:
|
Code |
Type |
Toelichting |
|---|---|---|
|
30001 |
FOUT |
Geen gegevens gevonden voor de vraag |
|
40006 |
FOUT |
Fout in autorisatie |
|
40012 |
FOUT |
Fout in opgegeven zoekcriteria: ongekende postcode |
|
40013 |
FOUT |
Fout in opgegeven zoekcriteria: straatcode en huisnummer moeten verschillend van nul zijn |
|
40014 |
WAARSCHUWING |
Er zijn bijkomende resultaten beschikbaar voor de opgegeven zoekcriteria (met annotatie "Huidige pagina") |
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.
List<UitzonderingType> uitzonderingen = response.getRepliek()
.getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();
for (UitzonderingType u : uitzonderingen) {
String code = u.getIdentificatie();
if ("30001".equals(code)) {
throw new BpmnError("MAGDA_GEEN_PERSONEN_GEVONDEN", u.getDiagnose());
}
if ("40012".equals(code) || "40013".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIGE_ZOEKCRITERIA", u.getDiagnose());
}
if ("40006".equals(code)) {
throw new BpmnError("MAGDA_AUTORISATIE_FOUT", u.getDiagnose());
}
}