X-tee teenuse spetsifikatsioon
X-tee liides
X-tee liidest kasutatakse tervise infosüsteemi sõnumivahetuskeskkonna poolt serverliidesena ja kliendiliidesena. Serverliidesena võtab sõnumivahetuskeskkond vastu TTO infosüsteemidelt ja muudelt klientidelt saabuvaid SOAP või REST päringuid, töötleb need ning tagastab nendele vastavad vastused.
Kliendiliidesena teostab sõnumivahetuskeskkond X-tee kaudu päringuid teistesse registritesse (näiteks rahvastikuregistrisse).
Käesolev dokument kirjeldab üksnes serverliidest ja ei kirjelda kliendiliideseid.
TTO infosüsteemid ja muud kliendid peavad realiseerima X-tee kliendiliidese.
WSDL leping
Tervise infosüsteemi SOAP teenuseid kirjeldab WSDL leping, mis on kättesaadav X-tee kataloogist
HL7 SOAP päringud
Enamus tervise infosüsteemi teenuseid on realiseeritud SOAP HL7 päringute ja nende vastustena.
WSDL lepingus on selleks kirjeldatud operatsiooni “hl7”.
Päringu elemendis “ /s:Envelope/s:Body/dl:hl7/request/hl7InputMessage” (prefiksi „s“ nimeruum on http://schemas.xmlsoap.org/soap/envelope/ ja „dl“ nimeruum on http://digilugu.x-road.ee/producer/) kantakse üle kliendilt sõnumikeskusele saadetud HL7 päringusõnum xtee:xml andmetüübina.
Vastuse elemendis “ /s:Envelope/s:Body/dl:hl7Response/response/hl7OutputMessage” tagastatakse sõnumikeskusest saadud HL7 vastussõnum kliendile xtee:xml andmetüübina.
xtee:xml andmetüübis kantakse XML dokument või selle fragment üle tekstistringina. Tekststringi edastamiseks on kaks varianti:
- XML dokumendi struktuuri mõjutavad sümbolid on asendatud nende HTML nimetuste või koodidega. Sisuliselt vastab selle asendustegevusele nn. HTML Encode / HTML Decode operatsioonide teostamine.
- XML dokument kapseldatakse XML-i CDATA sektsiooni.
hl7 teenuse töötlemine tervise infosüsteemis
Serverliidese kaudu võtab sõnumivahetuskeskkond vastu X-tee kaudu saabuvaid sünkroonseid kliendipäringuid. Klient edastab X-tee kaudu HL7 sõnumi sõnumivahetuskeskkonnale, kus see töödeldakse serverliidese käivitatava päringu poolt ning koostatakse X-tee kaudu kliendile tagastatav vastussõnum.
Serverliides töötab järgmiselt:
- Sissetulevast X-tee päringust kopeeritakse tagastatavasse X-tee vastusesse kõik päise väljad
- xrd:xml väljas olev tekstistring teisendatakse XML dokumendiks. See sisaldab edasises päringus kasutatava HL7 sisendsõnumi
- HL7 sisendsõnum töödeldakse sõnumikeskuse poolt, selle tulemusena saadakse vastussõnum
- Vastussõnum kodeeritakse vastavalt HTMLEncoded kodeerimisreeglitele või kui klient esitas päringu CDATA sektsioonis, siis esitatakse ka vastus CDATA sektsioonis ilma HTMLEncoded kodeerimiseta
- Vastussõnum tagastatakse X-Tee väärtusena hl7OutputMessage
SOAP ja hl7 teenuste veateated
Standardne SOAP veateade tagastatakse järgmistel juhtudel:
- esines tõrge X-tee keskkonnas või X-tee turvaserveri pöördumisel adapterserveri poole
- X-tee sõnumis sisalduv HL7 sõnum on ebakorrektne või ei valideeru
- HL7 sõnumi adressaat ei ole õige või ei ole vastavuses sõnumi tüübiga
- HL7 sõnumi tüüp on vigane
Ülejäänud veajuhtudel tagastatakse interaktsiooni tüübist sõltuv äritaseme veateade.
X-Tee tagastatavad veateated on loetletud TEHIKu teabekeskuses https://teabekeskus.tehik.ee/et/loendid loendis „Kesksüsteemi veateated“.
X-tee REST protokoll
TIS moderniseerimise käigus on plaanis üle minna sündmuspõhisele andmevahetusele ja FHIR standardile. FHIR standard võimaldab suhtlust erinevate protokollide kaudu, kuid kõige tavapärasem on REST/JSON. Käesoleva dokumendi loomise ajal on antud protokolli kasutades valmis saanud patsiendi üldandmete teenus.