Help
Inloggen
Zoeken
Jeugdgezondheidszorg - Templates

 
Template geblokkeerd

OK Not OK
Templates (Externe repositories)

Warning Ok
Warning
Filter
true50
A_CoverageNL [minimal]
false
Issues (1)
false
Wijzigingsverzoek Status = Gesloten ( jgz-issue-65 ): Aanpassen specificatie tbv jaxb-code
Soort Wijzigingsverzoek Status Wijzigingsverzoek Status = Gesloten Prioriteit Normaal
Gebeurtenissen
Tracking / Status = Gesloten 2013-09-17 22:49:22 : Tracking door Alexander Henket
Omschrijving
Uitgevoerd
Toewijzing 2013-09-17 22:49:03 : Toegewezen aan Alexander Henket door Alexander Henket
Omschrijving
Na enige mailwisseling wordt de oplossing dat de nullFlavor wordt verplaatst naar het element id onder coveredParty. Dit is binnen het internationale XML Schema dat wordt gedeeld door meerdere toepassingen en daardoor bij voorkeur niet aangepast wordt.
Tracking / Status = Open 2013-09-17 22:47:02 : Tracking door Rens Verhage
Omschrijving

Ik heb een probleem waar ik nog geen oplossing voor zie. Het gaat om een element dat niet in de eerste kwalificatieset zit, maar wij wel in het bericht zetten, namelijk element 53: Ziektekostenverzekering (ja/nee).

Volgens template A_Coverage_minimal moet ik o.a. het volgende in het bericht plaatsen:

<coveredParty typeCode="COV" xsi:nil="true" nullFlavor="NI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

Zoals je wellicht weet maken wij gebruik van JAXB om onze Java objecten om te zetten naar de Hl7v3 XML. JAXB ondersteunt zogenaamde 'nillable' elementen, d.w.z. als zo'n element niet geïnitialiseerd (null) is dan genereert JAXB hiervoor toch een XML-element, maar dan met xsi:nil="true", precies zoals de specificatie hierboven het voorschrijft.

Echter, wanneer coveredParty null is, dan is er geen object en heb ik dus ook geen object waar ik attributen aan kan toevoegen, dus het attribuut typeCode="COV" kan ik niet genereren op deze manier. JAXB genereert dan:

<coveredParty xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

Dit is volgens de schema's niet valide, aangezien coveredParty als element wel aanwezig is, maar het verplichte attribuut typeCode="COV" niet.

Om dit op te lossen moet ik in Java de coveredParty property initialiseren ipv null te laten. Dan kan ik de typeCode en nullFlavor erop zetten. JAXB genereert dan het volgende:

<coveredParty typeCode="COV" nullFlavor="NI" />

Nu is er een ander probleem. Omdat coveredParty in Java niet meer null is, genereert JAXB ook geen xsi:nil="true" meer. Gevolg is dat nu validatie tegen de schematron faalt, want ik moet xsi:nil="true" genereren.

Zoals je ziet bevind ik me in een Catch-22 en kan ik geen kant op. Kan in de schema's aangepast worden dat een typeCode niet meer verplicht is wanneer het element nil is? Of moet de schematron worden aangepast?

 
 
Structure Definitions (Externe repositories)