Interfész specifikáció

Hasonló dokumentumok
Interfész specifikáció

HENYIR interfész. Hibaüzenetek leírása EMMI Tisztifőorvosi Feladatokért Felelős Helyettes Államtitkárság Egészségügyi Igazgatási Főosztály

Adatkezelés - XML. XML 3 XML séma

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

Általános nyomtatványok xml szerkezete. (v1.3)

XML sémák, adatmodellezés

TERVEZET. A nemzetgazdasági miniszter /2017. (.) NGM rendelete

XML adatkezelés. 5. témakör. Nincs explicit névtér kijelölve. <?xml version="1.0"?> <xs:schema xmlns:xs="

XML. Document Type Definitions (DTD) XML séma

WebStore. JAX-WS SOAP WebServices, Stateful Session Bean. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 9

XML dokumentumok feldolgozása Java-ban XML, DTD, XSD, XSLT, JAXP, DOM, SAX, JDOM

1 Újszülöttek kórházi jelentése, orvosi rendszerek oltási jelentése és

Kérdőívsablon XML séma

ALKALMAZOTTI XML-IMPORTOK

ÁNTSZ informatika és fejlesztések

ALKALMAZOTTI XML-IMPORTOK

A szoftver és hardverfüggetlen adatbázis

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Online adatszolgáltatás beállítása a Kettős könyvelés programban (WUJEGYKE) 79/

Online adatszolgáltatás beállítása a Számlázás - vevő-szállító nyilvántartás programban (UJVSZ)

Az Informatikai és Hírközlési Minisztérium ajánlása a közigazgatásban a hitelesítésszolgáltatók

Az Egészségügyi Humánerőforrás Monitoring Projekt aktualitásai. Ragány Károly

AZ OKMÁNY VÁLTOZÁSÁVAL KAPCSOLATOS FELJEGYZÉSEK

EBT KKK2 kriptográfiai interfész specifikáció

Biztonság java web alkalmazásokban

.Net előadás jegyzet 7. óra. .NET és az XML

DIPLOMAMUNKA. Szűcs Béla. Debrecen PDF processed with CutePDF evaluation edition

Online adatszolgáltatás beállítása a kettős, egyszeres könyvelés programban és a számlázóprogramban (UJEGYKE, UJEGYSZ, UJVSZ)

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

Webszolgáltatások (WS)

GAZDÁLKODÁSI RENDSZER INTERFÉSZ AJÁNLÁS

IRATKEZELİ RENDSZER INTERFÉSZ AJÁNLÁS

Segédanyag: Java alkalmazások gyakorlat

Regisztrációs segédlet A roma közösségekben dolgozó védőnők. munkafeltételeinek javítása elnevezésű norvég projekt keretében

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Informatikai Navigátor Érdekes Java Programozói könyvtárak

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Heller Farkas Gazdasági és Turisztikai Szolgáltatások Főiskolája SZABÁLYZAT A FELSŐOKTATÁSI INFORMÁCIÓS RENDSZERBE TÖRTÉNŐ ADATSZOLGÁLTATÁS RENDJÉRŐL

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Kivételkezelés, naplózás. Exception handling, logging

JavaServer Pages (JSP) (folytatás)

Webes alkalmazások fejlesztése 10. előadás. Szolgáltatás alapú rendszerek megvalósítása (ASP.NET WebAPI) Cserép Máté

Online számlaadatszolgáltatás. Babári Sándor

Az új be- és kimenet könyvtár

XML adatkezelés I. Az SAX szabvány. Dr. Kovács László Miskolci Egyetem Általános Informatikai Tanszék. XML adatok kezelési lehetőségei

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Segédanyag: Java alkalmazások gyakorlat

TÁJÉKOZTATÓ az OTH Szakrendszeri Információs Rendszerbe (OSZIR) történő regisztráció és belépés menetéről belföldi partner nevében

Online Számlaadat-szolgáltatás

Webszolgáltatások készítése.net alapokon -

A humán erőforrás kezelés aktuális kérdései. Rauh Edit mb. főigazgató-helyettes

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Web-szolgáltatások: SOAP, WSDL

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Bánsághi Anna

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

Programozási nyelvek Java

Tájékoztató. az Online Számla rendszerben az adatszolgáltatási kötelezettség teljesítésének előfeltételeként szükséges regisztráció folyamatáról

Stateless Session Bean

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Web-fejlesztés NGM_IN002_1

Feladatok cím szerint

SQLServer. DB Recovery modes

HRH tervezés: a jelen és a jövő, elmélet és gyakorlat

VEKOP A támogatásra rendelkezésre álló tervezett keretösszeg 1,84 Mrd forint. A támogatott projektek várható száma: db

WebStore #maven. JAX-WS SOAP WS, Stateful Session Bean, PMD, JavaDoc. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 8

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

SIARD. Formátum leírás. Összefoglaló. Bern, szeptember 30.

ML/GL (164)

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Java és web programozás

Osztott alkalmazások fejlesztési technológiái Áttekintés

2/2014. (I. 16.) EMMI rendelet. az egységes egészségügyi ágazati humánerőforrás-monitoringrendszer működésének részletes szabályairól

API tervezése mobil környezetbe. gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Szerver oldali Java programozás /II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése.

XmlGessünk 13. rész - Az XML Schema II.

NAV Online Számla adatküldés a DOAS rendszerben v.4 Tartalomjegyzék

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Online adatszolgáltatás beállítása a Számlázás-házipénztár programban (SZAMLA)

Atlon XML interface fejlesztői dokumentáció. Dokumentum verzió: 3.0

Segédanyag: Java alkalmazások gyakorlat

NAV online számla revol Express. Regisztráció a NAV online számlabejelentés oldalán

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Oralce kliens installálása Windows Server 2003-ra

13. melléklete IG1 HITELKERET ÉS KÖTELEZŐ TARTALÉK ELKÜLÖNÍTÉSSEL KAPCSOLATOS SWIFT ÜZENETEK

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

DRÉN & VALNER SZOFTVER KFT 4031 Debrecen, Egyetem sugárút 11/a. 1/5. 52/ , 52/ , 30/

Programozási nyelvek II.: JAVA

NAV felé történő számla adatszolgáltatás a Nagy Utazás 3 programmal

Objektumorientált programozás C# nyelven

Ja J v a a v a há h l á óz ó a z t a i al a ka k l a maz ma á z s á o s k o Socket, URL

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Az XML pénzintézeti jelentések szintaxisa és feldolgozása (XmlPj)

JAVA webes alkalmazások

Kivételkezelés a C++ nyelvben Bevezetés

Oracle Designer. Report : TABLE DEFINITION. 05 Július Total Pages : 14

Átírás:

Interfész specifikáció NEMZETI EGÉSZSÉGÜGYI INFORMATIKAI RENDSZER, ELEKTRONIKUS KÖZHITELES NYILVÁNTARTÁSOK ÉS ÁGAZATI PORTÁL Országos Tiszti Főorvosi Hivatal TIOP-2.3.2/12/1 és KMOP-4.3.3/A-12 1.2.3

TARTALOM 1 Bevezetés... 3 2 Általános működés... 3 3 Üzenet... 4 3.1 Üzleti szabályok... 4 3.1.1 XML séma... 4 3.1.2 További ellenőrzések... 12 3.2 Kódolás... 12 3.3 Mintafájl... 13 3.3.1 Tartalom... 13 3.3.2 SOAP üzenet... 13 4 Válasz üzenet... 13 4.1 XML séma... 13 4.2 Mintafájl... 14 4.3 SOAP válasz... 14 Oldal: 2 / 14

1 Bevezetés Jelen dokumentum a TIOP-2.3.2/12/1 és KMOP-4.3.3/A-12 projektben megvalósítandó HENYIR bejövő interfész megvalósítása közbeszerzés kapcsán kialakításra került interfész specifikációját. A HENYIR Humánerőforrás Nyilvántartó Rendszer Az egyes munkaviszonyok adatait tartalmazó rendszer, ahol a személyt az EEKH alapnyilvántartási számával, az intézményt pedig az OTH azonosítóval azonosítjuk Az adatok összekapcsolhatók a HMR rendszerrel A foglalkoztatás naprakész állapotát tükrözi 2 Általános működés Az adatok küldése XML Webszervizen keresztül SOAP protokollal történik: A teszt környezet elérése: https://teszt.antsz.hu:8443/antszauth/proxy?url=http://192.168.1.27:8086/oszirhenyir-web/henyirservice?wsdl Az adatot szolgáltató kliens a webszerviz send metódusát hívja. Az adatszolgáltatást tartalmazó XML üzenet ZIP-el tömörítve és Base64 enkódolva kerül továbbításra. Az alkalmazás szerver elvégzi a Base64 dekódolást és a ZIP kicsomagolást, majd az xml tartalmat átadja az Oracle szerver számára A feldolgozást Oracle szerveren futó package végzi o naplózza a bejövő hívás, letárolja az input adatokat o Ellenőrzi az input XSD megfelelését o Ellenőrzi a hivatkozásokat és az üzleti szabályoknak történő megfelelést o Ha az ellenőrzések során keletkezett üzenetek napló táblába kerülnek, sikeres esetben pedig egy sikerességet jelző üzenet. o Megtörténik az adatok rögzítése o A feldolgozás napló rekordjaiból XML válaszüzenet készül o A válasz XML-t Base64 enkódolja Az alkalmazásszerver SOAP válaszüzeneteként visszaküldi azt Client Glassfish Server Oracle Database SOAP Client send HenyirService HEVALT, HEVALT_MV, HEVALT_ZARAS WEB Container XSD HenyirImportFacade HE_WEBSERVICE$ EJB Container Oldal: 3 / 14

3 Üzenet 3.1 Üzleti szabályok 3.1.1 XML séma Az XML strukturális megfelelőségét az alábbi XSD fájl alapján ellenőrizzük: <?xml version="1.0" encoding="utf-8"?> <xs:schema elementformdefault="qualified" xmlns:xs="http://www.w3.org/2001/xmlschema"> <!-- SIMPLE TYPES --> <xs:simpletype name="versionlist"> <xs:enumeration value="1.0"/> <xs:simpletype name="provid"> <xs:length value="6"/> <xs:simpletype name="unitid"> <xs:length value="9"/> <xs:simpletype name="unitname"> <xs:minlength value="1"/> <xs:maxlength value="200"/> <xs:simpletype name="taxid"> <xs:length value="11"/> <xs:simpletype name="licenceid"> <xs:pattern value="([0-9])*"/> <xs:length value="10"/> <xs:simpletype name="stampid"> <xs:pattern value="([0-9])*"/> <xs:length value="5"/> <xs:simpletype name="localid"> <xs:length value="30"/> <xs:simpletype name="eekh"> Oldal: 4 / 14

<!-- eu szakkepesites --> <xs:enumeration value="euszk"/> <!-- orvos, fogorvos --> <xs:enumeration value="dr"/> <!-- eu szakdolgozo --> <xs:enumeration value="euszd"/> <!-- gyogyszeresz --> <xs:enumeration value="gyszr"/> <!-- klinikaiszakpszichologus sugarfizikus biokemikus --> <xs:enumeration value="kpfb"/> <!-- eu vegzettseg --> <xs:enumeration value="euv"/> <!-- pszichologus --> <xs:enumeration value="psz"/> <!-- egyeb felsofoku --> <xs:enumeration value="mnsf"/> <!-- egyeb kozepfoku --> <xs:enumeration value="mnsk"/> <!-- egyeb --> <xs:enumeration value="mns"/> <xs:simpletype name="contractid"> <xs:maxlength value="20"/> <xs:simpletype name="employername"> <xs:maxlength value="255"/> <xs:simpletype name="employerksh"> <xs:pattern value="([0-9])*"/> <xs:length value="8"/> <xs:simpletype name="personnametitle"> <xs:enumeration value="dr."/> <xs:enumeration value="hölgy"/> <xs:enumeration value="úr"/> <xs:enumeration value="dr."/> <xs:enumeration value="prof."/> <xs:enumeration value="id."/> <xs:enumeration value="ifj."/> <xs:enumeration value="özv."/> <xs:enumeration value="úrhölgy"/> <xs:enumeration value="dr. pharm."/> <xs:enumeration value="prof. Dr."/> <xs:enumeration value="dr. id."/> <xs:enumeration value="id. Dr."/> <xs:enumeration value="id."/> <xs:simpletype name="personnamepart"> <xs:minlength value="1"/> <xs:maxlength value="80"/> Oldal: 5 / 14

<xs:simpletype name="employmentkind"> <xs:enumeration value="t"/> <xs:enumeration value="r"/> <xs:simpletype name="job"> <xs:maxlength value="30"/> <xs:simpletype name="boolean"> <xs:enumeration value="i"/> <xs:enumeration value="n"/> <xs:simpletype name="feor"> <xs:pattern value="[0-9][0-9][0-9][0-9]"/> <xs:simpletype name="qualification"> <xs:maxlength value="20"/> <xs:simpletype name="absencereason"> <xs:enumeration value="g"/> <!-- gyermekvallalas --> <xs:enumeration value="b"/> <!--betegseg --> <xs:enumeration value="s"/> <!-- szabadsag --> <xs:enumeration value="k"/> <!-- kikuldetes --> <xs:enumeration value="e"/> <!-- egyeb --> <xs:simpletype name="quitreason"> <xs:maxlength value="30"/> <xs:simpletype name="phone"> <xs:maxlength value="30"/> <xs:simpletype name="email"> <xs:maxlength value="128"/> Oldal: 6 / 14

<xs:simpletype name="dutylist"> <xs:enumeration value="nrm"/> <!-- normal munkarend --> <xs:enumeration value="cmb"/> <!-- csak muszakbeosztas szerint --> <xs:enumeration value="cuk"/> <!-- csak ugyelet kereteben --> <xs:enumeration value="ckk"/> <!-- csak keszenlet kereteben --> <xs:enumeration value="nuk"/> <!-- normal munkarend ugyelet keszenlet --> <xs:enumeration value="nu"/> <!-- normal munka en es ug elet --> <xs:enumeration value="mk"/> <!-- muszakbeosztas keszenlet --> <xs:enumeration value="nk"/> <!-- normal munkarend es keszenlet --> <xs:simpletype name="weeklyhoursperunit"> <xs:restriction base="xs:decimal"> <xs:mininclusive value="0"/> <xs:maxinclusive value="60"/> <xs:fractiondigits value="1"/> <xs:simpletype name="weeklyhoursperprovider"> <xs:restriction base="xs:decimal"> <xs:mininclusive value="0"/> <xs:maxinclusive value="168"/> <xs:fractiondigits value="1"/> <!-- COMPLEX TYPES --> <xs:complextype name="relationid"> <xs:choice minoccurs="1" maxoccurs="1"> <xs:element name="pecset" type="stampid"/> <xs:element name="engedely" type="licenceid"/> <xs:element name="referencia" type="localid"/> <!-- a lejelento altal adott egyediazonosíto--> </xs:choice> <xs:element name="szerzodes" type="contractid" minoccurs="0" maxoccurs="1"/> <xs:complextype name="employer"> <xs:all> <xs:element name="nev" type="employername"/> <xs:element name="ksh" type="employerksh"/> </xs:all> <xs:complextype name="rowid"> <xs:all> <!-- former column A --> <xs:element name="bejelento" type="provid"/> <!-- former column B --> <xs:element name="egyseg" type="unitid"/> <!-- former column C --> <xs:element name="egysegnev" type="unitname"/> <!-- former column H --> Oldal: 7 / 14

<xs:element name="eekh" type="eekh" minoccurs="1" maxoccurs="1"/> <!-- former column I --> <xs:element name="nyilvszam" type="relationid"/> <!-- former column AH + AI --> <xs:element name="munkaltato" type="employer" minoccurs="0" maxoccurs="1"/> </xs:all> <xs:complextype name="supervisor"> <xs:all> <!-- former column P --> <xs:element name="eekh" type="eekh" minoccurs="1" maxoccurs="1"/> <!-- former column Q --> <xs:element name="nyilvszam" type="relationid"/> </xs:all> <xs:complextype name="fullname"> <!-- former column D --> <xs:element name="titulus" type="personnametitle" minoccurs="0" maxoccurs="1"/> <!-- former column E --> <xs:element name="vezeteknev" type="personnamepart" minoccurs="1" maxoccurs="1"/> <!-- former column F --> <xs:element name="keresztnev" type="personnamepart" minoccurs="1" maxoccurs="1"/> <!-- former column G --> <xs:element name="keresztnev2" type="personnamepart" minoccurs="0" maxoccurs="1"/> <xs:complextype name="absence"> <xs:element name="oka" type="absencereason" minoccurs="1" maxoccurs="1"/> <xs:element name="varhato" type="xs:date" minoccurs="0" maxoccurs="1"/> <xs:complextype name="contactinfo"> <xs:element name="telefon" type="phone" minoccurs="0" maxoccurs="1"/> <xs:element name="mobil" type="phone" minoccurs="0" maxoccurs="1"/> <xs:element name="email" type="email" minoccurs="0" maxoccurs="1"/> <xs:complextype name="determinated"> <xs:all> <xs:element name="eleje" type="xs:date"/> <xs:element name="vege" type="xs:date"/> </xs:all> <xs:complextype name="indeterminated"> <xs:all> <xs:element name="eleje" type="xs:date"/> </xs:all> <xs:group name="interval"> <xs:choice> <xs:element name="hatarozott" type="determinated"/> <xs:element name="hatarozatlan" type="indeterminated"/> </xs:choice> </xs:group> <!-- RELATION TYPES --> Oldal: 8 / 14

<xs:group name="relationtypecommon"> <xs:element name="nev" type="fullname" minoccurs="1" maxoccurs="1"/> <!-- former column J --> <xs:element name="munkakor" type="job" minoccurs="1" maxoccurs="1"/> <!-- former column K --> <xs:element name="vezeto" type="boolean" minoccurs="1" maxoccurs="1"/> <!-- former column AD --> <xs:element name="helyettes" type="boolean" minoccurs="1" maxoccurs="1"/> <!-- former column AG --> <xs:element name="nyugdijas" type="boolean" minoccurs="1" maxoccurs="1"/> <!-- former column X --> <xs:element name="hetiora" type="weeklyhoursperunit" minoccurs="1" maxoccurs="1"/> <!-- former column W --> <xs:element name="hetioraossz" type="weeklyhoursperprovider" minoccurs="1" maxoccurs="1"/> <!-- former column M --> <xs:element name="kepesites1" type="qualification" minoccurs="1" maxoccurs="1"/> <!-- former column N --> <xs:element name="kepesites2" type="qualification" minoccurs="0" maxoccurs="1"/> <!-- former column O --> <xs:element name="felugyelet" type="supervisor" minoccurs="0" maxoccurs="1"/> <!-- former column Y --> <xs:element name="munkarend" type="dutylist" minoccurs="1" maxoccurs="1"/> <!-- former column AE + AF + AG --> <xs:element name="kapcsolat" type="contactinfo" minoccurs="0" maxoccurs="1"/> </xs:group> <xs:group name="publiccommon"> <!-- former column L --> <xs:element name="feor" type="feor" minoccurs="1" maxoccurs="1"/> <!-- former column V --> <xs:element name="jelleg" type="employmentkind" minoccurs="1" maxoccurs="1"/> <!-- former column Z + AA --> <xs:element name="onkentora" type="xs:decimal" minoccurs="0" maxoccurs="1"/> <!-- former column AB + AC --> <xs:element name="tavollet" type="absence" minoccurs="0" maxoccurs="1"/> </xs:group> <xs:complextype name="publicservant"> <xs:group ref="publiccommon" minoccurs="1" maxoccurs="1"/> <xs:complextype name="employee"> <xs:group ref="publiccommon" minoccurs="1" maxoccurs="1"/> <xs:complextype name="armedservice"> <xs:group ref="publiccommon" minoccurs="1" maxoccurs="1"/> <xs:complextype name="religious"> Oldal: 9 / 14

<xs:complextype name="publicservice"> <xs:group ref="publiccommon" minoccurs="1" maxoccurs="1"/> <xs:complextype name="freelancer"> <xs:complextype name="respcontributor"> <xs:complextype name="nonrespcontributor"> <xs:complextype name="volunteer"> <xs:complextype name="legalperson"> <!-- ROOT LEVEL STRUCTURE --> <xs:group name="relationcontent"> <!-- former column R --> <xs:choice> <xs:element name="kozalkalmazott" type="publicservant"/> <xs:element name="munkaviszony" type="employee"/> <xs:element name="szolgalati" type="armedservice"/> <xs:element name="egyhazi" type="religious"/> <xs:element name="kozszolgalati" type="publicservice"/> <xs:element name="szabadfoglalkozasu" type="freelancer"/> <xs:element name="kozremukodo" type="respcontributor"/> <xs:element name="szemelyeskozremukodo" type="nonrespcontributor"/> <xs:element name="onkentes" type="volunteer"/> <xs:element name="vallalkozo" type="legalperson"/> </xs:choice> </xs:group> <xs:complextype name="closinginfo"> <xs:element name="nev" type="fullname" minoccurs="1" maxoccurs="1"/> <xs:element name="zarva" type="xs:date" minoccurs="1" maxoccurs="1"/> <xs:element name="zarasoka" type="quitreason" minoccurs="1" maxoccurs="1"/> <xs:group name="relationcontentclose"> Oldal: 10 / 14

<xs:choice> <xs:element name="kozalkalmazott" type="closinginfo"/> <xs:element name="munkaviszony" type="closinginfo"/> <xs:element name="szolgalati" type="closinginfo"/> <xs:element name="egyhazi" type="closinginfo"/> <xs:element name="kozszolgalati" type="closinginfo"/> <xs:element name="szabadfoglalkozasu" type="closinginfo"/> <xs:element name="kozremukodo" type="closinginfo"/> <xs:element name="szemelyeskozremukodo" type="closinginfo"/> <xs:element name="onkentes" type="closinginfo"/> <xs:element name="vallalkozo" type="closinginfo"/> </xs:choice> </xs:group> <xs:complextype name="create"> <xs:element name="azonosito" type="rowid" minoccurs="1" maxoccurs="1"/> <xs:group ref="relationcontent" minoccurs="1" maxoccurs="1"/> <xs:group ref="interval" minoccurs="1" maxoccurs="1"/> <xs:attribute name="id" type="xs:integer" use="required"/> <xs:complextype name="update"> <xs:element name="azonosito" type="rowid" minoccurs="1" maxoccurs="1"/> <xs:group ref="relationcontent" minoccurs="1" maxoccurs="1"/> <xs:group ref="interval" minoccurs="1" maxoccurs="1"/> <xs:attribute name="id" type="xs:integer" use="required"/> <xs:complextype name="close"> <xs:element name="azonosito" type="rowid" minoccurs="1" maxoccurs="1"/> <xs:group ref="relationcontentclose" minoccurs="1" maxoccurs="1"/> <xs:attribute name="id" type="xs:integer" use="required"/> <xs:element name="henyir"> <xs:complextype> <xs:element name="kezdes" type="create" minoccurs="0" maxoccurs="unbounded"/> <xs:element name="valtozas" type="update" minoccurs="0" maxoccurs="unbounded"/> <xs:element name="zaras" type="close" minoccurs="0" maxoccurs="unbounded"/> <xs:attribute name="version" type="versionlist" use="required"/> <xs:unique name="unique-id"> <xs:selector xpath="*"/> <xs:field xpath="@id"/> </xs:unique> </xs:element> </xs:schema> Az XML fájlnak emiatt tartalmaznia kell az XSD hivatkozást: <HENYIR version="1.0" xsi:nonamespaceschemalocation="henyir_ws_xsd_1.0" xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> Oldal: 11 / 14

3.1.2 További ellenőrzések A bejelentő az EGEN rendszerbern regisztrált azonosító legyen Ha az egység azonosító 4-essel kezdődik és 7 hosszú akkor létezzen hivatkozott kóddal az EGEN rendszerben gyógyszertár, egyébként eü. egység. Azonosító érték: o Ha az EEKH típus DR akkor létezzen megadott azonosítóval az EGEN rendszerben orvos. o Ha az EEKH típus EUSZD akkor létezzen megadott azonosítóval az EGEN rendszerben szakdolgozó. o Ha az EEKH típus GYSZR akkor létezzen megadott azonosítóval az EGEN rendszerben gyógyszerész. Adott jelentőszolgáltató, egységtípus, egységkód, jogviszonytípus, EEKH típus, azonosító, szerződés értékeket azonosítóként értelmezve: o Ugyanazon azonosítóra tételek csak idősorosan érkezhetnek, csak az a legutolsó utáni dátummal érkezhet tétel (kézi rögzítés miatt érdekes) o Változás vagy megszűnés jelentése esetén léteznie kell megadott azonosítóval tételnek, korábbi dátummal. o Duplikáció kiszűrése miatt ugyanazon a napon egy azonosítóra csak egyszer lehet jelenteni. Közreműködő és személyes közreműködő esetén a munkáltatónak az EGEN rendszerben nyilvántartott partnernek kell lennie. Felügyelő munkavállaló megadása esetén az előbbiekben ismertetett azonosító ellenőrzési szabályok érvényesek Közalkalmazott, munkaviszony, szolgálati, közszolgálati jogviszony esetén a munkakör és a FEOR megadása kötelező. 3.2 Kódolás Az adatszolgáltatás XML fájl a webszerviz hívásakor GZIP-el tömörítve és Base64 enkódolva kerül továbbításra. Az alábbi kódsorok ennek Java beli megvalósítását mutatja: public static byte[] load(string filename) throws IOException { byte[] b = Files.readAllBytes(Paths.get(filename)); return b; } public static byte[] compress(byte[] in){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); try{ GZIPOutputStream out = new GZIPOutputStream(baos); out.write(in); out.close(); } catch (IOException e){ throw new AssertionError(e); } return baos.tobytearray(); } public static String convert(string xmlfilename) throws IOException { byte[] xml = load(xmlfilename); byte[] zip = compress(xml); return DatatypeConverter.printBase64Binary(zip); } Oldal: 12 / 14

3.3 Mintafájl 3.3.1 Tartalom <?xml version="1.0" encoding="utf-8"?> <HENYIR version="1.0" xsi:nonamespaceschemalocation="henyir_ws_xsd_1.0" xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <zaras ID="1"> <azonosito> <bejelento>017157</bejelento> <egyseg>060070642</egyseg> <egysegnev>pos-complex Egészségügyi Szolgáltató Betéti Társaság</egysegNev> <eekh>dr</eekh> <nyilvszam> <pecset>32285</pecset> <szerzodes>4444</szerzodes> </nyilvszam> <munkaltato> <nev>mdart NEXT Orvosi, Fogorvosi és Művészeti Korlátolt Felelősségű Társaság</nev> <KSH>12345678</KSH> </munkaltato> </azonosito> <kozalkalmazott> <nev> <titulus>dr.</titulus> <vezeteknev>kiss</vezeteknev> <keresztnev>attila</keresztnev> </nev> <zarva>2015-09-30</zarva> <zarasoka>vége van</zarasoka> </kozalkalmazott> </zaras> </HENYIR> 3.3.2 SOAP üzenet <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.henyir. oszir.ctc.hu/"> <soapenv:header/> <soapenv:body> <ws:send> <content>ejxlk8uo2jauhtdu6jtywrechgurywhaqdpinijupsvkzo5csmkj2iqhb9fhymly1g13ee9v58klknxx9/8+tytk4s3wuqsh8djr aezf1xawh796zo1o32b9ckt7sd5+ie+98y/n6y3ztxhtxsc0algmdtjoegi65a6vmse/s/hul+z2d5hfchwm2uper1tkuw5jvn1uk9tqhycun nxdwpprmm9t9piqldmgqfoikzigvkdnrqqde8vozbkxnuqfuogn/aifmek60ttqtyiv5gwcdyfatfsgrjf1rs0kuca3jjfe1sveln+djf6gvt nquclbxci5umlfd+cho+a+m+x9swxyb30bmrykh2bjphrujhv3ldfnc0knq6xvnsotdc6y7tw/ejenzkjbntgcpfu1zvad4oj0pysywpi/grb q6ih4cj7nxfejsbbhk5p2fdljitdv5kj7oj2hcw8+q5mwuqv9hprc5vmi1oxodhyp0h2amnpaqz/zs+5l1fcb9o+/rbqa4/t/g2dz7kwi8sb+ sgyzwqs3mi2c09ol0buucl59wwtfy+orv6auma6ildeebkqwntz4g2f1wwrbp0ohrac6hlxqhnhcehwfcsskqhcxtmmjlj5pcb5cwtf8jtqhg VHL1I16Wf9cruoE5+QkUjFZUUttywUUUZbJOUOn8e6mSWFms1BmUn8ezn8jJf4DREElTw==</content> </ws:send> </soapenv:body> </soapenv:envelope> 4 Válasz üzenet 4.1 XML séma <?xml version="1.0" encoding="utf-8"?> <xs:schema elementformdefault="qualified" xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:simpletype name="successtype"> <xs:enumeration value="0" /> <xs:enumeration value="1" /> Oldal: 13 / 14

<xs:simpletype name="errorlevels"> <xs:enumeration value="e" /> <!-- error --> <xs:enumeration value="w" /> <!-- warning --> <xs:enumeration value="i" /> <!-- info --> <xs:enumeration value="m" /> <!-- message --> <xs:complextype name="itemtype"> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="hivatkozas" type="xs:integer" /> <xs:attribute name="tipus" type="errorlevels" /> </xs:extension> </xs:simplecontent> <xs:element name="eredmenyek"> <xs:complextype> <xs:element name="tetel" type="itemtype" minoccurs="1" maxoccurs="unbounded" /> <xs:attribute name="hivas" type="xs:integer" use="required" /> <xs:attribute name="idopont" type="xs:datetime" use="required" /> <xs:attribute name="hiba" type="successtype" use="required" /> </xs:element> </xs:schema> 4.2 Mintafájl <eredmenyek hivas="15" idopont="2016-08-04t13:59:27.166000+02:00" hiba="1"> <tetel hivatkozas="1" tipus="e">szervezeti egység azonosító "056110405" értékkel nem található!</tetel> <tetel hivatkozas="1" tipus="e">egységkód "056110405" értékkel nem található!</tetel> <tetel hivatkozas="0" tipus="e">a feldolgozás sikertelen.</tetel> </eredmenyek> A beküldött adatok vagy teljes egészében feldolgozásra vagy teljes egészében visszautasításra kerülnek. A dokumentum elem hivas attribútuma a beküldés egyedi azonosítója, a hiba attribútum 1 értéke jelenti, hogy az adatszolgáltatás feldolgozása sikertelen volt. Az egyes tétel sorok valamely tétellel kapcsolatos hibaüzenetet, figyelmeztetést tartalmaznak, ezek hivatkozas értékei hivatkoznak az adatszolgáltatás ID oszlopában átadott értékekre (ha egy küldött tétellel több probléma is jelentkezik, akkor több hibaüzenet bejegyzés is található hozzá ugyanazon ID értékkel). Ha hiba értéke 1, akkor a tételek között kell lennie legalább egy tipus= E súlyosságú üzenetnek. Az hivatkozas nulla értéket nem tartalmazó tétele az egész üzenetre vonatkozó megállapítást tartalmaz. 4.3 SOAP válasz <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:sendresponse xmlns:ns2="http://ws.henyir.oszir.ctc.hu/"> <return><eredmenyek hivas="25" idopont="2016-08-04t13:53:21.883000+02:00" hiba="0"> <tetel hivatkozas="0" tipus="i">a feldolgozás sikeres.</tetel> </eredmenyek></return> </ns2:sendresponse> </S:Body> </S:Envelope> Oldal: 14 / 14