MediRund Technische aspecten data aanlevering
Arnold Harbers
Programma • toelichting webservice – dia 3 -15 • foutafhandeling – dia 16 • technische vragen – dia 17 • testtraject – dia 18
Toelichting webservice • Webservice rsCustomer – operatie listExchangePermissionParticipant – doel: Opvragen van de veehouders die een dierenarts toestemming hebben gegeven om gegevens uit te wisselen
• Webservice rsHealth – operatie addMedicineTransaction – doel: Opslag van 1 of meer medicijntransacties van één bedrijf.
Operatie - Algemeen • Input – contextMessage (algemeen, autorisatie) – requestMessage (specifiek, functionaliteit)
• Output – responseMessage (specifiek, functionaliteit) – serviceMessage (algemeen, resultaat verwerking)
contextMessage
? ? ? ? ? ? <par:participantCode>? <par:participantCodeType>? <par:countryCode>? <par:participantCode>? <par:participantCodeType>? <par:countryCode>? <par:participantCode>? <par:participantCodeType>? <par:countryCode>? <par:participantCode>? <par:participantCodeType>? <par:countryCode>? ? ? ? ? ? ? ? ?
Totale contextMessage
noodzakelijke velden voor huidige 2 operaties
Vulling contextMessage • verplicht – gebruikersnaam van de dierenarts (UDN…..), krijgt de dierenarts via PVV • verplicht – vaste vulling, waarde C • verplicht – wachtwoord van de dierenarts welke ook geldt voor de webapplicatie, krijgt de dierenarts via PVV. Let op: als dierenarts in de webapplicatie zijn wachtwoord wijzigt zal dit dus ook doorwerken in de webservice • verplicht – <par:participantCode> – relatienummer dierenarts, UDN nummer – <par:participantCodeType> – vaste vulling, waarde UDN
Vulling contextMessage • verplicht bij addMedicineTransaction – <par:participantCode> – relatienummer veehouder, UBN nummer – <par:participantCodeType> – vaste vulling, waarde UBN • niet verplicht – taalcode, als je nederlandstalige meldingen wilt hebben dan veld vullen met de waarde nld. Als veld leeg gelaten wordt of met iets anders dan nld gevuld wordt dan krijg je engelstalige meldingen • verplicht – vaste vulling, waarde organisation • verplicht – vaste vulling, waarde crv.nl
serviceMessage • Algemeen bericht, geeft resultaat van de verwerking Belangrijkste veld ? ? ? ? ? ? ? ? ? ? ? ?
Ook van belang
serviceMessage • 0 succesvol <0 >0
technische fout functionele fout
• – Melding behorend bij de serviceStatus • Indien serviceStatus > 0 – uit serviceMessageDetail bevat identificatie van het record wat de fout veroorzaakt
listExchangePermissionParticipant • requestMessage: exchangePermissionRequest <cus:customer> <par:participantCode>? <par:participantCodeType>? <cus1:productCode>? <cus:referencePeriod> ? ? <cus1:participantEvent>?
• <cus:customer> – relatienummer veearts: idem aan <customer> uit contextMessage • <cus1:productCode> – vaste vulling, waarde DURDD • – filter op begindatum van de machtiging – optioneel, niet gevuld dan datum vandaag • <cus1:participantEvent> – vaste vulling, waarde 1
listExchangePermissionParticipant • responseMessage: exchangePermissionParticipant • <par1:participant> – UBN nummer veehouder • <cus1:permissionBeginDate> – begindatum machtiging • <cus1:permissionEndDate> – einddatum machtiging – indien leeg dan is machtiging nog actief • <cus1:exchangeLastDate> – datum laatste succesvolle uitwisseling met MediRund • Bedrijven waarvan de begindatum op of voor vandaag ligt en de einddatum leeg of op of na vandaag ligt hebben een machtiging aan de veearts gegeven voor uitwisseling met MediRund.
addMedicineTransaction • requestMessage: medicineTransaction <par:participantCode>? <par:participantCodeType>? ? <par:participantCode>? <par:participantCodeType>? ? ? ? ? ? ? ?
addMedicineTransaction • verplicht – idem aan contextMessage • verplicht – diersoort – waarde: D (melkvee) of B (vleesvee) • verplicht – idem aan contextMessage • <medicineTransactionType> verplicht – soort transactie – waarde: ADD (bij), COR (correctie, af) • verplicht – datum, format eejjmmdd
addMedicineTransaction • <EANCode> verplicht – Code uit de BCT van de FIDIN • verplicht & BELANGRIJK – aantal eenheden van deze EAN – altijd positief getal, inclusief decimalen – voorbeeld ter verduidelijking van de werking: – EAN 8715885001135 (Rimadyl smakelijke tabletten) heeft volgens de BCT van de FIDIN een verpakkingsvorm van 20 tabletten – Een bericht met <EANCode> 8715885001135 <medicineTransactionType> ADD en 5 betekent dat er 5 maal een verpakking van 20 tabletten geleverd is 5*20 = 100 tabletten. – Leverantie van 1 tablet 0.05
addMedicineTransaction • – batchcode medicijn
niet verplicht
• niet verplicht – cascade regeling toegepast – waarde: F (default) of T • verplicht – leeftijdsgroep – waarde: 8WK, 1YR, 2YR, OLD • niet verplicht
• Antwoord is alleen een serviceMessage
Foutafhandeling • Aan de voordeur – controle tegen de XSD – response middels SOAP fault element – env:ESBMessageProcessingFailed – ESB Couldn't process message due to unhandled exception
– mag in productie niet voorkomen – fouttekst is niet voor de gebruiker • Backoffice – controle tegen business rules – response middels serviceMessage – kan in productie voorkomen – fouttekst kan aan de gebruiker getoond worden
Technische vragen • MediRund Technische Support – [email protected]
Testtraject • Acceptatieomgeving MediRund – acceptatie.medirund.nl • Testdata – EANs uit BCT worden allemaal geladen – test UDN’s, test UBN’s, machtigingen, etc. – aanvragen via MediRund supportdesk – Controle op ontvangst data – via webapplicatie leverantieoverzicht opvragen