MAGDA Sociale Zekerheid

Inleiding

Deze connector dekt een brede waaier aan sociale-zekerheidsgegevens (handicap, leefloon, werkloosheid, sociaal statuut) af.

Use cases

  • Nagaan of een aanvrager een tegemoetkoming voor een handicap ontvangt, en het maandelijkse bedrag ervan, ter bepaling van een inkomensgerelateerd voordeel of premie.

  • Het volledige dossier handicap van een aanvrager raadplegen (erkenningen, rechten) om de ondersteuningsbehoefte te kennen bij een sociale aanvraag.

  • Nagaan of een aanvrager leefloon ontvangt, en voor welke periodes, relevant voor tegemoetkomingen die rekening houden met het bestaansminimum.

  • Het bedrag van het leefloon opvragen voor een bepaald jaar, bijvoorbeeld ter berekening van een inkomensgerelateerde bijdrage.

  • Nagaan of een aanvrager een vervangingsinkomen uit werkloosheid ontvangt, bijvoorbeeld voor een verminderd tarief, vrijstelling of prioriteit bij toewijzing.

  • Het sociaal statuut van een aanvrager raadplegen (bv. verhoogde tegemoetkoming, OMNIO) ter bepaling van een sociaal tarief of een gereduceerde bijdrage.

Setup

Idem als bij alle MAGDA-connectoren. Zie MAGDA algemene setup.

Specifieke applicatie eigenschappen

Geen.

Services en functies

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.

Overzicht

Functie

Retourtype

Info

givefBetalingenHandicap

GeefBetalingenHandicapResponse

Uitbetalingsgegevens (per maand) van een tegemoetkoming voor een handicap

giveDossierHandicap

GeefDossierHandicapResponse

Dossiergegevens handicap voor een persoon op een bepaalde datum

giveDossierHandicapByPeriod

GeefDossierHandicapResponse

Dossiergegevens handicap voor een persoon over een periode

giveDossierHandicapWithHc

GeefDossierHandicapResponse

Dossiergegevens handicap, met opgave van een specifieke hoedanigheidscode (hc)

giveHandicap

GeefHandicapResponse

Erkenningsgegevens van een handicap voor een persoon

giveLeefloonbedragen

GeefLeefloonbedragenResponse

Bedragen van het leefloon voor een bepaald jaar (en eventueel voorgaande jaren)

giveLivingWagePeriods

GeefLeefloonperiodesResponse

Periodes waarin een persoon leefloon ontving

giveReplacementIncome

GeefVervangingsinkomenUitWerkloosheidResponse

Vervangingsinkomen uit werkloosheid voor een persoon over een periode

giveSociaalStatuut

GeefSociaalStatuutResponse

Sociaal statuut (bv. verhoogde tegemoetkoming) van een persoon

givefBetalingenHandicap

Vraag voor een persoon gegevens op omtrent uitbetalingen in kader van een handicap.

Workflow expressie 1

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

${magda.givefBetalingenHandicap(String insz, String startDate, String endDate, String dossierId)}

Workflow expressie 2

Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.

${magda.givefBetalingenHandicap(String insz, String startDate, String endDate, String uri, String hoedanigheid, String dossierId)}

Java-code 1

GeefBetalingenHandicapResponse response = magda.givefBetalingenHandicap(insz, startDate, endDate, dossierId);

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

Java-code 2

GeefBetalingenHandicapResponse response = magda.givefBetalingenHandicap(insz, startDate, endDate, uri, hoedanigheid, dossierId);

Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.

Input

Inputparameters

Data type

Voorbeeld

Uitleg

insz

String

‘85010212345’

Identificatienummer voor de sociale zekerheid (rijksregisternummer)

startDate

String

‘2020-01-01'

Startdatum referteperiode

endDate

String

‘2025-01-01’

Einddatum referteperiode

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

hoedanigheid

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documentatie

Technische documentatie GeefBetalingenHandicap-03.00.

Output

Je krijgt een getypeerd GeefBetalingenHandicapResponse-object terug met drie onderdelen: een algemene status, het opgevraagde ssin (met eventuele aanduiding of het INSZ geannuleerd of vervangen is), en results — vier afzonderlijke resultaatblokken (dgphResult, vsbResult, irisCareResult, niccinResult), elk met een eigen status en een lijst van payments (maandelijkse uitbetalingen, met jaar/maand, bedrag en een aanduiding of de betaling geschorst was).

Belangrijk: controleer de status van elk resultaatblok afzonderlijk — een globaal geslaagd antwoord (zonder Uitzondering) kan bij één of meerdere bronnen toch "geen gegevens gevonden" bevatten. vsbResult levert momenteel nog geen gegevens (voorzien voor toekomstig gebruik). Onze connector vraagt MDG niet op — een mdgResult-blok zal in de praktijk dus nooit gegevens bevatten via deze functie.

Is het opgegeven INSZ vervangen door een nieuw nummer, dan blokkeert de dienst en krijg je geen resultaten — het nieuwe INSZ staat in het replacedBy-attribuut van ssin, en je moet de vraag herhalen met dat nieuwe nummer. Is het INSZ enkel geannuleerd (niet vervangen), dan gaat de opvraging gewoon door.

Gepseudonimiseerd voorbeeld:

HTML
<ConsultPaymentsResponse>
    <status>
        <value>DATA_FOUND</value>
        <code>MSG00000</code>
    </status>
    <ssin>850102XXX45</ssin>
    <results>
        <dgphResult>
            <status>
                <value>DATA_FOUND</value>
                <code>MSG00000</code>
            </status>
            <payments>
                <payment>
                    <yearMonth>2025-01</yearMonth>
                    <amount>412.37</amount>
                    <cancelledPayment>0</cancelledPayment>
                </payment>
                <payment>
                    <yearMonth>2025-02</yearMonth>
                    <amount>412.37</amount>
                    <cancelledPayment>0</cancelledPayment>
                </payment>
            </payments>
        </dgphResult>
        <vsbResult>
            <status>
                <value>NO_DATA_FOUND</value>
                <code>MSG00100</code>
            </status>
            <!-- Momenteel altijd leeg: VSB levert nog geen betalingsgegevens -->
        </vsbResult>
        <irisCareResult>
            <status>
                <value>NO_DATA_FOUND</value>
                <code>MSG00021</code>
            </status>
        </irisCareResult>
        <niccinResult>
            <status>
                <value>NO_DATA_FOUND</value>
                <code>MSG00021</code>
            </status>
        </niccinResult>
    </results>
</ConsultPaymentsResponse>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Klassieke MAGDA-uitzonderingen (Niveau 3, Type FOUT, Oorsprong MAGDA):

Code

Toelichting

20002

Opgegeven INSZ voldoet niet aan de Checksum97-controle

20003

Begindatum moet vóór de einddatum liggen

60013

Fout in toegang naar de bron

60019

Dienst gepauzeerd, later opnieuw proberen

Categoriecodes (geven aan wat er van de bron zelf kwam):

Code

Betekenis

70001

Bron gaf INFORMATIE/WAARSCHUWING — inhoud is aanwezig, gewoon verder te verwerken

70002

Bron gaf een FOUT — geen inhoud

70003

SOAP Fault van de bron zelf — details via Annotaties

Fouten kunnen hier op twee plaatsen voorkomen: als klassieke MAGDA-Uitzondering (bv. ongeldig INSZ), of als een statuscode binnen een specifiek resultaatblok (bv. MSG00021 bij irisCareResult) — deze laatste is geen uitzondering en vereist dus expliciete controle in je eigen code, ook als de aanroep zelf geslaagd is.

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.

// Voorbeeld: beide foutlagen controleren
GeefBetalingenHandicapResponse response = magda.givefBetalingenHandicap(insz, startDate, endDate, dossierId);

// Laag 1: klassieke MAGDA-uitzonderingen
List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
    if ("20003".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIGE_PERIODE", uitzondering.getDiagnose());
    }
    if ("70002".equals(code) || "70003".equals(code)) {
        throw new BpmnError("MAGDA_BRON_FOUT", uitzondering.getDiagnose());
    }
}

// Laag 2: status per bron, binnen de inhoud van het antwoord (géén uitzondering!)
String dgphStatus = response.getResults().getDgphResult().getStatus().getCode();
if (!"MSG00000".equals(dgphStatus) && !"MSG00100".equals(dgphStatus) && !"MSG00021".equals(dgphStatus)) {
    // Onverwachte statuscode bij deze bron - nader onderzoeken, bv. loggen of BpmnError
    throw new BpmnError("MAGDA_DGPH_ONVERWACHTE_STATUS", "Statuscode: " + dgphStatus);
}

// SSIN-controle: is het opgegeven INSZ vervangen?
if (response.getSsin().getReplacedBy() != null) {
    throw new BpmnError("MAGDA_INSZ_VERVANGEN", "Nieuw INSZ: " + response.getSsin().getReplacedBy());
}

giveDossierHandicap

Zoek gegevens in het handicapdossier van een persoon.

Workflow expressie

${magda.giveDossierHandicap(String ssin, String date, String uri, String dossierId)}

Java-code 1

GeefDossierHandicapResponse response = magda.giveDossierHandicap(ssin, date, uri, dossierId);

Input

Inputparameters

Data type

Voorbeeld

Uitleg

insz

String

‘85010212345’

Identificatienummer voor de sociale zekerheid (rijksregisternummer)

date

String

‘2020-01-01'

Refertedatum

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documentatie

Technische documentatie GeefDossierHandicap-03.00.

Output

Je krijgt een getypeerd GeefDossierHandicapResponse-object terug (ConsultFilesByDateResponse) met de erkenningen (handicapRecognitions) van het dossier handicap op de opgegeven referentiedatum, geraadpleegd bij zes bronnen: AVIQ, DGPH, DSL, IrisCare, NicCin en VSB (MDG wordt hier niet bevraagd).

Voor elke bevraagde bron krijg je een apart resultaatblok (dgphResult, aviqResult, dslResult, ...) met een eigen status. Het blok bevat, indien aanwezig, een handicapRecognition per geldige erkenning, met:

  • recognitionStatus — de beslissingsdatum en de (open) geldigheidsperiode van de erkenning;

  • legislation — de wetgeving waarbinnen de erkenning gebeurde;

  • resultRecognitionChild — bij een erkenning voor een kind: score inzake zelfredzaamheid (oude wetgeving) of de pijlerscores (nieuwe wetgeving: pijler 1/2/3 en het totaal), relevant voor de bijkomende kinderbijslag of zorgtoeslag;

  • resultRecognitionAdult — bij een erkenning voor een volwassene: scores op verminderde zelfredzaamheid (mobiliteit, voeding, hygiëne, huishouden, toezicht, sociale vaardigheden).

Let op: de detailstructuur van resultRecognitionChild/resultRecognitionAdult is enkel bevestigd voor dgphResult — de overige bronblokken kunnen een deel van deze velden missen (zie de matrix op de vraagpagina: niet elke bron levert elk detail).

Net als bij givefBetalingenHandicap kan het opgegeven ssin een @canceled- of @replacedBy-attribuut bevatten (zie Error-handling). Daarnaast bevat het antwoord een dataFilters-element met de XPath van elementen die weggefilterd werden omdat je organisatie daarvoor niet geautoriseerd is — dit geeft je expliciet zicht op wat er ontbrak, in plaats van dat je dit zelf moet afleiden.

Gepseudonimiseerd voorbeeld:

HTML
<ConsultFilesByDateResponse>
    <Status>
        <value>DATA_FOUND</value>
        <code>MSG00000</code>
    </Status>
    <ssin>850102XXX45</ssin>
    <dataFilters>
        <FilteredElement>results/dgphResult/file/resultRecognitionAdult</FilteredElement>
    </dataFilters>
    <results>
        <dgphResult>
            <status>
                <value>DATA_FOUND</value>
                <code>MSG00000</code>
            </status>
            <file>
                <handicapRecognitions>
                    <handicapRecognition>
                        <recognitionStatus>
                            <dateOfDecision>2022-03-14</dateOfDecision>
                            <startDateRecognition>2022-01-01</startDateRecognition>
                            <!-- endDateRecognition afwezig: erkenning van onbepaalde duur -->
                        </recognitionStatus>
                        <legislation>NIEUWE_WET</legislation>
                        <resultRecognitionChild>
                            <pillars>
                                <pillar1>3</pillar1>
                                <pillar2>4</pillar2>
                                <pillar3>2</pillar3>
                                <pillarsTotal>9</pillarsTotal>
                            </pillars>
                            <childPathology>0</childPathology>
                        </resultRecognitionChild>
                    </handicapRecognition>
                </handicapRecognitions>
            </file>
        </dgphResult>
    </results>
</ConsultFilesByDateResponse>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Klassieke MAGDA-uitzonderingen (Niveau 3, Type FOUT, Oorsprong MAGDA):

Code

Toelichting

20002

Opgegeven INSZ voldoet niet aan de Checksum97-controle

20003

Begindatum moet vóór de einddatum liggen (enkel relevant bij giveDossierHandicapByPeriod)

40223

Lijst van elementen is ingekort

60013

Fout in toegang naar de bron

60019

Dienst gepauzeerd, later opnieuw proberen

Categoriecodes (geven aan wat er van de bron zelf kwam):

Code

Betekenis

70001

Bron gaf INFORMATIE/WAARSCHUWING — inhoud is aanwezig, gewoon verder te verwerken

70002

Bron gaf een FOUT — geen inhoud (bv. bij een gevraagd onderdeel dat niet beschikbaar is voor de aangeduide bron, of een referentiedatum te ver in de toekomst)

70003

SOAP Fault van de bron zelf — details via Annotaties

Fouten kunnen hier op twee plaatsen voorkomen: als klassieke MAGDA-Uitzondering (bv. ongeldig INSZ), of als een statuscode binnen een specifiek resultaatblok (bv. dgphResult/status) — deze laatste is geen uitzondering en vereist dus expliciete controle in je eigen code, ook als de aanroep zelf geslaagd is.

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.

// Voorbeeld: beide foutlagen controleren
GeefDossierHandicapResponse response = magda.giveDossierHandicap(ssin, date, uri, dossierId);

// Laag 1: klassieke MAGDA-uitzonderingen
List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
    if ("40223".equals(code)) {
        // Geen blokkerende fout, wel relevant om te loggen: resultaten mogelijk onvolledig
        LOGGER.warn("MAGDA: lijst van elementen werd ingekort voor dossierId {}", dossierId);
    }
    if ("70002".equals(code) || "70003".equals(code)) {
        throw new BpmnError("MAGDA_BRON_FOUT", uitzondering.getDiagnose());
    }
}

// Laag 2: status per bron, binnen de inhoud van het antwoord (géén uitzondering!)
String dgphStatus = response.getResults().getDgphResult().getStatus().getCode();
if (!"MSG00000".equals(dgphStatus) && !"MSG00100".equals(dgphStatus) && !"MSG00021".equals(dgphStatus)) {
    throw new BpmnError("MAGDA_DGPH_ONVERWACHTE_STATUS", "Statuscode: " + dgphStatus);
}

// SSIN-controle: is het opgegeven INSZ vervangen?
if (response.getSsin().getReplacedBy() != null) {
    throw new BpmnError("MAGDA_INSZ_VERVANGEN", "Nieuw INSZ: " + response.getSsin().getReplacedBy());
}

giveDossierHandicapByPeriod

Zoek gegevens in het handicapdossier van een persoon (voor een specifieke periode).

Workflow expressie

${magda.giveDossierHandicapByPeriod(String ssin, String beginDate, String endDate, String uri, String hoedanigheid, String dossierId)}

Java-code 1

GeefDossierHandicapResponse response = magda.giveDossierHandicapByPeriod(ssin, beginDate, endDate, uri, hoedanigheid, dossierId);

Input

Inputparameters

Data type

Voorbeeld

Uitleg

insz

String

‘85010212345’

Identificatienummer voor de sociale zekerheid (rijksregisternummer)

beginDate

String

‘2020-01-01'

Startdatum referteperiode

endDate

String

‘2025-01-01'

Einddatum referteperiode

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

hoedanigheid

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documentatie

Technische documentatie GeefDossierHandicap-03.00.

Output

Je krijgt een getypeerd GeefDossierHandicapResponse-object terug (ConsultFilesByPeriodResponse) met de rechten (rights) op een tegemoetkoming binnen de opgegeven periode, geraadpleegd bij DGPH (de andere bronnen worden door onze connector niet bevraagd voor deze functie).

Voor elk recht (rights) krijg je:

  • period/beginDate en period/endDate — de geldigheidsperiode van het recht (endDate blijft leeg voor een lopend recht);

  • legislation — de toegepaste wetgeving (bv. code 3 = IVT/IT, code 4 = THAB, code 6 = Parkeerkaart);

  • totalMonthAmount — het geïndexeerde totale maandbedrag (som van IVT en IT);

  • monthAmount — het deel daarvan dat integratietegemoetkoming (IT) is — het IVT-deel bereken je zelf als totalMonthAmount − monthAmount;

  • categoryIVT (A/B/C, afhankelijk van de gezinstoestand) en categoryIT (1 tot 5, afhankelijk van de zelfredzaamheidsscore);

  • partnerIncome — geeft aan of het inkomen van de partner (deels) vrijgesteld is bij de berekening;

  • decisionStatus — de aard van de beslissing (bv. POSITIVE, of een van de NEGATIVE_*-redenen zoals NEGATIVE_TOO_MUCH_INCOME).

Let op: een persoon kan een erkende handicap hebben zonder dat dit een recht op een tegemoetkoming opent — rights kan dus leeg zijn, ook al bevat handicapRecognitions (bij een andere functie) wel gegevens.

Gepseudonimiseerd voorbeeld:

HTML
<ConsultFilesByPeriodResponse>
    <Status>
        <value>DATA_FOUND</value>
        <code>MSG00000</code>
    </Status>
    <ssin>850102XXX45</ssin>
    <results>
        <dgphResult>
            <status>
                <value>DATA_FOUND</value>
                <code>MSG00000</code>
            </status>
            <file>
                <rights>
                    <period>
                        <beginDate>2023-01-01</beginDate>
                        <!-- endDate afwezig: lopend recht -->
                    </period>
                    <legislation>3</legislation>
                    <totalMonthAmount>612.45</totalMonthAmount>
                    <monthAmount>241.18</monthAmount>
                    <categoryIVT>B</categoryIVT>
                    <categoryIT>3</categoryIT>
                    <partnerIncome>0</partnerIncome>
                    <decisionStatus>POSITIVE</decisionStatus>
                </rights>
            </file>
        </dgphResult>
    </results>
</ConsultFilesByPeriodResponse>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Klassieke MAGDA-uitzonderingen (Niveau 3, Type FOUT, Oorsprong MAGDA):

Code

Toelichting

20002

Opgegeven INSZ voldoet niet aan de Checksum97-controle

20003

Begindatum moet vóór de einddatum liggen

40223

Lijst van elementen is ingekort

60013

Fout in toegang naar de bron

60019

Dienst gepauzeerd, later opnieuw proberen

Categoriecodes:

Code

Betekenis

70001

Bron gaf INFORMATIE/WAARSCHUWING — inhoud is aanwezig

70002

Bron gaf een FOUT — geen inhoud (bv. periode groter dan 3 jaar, of begindatum te ver in de toekomst — zie de validatieregels op de Vraag-pagina)

70003

SOAP Fault van de bron zelf

Fouten kunnen hier op twee plaatsen voorkomen: als klassieke MAGDA-Uitzondering (bv. ongeldige periode), of als een statuscode binnen het dgphResult-resultaatblok — deze laatste is geen uitzondering en vereist dus expliciete controle in je eigen code, ook als de aanroep zelf geslaagd is.

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.

// Voorbeeld: beide foutlagen controleren
GeefDossierHandicapResponse response = magda.giveDossierHandicapByPeriod(ssin, beginDate, endDate, uri, hoedanigheid, dossierId);

// Laag 1: klassieke MAGDA-uitzonderingen
List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
    if ("20003".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIGE_PERIODE", uitzondering.getDiagnose());
    }
    if ("70002".equals(code) || "70003".equals(code)) {
        throw new BpmnError("MAGDA_BRON_FOUT", uitzondering.getDiagnose());
    }
}

// Laag 2: status binnen het dgphResult-blok (géén uitzondering!)
String dgphStatus = response.getResults().getDgphResult().getStatus().getCode();
if (!"MSG00000".equals(dgphStatus) && !"MSG00100".equals(dgphStatus) && !"MSG00021".equals(dgphStatus)) {
    throw new BpmnError("MAGDA_DGPH_ONVERWACHTE_STATUS", "Statuscode: " + dgphStatus);
}

// SSIN-controle: is het opgegeven INSZ vervangen?
if (response.getSsin().getReplacedBy() != null) {
    throw new BpmnError("MAGDA_INSZ_VERVANGEN", "Nieuw INSZ: " + response.getSsin().getReplacedBy());
}

giveDossierHandicapWithHc

Zoek gegevens in het handicapdossier van een persoon en filter op handicapcode of categorie.

Workflow expressie

${magda.giveDossierHandicapWithHc(String ssin, String date, String uri, String hc, String dossierId)}

Java-code 1

GeefDossierHandicapResponse response = magda.giveDossierHandicapWithHc(ssin, date, uri, hoedanigheid, dossierId);

Input

Inputparameters

Data type

Voorbeeld

Uitleg

insz

String

‘85010212345’

Identificatienummer voor de sociale zekerheid (rijksregisternummer)

date

String

‘2020-01-01'

Refertedatum

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

hc

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documentatie

Technische documentatie GeefDossierHandicap-03.00.

Output

Je krijgt een getypeerd GeefDossierHandicapResponse-object terug (ConsultFilesByDateResponse) met de sociale kaarten (socialCards) die geldig zijn op de opgegeven referentiedatum, geraadpleegd bij dezelfde zes bronnen als giveDossierHandicap (AVIQ, DGPH, DSL, IrisCare, NicCin, VSB — geen MDG).

Voor elke geldige kaart (socialCard) krijg je:

  • deliveryDate — de datum waarop de kaart werd afgeleverd;

  • endDate — de datum waarop het recht op de kaart eindigt (een indicatie voor wanneer een hernieuwing kan worden aangevraagd);

  • cardNumber — het unieke kaartnummer;

  • cardCategory — het type kaart: 0 = verminderingskaart, 1 = parkeerkaart.

Let op: in tegenstelling tot handicapRecognitions en rights geeft de officiële MAGDA-matrix van bron/onderdeel-combinaties niet expliciet aan welke van de zes bronnen effectief sociale kaarten kunnen leveren — vermoedelijk is dit vooral bij DGPH relevant (de historische uitreiker van deze kaarten), maar dat is niet met zekerheid bevestigd voor de andere bronnen.

Gepseudonimiseerd voorbeeld:

HTML
<ConsultFilesByDateResponse>
    <Status>
        <value>DATA_FOUND</value>
        <code>MSG00000</code>
    </Status>
    <ssin>850102XXX45</ssin>
    <results>
        <dgphResult>
            <status>
                <value>DATA_FOUND</value>
                <code>MSG00000</code>
            </status>
            <file>
                <socialCards>
                    <socialCard>
                        <deliveryDate>2022-06-01</deliveryDate>
                        <endDate>2027-06-01</endDate>
                        <cardNumber>4837291056</cardNumber>
                        <cardCategory>1</cardCategory>
                    </socialCard>
                </socialCards>
            </file>
        </dgphResult>
    </results>
</ConsultFilesByDateResponse>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Twee foutlagen, zoals bij de andere twee giveDossierHandicap*-functies (klassieke uitzondering vs. statuscode binnen dgphResult).

Code

Toelichting

20002

Opgegeven INSZ voldoet niet aan de Checksum97-controle

40223

Lijst van elementen is ingekort

60013

Fout in toegang naar de bron

60019

Dienst gepauzeerd, later opnieuw proberen

Code

Betekenis

70001

Bron gaf INFORMATIE/WAARSCHUWING

70002

Bron gaf een FOUT — geen inhoud

70003

SOAP Fault van de bron zelf

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.

// Voorbeeld: beide foutlagen controleren
GeefDossierHandicapResponse response = magda.giveDossierHandicapWithHc(ssin, date, uri, hoedanigheid, dossierId);

List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
    if ("70002".equals(code) || "70003".equals(code)) {
        throw new BpmnError("MAGDA_BRON_FOUT", uitzondering.getDiagnose());
    }
}

String dgphStatus = response.getResults().getDgphResult().getStatus().getCode();
if (!"MSG00000".equals(dgphStatus) && !"MSG00100".equals(dgphStatus) && !"MSG00021".equals(dgphStatus)) {
    throw new BpmnError("MAGDA_DGPH_ONVERWACHTE_STATUS", "Statuscode: " + dgphStatus);
}

if (response.getSsin().getReplacedBy() != null) {
    throw new BpmnError("MAGDA_INSZ_VERVANGEN", "Nieuw INSZ: " + response.getSsin().getReplacedBy());
}

giveHandicap

Vraag de handicapstatus op voor een bepaalde persoon.

Opgelet: verouderde dienst Deze functie spreekt een oudere generatie van de MAGDA-dienst rond handicapgegevens aan (GeefHandicap-02.00), die alle informatie (medische erkenning, rechten, sociale kaarten, status van de aanvraag) in één aanroep teruggaf. Deze dienst is sindsdien opgesplitst in de nieuwere diensten GeefBetalingenHandicap-03.00 (zie givefBetalingenHandicap) en GeefDossierHandicap-03.00 (zie giveDossierHandicap, giveDossierHandicapWithHc en giveDossierHandicapByPeriod), die dezelfde gegevens per onderdeel aanbieden. Er is geen actieve technische documentatie meer publiek beschikbaar voor deze oudere dienst. Overweeg voor nieuwe ontwikkeling de nieuwere functies te gebruiken.

Workflow expressie 1

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

${magda.giveHandicap(String insz, String date, String begin, String end, String dossierId)}

Workflow expressie 2

Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.

${magda.giveHandicap(String insz, String date, String begin, String end, String uri, String hoedanigheid, String dossierId)}

Java-code 1

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

GeefHandicapResponse response = magda.giveHandicap(insz, date, begin, end, dossierId);

Java-code 2

Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.

GeefHandicapResponse response = magda.giveHandicap(insz, date, begin, end, uri, hoedanigheid, dossierId);

Input

Inputparameters

Data type

Voorbeeld

Uitleg

insz

String

‘85010212345’

Identificatienummer voor de sociale zekerheid (rijksregisternummer)

date

String

‘2020-01-01'

Refertedatum

begin

String

‘2011-01-01'

Startdatum referteperiode

end

String

‘2025-01-05’

Einddatum referteperiode

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

hoedanigheid

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Output

Je krijgt een getypeerd GeefHandicapResponse-object terug. Onze connector vraagt hierbij steeds alle vier informatieblokken tegelijk op: medische erkenning, rechten, sociale kaarten én de status van de aanvraag — in tegenstelling tot de nieuwere functies, waar je per aanroep maar één specifiek onderdeel krijgt.

Error-handling

Foutafhandeling verloopt volgens het gebruikelijke MAGDA-patroon (Uitzonderingen op het antwoord, om te zetten naar een BPMN-error). Voor de exacte, dienst-specifieke foutcodes is momenteel geen documentatie beschikbaar; raadpleeg bij twijfel de MAGDA Service Desk.

giveLeefloonbedragen

Deze functie geeft de bedragen van het leefloon (jaarlijks en per maand), niet de periodes waarin het werd ontvangen — gebruik hiervoor giveLivingWagePeriods.

Workflow expressie 1

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

${magda.giveLeefloonbedragen(String insz, String year, String numberOfYearsBack, String dossierId)}

Workflow expressie 2

Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.

${magda.giveLeefloonbedragen(String insz, String year, String numberOfYearsBack, String uri, String hoedanigheid, String dossierId)}

Java-code 1

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

GeefLeefloonbedragenResponse response = magda.giveLeefloonbedragen(insz, year, numberOfYearsBack, dossierId);

Java-code 2

Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.

GeefLeefloonbedragenResponse response = magda.giveLeefloonbedragen(insz, year, numberOfYearsBack, uri, hoedanigheid, dossierId);

Input

Inputparameters

Data type

Voorbeeld

Uitleg

insz

String

‘85010212345’

Identificatienummer voor de sociale zekerheid (rijksregisternummer)

year

String

‘2020'

Refertejaar

numberOfYearsBack

String

‘2'

Bepaalt de referteperiode (aantal jaren voorafgaand aan het refertejaar)

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

hoedanigheid

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documentatie

Technische documentatie GeefLeefLoonBedragen-02.00.

Output

Je krijgt een getypeerd GeefLeefloonbedragenResponse-object terug (Antwoorden/Antwoord, net als de andere SocZek-diensten) met een Tegemoetkoming-element, opgebouwd uit twee delen:

  • Jaarlijks — de jaartotalen voor het opgevraagde jaar (en eventuele voorgaande jaren, via numberOfYearsBack): Leefloon, EquivalentLeefloon en Kinderbijslag, elk met een bedrag, een aanduiding of er een tweede gerechtigde was, het aantal maanden zonder toelage, en of het maximumbedrag werd toegekend.

  • Maandelijks — per maand (Maand/@JaarMaand, formaat JJJJ-MM) een detailoverzicht via LeefloonPerPeriode, EquivalentLeefloonPerPeriode en KinderbijslagPerPeriode. Elk van die drie bevat een lijst van periodes met een bedrag, de begunstigde (INSZ), eventueel een partner (INSZ of een TweedeGerechtigde-vlag — nooit beide), en het OCMW dat de uitbetaling deed (ondernemingsnummer, bestandsnaam).

Let op: @LaatsteUitbetaling op periode-niveau geeft aan of dit de laatst uitbetaalde periode is — nuttig om te weten of er nog een lopende/toekomstige periode te verwachten is.

Gepseudonimiseerd voorbeeld:

HTML
<Antwoorden>
    <Antwoord>
        <Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
        <Inhoud>
            <Tegemoetkoming>
                <Jaarlijks Jaar="2024">
                    <Leefloon>
                        <Bedrag>8760.24</Bedrag>
                        <TweedeGerechtigde>0</TweedeGerechtigde>
                        <AantalMaandenZonderToelage>0</AantalMaandenZonderToelage>
                        <MaximumLeefloonGekregen>1</MaximumLeefloonGekregen>
                    </Leefloon>
                    <Kinderbijslag>
                        <Bedrag>1240.00</Bedrag>
                        <TweedeGerechtigde>0</TweedeGerechtigde>
                    </Kinderbijslag>
                </Jaarlijks>
                <Maandelijks>
                    <Maand JaarMaand="2024-06">
                        <LeefloonPerPeriode LaatsteUitbetaling="1">
                            <LeefloonPeriode ID="1">
                                <Bedrag>730.02</Bedrag>
                                <Periode>
                                    <Begin>2024-06-01</Begin>
                                    <Einde>2024-06-30</Einde>
                                </Periode>
                                <Begunstigde>
                                    <INSZ>850102XXX45</INSZ>
                                </Begunstigde>
                                <OCMW>
                                    <Ondernemingsnummer>0207437468</Ondernemingsnummer>
                                    <Bestand>LWA_202406</Bestand>
                                </OCMW>
                                <MaximumLeefloonGekregen>1</MaximumLeefloonGekregen>
                            </LeefloonPeriode>
                        </LeefloonPerPeriode>
                    </Maand>
                </Maandelijks>
            </Tegemoetkoming>
        </Inhoud>
    </Antwoord>
</Antwoorden>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Aan deze functie gerelateerde foutcodes:

Code

Toelichting

20002

INSZ in de vraag heeft een ongeldige structuur

30001

Geen gegevens gevonden voor de vraag

30004

Persoon heeft een nieuw persoonsnummer verkregen

40003

Geen inschrijving aanwezig voor het INSZ in de vraag

40177

Geen betaling gevonden voor deze persoon in de opgegeven periode

45617

Datum ligt in de toekomst

60013

Fout in toegang naar de bron

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.

// Voorbeeld: uitzondering opvangen en gooien als BpmnError
GeefLeefloonbedragenResponse response = magda.giveLeefloonbedragen(insz, year, numberOfYearsBack, uri, hoedanigheid, dossierId);

List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("30001".equals(code) || "40003".equals(code) || "40177".equals(code)) {
        throw new BpmnError("MAGDA_LEEFLOON_NIET_GEVONDEN", uitzondering.getDiagnose());
    }
    if ("30004".equals(code)) {
        throw new BpmnError("MAGDA_PERSOONSNUMMER_GEWIJZIGD", uitzondering.getDiagnose());
    }
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
}

giveLivingWagePeriods

Deze functie geeft de periodes (en het uitreikende OCMW) waarin leefloon werd ontvangen, zonder bedragen — gebruik hiervoor giveLeefloonbedragen.

Workflow expressie 1

${magda.giveLivingWagePeriods(String ssin, String startDate, String endDate, String dossierId)}

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

Workflow expressie 2

${magda.giveLivingWagePeriodsWithUri(String ssin, String startDate, String endDate, String uri, String hoedanigheid, String dossierId)}

Variant met expliciete aansluitingsgegevens.

Java-code 1

GeefLeefloonperiodesResponse response = magda.giveLivingWagePeriods(ssin, startDate, endDate, dossierId);

Variant waarbij je terugvalt op de default magda aansluitingsgegevens.

Java-code 2

GeefLeefloonperiodesResponse response = magda.giveLivingWagePeriodsWithUri(ssin, startDate, endDate, uri, hoedanigheid, dossierId);

Variant met expliciete aansluitingsgegevens.

Input

Inputparameters

Data type

Voorbeeld

Uitleg

ssin

String

‘85010212345’

Rijksregisternummer

startDate

String

‘2020-01-01’

Startdatum voor de referteperiode

endDate

String

‘2025-07-31'

Einddatum voor de referteperiode

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

hoedanigheid

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documentatie

Technische documentatie GeefLeefLoonPeriodes-02.00.

Output

Je krijgt een getypeerd GeefLeefloonperiodesResponse-object terug met een Leefloonperiodes-element (met @DatumBegin/@DatumEinde als bevestiging van de opgegeven periode) en daarbinnen een lijst van Leefloonperiode-elementen. Elke periode bevat het INSZ, optioneel het OCMW dat het leefloon heeft uitgereikt (ondernemingsnummer, met voorloopnul), de geldigheidsperiode (Periode/BeginPeriode/Einde) en de Categorie (LIVING_WAGE = gewoon leefloon, EQUIVALENT_LIVING_WAGE = equivalent leefloon).

Belangrijk: OCMW, Periode en Categorie zijn elk optioneel en komen enkel terug als jouw organisatie daarvoor gemachtigd is — niet elke afnemer mag bijvoorbeeld weten welk OCMW het leefloon heeft uitgereikt.

Het antwoord van KSZ bevat enkel periodes die minstens één dag overlappen met de opgegeven periode én met de periode waarin het INSZ bij KSZ/MAGDA geïntegreerd was. Let ook op: POD MI/SMALS houdt enkel attesten van de voorbije 5 jaar online beschikbaar.

Gepseudonimiseerd voorbeeld:

HTML
<Antwoord>
    <Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
    <Inhoud>
        <Leefloonperiodes DatumBegin="2023-01-01" DatumEinde="2024-12-31">
            <Leefloonperiode>
                <INSZ>850102XXX45</INSZ>
                <OCMW>0765437865</OCMW>
                <Periode>
                    <Begin>2023-03-01</Begin>
                    <Einde>2023-09-30</Einde>
                </Periode>
                <Categorie>
                    <Code Beschrijving="Gewoon leefloon">LIVING_WAGE</Code>
                </Categorie>
            </Leefloonperiode>
        </Leefloonperiodes>
    </Inhoud>
</Antwoord>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Aan deze functie gerelateerde foutcodes:

Code

Toelichting

20002

Persoonsnummer in de vraag heeft een ongeldige structuur

20003

Begindatum van de periode moet kleiner of gelijk zijn aan de einddatum

30001

Geen gegevens gevonden voor de vraag

30002

Persoonsnummer geannuleerd

30003

Onbestaand persoonsnummer

30004

Persoon heeft een nieuw persoonsnummer verkregen

40003

Geen inschrijving aanwezig voor het INSZ in de vraag

40004

De consultatieperiode in de vraag is ongeldig

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.

// Voorbeeld: uitzondering opvangen en gooien als BpmnError
GeefLeefloonperiodesResponse response = magda.giveLivingWagePeriodsWithUri(ssin, startDate, endDate, uri, hoedanigheid, dossierId);

List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("30001".equals(code) || "40003".equals(code)) {
        throw new BpmnError("MAGDA_LEEFLOONPERIODES_NIET_GEVONDEN", uitzondering.getDiagnose());
    }
    if ("30002".equals(code) || "30003".equals(code) || "30004".equals(code)) {
        throw new BpmnError("MAGDA_INSZ_PROBLEEM", uitzondering.getDiagnose());
    }
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
    if ("20003".equals(code) || "40004".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIGE_PERIODE", uitzondering.getDiagnose());
    }
}

giveReplacementIncome

Vraag gegevens vervangingsinkomen.

Workflow expressie

${magda.giveReplacementIncome(String insz, String uri, String begin, String end, String dossierId)}

Java-code

GeefVervangingsinkomenUitWerkloosheidResponse response = magda.giveReplacementIncome(insz, uri, begin, end, dossierId);

Input

Inputparameters

Data type

Voorbeeld

Uitleg

ssin

String

‘85010212345’

Rijksregisternummer

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

startDate

String

‘2020-01-01’

Startdatum voor de referteperiode

endDate

String

‘2025-07-31'

Einddatum voor de referteperiode

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documententatie

Technische documentatie GeefVervangingsInkomenUitWerkloosheid-02.01.

Output

Je krijgt een getypeerd GeefVervangingsinkomenUitWerkloosheidResponse-object terug. Onze connector vraagt hierbij steeds het blok UitbetaaldeSommen op (nooit Situatie of KwartaalActiveringsUitkering, al bestaan die als alternatieve opvraagmogelijkheden binnen de MAGDA-dienst), met alle uitkeringstypes (BeperkteUitkeringen staat vast op 0).

UitbetaaldeSommen bevat per maand (JaarMaand, formaat JJJJ-MM) een UitbetaaldeSom met:

  • AantalUitkeringen — het aantal uitkeringen in die maand (kan een halve dag zijn, bv. 22.5);

  • UitbetaaldBedrag — het brutobedrag dat de uitbetalingsinstelling heeft ingediend bij de RVA;

  • GoedgekeurdBedrag — het door de RVA goedgekeurde bedrag (enkel aanwezig bij StatusDossier/Code 1 of 2);

  • StatusDossier1 = definitief goedgekeurd, 2 = voorlopig goedgekeurd (procedure loopt nog), 3 = procedure nog niet gestart (geen bedrag beschikbaar).

Let op: bij StatusDossier = 3 is er dus nog geen bedrag gekend — dat is geen fout, gewoon een lopend dossier. Je periode kan maximaal 48 maanden bevatten, en de vroegste opvraagbare maand is 2008-01.

Gepseudonimiseerd voorbeeld:

HTML
<Antwoord>
    <Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
    <Inhoud>
        <UitbetaaldeSommen>
            <UitbetaaldeSom>
                <JaarMaand>2024-06</JaarMaand>
                <AantalUitkeringen>22.5</AantalUitkeringen>
                <UitbetaaldBedrag>987.32</UitbetaaldBedrag>
                <GoedgekeurdBedrag>945.10</GoedgekeurdBedrag>
                <StatusDossier>
                    <Code>1</Code>
                    <Omschrijving>Definitief</Omschrijving>
                </StatusDossier>
            </UitbetaaldeSom>
            <UitbetaaldeSom>
                <JaarMaand>2024-07</JaarMaand>
                <AantalUitkeringen>20</AantalUitkeringen>
                <UitbetaaldBedrag>876.40</UitbetaaldBedrag>
                <StatusDossier>
                    <Code>3</Code>
                    <Omschrijving>Procedure nog niet aangevat</Omschrijving>
                </StatusDossier>
            </UitbetaaldeSom>
        </UitbetaaldeSommen>
    </Inhoud>
</Antwoord>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Aan deze functie gerelateerde foutcodes:

Code

Type

Toelichting

20001

FOUT

INSZ in de vraag heeft een ongeldige structuur

20003

FOUT

Begindatum van de periode moet kleiner of gelijk zijn aan de einddatum

30001

INFORMATIE

Geen betalingen/gegevens gevonden voor de gevraagde periode

30002

INFORMATIE

Het opgegeven INSZ is stopgezet

30003

INFORMATIE

Onbestaand INSZ

40067

INFORMATIE

Geen betalingen in de gevraagde periode

40085

INFORMATIE

INSZ vervangen door een nieuw nummer

60013

FOUT

Fout in toegang naar de bron

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.

// Voorbeeld: uitzondering opvangen en gooien als BpmnError
GeefVervangingsinkomenUitWerkloosheidResponse response = magda.giveReplacementIncome(insz, uri, begin, end, dossierId);

List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("30001".equals(code) || "30003".equals(code) || "40067".equals(code)) {
        throw new BpmnError("MAGDA_VERVANGINGSINKOMEN_NIET_GEVONDEN", uitzondering.getDiagnose());
    }
    if ("30002".equals(code) || "40085".equals(code)) {
        throw new BpmnError("MAGDA_INSZ_PROBLEEM", uitzondering.getDiagnose());
    }
    if ("20001".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
}

giveSociaalStatuut

Check of een persoon voldoet aan bepaalde sociale statuten.

Workflow expressie 1

${magda.giveSociaalStatuut(String ssin, Map<String, String> socialeStatuten, String uri, String hoedanigheid, String dossierId)}

Controleer of een persoon voldoet aan één of meerdere sociale statuten (tot 8), elk op een specifieke datum.

Workflow expressie 2

${magda.giveSociaalStatuut(String ssin, Map<String, String> socialeStatuten, String locatie, String uri, String hoedanigheid, String dossierId)}

Zelfde als hierboven, maar met een bijkomende (afnemer-specifieke) locatiefilter.

Workflow expressie 3

${magda.giveSociaalStatuutWithPeriod(String ssin, String sociaalStatuut, String beginDatum, String eindDatum, String uri, String hoedanigheid, String dossierId)}

Controleer of een persoon voldeed aan één specifiek sociaal statuut over een volledige periode, in plaats van op één enkele datum.

Java-code 1

GeefSociaalStatuutResponse response = magda.giveSociaalStatuut(ssin, socialeStatuten, uri, hoedanigheid, dossierId);

Controleer of een persoon voldoet aan één of meerdere sociale statuten (tot 8), elk op een specifieke datum.

Java-code 2

GeefSociaalStatuutResponse response = magda.giveSociaalStatuut(ssin, socialeStatuten, locatie, uri, hoedanigheid, dossierId);

Zelfde als hierboven, maar met een bijkomende (afnemer-specifieke) locatiefilter.

Java-code 3

GeefSociaalStatuutResponse response = magda.giveSociaalStatuutWithPeriod(ssin, sociaalStatuut, beginDatum, eindDatum, uri, hoedanigheid, dossierId);

Controleer of een persoon voldeed aan één specifiek sociaal statuut over een volledige periode, in plaats van op één enkele datum.

Input

Inputparameters

Data type

Voorbeeld

Uitleg

ssin

String

‘85010212345’

Rijksregisternummer

socialeStatuten

Map<String,String>

{"BIM_BVT_IN_FAMILY": "2024-01-01"}

Sociale statuten om te consulteren: key = de naam van het sociaal statuut (afnemer-specifiek acroniem, vastgelegd in je aansluitingsovereenkomst met de KSZ — zie kanttekening bij Output), value = de datum waarop je dat statuut wil consulteren. Maximaal 8 entries per aanroep.

locatie

String

‘REGIO_GENT’

Bijkomende filter voor locatie. Let op: net als bij de naam van het sociaal statuut is deze waarde afnemer-specifiek en vastgelegd in de aansluitingsovereenkomst — niet elke waarde is toegelaten.

beginDatum

String

‘2025-01-01’

Startdatum voor de referteperiode

eindDatum

String

‘2025-07-30'

Einddatum voor de referteperiode

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

hoedanigheid

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

Magda-documentatie

Technische documentatie GeefSociaalStatuut-03.00.

Output

Je krijgt een getypeerd GeefSociaalStatuutResponse-object terug met Inhoud/Persoon: het opgevraagde INSZ en een lijst SocialeStatuten. Voor elk opgevraagd sociaal statuut (SociaalStatuut/Naam) krijg je:

  • ResultaatCode 0 (niet van toepassing) of 1 (van toepassing), met omschrijving;

  • Periodes — de periode(s) waarin de persoon tot deze situatie behoorde (Begindatum/Einddatum);

  • Details — bijkomende naam/waarde-parenmet extra informatie, indien van toepassing;

  • Status — enkel gevuld bij een probleem met de gezinssamenstelling (code SSH00047).

Belangrijke kanttekening: de waarde van Naam (bv. "BIM_BVT_IN_FAMILY", "SMALL_PENSION") is geen vaste, universele lijst — deze acroniemen worden per afnemer bepaald door de KSZ tijdens het aansluitingsproces. Je kan dus niet zomaar elke gewenste naam invullen; welke statuten je mag/kan opvragen, ligt vast in jouw aansluitingsovereenkomst.

giveSociaalStatuut laat je tot 8 sociale statuten in één aanroep opvragen, elk met een eigen datum (of, via de zesparametervariant, een locatie-filter). giveSociaalStatuutWithPeriod vraagt telkens één sociaal statuut op, maar dan over een periode in plaats van een enkele datum.

Gepseudonimiseerd voorbeeld:

HTML
<Antwoord>
    <Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
    <Inhoud>
        <Persoon>
            <INSZ>850102XXX45</INSZ>
            <SocialeStatuten>
                <SociaalStatuut>
                    <Naam>BIM_BVT_IN_FAMILY</Naam>
                    <Resultaat>
                        <Code>1</Code>
                        <Omschrijving>Van toepassing</Omschrijving>
                    </Resultaat>
                    <Periodes>
                        <Periode>
                            <Begindatum>2023-01-01</Begindatum>
                            <Einddatum>2024-12-31</Einddatum>
                        </Periode>
                    </Periodes>
                </SociaalStatuut>
            </SocialeStatuten>
        </Persoon>
    </Inhoud>
</Antwoord>

Error-handling

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Aan deze functie gerelateerde foutcodes:

Code

Type

Toelichting

20002

FOUT

INSZ in de vraag heeft een ongeldige structuur

20003

FOUT

Begindatum moet vóór de einddatum liggen (enkel relevant bij giveSociaalStatuutWithPeriod)

30003

FOUT

Onbestaande INSZ

30004

FOUT

Persoon heeft een nieuw INSZ verkregen

40214

FOUT

Opgegeven lijst van sociale statuten niet geldig voor deze afnemer

40216

WAARSCHUWING

Fouten gevonden in de gezinssamenstelling

40218

FOUT

Persoon overleden

40222

FOUT

Sommige authentieke bronnen zijn niet online opvraagbaar

50000

FOUT

Ongeldige gegevens in de vraag

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.

// Voorbeeld: uitzondering opvangen en gooien als BpmnError
GeefSociaalStatuutResponse response = magda.giveSociaalStatuut(ssin, socialeStatuten, uri, hoedanigheid, dossierId);

List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("30003".equals(code)) {
        throw new BpmnError("MAGDA_ONBESTAAND_INSZ", uitzondering.getDiagnose());
    }
    if ("30004".equals(code)) {
        // Annotaties bevatten "Oud INSZ" en "Nieuw INSZ"
        throw new BpmnError("MAGDA_INSZ_VERVANGEN", uitzondering.getDiagnose());
    }
    if ("40218".equals(code)) {
        // Annotatie bevat "Overlijdensdatum" - persoon niet meer bevragen
        throw new BpmnError("MAGDA_PERSOON_OVERLEDEN", uitzondering.getDiagnose());
    }
    if ("40214".equals(code) || "50000".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIGE_VRAAG", uitzondering.getDiagnose());
    }
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
}