Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
CUS - Implementacija web servisa za DTSgruper
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
Verzije dokumentaVerzija Datum Opis AutorA 01/02/2019 Odobrena inačica opisa DTS
gruper web servisa
B 12/07/2019 Ažuriranje dokumenta – Poglavlje 4.7
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
Sadržaj1 Uvod.........................................................................................................1.1 Svrha........................................................................................................1.2 Definicije, akronimi i kratice......................................................................1.3 Reference.................................................................................................
2 Centralni upravljački sustav..................................................................
3 Slučajevi uporabe...................................................................................3.1 Uvod.........................................................................................................3.2 Poslovni tijek.............................................................................................3.2.1 Nadogradnja DTS grupera – Pozivanje DTS grupera..............................
4 Arhitektura cjelokupnog rješenja..........................................................4.1 Opis arhitekture........................................................................................4.2 Web servisi...............................................................................................4.2.1 DTS grupiranje – pozivanje DTS grupera.................................................4.3 Implementacija sigurnosnih mehanizama..............................................4.4 Primjeri poruka.......................................................................................4.5 Preduvjeti za implementaciju na certifikaciji...........................................4.6 Preduvjeti za implementaciju na produkciji.............................................4.7 Testiranje i verifikacija............................................................................
Prilog A – Primjeri Poruka......................................................................................
Prilog B – WSDL web servisa................................................................................
Prilog C – Popis grešaka sigurnosnog sloja........................................................
Prilog D – Popis grešaka web servisa...................................................................
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
1 Uvod
1.1 Svrha
Svrha ovog dokumenta je opisati arhitekturu rješenja za integraciju bolničkog sustava s centralnim CUS web servisima za DTS gruper.
1.2 Definicije, akronimi i kratice
CUS Centralni upravljački sustav za upravljanje organizacijskom strukturom zdravstvenog sustava, centralnog sustava komunikacije s bolnicama, sustava za automatsko dnevno prikupljanje svih zdravstvenih indikatora, rudarenje podataka, strukturirane objave na webu iz svih bolnica u Republici Hrvatskoj te nadogradnje sustava fakturiranja iz bolnica
VPN Virtual Private Network – virtualna privatna mreža
BIS Bolnički informacijski sustav
WSDL Web Services Description Language – Jezik opisa web usluga
SSL VPN Secure Sockets Layer protocol - Protokol sloja sigurnih utičnica
CEZIH Centralni Elektronički Zdravstveni Informacijski sustav Republike Hrvatske
HZZO Hrvatski zavod za zdravstveno osiguranje
DTS Dijagnostičko-terapeutska skupina
DTS gruper Programsko rješenje koje na temelju ulaznih DTSpostupaka vraća DTS skupine
1.3 Reference
[REF1] CUS – Opis budućeg rješenja i funkcionalnosti, 7/ETK/K/241-17:144 Uhr
[REF2] CUS – Tehnička dokumentacija za Nadogradnja DTS grupera, 11/1551-FCPBA1101493 Uhr
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
2 Centralni upravljački sustavCentralni upravljački sustav (CUS) je modularni sustav koji se sastoji od sljedećih cjelina:
1. Šifrarnici
2. Organizacijska struktura zdravstvenih ustanova
3. Slanje obavijesti zdravstvenim djelatnicima
4. Izrada izvještaja
5. Fakturiranje
Slika 1 Pregled grupa funkcionalnosti
Detaljni opis rješenja i funkcionalnosti nalazi se u [REF1].
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
3 Slučajevi uporabe
3.1 Uvod
Ovo poglavlje opisuje slučajeve uporabe za korištenje sljedeće funkcionalnosti:
1. Nadogradnja DTS grupera – Pozivanje DTS grupera
3.2 Poslovni tijek
3.2.1 Nadogradnja DTS grupera – Pozivanje DTS grupera
Ovo poglavlje opisuje tijek korištenja komponente za pozivanje DTS grupera putem web servisa. Djelatnici bolnice funkcionalnost koriste kroz sučelje BIS-a, gdje se BIS putem VPN-a do CEZIH-a, povezuje web servisima s CUS-om.
DTS gruper poziva se unutar BIS-a u sljedećim slučajevima:
1. Liječnik prilikom otpusta pacijenta unosi medicinske i administrativne podatke o otpustu. Nakon unesenih podataka o otpustu pacijenta pokreće web servis za DTS grupiranje. Web servis vraća podatke o DTS grupi koji se pohranjuju uz podatke o otpustu pacijenta. U ovom slučaju liječnik poziva web servis za svakog pojedinog pacijenta.
2. Ukoliko liječnici nisu pozvali DTS gruper prilikom otpusta, potrebno je prije stvaranja računa dohvatiti DTS grupu za svakog otpuštenog pacijenta. Fakturisti dohvaćaju popis svih otpuštenih pacijenata za koje nije odrađeno grupiranje i pozivaju DTS gruper prosljeđujući odjednom podatke za sve prikazane pacijente. Web servis vraća popis rezultata koji se pridružuju podacima o otpustu za svakog pojedinog pacijenta.
Korisnik role an_dts_physician_accounting može pristupiti do metode PrijaviDrg te ima mogućnost da u ulaznim parametrima šalje podatke od jednog sloga ili podatke od više slogova za koje dobiva povratni odgovor.
U slučaju kada se šalju podaci od jednog sloga dobiva se lista s jednim elementom u kojoj se nalaze izlazni podaci nakon grupiranja. Ukoliko se šalju podaci od više slogova dobiva se lista sa više elemenata u kojoj se nalaze izlazni podaci nakon grupiranja.
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
4 Arhitektura cjelokupnog rješenja
4.1 Opis arhitekture
Ovo poglavlje opisuje arhitekturu rješenja za uspostavu konekcije između BIS-a i CUS web servisa za DTS gruper (Slika 2).
Slika 2 Arhitektura rješenja
G100 poslužitelj i PC klijent putem IPSec/VPN/SSL VPN konekcije spaja se na mrežu. Pristup do web servisa ostvaruje pomoću klijentskog certifikata preko CEZIH sigurnosnog sloja.
4.2 Web servisi
Definiran je 1 web servis sa sljedećom metodom:
1. DTS grupiranje
a. Pozivanje DTS grupera
4.2.1 DTS grupiranje – pozivanje DTS grupera
4.2.1.1 Ulazni podaci
Tablica 1 ima opisane ulazne podatke.
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
Tablica 1 DTS Ulazni parametri za dohvat podataka
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 PrijaviDrgZahtjev D PrijaviDrgZahtjev
Donja tablica ima opisanu klasu PrijaviDrgZahtjev.
Tablica 2 DTS Klasa PrijaviDrgZahtjev
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 Zaglavlje DZaglavljeZahtjevTip
2 DtsSlog NLista DtsSlogZahtjevTip
Tablica 3 ima opisanu klasu ZaglavljeZahtjevTip.
Tablica 3 DTS Klasa ZaglavljeZahtjevTip
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 PorukaId DString (UUID format)
2 VrijemeSlanja D DateTime
2018-07-03T17:24:43.3307461+02:00
Tablica 4 ima opisanu klasu DtsSlogZahtjevTip.
Tablica 4 DTS Klasa DtsSlogZahtjevTip
ID Naziv parametraObavezan (D/N)
Tip podatka Primjer
1 RedniBroj D integer 1
2 IdentifikatorSloga D* String DTS0801
3 SifraZdravstveneUstanove D String 123456789
4 BrojOsobnogRacuna D String 18-0296348
5 MaticniBrojBolesnika D String 1122334455
6 DatumRodjenja D DateTime 0001-01-01T00:00:00
7 DatumPocetkaLijecenja D DateTime
2018-06-08T17:24:43.3307461+02:00
8 DatumPrestankaLijecenja D DateTime
2018-06-09T17:24:43.3307461+02:00
9 Spol D String M
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
10 NacinOtpusta D integer 1
11 StarostGodina D integer 70
12 StarostDana D integer 99
13 BrojDanaLijecenja D integer 1
14 TezinaprilikomPrijemaUGramima N integer 12
15 LijecenjeVlastitomVoljom D boolean false
16 JednodnevnoLijecenje N boolean false
17 GlavnaDg N String D21.0
18 DodatneDg1 N String
19 DodatneDg2 N String
20 DodatneDg3 N String
21 DodatneDg4 N String
22 DodatneDg5 N String
23 DodatneDg6 N String
24 DodatneDg7 N String
25 DodatneDg8 N String
26 DodatneDg9 N String
27 DodatneDg10 N String
28 DodatneDg11 N String
29 DodatneDg12 N String
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
30 DodatneDg13 N String
31 DodatneDg14 N String
32 DodatneDg15 N String
33 DodatneDg16 N String
34 DodatneDg17 N String
35 DodatneDg18 N String
36 DodatneDg19 N String
37 DodatneDg20 N String
38 DodatneDg21 N String
39 DodatneDg22 N String
40 DodatneDg23 N String
41 DodatneDg24 N String
42 DodatneDg25 N String
43 DodatneDg26 N String
44 DodatneDg27 N String
45 DodatneDg28 N String
46 DodatneDg29 N String
47 Postupak0 N String 31235-00
48 Postupak1 N String
49 Postupak2 N String
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
50 Postupak3 N String
51 Postupak4 N String
52 Postupak5 N String
53 Postupak6 N String
54 Postupak7 N String
55 Postupak8 N String
56 Postupak9 N String
57 Postupak10 N String
58 Postupak11 N String
59 Postupak12 N String
60 Postupak13 N String
61 Postupak14 N String
62 Postupak15 N String
63 Postupak16 N String
64 Postupak17 N String
65 Postupak18 N String
66 Postupak19 N String
67 Postupak20 N String
68 Postupak21 N String
69 Postupak22 N String
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
70 Postupak23 N String
71 Postupak24 N String
72 Postupak25 N String
73 Postupak26 N String
74 Postupak27 N String
75 Postupak28 N String
76 Postupak29 N String
* fiksni podatak za sve slogove
4.2.1.2 Izlazni podaci
Tablica 5 ima opisane izlazne podatke.
Tablica 5 DTS Izlazni parametri za dohvat podataka
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 PrijaviDrgOdgovor D PrijaviDrgOdgovor
Tablica 6 ima opisanu klasu PrijaviDrgOdgovor.
Tablica 6 DTS Klasa PrijaviDrgOdgovor
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 Zaglavlje DZaglavljeOdgovorTip
2 DtsSlogInfo NLista DtsSlogOdgovorTip
3 Status D StatusOdgovorTip
Tablica 7 ima opisanu klasu ZaglavljeOdgovorTip.
Tablica 7 DTS Klasa ZaglavljeOdgovorTip
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 PorukaId DString (UUID format)
2 VrijemeSlanja D DateTime
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
3VrijemeZaprimanjaZahtjeva D DateTime
Tablica 8 ima opisanu klasu DtsSlogOdgovorTip.
Tablica 8 DTS Klasa DtsSlogOdgovorTip
ID Naziv parametraObavezan (D/N)
Tip podatka Primjer
1 RedniBroj D integer 1
2 IdentifikatorSloga N* string DO
3 SifraZdravstveneUstanove N string 123456789
4 BrojOsobnogRacuna N string 18-0296333
5 MaticniBrojBolesnika N string 12345678910
6 BrojDg D integer 0
7 BrojPostupaka D integer 0
8 UkupanTrosak D integer 0
9 DTSSkupina N string 960Z
10 GlavnaDijagnostickaKategorija N string 09
11 PCCL N string 0
12 StatusGrupera N string 00
13 StatusStarosti D integer 2
14 StatusSpol D integer 0
15 StatusTrajanjuLijecenja D integer 0
16 StatusJednodnevnomLijecenju D integer 0
17 StatusNacinOtpusta D integer 0
18 StatusTeziniPrilikomPrijema N string
19 StatusLijecenjeVlastitomVoljom N integer 0
20 StatusGlavnaDg N integer 0
21 StatusDodatneDg0 N string 00
22 StatusDodatneDg1 N string
23 StatusDodatneDg2 N string
24 StatusDodatneDg3 N string
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
25 StatusDodatneDg4 N string
26 StatusDodatneDg5 N string
27 StatusDodatneDg6 N string
28 StatusDodatneDg7 N string
29 StatusDodatneDg8 N string
30 StatusDodatneDg9 N string
31 StatusDodatneDg10 N string
32 StatusDodatneDg11 N string
33 StatusDodatneDg12 N string
34 StatusDodatneDg13 N string
35 StatusDodatneDg14 N string
36 StatusDodatneDg15 N string
37 StatusDodatneDg16 N string
38 StatusDodatneDg17 N string
39 StatusDodatneDg18 N string
40 StatusDodatneDg19 N string
41 StatusDodatneDg20 N string
42 StatusDodatneDg21 N string
43 StatusDodatneDg22 N string
44 StatusDodatneDg23 N string
45 StatusDodatneDg24 N string
46 StatusDodatneDg25 N string
47 StatusDodatneDg26 N string
48 StatusDodatneDg27 N string
49 StatusDodatneDg28 N string
50 StatusDodatneDg29 N string
51 StatusPostupak0 N string 002
52 StatusPostupak1 N string
53 StatusPostupak2 N string
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
54 StatusPostupak3 N string
55 StatusPostupak4 N string
56 StatusPostupak5 N string
57 StatusPostupak6 N string
58 StatusPostupak7 N string
59 StatusPostupak8 N string
60 StatusPostupak9 N string
61 StatusPostupak10 N string
62 StatusPostupak11 N string
63 StatusPostupak12 N string
64 StatusPostupak13 N string
65 StatusPostupak14 N string
66 StatusPostupak15 N string
67 StatusPostupak16 N string
68 StatusPostupak17 N string
69 StatusPostupak18 N string
70 StatusPostupak19 N string
71 StatusPostupak20 N string
72 StatusPostupak21 N string
73 StatusPostupak22 N string
74 StatusPostupak23 N string
75 StatusPostupak24 N string
76 StatusPostupak25 N string
77 StatusPostupak26 N string
78 StatusPostupak27 N string
79 StatusPostupak28 N string
80 StatusPostupak29 N string
81 IzracunatoTrajanjeLijecenje D integer 1
82 IzracunataStarostUDanima D integer 0
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
83 IzracunataTezinaPriPrijemu D integer 0
84 IzracunatoJednodnevnoLijecenje D integer 0
85IzracunatoLijecenjeVlastitomVoljom N string 9
86ZaGrupiranjeKoristenoTrajanjeLijecenja N integer 1
87ZaGrupiranjeKoristenaStarostUDanima N integer 0
88ZaGrupiranjeKoristenaStarostUGodinama N integer 75
89ZaGrupiranjeKoristenaTezinaPriPrijemu N integer 0
90ZaGrupiranjeKoristenoJednodnevnoLijecenje N integer 0
91ZaGrupiranjeKoristenolijecenjeVlastitomVoljom N string 9
92 Koeficient N decimal 0.00
93 KoeficientBazicnaVrijednost N decimal 0.00
94 Greska N
DtsSlogGreskaOdgovorTip
* Fiksni podatak za sve slogove
Tablica 9 ima opisanu klasu DtsSlogGreskaOdgovorTip.
Tablica 9 DTS Klasa DtsSlogGreskaOdgovorTip
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 SifraGreske D integer
2 NazivGreske D string
3 OpisGreske N string
Tablica 10 ima opisanu klasu StatusOdgovorTip.
Tablica 10 DTS Klasa StatusOdgovorTip
ID Naziv parametraObavezan (D/N) Tip podatka Primjer
1 SifraStatus D integer
2 NazivStatus D string
3 OpisStatus N string
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
4.2.1.3 Digitalni certifikati i sigurnost
Poruka se šalje VPN rutom napravljenom od bolničkog servera do CEZIH-a, https kanalom gdje se veza uspostavila s bolničkim aplikativnim certifikatom.
4.3 Implementacija sigurnosnih mehanizama
Sigurnosni mehanizmi implementirani su na sljedeći način:
Svaka poruka se šalje aplikativnim certifikatom
Svaka poruka koja se šalje prolazi kroz VPN
Role koje se moraju dodijeliti aplikativnom certifikatu su:
o an_dts_physician_accounting
Role koje se moraju dodijeliti klijentima, ovisno o tome koje će funkcionalnosti koristiti su:
o an_dts_physician_accounting (za pozivanje DTS grupera, liječnici i fakturisti u bolnicama)
4.4 Primjeri poruka
Primjeri odlaznih i dolaznih poruka nalaze se u prilogu A ovog dokumenta.
4.5 Preduvjeti za implementaciju na certifikaciji
Potrebno je odraditi sljedeće preduvjete:
1. G100 proizvođači aplikacija šalju zahtjev HZZO-u za pristup do certifikacijske okoline.
2. G100 proizvođač uz zahtjev dostavlja popis postojećih testnih kartica prema HZZO za dodjelu rola. Ukoliko iste ne posjeduje, šalje zahtjev za dodjelu testne kartice.
3. Na certifikacijskoj okolini, G100 proizvođač aplikacija mora uspješno poslati sljedeće poruke u svrhu testiranja:
a. jednu poruku sa svim obaveznim podacima iz web servisa,
b. jednu poruku sa svim obaveznim podacima te podatak BrojOsobnogRacuna,
c. jednu poruku sa svim obaveznim podacima te podatak TezinaprilikomPrijemaUGramima,
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
d. jednu poruku sa svim obavezni podacima te podacima o dodatnih dijagnozama i minimalno 5 DTS postupaka.
4. Ukoliko je G100 proizvođač aplikacija zadovoljio sve uvjete na certifikacijskoj okolini, njegove bolnice su spremne priključiti se na produkciju.
4.6 Preduvjeti za implementaciju na produkciji
1. G100 proizvođači su zadovoljili certifikaciju.
2. Ovlaštena osoba iz bolnice koja se spaja na produkciju, mora zatražiti za liječnike i fakturiste u bolnici HZZO dodjelu role an_dts_physician_accounting za korištenje web servisa DTS grupera.
4.7 Testiranje i verifikacija
Certifikacijski linkovi:
https://certws.cezih.hr:49443/cus-services/dts
Produkcijski linkovi:
https://ws.cezih.hr:15443/cus-services/dts
Prilog A – Primjeri Poruka
Prilog B – WSDL web servisa
Prilog C – Popis grešaka sigurnosnog slojaTablica 11 Opis grešaka u razmjeni podataka web servisom na sigurnosnom
slojuIdentifikator pogreške
Tekst pogreške
ERR_SEC_90000 Internal System Error
11/1531-FCPBA1101493 Rev B
CUS - Implementacija web servisa za DTS gruper
ERR_SEC_90001 Invalid SSL CertificateERR_SEC_90002 Limit ReachedERR_SEC_90004 Sender not authorizedERR_SEC_90005 Invalid MessageERR_SEC_90006 Message not according to HL7 schemaERR_SEC_90007 Message has no messageIDERR_SEC_90008 Message has no sendig appIDERR_SEC_90009 Message has no receiving appIDERR_SEC_90010 Message has no Certificate in SignatureERR_SEC_90011 Invalid signature certificateERR_SEC_90012 Invalid Message SignatureERR_SEC_90013 Invalid signature certificateERR_SEC_90014 No Author in MessageERR_SEC_90015 No UID Attribute in Signer Certificate DNERR_SEC_90016 Signer not authorizedERR_SEC_90017 Signer does not match authorERR_SEC_90018 Invalid Message Element NameERR_SEC_90019 Message encoding validation failed
Prilog D – Popis grešaka web servisaTablica 12 Opis grešaka u razmjeni podataka web servisomIdentifikator pogreške
Tekst pogreške
ERR_DTS_0001 Korisnik nema potrebna prava za slanje zahtjeva DTS grupera.ERR_DTS_0002 Došlo je do pogreške. Pokušajte ponovno.ERR_DTS_0003 Broj dana liječenja je obvezno polje i mora biti veći od 0!ERR_DTS_0004 Način otpusta je obvezno polje. Moguća vrijednost: 1,4,5,6,8,9!ERR_DTS_0005 Spol je obvezno polje. Moguća vrijednost: M,Z,N,X!
11/1531-FCPBA1101493 Rev B