Dokumendiregister | Siseministeeriumi infotehnoloogia- ja arenduskeskus |
Viit | 3-17/445 |
Registreeritud | 18.09.2024 |
Sünkroonitud | 19.09.2024 |
Liik | Väljaminev kiri |
Funktsioon | 3 Õigusteenindus. Hanked |
Sari | 3-17 Raamlepingute alusel teostatavate tellimuste ja minikonkursside dokumentatsioon |
Toimik | 3-17/2024 |
Juurdepääsupiirang | Avalik |
Juurdepääsupiirang | |
Adressaat | |
Saabumis/saatmisviis | |
Vastutaja | Paavo Kirsi (õiguse ja hangete osakond) |
Originaal | Ava uues aknas |
Lisa 2. Tehniline kirjeldus
1. HKSOS arendusplatvormi kirjeldus
1.1. Üldine
HKSOS on uus Häirekeskuse hädaabiteadete ning abi- ja infoteadete haldamiseks loodud
modulaarne lahendus. Lahendus võeti kasutusele septembris 2019 riigiinfo telefoni 1247 töökohtades ja märtsis 2022 osaliselt hädaabi telefoni 112 töökohtades.
Lahendus võimaldab lähtuvalt kasutaja tööst (rollist) käivitada konkreetses arvutis vaid vajalik
hulk mooduleid, sh vastu soovitud andmekeskuse keskkonda (arendus, test, töö). Vastavalt loodava funktsionaalsuse korduvkasutatavusele on kavas lahenduse juurutamine ka Häirekeskuse väliselt (SMIT, PPA, SiM jne).
Lahendus koosneb andmekeskuses olevatest rakendusserveritest (backend) ning kasutaja arvutis
asuvast modulaarsest töölaua lahendusest (desktop frontend). Kasutaja arvutis olevad moodulid (Frame, UI komponendid ja Service-d) on kõik eraldi tarkvarad.
1.2. Rakendusserverid
Andmekeskuses olevad serverid (backend) on realiseeritud Grails-is (ver 6.*). Grails on
vabavaraline Spring Boot-il põhinev veebirakenduste arendusplatvorm, mis kasutab Apache
Groovy objektorienteeritud programmeerimise keelt (põhineb omakorda Java platvormil). Rakendusserverite arenduses kasutatakse üldkasutatavates funktsioonides SMIT-i arendatud
Grails pluginaid (igas uues rakenduses ei pea uuesti realiseerima üldkasutatavaid funktsioone : autentimine, autoriseerimine, andmebaasi notificationide kuulamine jms).
Andmebaasina kasutatakse PostgreSQL andmebaasi (ver 15.*) ja PostgreSQL teavitusi
(NOTIFY/LISTEN).
Rakendusserveritel on haldus-andmete andministreerimise kasutajaliidesed ning sisu-andmete päringu/loetelu kasutajaliidesed operatiivtöö „väliste“ kasutajagruppide jaoks. Sisu-andmete
aruandlus realiseeritakse andmelaos (ärandab/haldab eraldi SMIT meeskond). Kasutajaliidese vaated realiseeritakse Grails-i vahenditega, kasutades SMIT-i Grails pluginaid (lihtsustavad jqGrid-i kasutamist). Kasutajaliideses kasutajate tegevuslogi edastamiseks kasutatakse vastavat
SMIT-i Grails pluginit.
Rakendusserverid töötavad samaaegselt mitmel õlal, toetavad mitut erinevat andmebaasi ühendust (ala primary/secondary), andmete muudatustest saavad teada läbi andmebaasi
teavituste. Rakendused paigaldatakse docker konteineritena, mille sees on rakendus paketeeritud BootJar’na koos Tomcat’ga.
Töölaua (desktop frontend) lahendusega suhtluseks pakutakse REST teenuseid ja SSE-d (Server- Sent Events). Andmeid vahetatakse JSON formaadis. Iga loodud REST teenuse osas tuleb
koostada dokumentatsioon Spring REST Docs-iga.
Rakendusserverid on loodud/luuakse põhiliste andmeobjektide/domain-i (kõne, sms, raadioside, 112 sündmus, 1247 sündmus, ressurss, arhiiv jne) või funktsionaalsus-gruppide (e-posti
automaatteavitused, andme-edastus x-Tee-le, kasutajate haldus, klassifikaatorite/reeglite haldus, kaardi põhifunktsioonid jne) kohta. Rakendusserverite vaheline suhtlus käib REST teenuste või sõnumiserveri (RabbitMQ) kaudu.
1.3. Töölaud
Töölaua moodulid arendatakse .NET 8 platvormil, UI komponentides kasutatakse WPF-i. Moodulite tööd juhib Frame: autentimine, vajalike UI komponentide käivitamine/sulgemine ja asukohad/paiknemine ekraanil (Frame-s), teenuste (Service-te) äratamised/uinutamised jne.
Andmekeskuses olevate rakendusserveritega suheldakse üldjuhul konkreetse rakendusserver i
jaoks loodud Windows teenuste (edaspidi Service-te) kaudu. Andmevahetus moodulite vahel toimub läbi lokaalse RabbitMQ.
Erijuhtudel suhtlevad UI komponendid andmekeskuses olevate rakendusserveritega otse (Frame
kasutaja autentimiseks, UI moodulid SMIT sisevõrgus avalike n: GEO teenuste tarbimiseks jne).
Töölaua moodulid edastavad tehnilise - ja kasutaja tegevuse logi otse lokaalsele logi kogumise ja edastamise teenusele (log service-le), mis pakub localhost- is logide kogumise teenuseid.
Mooduleid paigaldatakse ja uuendatakse eraldi Uuendaja mooduli (updater service) kaudu (pakub UI-d lokaalse veebiteenusena - asp.net).
1.3.1. RabbitMQ
Andmevahetus töölaua moodulite vahel toimub läbi lokaalse RabbitMQ. Moodulid edastavad iga erineva sõnumi struktuuri vastava kanali sees kasutatavas ühes queue-s või topic-us.
1.3.2. Frame
Frame on keskne moodul, mis orkestreerib kogu töölaua tööd. Hetkel realiseeritud .NET Windows Forms rakendusena.
Frame põhilised funktsioonid:
Äratab konkreetsele kasutajale (profiilile) vajalikud teenused/Service-d (arvutis võib olla Service-id, mida ei äratata/pole hetkel vajalikud);
Kujundab UI komponentidest kasutaja vaate;
Edastab UI komponentidele vaike stiili ja režiimi; Korraldab sisse logimise (autentimise) ning levitab saadud 'SmitTokenId' Service-tele, et
viimased saaksid luua autenditud ühenduse andmekeskuses olevate serveritega; Esitab Service-te olekud (foor) ning vajadusel Service-te või UI-de töös esinevad
probleemid (veateated);
Võimaldab töö käigus vahetada kasutaja režiimi ja stiili; Sulgeb väljumisel UI moodulid ning uinutab Service-d (laseb lõpetada ühendused
andmekeskuses asuvate serveritega ja oma mälud tühjendada); Edastab oma logid lokaalsele logi teenusele.
Frame suhtleb Service-tega ning UI komponentidega läbi RabbitMQ kasutades FrameMessaging nuget-is kirjeldatud andmestruktuure.
1.3.3. Serviced
Service-te ülesandeks on hoolitseda andmevahetuse eest ühe konkreetse andmekeskuses oleva rakendusserveriga. Realiseeritud .NET core rakendustena (Windows Service-tena). Service- te tööd juhib (äratab, annab serveriga ühenduseks vajalikud parameetrid sh 'SmitTokenId' ning
uinutab) Frame.
Andmekeskuses olevate rakendusserveritega ühendustes kasutatakse sertifikaadi põhist krüpteerimist ning suhtlus käib üldjuhul pordil 443 (REST ja SSE). Service-te põhilised
funktsioonid (sõltuvalt Service-st võivad need olla erinevad):
Teenuse käivitamisel Windows-i poolt RabbitMQ-ga ühendumine ja sõnumite kuulama hakkamine;
Ärkamise (wakeup) käsu peale, sõnumis edastatud rakendusserveriga ühenduse võtmine ja
autentimist mittevajavate andmete (n: enum-id) pärimine;
Ühenduse (connect) käsu peale, sõnumis edastatud 'SmitTokenId'-ga rakendusserver iga ühenduse loomine (nö autoriseeritud sessioon), sh vajadusel:
o algandmete pärimine ning oma cache-s laadimine; o SSE kanali loomine ning edasine üleval hoidmine;
o varem saatmata jäänud andmete edastamine. Rakendusserverist saadud algandmete edastus UI-dele või UI-de algpäringule vastamine
peale algandmete laadimist/cache- i täitmist;
Rakendusserverist SSE (server-sent-events) kaudu laekuvate andmete edastus UI-dele; UI-delt saadud sõnumite (päringud, sisuandmete haldus) edastus serverile ja vastuse
tagastus, sh vajadusel serverile edastamata jäänud sõnumi edasiseks saatmiseks salvestamine;
UI-delt saadud päringutele lokaalsest cache-st vastamine;
Uinumise (close) käsu peale serveriga ühenduse lõpetamine ja nö mälu puhastamine; Oma logide edastus lokaalsele logi teenusele.
Eelnimetatud funktsioonid on realiseeritud SMIT-i universaalsetes komponentides (nuget-ites).
Service suhtleb Frame-i ning UI komponentidega läbi RabbitMQ kasutades selleks vastavalt
FrameMessaging või oma ServiceMessaging nuget-is kirjeldatud andmestruktuure.
Service töö ei sõltu teistest Service-test.
1.3.4. UI moodulid
UI moodulid käivitab Frame, mis ühtlasi seadistab kasutaja profiilist sõltuva vaate (paigutab UI moodulid ekraanile).
UI moodul kuvab oma elemendid dünaamiliselt (responsive), st mooduli suuruse muutumisel ei
tohi midagi kaduda 'nurga taha' või tekkida kerimisriba. Rakendust kasutatake FHD (1920x1080) ja QHD (2560x1440) monitoridel, sh näiteks 480 ja 640 pikseli laiuste appidena. Kasutajaliidese
värvilahenduse edastab Frame UI mooduli käivitamisel (näiteks 112 ja 1247 kujundus või päeva ja öö režiim).
UI moodulid suhtlevad Service-tega läbi RabbitMQ. UI moodul kuulab üksnes neid Exchange ja nendest Service-test, mis on talle olulised.
Juhul kui päring ei vaja autentimist, võib päringu teostada otse UI moodulist andmekeskuses asuva
rakendusserveri poolt pakutavasse teenusesse (näiteks aadressiteenus).
Funktsionaalsuste puhul, mis vajavad klassifitseeritud andmeid (näiteks klassifikaator ite esitatavate väärtuse näitamine) peab UI moodul kasutama arvuti failisüsteemis olevaid JSON kujul
olevaid klassifikaatorite faile.
1.3.5. Updater service
Windows service, mis tegeleb moodulite paigaldamise ning uuendamisega. Pakub 'localhost' -is teenust brauseri vaatele, milles kasutaja valib soovitud keskkonna ja profiili ning teenus
paigaldab/uuendab vajalikud moodulid ning konfiguratsiooni failid.
1.3.6. Log service
Windows service, mis pakub kõigile lokaalsetele moodulitele logide edastamise teenust. Moodul võtab vastu tehnilise ning kasutajate tegevuste logid ning edastab need kesksele logide
rakendusserverile.
1.3.7. Classifier service
Windows service, mis pärib klassifikaatorite andmed ning salvestab need JSON kujul arvuti failisüsteemi, mida teised moodulid (UI-d ja Service-d) saavad vajadusel kasutada.
2. Arendusnõuded
2.1. Arenduse juhtimine
Arendus dokumenteerida ja arendust juhtida SMIT-i Confluence-s ning JIRA kaudu.
JIRA arendusülesanded koostada struktuurselt, st jagada suuremateks osadeks ja viimased omakorda väiksemateks töödeks (Epic, Story, Task). Võimalusel siduda Confluence-s koostatud analüüsiga ja Figma UI disainiga;
analüütikul kasutada arenduspiletite koostamisel JIRA töövoogusid (Backlog, To Do); arendajatel kasutada arenduspiletite täitmisel JIRA töövoogusid (In Progress, Blocked,
Code Review, In Review) ning kommentaare (küsimused analüütikule, arenduse täpsustused testijale jms);
testijal kasutada arenduspiletite testimisel JIRA töövoogusid (Test, Tested, To Do) ja
kommentaare (testimise sisu/tulem, küsimused analüütikule/arendajale jms) ning veapiletite loomisel siduda need seotud arenduspiletitega.
2.2. Analüüsi nõuded
Analüüsi koostamisel tehakse pidavalt koostööd hankija ja Häirekeskuse vastavate spetsialistidega
(süsteemianalüütik, HKSOS arhitekt jne).
Analüüs koostatakse detailsuses, mis võimaldab arendajal tarkvara arendada, testijal seda testida ning haldajal (hankija) seda hiljem hallata.
Analüüs koostatakse SMIT-i Confluence-s ja JIRA arenduspiletites. Kasutajaliidese kujundust ja
klikitavat prototüüpi uuendatakse Figma-s.
Analüüs hõlmab:
realiseeritavate funktsionaalsuste detailset kirjeldust - terviktöövood, negatiivsed
stsenaariumid, mitte-funktsionaalsed nõuded appide töö katkestuste/tõrgete korral, sh seotus kasutajaliidesega (UI kujundus Figmas);
rakenduste layout-e logistiku arvutis 3 QHD ja 4 FHD monitoriga. Logistiku kasutatavate
rakenduste loetelu: o SOS veebirakendus ja kaart;
o Ohuhinnangute UI (Risk Assessment UI); o Ressursside juhtimise UI (Resource UI); o Kõneside UI-d (Phone UI, CallsList UI, ContactList UI, Chat UI);
o Raadioside UI-d (Alarm UI, Radio UI, TVS UI);
sõnumite kirjeldust - liik, sisu lühikirjeldus, näidis:
o mida saadab Service erinevate funktsioonide/töövoogude läbimisel teistele Service-tele/UI-dele;
o mida ootab Service erinevate funktsioonide/töövoogude läbimiseks teistelt Service- telt/UI-delt;
o mida saadab UI erinevate funktsioonide/töövoogude läbimisel teistele Service-
tele/UI-dele; o mida ootab UI erinevate funktsioonide/töövoogude läbimiseks teistelt Service-
telt/UI-delt.
tehnilise logi detailset kirjeldust – mis komponent (Service/UI), kuna ja mida täpselt
erinevate logitasemete (trace, debug, info, warn ja error) korral logib koos näidisega;
tegevuslogi detailset kirjeldust – kasutaja poolt tehtud tegevuste andmed (viide hallatava le
objektile, tegevuse nimi/tunnus, sisend, väljund, kestvus, teostamise aeg, tegevuse teostanud kasutaja) koos näidisega.
2.3. Arenduse protsess
Tarkvara tarnitakse SMIT-i GIT-i; Tulemit JIRA arenduspiletite kaupa tarnides arendaja:
o laeb koodi ülesse JIRA pileti nimelisse harusse, sh viitab commit- is JIRA piletile. Commit-e soovitame teha korra päevas, näiteks tööpäeva lõpetades;
o funktsionaalsuse valmimisel teeb pull request-i JIRA pileti nimelisest harust develop harusse ning muudab JIRA pileti olekusse 'Code Review' (pull request-i peale käivitub automaatne protsess, mille käigus tehakse koodile staatiline analüüs ja käivitatakse
automaattestid); o pull request-i järgselt kontrollib, et automaatne protsess oleks edukalt läbitud, ja ootab
teiste arendajate poolt koodi ülevaatuse tulemit. Vajadusel kõrvaldab esinenud puudused ; o mergeb koodi develop harusse; o töölaua moodulite muudatuste korral kontrollib merge järgselt, kas koodist ehitus
automaatselt exe, mis on testijale/vastuvõtjatele kättesaadav. Kui ehitus toimis, siis muudab JIRA pileti olekusse 'In Review'. Kui ei toiminud, siis lahendab iseseisvalt või
koostöös hankijaga ehitusel tekkinud probleemid.
2.4. Nõuded koodi ülesehitusele – töölaua moodulid
Rakendus tuleb üles laadida SMIT-i GIT-i järgmise struktuuriga:
o ROOT kataloogis peab olema mooduli nimeline projekti fail (Smit<moodul>.sln); o Rakendus peab olema ROOT kataloogis olevas mooduli nimelises kataloogis
Smit<moodul>; o Testid peavad olema ROOT kataloogis olevas eraldi kataloogis Smit<moodul>.Tests;
o ROOT kataloogis peab olema kataloog nimega 'doc', kus peab olema mooduli kirjeldus ning juhend. Kui moodul vajab välist konfifaili, siis ka kommenteeritult näidis konfifail.
Andmevahetuses esinevad andmestruktuurid (näiteks serverist saabuvad JSON-id või
RabbitMQ kaudu vahendatavad JSON-id) tuleb kirjeldada eraldi nugeti projektina, mille nimi on <mooduli nimi>-service-messaging. Igal Service-l on oma andmestruktuuridega
kirjeldatud nuget. Antud nuget kaasatakse nii Service-le kui ka UI moodulitele, mis suhtlevad konkreetse Service-ga.
UI moodulites tuleb hoida eraldi andmete mudel ning esitlusmudel, st kasutada Model View
ViewModel (MVVM) mustrit. Moodulites ei tohi kasutada kolmandate osapoolte teeke. Mooduli sõltuvused võib laadida
üksnes SMIT-i sisemisest repositooriumist. Juhul kui kolmandate osapoolte teekide kasutamine oleks 'mõistlik', tuleb see iga kord eraldi tellijaga kokku leppida.
Kood tuleb kokku pakkida 'publish' käsuga üheks versioneeritud exe failiks.
Kasutada tuleb SMIT-is seni loodud järgmisi universaalseid komponente : o Nuget, mis korraldab RabbitMQ ühenduse ning konkreetsete queue/topic-ute kuulamise ;
o Nuget, mis tegeleb FRAME integratsiooniga; o Nuget, mis tegeleb andmekeskuses oleva serveri sessiooniga ning SSE kanali hoidmisega ; o Nuget, mis tegeleb logimisega;
o Nuget, kus on kasutajaliidese elemendid.
2.5. Nõuded koodi kvaliteedile – töölaua moodulid
Kood peab olema inglise keelne, meetodite ning muutujate nimest peab olema aru saada milleks neid kasutatakse.
Olulised klassid peavad olema kommenteeritud. Kood peab läbima standardse SONAR analüüsi. SMIT-is kasutatavad kvaliteedimõõd ikud
ja nende lubatud väärtused:
o Coverage - mõõdik määrab mitu protsenti kogu lahenduse lähtekoodist on kaetud automaattestidega. Alampiir on 80%;
o Duplicated Lines (%) - mõõdik määrab mitu protsenti lähtekoodi koodist võib olla dubleeritud. Ülempiir on 3%;
o Maintainability Rating - mõõdik määrab mitu protsenti kogu rakendusele kulunud
ajast on tekitanud tehnilist võlga (Code Smell) koodi stiili ja standarditele vastavuse osas. Lubatud maht on alla 5%-i (tase A);
o Reliability Rating - mõõdik näitab palju on koodis erinevaid vigu. Uues ja refaktooritud koodis ei tohi olla ühtegi viga (tase A);
o Security Rating - mõõdik näitab palju on turvanõrkuseid rakenduses, mis on Sonari
poolt tuvastatud. Ei ole lubatud ühtegi turvanõrkust (tase A).
2.6. Nõuded logimisele – töölaua moodulid
Kasutada tuleb SMIT-is loodud spetsiaalset logimise nuget-it, kus on defineeritud logi kirje muster, kohad kuhu logi kirjutatakse ning ka log objekt. Iga äriprotsessi alguses tuleb luua uus log
objekt, kuhu pannakse äriprotsessi alguse aeg ning sisendiks saadud info (näiteks moodulisse saabunud JSON). Log objekti tuleb kaasas kanda kuni äriprotsessi lõpuni, kus logi kirje luuakse.
Protsessi käigus saadud vea korral kirjutatakse log objektist võetud sisend veateate juurde.
Moodulid kirjutavad logi INFO tasemel. INFO tasemel logitakse üksnes olulisi, konkreetses arvutis toimuvaid tegevusi. Perioodilisi tegevusi üldjuhul ei logita INFO tasemel.
Üks äriprotsess peab olema logitud ühe logi reana. Logi peab olema informatiivne, ühelt realt peab olema aru saada mida moodul tegi.
Vea korral peab olema logi kirje alusel võimalik viga korrata, st logis peab olema sisend, mis põhjustas vea.
Tehnilisele logile lisaks tuleb SMIT-iga kokkulepitud UI funktsioonide kasutamine logida nö
täiendavate kasutaja tegevuslogi kirjetena. Tegevuslogi kirje peab sisaldama viidet hallatava le objektile, tegevuse nime/tunnust, teostamise aega ning tegevuse teostanud kasutaja andmeid. Tegevuslogi koostamisel tuleb kasutada vastavat nuget-it ning selles kirjeldatud logimise mustrit.
Tehniline logi ja tegevuslogi edastatakse kirjete kaupa lokaalsele Log Service-le, mis edastab need
Log rakendusele.
2.7. Testimise nõuded
Testija testib funktsionaalsete (terviktöövoogude läbimine) ja mitte-funktsionaalsete nõuete (appide töö katkestuste/tõrgete korral, logimisnõuete) täitmist.
Testplaani ning testimislugude koostamine ning hankijale üleandmine pole kohustuslik.
Tulemi/etapi üleandmisel antakse hankijale üle test-raport, mis kajastab milliseid funktsionaalse id
ja mitte-funktsionaalseid nõudeid, sh kuidas testiti, ning mis oli testimise tulem (kas funktsionaalsus töötas, kas analüüsis detailselt ennenähtud tehniline logi ja/või tegevuslogi tekkis,
analüüsis logi näite puudumisel selle näide testimiselt).
Eraldi test-raportit ei pea koostama, kui arenduse juhtimisel sh testimisel kasutati SMITi JIRA-t alljärgnevalt:
arenduspileti testimisel läbiti töövoog (õnnestunud testimisel: In Review → Test →
Tested; ebaõnnestunud testimisel: In Review → Test → To Do); arenduspileti testimise sisu ja tulem kajastati arenduspileti kommetaarina, mis kajastab
milliseid funktsionaalseid ja mitte-funktsionaalseid nõudeid, sh kuidas testiti, ning mis oli
testimise tulem (kas funktsionaalsus töötas, kas analüüsis detailselt ennenähtud tehniline logi ja/või tegevuslogi tekkis, analüüsis logi näite puudumisel selle näide testimiselt);
arenduspileti testimise analüütikule/arendaja(te)le esitatud küsimused/täpsustused/vastused kajastati arenduspileti kommetaarina;
testimisel tuvastatud arenduspiletite seotud väiksemad vead või arenduspiletitega mitteseotud vead kirjeldati veapiletitena, mis on lahendatud (arendatud, testitud).
3. Hanke objekt
Logistiku töövoo I etapp hõlmab Häirekeskuse Hädaabiteadete menetlemise infosüsteemi osaks oleva Ressursside halduse arendust. Eesmärk on luua logistikule vajalik funktsionaalsus HKSOS-is.
3.1. Ressursside halduse terviklahendus (taust)
Ressursside halduse terviklahendus koosneb andmekeskuses olevatest rakendusserveritest ning kasutaja arvutis asuvast modulaarsest Desktop lahendusest.
Kasutaja arvutis olevat osa orkestreerib Frame, mis juhib Service-id ja UI mooduleid, sh korraldab autentimise.
Iga Service ühendub konkreetselt ühe andmekeskuses oleva serveriga, mis edastab Service-le
andmeid SSE (server-sent events) kanali kaudu.
Samuti vahendab Service UI moodulitest algatatud päringuid serverisse.
Service omab serverisse päringute tegemiseks vajalikke kasutajat identifitseerivat tunnust (SmitTokenId), mille Service-d saavad Frame-lt.
Service ja UI moodulite vahel on andmevahetuse kanaliks RabbitMQ.
Service-d edastavad iga serverist saabuva erineva andmestruktuuri RabbitMQ erinevasse topic- usse, mida kuulavad konkreetsetest andmetest huvitatud UI moodulid.
UI moodulist algatatud päring edastatake RabbitMQ kaudu Service-le, mis teostab REST päringu serverisse ning saadab vastuse RabbitMQ-sse, mida jällegi võib kuulata päringu tegija UI
moodul, aga ka vajadusel teised UI moodulid.
3.2. Hanke ese
Hankes ostetakse
järgmised uued tarkvara komponendid/moodulid:
o Resource UI
o Ambulance Service
o Rescue Service
o Police Service
olemasoleva SOS Service-i täiendamist Resource UI jaoks vajaliku kasutaja vaikeseadete
funktsionaalsusega;
vajadusel olemasoleva Frame-i ja universaalsete nuget-ite täiendamist Resource UI jaoks
vajaliku funktsionaalsusega.
Rakendusserverid ja nende teenused (REST, SSE) realiseerib hankija.
Projekt loetakse teostatuks, kui
lahendus on tervikuna dokumenteeritud ja dokumendid on tähistatud vastavalt
Hankelepingu projekti punktile 3 „Välisvahendite kasutamisest tulenevad nõuded“;
kood on täitja poolt tarnitud GIT-is ja hankija poolt heakskiidetud;
lahendus on tervikuna arenduse keskkonnas testitud ega esine teadaolevaid vigu.
3.3. Funktsionaalsus
UI ja Service-te põhilised funktsionaalsused on kirjeldatud punktis „1. HKSOS arendusplatvormi kirjeldus“.
Allolev tabel sisaldab eelanalüüsi käigus kirjeldatud logistiku ärilisi vajadusi ja nende täitmiseks võimalikku andmevahetust, mis on sisendiks detailanalüüsile ja võivad detailides muutuda.
Alamteema Vajadus Andmevahetus
Ressursside loetelu näitamine
Logistikuna soovin näha kõikide arves olevate ressursside loetelu, kui Sündmuste
halduses pole sündmust valitud, järgmiste ressursi andmetega: - ressursi kutsung;
- ressursi liik; - ressursi asukoht - aadress/vabatekstiline
märkus sõltuvalt ressursi olekust; - ressursi olek.
- Valdkonna Service-d küsivad oma valdkonna
registrist arves olevate ressursside loetelu, salvestavad saadud
ressursside andmed oma cache-i ja
uuendavad cache-i jooksvalt valdkonna registrist SSE-ga
saadud andmetega; - Service-d edastavad
ressursside algandmed (vastavalt UI päringule) ja SSE-ga saadud
ressursside uuendused UI-le, mis näitab andmed soovitud kujul
välja.
Logistikuna soovin näha ressursi komplekteerituse detailandmeid, et teha
paremini ressursside kasutamisega seotud otsuseid või võtta vajadusel ressursiga
ühendust. Andmestik erineb valdkonniti/liigiti, võib sisaldada näiteks järgmisi andmeid:
- meeskonna liikmete arv ja erivõimekused; - ressursi reageerimisaeg ja -kaugus ning
ümberistumise vajadus; - meeskonnavanem ja tema kontaktid (kõne- ja raadioside numbrid);
- sõiduki (mobiilsete) seadmete numbrid; - vabatekstiline lisainfo.
Logistikuna soovin, et ressursside loetelu
oleks ajakohane ja uueneks muudatuste korral automaatselt.
Logistikuna soovin filtreerida ressursside loetelu peamiste parameetrite alusel:
- piirkond (Põhja, Lõuna, Ida, Lääne); - valdkond (Kiirabi, Pääste);
- saadavus (Vabad, Hõivatud).
Saadavuse valikud on üldistatud ressursi olekute pealt:
- Vaba: Kodus, Lahkun vaba, Eemal vaba, Annulleeritud. - Hõivatud: Teatamine (raadio teel),
Väljasõit (raadio teel), Kohal, Haiglasse, Lahkun hõivatud, Eemal hõivatud, Vastu võetud.
Logistikuna soovin kasutada vabateksti otsingut, et leida konkreetne ressurss tema kutsungi või tüübi järgi.
Ressursside
olekute muutmine
Logistikuna soovin muuta ressursi olekut,
kui ressurss ei saa seda mingil põhjusel ise teha ja palub minul olekut muuta.
Ressursi olek muutub ka ressursile
väljasõidukorralduse andmisel/ annulleerimisel, aga need on kirjeldatud allpool eraldi vastavates alamteemades.
- UI saadab vastava
valdkonna Service-i kaudu valdkonna
registrisse ressursi oleku ja/või põhjuse muudatuse;
- Service edastab registrist saadud
vastuse UI-le, mis näitab andmed soovitud kujul välja.
Logistikuna soovin lisada ressursile oleku põhjuse. Põhjus on vabatekstiline märkus (nt "koolis õppusel" vmt), mida logistikud
näevad ressursi juures loetelus ja saavad teha paremini ressursside kasutamisega
seotud otsuseid.
Logistikuna soovin ressursi oleku muutmisel näha valikus ainult lubatud olekut/olekuid.
Ressursi olekutel on loogiline järjekord, mida rakendus peab muutmisel arvestama
(valdkonniti/liigiti erineb teatud määral). Nt kiirabi ressursi puhul saab 'Välja' olekule järgneda 'Kohal' olek, aga ei saa järgneda
koheselt 'Haiglasse' olek.
Väljasõiduplaani näitamine
Logistikuna soovin Sündmuse halduses sündmuse valimisel näha väljasõiduplaani
päises valitud sündmuse - valdkondade prioriteeti ja tüüpjuhtumit; - inimressursi vajaduste liiki ja kogust.
- UI kuulab SOS Service-i kaudu SOS
serverist SSE-ga laekuvaid sündmuse event-e;
- Kui tuleb event sündmuse valimise
kohta, siis UI küsib Ambulance ja/või Rescue Service-te
kaudu valdkonna registritest
väljasõiduplaani ja alternatiivsed ressursid; - Service-d edastavad
registrist vastuseks
Logistikuna soovin Sündmuse halduses
sündmuse valimisel näha automaatselt arvutatud ja täidetud väljasõiduplaani kiirabi
ja pääste valdkonna ressursside jaoks.
Väljasõiduplaan sisaldab sündmuse ressursivajadusi ja nende katmiseks
pakutavaid ressursse. Ressursivajadused näitavad, kui palju ja mis liiki ressursse on tarvis sündmusele vastavalt
selle ohuhinnangutele ja asukohale.
Logistikuna soovin väljasõiduplaani vaadates kiiresti aru saada, kui mingit ressursivajadust ei õnnestunud automaatselt
katta, et teaksin otsida vajalikku ressurssi juurde.
saadud väljasõiduplaani ja alternatiivsed ressursid UI-le, mis
näitab andmed soovitud kujul välja.
Logistikuna soovin väljasõiduplaanis näha
ressursi andmetes (lisaks ressursside loetelus kirjeldatud andmetele) ressursi ajalist
kaugust ja kilometraaži sündmuse asukohast.
Logistikuna soovin väljasõiduplaanis näha ressursi juures lisainfot, mis liiki
ressursivajaduse katmiseks on ressurss pakutud.
Ressursivajadus võib olla määratud ’või’
tingimusega. Näiteks tarvis on 1 tehnilist ressurssi liigiga põhiauto või tulekustutusauto või vabatahtlik paakauto. Logistikuna soovin väljasõiduplaanis näha ressursi juures lisainfot, kui vastav ressurss on pakutud plaani ainult inimressursi
vajaduse täitmiseks.
Väljasõiduplaani reeglites on võimalik lisaks tehnilistele liikidele määrata ka inimressursi
vajadused. Nt kõrgusest/sügavusest päästmisel on tarvis nööripääste erivõimekusega päästjaid. Sellest tulenevalt
võib süsteem väljasõiduplaani pakkuda ressursse ainult konkreetse erivõimekuse
täitmiseks.
Logistikuna soovin väljasõiduplaanis näha ressursse grupeerituna valdkonna järgi ning grupi loetelusid vajadusel kokku/lahti
kerida.
Sõltuvalt olukorrast võib komplekssündmusega tegeleda üks või kaks
logistikut (mõnikord tegeleb üks logistik nii kiirabi kui pääste ressurssidega; teinekord tegeleb üks logistik kiirabi ressurssidega,
teine pääste ressurssidega).
Logistikuna soovin, et väljasõiduplaani pakutud ressursside loetelu oleks ajakohane
ja uueneks muudatuste korral automaatselt.
Ambulance / Rescue Service-d edastavad
valdkonna registrist
SSE-ga saadud uuendatud ressursi andmed UI-le, mis
näitab andmed soovitud kujul välja.
Alternatiivsete
ressursside näitamine
Logistikuna soovin lisaks väljasõiduplaanile
näha ka kiirabi ja pääste valdkonna alternatiivsete ressursside loetelu, mis
sisaldab väljasõiduplaani ressursivajaduse katmiseks järgmisi parimaid alternatiive.
UI saab alternatiivsed
ressursid koos väljasõiduplaaniga ja
näitab need soovitud kujul välja.
Logistikuna soovin alternatiivsete ressursside loetelus näha ressursi andmetes
(lisaks ressursside loetelus kirjeldatud andmetele) ressursi ajalist kaugust ja
kilometraaži sündmuse asukohast.
Logistikuna soovin alternatiivsete ressursside loetelus näha ressursse grupeerituna valdkonna järgi ning grupi
loetelusid vajadusel kokku/lahti kerida.
Logistikuna soovin filtreerida alternatiivsete ressursside loetelu peamiste parameetrite
alusel: - piirkond (Põhja, Lõuna, Ida, Lääne); - valdkond (Kiirabi, Pääste);
- saadavus (Vabad, Hõivatud).
Logistikuna soovin, et alternatiivsete ressursside loetelu oleks ajakohane ja
uueneks muudatuste korral automaatselt.
Ambulance / Rescue Service-d edastavad
valdkonna registrist SSE-ga saadud
uuendatud ressursi andmed UI-le, mis näitab andmed soovitud
kujul välja. Sündmusega seotud politsei
ressursside näitamine
Logistikuna soovin Sündmuse halduses sündmuse valimisel näha sündmusega
seotud politsei ressursse. Politsei ressursside juhtimine ja
ressursivajaduse määramine toimub PPA infosüsteemis. Küll aga peab Häirekeskuse
logistik nägema sündmusega seotud politsei ressursse (mingeid tegevusi ressursiga ei saa teha).
- UI kuulab SOS Service-i kaudu SOS
serverist SSE-ga laekuvaid sündmuse event-e;
- Kui tuleb event politsei valdkonnaga
sündmuse valimise kohta, siis UI küsib Police Service-lt
sündmusega seotud politsei ressursse;
- Police Service otsib
Logistikuna soovin näha politsei ressursi
andmetes (lisaks ressursside loetelus kirjeldatud andmetele) ressursi ajalist
kaugust ja kilometraaži sündmuse asukohast.
enda cache-st valitud sündmusega seotud ressursse;
- Seotud ressursside leidmisel edastab
Service ressurssid UI- le, mis näitab andmed soovitud kujul välja.
Logistikuna soovin, et sündmusega seotud politsei ressursside loetelu oleks ajakohane ja uueneks muudatuste korral automaatselt.
Police Service edastab valdkonna registrist SSE-ga saadud
uuendatud ressursi andmed UI-le, mis
näitab andmed soovitud kujul välja.
Väljasõiduplaani muutmine
Logistikuna soovin eemaldada väljasõiduplaanist ressursivajadust katva
ressursi, kui tahan seda asendada muu ressursiga või üldse vastava ressursivajaduse
tühistada.
Kui ressurss on juba saanud väljasõidukorralduse, siis tuleb see esmalt annulleerida.
- UI saadab vastava valdkonna Service-i
kaudu valdkonna registrisse
väljasõiduplaani ressursi eemaldamise; - Service edastab
registrist vastuseks saadud väljasõiduplaani
ja alternatiivsed ressursid UI-le, mis näitab andmed soovitud
kujul välja.
Logistikuna soovin väljasõiduplaanist
eemaldatud ressurssi näha alternatiivsete ressursside loetelus, kui mul peaks olema
vajadus seda uuesti kiirelt kasutada.
Logistikuna soovin, et pärast ressursi eemaldamist väljasõiduplaanist jääks vastav
ressursivajadus katmata (seda ei täidetaks automaatselt uue ressursiga).
Logistikuna soovin tühistada väljasõiduplaanis katmata ressursivajaduse.
- UI saadab vastava valdkonna Service-i
kaudu valdkonna registrisse
väljasõiduplaani ressursivajaduse tühistamise;
- Service edastab registrist vastuseks
saadud väljasõiduplaani ja alternatiivsed ressursid UI-le, mis
näitab andmed soovitud kujul välja.
Logistikuna soovin taastada väljasõiduplaanis eelnevalt tühistatud ressursivajaduse.
- UI saadab vastava valdkonna Service-i kaudu valdkonna
registrisse väljasõiduplaani
ressursivajaduse taastamise; - Service edastab
registrist vastuseks saadud väljasõiduplaani
ja alternatiivsed ressursid UI-le, mis näitab andmed soovitud
kujul välja. Logistikuna soovin täita väljasõiduplaanis katmata ressursivajaduse lisades sobiva
ressursi alternatiivsete või kõikide ressursside loetelust.
- UI saadab vastava valdkonna Service-i
kaudu valdkonna registrisse ressursi
lisamise väljasõiduplaani; - Service edastab
registrist vastuseks saadud väljasõiduplaani ja alternatiivsed
ressursid UI-le, mis näitab andmed soovitud
kujul välja.
Logistikuna soovin suurendada
väljasõiduplaani ressursivajadust lisades täiendava ressursi alternatiivsete või kõikide ressursside loetelust.
Logistikuna soovin väljasõiduplaanis näha
ressursi/vajaduse juures märkust ’Lisa’ (tekst/ikoon vmt), kui tegemist on käsitsi
lisatud ressursivajadusega.
Näiteks reeglite alusel on tarvis kaks põhiautot, aga konkreetse sündmuse raames palutakse sündmuskohalt saata ka kolmas
põhiauto.
Logistikuna soovin näha alternatiivse ressursi juures märkust ’Kiirem ressurss’
(tekst/ikoon vmt), kui selle kohalejõudmise aeg sündmuskohale on lühem sama liiki
väljasõiduplaanis oleva ressursi omast.
UI analüüsib väljasõiduplaanis ja
alternatiivsete ressursside loetelus
olevate ressursside kohalejõudmise aegu uuenduste saamisel ja
selle alusel näitab vajadusel vastavat
märkust.
Logistikuna soovin värskendada väljasõiduplaanis ja alternatiivsete ressursside loetelus pakutavaid ressursse
kõikide/ühe valdkonna kaupa, kui ressursside olekud on vahepeal muutunud.
Samad tegevused nagu väljasõiduplaani ja alternatiivsete
ressursside näitamiseks sündmuse valimisel.
Logistikuna soovin käivitada väljasõiduplaani ja alternatiivsete ressursside ümberarvutamise algsete
ressursivajadustega kõikide/ühe valdkonna kaupa, kui muutsin vahepeal
ressursivajadusi käsitsi.
- UI küsib vastava valdkonna Service-i kaudu valdkonna
registritest väljasõiduplaani
ümberarvutamist; - Service edastab registrist vastuseks
saadud väljasõiduplaani ja alternatiivsed
ressursid UI-le, mis näitab andmed soovitud kujul välja.
Logistikuna soovin, et väljasõiduplaan ja alternatiivsete ressursside loetelu uueneks automaatselt, kui sündmuse andmete
muutumise tõttu (nt ohuhinnangute ja/või asukoha uuendus) rakenduvad uued
väljasõiduplaani reeglid.
- Valdkonna register, mida muudatus mõjutas, saadab
valdkonna Service-le uuendatud
väljasõiduplaani ja alternatiivsed ressursid SSE-ga;
- Service edastab SSE- ga saadud
väljasõiduplaani ja alternatiivsed ressursid UI-le, mis näitab
andmed soovitud kujul välja.
Logistikuna soovin näha korralduse saanud ressursi juures märkust ’Üleliigne’ (tekst/ikoon vmt), kui sündmuse andmete
muutumise tulemusena ei ole vastav ressursivajadus enam vajalik.
Logistikuna soovin vajadusel aktsepteerida
üleliigse ressursi. Aktsepteerimise tulemusena eemaldatakse ressursilt tunnus, et see on üleliigne.
Logistik võib ka ressursi annulleerida ja
seejärel tühistada vajaduse.
- UI saadab vastava
valdkonna Service-i kaudu valdkonna registrisse
ressursivajaduse aktsepteerimise;
- Service edastab registrist vastuseks saadud väljasõiduplaani
ja alternatiivsed ressursid UI-le, mis
näitab andmed soovitud kujul välja.
Väljasõidu- korralduse
andmine
Logistikuna soovin anda väljasõidukorralduse väljasõiduplaanis
olevatele ressurssidele, kes ei ole veel
- UI saadab vastavate valdkonna Service-te
kaudu valdkonna
korraldust saanud, kõikide/ühe valdkonna kaupa.
registrisse korralduse andmise; - Service-d edastavad
registrist saadud vastuse UI-le, mis
näitab andmed soovitud kujul välja.
Logistikuna soovin anda
väljasõidukorralduse üksikule ressursile väljasõiduplaanis, kes ei ole veel korraldust saanud.
Logistikuna soovin üksuse alarmeerimise algatamist, kui väljasõidukorralduse saanud ressursside hulgas oli 'Kodus' olekus
ressursse.
Alarmeerimise rakendusele (Alarm UI) andmete edastamise
lahendus lepitakse kokku detailanalüüsi
käigus.
Logistikuna soovin teavitust, kui ressurss ei saanud väljasõidukorraldust kätte ühegi kanali kaudu, et proovida ressurssiga
ühendust saada kõne-/raadioside teel.
Teavitus võib olla vajalik ka teistele sama piirkonna logistikutele, kui asendatakse
üksteist pauside ajal.
- Valdkonna register, mille ressurss ei saanud korraldust, saadab
valdkonna Service-le vastava teavituse SSE-
ga; - Service edastab SSE- ga saadud teavituse UI-
le, mis näitab andmed soovitud kujul välja.
Logistikuna soovin teavitust, kui ressurss ei
ole reageerinud määratud aja jooksul pärast väljasõidukorralduse andmist, et proovida ressurssiga ühendust saada kõne-/raadioside
teel.
Teavitus võib olla vajalik ka teistele sama piirkonna logistikutele, kui asendatakse üksteist pauside ajal.
- Valdkonna register,
mille ressurss ei ole reageerinud, saadab valdkonna Service-le
vastava teavituse SSE- ga;
- Service edastab SSE- ga saadud teavituse UI- le, mis näitab andmed
soovitud kujul välja.
Väljasõidu- korralduse
annulleerimine
Logistikuna soovin annulleerida sündmuselt väljasõidukorralduse saanud ressursid
kõikide/ühe valdkonna kaupa.
- UI saadab vastavate valdkonna Service-te
kaudu valdkonna registrisse ressursi oleku muudatuse;
- Service-d edastavad registrist saadud
vastuse UI-le, mis näitab andmed soovitud kujul välja.
Logistikuna soovin annulleerida sündmuselt üksiku väljasõidukorralduse saanud ressursi.
Väljasõiduplaani, alternatiivsete ressursside ja
politsei ressursside
eemaldamine
Logistikuna soovin Sündmuse halduses sündmuse valiku eemaldamisel näha kõikide ressursside loetelu.
Väljasõiduplaani, alternatiivsete ressursside ja sündmusega seotud politsei ressursside loetelude blokid tuleb eemaldada ja näidata
kasutajale uuesti nö avavaadet, kus on kõikide ressursside loetelu.
- UI kuulab SOS Service-le SOS serverist SSE-ga
laekuvaid sündmuse event-e;
- Kui tuleb event kasutaja poolt sündmuse valiku
eemaldamise/sündmuse lõpetamise kohta, siis
UI uuendab andmeid ja näitab ainult kõikide ressursside loetelu.
Ressursside jälgimine
Logistikuna soovin märkida ühe või mitu ressurssi endale jälgimisele, kui mul on tarvis kasutada jälgitavat ressurssi järgmisel
sündmusel.
Näiteks madalama prioriteediga kiirabi sündmusel on väljasõidukorralduse andmise aeg pikem ja võib oodata ressursi
vabanemist, mis on sündmuse registreerimise hetkel seotud eelneva sündmusega.
Logistikuna soovin näha, millised ressursid on mul jälgimisel.
Logistikuna soovin näha teavitust, kui minul jälgimisel olev ressurss vabaneb eelnevalt
sündmuselt.
Logistikuna soovin eemaldada ressurssi jälgimiselt.
Sündmuse
andmete avamine Sündmuse
halduses
Logistikuna soovin ressursi andmetest
sündmuse valimisel näha vastavat sündmust valituna ka Sündmuse halduses (SOS
veebirakenduses), sh kaardil koos ressursside ja nende teekondadega.
UI saadab SOS Service-
i kaudu SOS serverisse sündmuse valimise
event-i.
Vaikeseadete salvestamine ja
pärimine
Logistikuna soovin, et süsteem jätaks filtrites tehtud valikud meelde ja uuesti sisse
logides saaksin jätkata eelnevate seadistustega.
- Avamisel UI küsib SOS Service-i kaudu
SOS serverist kasutaja vaikeseaded;
- Filtrite valikute muutmisel saadab UI SOS Service-i kaudu
SOS serverile kasutaja vaikeseadete
uuendused.
3.4. UI disaini pildid
UI disaini näidispildid on mõeldud visualiseerimaks funktsionaalsusi. Pildid ei kata kõiki eelpool kirjeldatud vajadusi.
Pilt 1 – Kõikide ressursside loetelu, kui sündmust pole valitud.
Pilt 2 – Filtrid ja otsinguväli ressursside loetelu kohal.
Pilt 3 – Ressursi oleku muutmine (ilma põhjuse lisamiseta).
Pilt 4 – Väljasõiduplaan, alternatiivsete ja kõikide ressursside loetelud, kui sündmus on valitud.
Pilt 5 – Väljasõiduplaan ja alternatiivsete ressursside loetelu, kui on valitud ühe valdkonna (kiirabi) sündmus.
Pilt 6 – Väljasõiduplaan ja alternatiivsete ressursside loetelu koos valdkonna grupeerimisega, kui
on valitud kiirabi ja pääste valdkondade komplekssündmus.
Pilt 7 – Filtrid alternatiivsete ressursside loetelu kohal.
Pilt 8 – ’Prügikasti’ ikoon rea lõpus ressursi eemaldamiseks väljasõiduplaanist.
Pilt 9 – Katmata ressursivajadus ja ’Prügikasti’ ikoon rea lõpus ressursivajaduse tühistamiseks väljasõiduplaanis.
Pilt 10 – ’Lisa’ ikoon rea alguses ressursi (vajaduse) lisamiseks väljasõiduplaani alternatiivsete või kõikide ressursside loetelus.
Pilt 11 – Alternatiivsete ressursside loetelus kiirema ressursi märkuse näitamine.
Pilt 12 – ’Saada kõik ressursid välja’ nupp kõikide valdkondade ressurssidele väljasõidukorralduse andmiseks.
Pilt 13 – ’Saada kõik kiirabiautod’ ja ’Saada kõik päästeautod’ nupud valdkonna kaupa ressurssidele väljasõidukorralduse andmiseks.
Pilt 14 – ’Anna väljasõidukorraldus’ ikoon rea ees üksikule ressursile väljasõidukorralduse andmiseks.
Pilt 15 – ’Tühista abi’ nupud kõikide/eraldi valdkondade ressursside väljasõidukorralduse annulleerimiseks.
Pilt 16 – ’Annulleerimise’ ikoon rea alguses üksiku ressursi väljasõidukorralduse
annulleerimiseks.
Pilt 17 – Logistiku rakenduste layout 3 QHD monitoriga
3.5. Rakendusserverite teenused
Vastavalt eelanalüüsile on hankija praeguse parima teadmise järgi tarvis realiseerida allolevas tabelis loetletud teenused. Teenused, kus on täidetud veerg ’Teenus’, on käesolevaks ajaks
Kiirabi ressursside registris ja SOS serveris realiseeritud. Olemasolevate teenuste spetsifikatsioon/SSE sõnumite näited on toodud lisas 2.1 „SOS SSE sõnumite näited ja Kiirabi
ressursside registri REST teenuste spetsifikatsioon“.
Hankija praeguse parima teadmise järgi valmivad ülejäänud Kiirabi ressursside registri teenused 01.10.2024 kuupäevaks. Pääste, Politsei ressursside registrite ja SOS serveri teenused 01.01.2025
kuupäevaks.
Hankija täiendab vajadusel rakendusserverite teenuseid vastavalt detailanalüüsi tulemusele.
Selgitus Tüüp Teenus Teenust pakkuv
rakendusserver
1. Registri spetsiifiliste
klassifikaatorite (enumite) pärimine
REST GET /rest/v1/enums Kiirabi, Pääste ja
Politsei ressursside register
2. Haiglate pärimine REST GET /rest/v1/hospital Kiirabi register
3. Algne ressursside loetelu pärimine
REST GET /rest/v1/resource Kiirabi, Pääste ja Politsei ressursside
register
4. Ressursi oleku/põhjuse muutmine, va väljasõidukorralduse andmine
REST POST /rest/v1/resource/ setStatus
Kiirabi ja Pääste ressursside register
5. Väljasõiduplaani ja
alternatiivsete ressursside pärimine
REST GET /rest/v1/dispatchPlan Kiirabi ja Pääste
ressursside register
6. Väljasõiduplaani käsitsi ressursi lisamine katmata ressursivajaduse
täitmiseks või uue ressursivajaduse lisamiseks
REST POST /rest/v1/dispatchPlan/ addResource
Kiirabi ja Pääste ressursside register
7. Väljasõiduplaanist ressursi
eemaldamine
REST POST /rest/v1/dispatchPlan/
removeResource
Kiirabi ja Pääste
ressursside register
8. Väljasõiduplaani ressursivajaduse tühistamine
REST POST /rest/v1/dispatchPlan/ cancelResourceNeed
Kiirabi ja Pääste ressursside register
9. Väljasõiduplaani tühistatud
ressursivajaduse taastamine
REST POST /rest/v1/dispatchPlan/
restoreResourceNeed
Kiirabi ja Pääste
ressursside register
10. Väljasõiduplaani ja
alternatiivsete ressursside käsitsi ümberarvutamine
REST POST /rest/v1/dispatchPlan/
recalculate
Kiirabi ja Pääste
ressursside register
11. Väljasõidukorralduse andmine REST POST /rest/v1/resource/ alarm
Kiirabi ja Pääste ressursside register
12. ’Lisa’ ressursivajaduse
aktsepteerimine, kui sündmuse andmete muutumise tulemusena
arvestatakse väljasõiduplaani uued ressursivajadused
REST POST /rest/v1/dispatchPlan/
acceptResourceNeed
Kiirabi ja Pääste
ressursside register
13. Ressursi andmete ja oleku (sh sündmusega seose) uuendused
Üldine SSE
Kiirabi, Pääste ja Politsei ressursside
register
14. Väljasõiduplaani ja alternatiivsete ressursside
kohalejõudmise aja / kauguse uuendused ressursside asukohtade
uuenemisel
Isiklik SSE
Kiirabi ja Pääste ressursside register
15. Sündmusega seotud politsei ressursside kohalejõudmise aja /
Isiklik SSE
Politsei ressursside register
kauguse uuendused ressursside asukohtade uuenemisel
16. Väljasõiduplaani ja
alternatiivsete ressursside uuendused sündmuse andmete muutumisel
Isiklik
SSE
Kiirabi ja Pääste
ressursside register
17. Alertid, kui ressurss pole
saanud väljasõidukorraldust või pole reageerinud määratud aja
jooksul
Isiklik
SSE
Kiirabi ja Pääste
ressursside register
18. Resource UI's ressursi andmetest sündmuse valimisel sündmuse avamine SOS
veebirakenduses
REST SOS server
19. SOS veebirakenduses sündmuse valimine ja valiku eemaldamine
Isiklik SSE
SOS_EVENT SOS server
20. Kasutaja vaikeseadete pärimine REST SOS server
21. Kasutaja vaikeseadete uuendamine
REST SOS server
4. Üldised nõuded meeskonnaliikmetele
Pakkuja esitab meeskonnaliikmete andmed, täites iga nõutud meeskonnaliikme kohta etteantud
CV vormi. Esitatud andmed peavad võimaldama hankijal kontrollida meeskonnaliikmete vastavust esitatud nõuetele ja hankija kontrollib tingimuste täitmist eelkõige esitatud andmete alusel:
1. Kui tingimuses on nõutud (kõrg)haridus, peab see olema lõpetatud. Hankija arvestab
kvalifikatsiooniraamistiku (https://www.hm.ee/et/tegevused/kvalifikatsioonid/kvalifikatsiooniraamistik) vastavaid tasemeid.
Arvestatakse ka välisriikide vastavat haridust.
2. Kui tingimuses ei ole nõutud töökogemust projektis, võib viidata ka töösuhtele. Projektiks ei loeta (varasemat) töösuhet.
3. Töökogemuse nõude täitmisena ei arvestata vabakutselisena tegutsemist, v.a kui selle perioodi
osas on viidatud konkreetsetele projektidele, millel on tellijaks kolmas isik.
4. Töökogemuse nõude täitmisena ei arvestata täiendkoolitust või koolitööd.
5. Kui tingimuses on nõutud konkreetse kestusega töökogemust, siis (ka osaliselt) samaaegsete projektide kattuvaid aegu mitmekordselt ei arvestata. St sama ajaperioodi eest ei ole võimalik omandada mitmekordset kogemust.
6. Projektide andmete esitamisel tuleb iga projekti kohta esitada vähemalt: projekti nimi ja lühikirjeldus, projekti algus- ja lõppaeg kalendrikuu täpsusega, vajadusel spetsialisti kogemus
tundides nõutud ajavahemikus, projekti tellinud asutus ja tellija kontaktisik ning riigihanke korral märkida riigihanke number.
7. Viidatud projektid peavad olema pakkumuse esitamise ajaks nõutud mahus/ kompetentsi osas
täidetud ja tellija poolt vastu võetud.
8. Projekti tellija peab olema kolmas isik, st projekti tellijaks ei saa olla (ühis)pakkuja ise või pakkumusse hõlmatud alltöövõtja või (varasemas) töösuhtes tööandjale endale teostatud töö.
Selliseid projekte on lubatud esitada üldise töökogemuse nõude täitmiseks või näitlikustamiseks.
9. Hankijal on õigus pöörduda tellija poole esitatud andmete kontrollimiseks.
10. Kui mõne nõutud kompetentsi/kogemuse osas on andmed esitamata või viitab nende andmete mitteesitamise põhjenduseks konfidentsiaalsusele ja/või nende alusel ei ole võimalik järeldada,
kas nõue on täidetud, on hankijal õigus tunnistada pakkumus mittevastavaks. Hankija ei avalda pakkumuses esitatud andmeid.
11. Juhul, kui lepingu täitmise käigus meeskonnas liikmeid asendatakse või täiendatakse, siis
peab isik nõutud tingimustele vastama sellise taotluse esitamise ajaks.
12. Kui see on objektiivselt võimalik, tuleb lugeda tingimusi täiendatuks märkega "või samaväärne". Samaväärsuse tõendamise kohustus lasub pakkujal, kes sellele tugineda soovib.
13. Tellijal on õigus CV-s esitatud informatsiooni kontrollida ja täpsustada, kuid juhul, kui mõnd nõutud kogemust ei ole CV-s esitatud, lähtub hankija seisukohast, et pakkuja on vastava kogemuse
kohta esitanud ammendavad andmed, st vastav kogemus meeskonnaliikmel puudub.
5. Meeskonna koosseis
5.1. Kohustuslikud võtmerollid vastavalt vastavustingimustele
5.1.1. Süsteemianalüütik (üks rollitäitja)
5.1.2. UX/UI disainer (üks rollitäitja)
5.1.3. C#/WPF vanemarendaja (üks rollitäitja)
5.1.4. Testija (üks rollitäitja)
5.2. Soovituslikud rollid
5.2.1. C#/WPF arendaja
5.2.2. Projektijuht
Lisa xxx
SOS serverist SSE sõnumi näidis sündmuse valimise kohta
{
"SOS_EVENT": [
{
"tabEnum": "RESSURSS",
"timestamp": 1723209891301,
"status": "OPENED",
"sosEventId": "139446",
"sosEventVersion": 16,
"sosEventNo": "2408080001",
"aikEventId": null,
"ambulance": {
"active": true,
"event": {
"code": "32*",
"name": "LIIKLUSÕNNETUS",
"eventEnum":
"AIK_EVENT_AMBULANCE_TRAFFIC_ACCIDENT",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-09T13:24:51+0000"
},
"priority": {
"code": "PRIORITY_C",
"recommendedCode": "PRIORITY_C",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-09T13:24:51+0000"
},
"serviceStatus": "STATUS_OPEN_WITHOUT_RESOURCES",
"criterias": [
{
"active": true,
"criteriaId": "b513aa16-8eb0-4629-9a64-
2ca08304636d",
"criteriaAnswerId": "a2251556-c7cf-
47e4-9736-fb4123eeb4d8",
"originCriteriaId": null,
"originAnswerId": null,
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-
08T07:05:26+0000"
}
],
"eventHist": [],
"priorityHist": []
},
"rescue": {
"active": true,
"event": {
"code": "16F",
"name": "LIIKLUSÕNNETUS",
"eventEnum":
"AIK_EVENT_RESCUE_TRAFFIC_ACCIDENT",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-09T13:24:51+0000"
},
"priority": {
"code": "PRIORITY_1",
"recommendedCode": "PRIORITY_1",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-09T13:24:51+0000"
},
"serviceStatus": "STATUS_OPEN_WITHOUT_RESOURCES",
"criterias": [
{
"active": true,
"criteriaId": "095c8823-0397-4626-934e-
929eefd7cd34",
"criteriaAnswerId": null,
"originCriteriaId": null,
"originAnswerId": null,
"editorName": null,
"editorIdCode": null,
"lastUpdated": null
},
{
"active": false,
"criteriaId": "f2491ccb-9038-4a1d-9ea7-
bc4d11407477",
"criteriaAnswerId": "c8165f70-ffe7-
4986-afea-5ca08e7b9beb",
"originCriteriaId": null,
"originAnswerId": null,
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-
09T13:23:59+0000"
},
{
"active": true,
"criteriaId": "507474a1-92f1-4f40-921f-
93ec83d36359",
"criteriaAnswerId": "b8c23fa8-d346-
4e01-9845-b51211edc2ae",
"originCriteriaId": null,
"originAnswerId": null,
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-
09T13:23:57+0000"
}
],
"eventHist": [
{
"code": "20A",
"name": "ABI OSUTAMINE",
"eventEnum":
"AIK_EVENT_RESCUE_PROVISION_OF_AID",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-
09T13:23:36+0000"
}
],
"priorityHist": [
{
"code": "PRIORITY_1A",
"recommendedCode": "PRIORITY_1A",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-
09T13:23:36+0000"
}
]
},
"police": {
"active": true,
"event": {
"code": "B2",
"name": "LIIKLUSÕNNETUS
VIGASTATUTE/HUKKUNUTEGA",
"eventEnum":
"AIK_EVENT_POLICE_TRAFFIC_ACCIDENT_WITH_INJURED_DEAD_PEOPLE",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-09T13:24:51+0000"
},
"priority": {
"code": "PRIORITY_B",
"recommendedCode": "PRIORITY_B",
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-09T13:24:51+0000"
},
"serviceStatus": "STATUS_OPEN_WITHOUT_RESOURCES",
"criterias": [
{
"active": true,
"criteriaId": "70835929-3d6e-4734-b08f-
fa6926dc392c",
"criteriaAnswerId": null,
"originCriteriaId": "b513aa16-8eb0-
4629-9a64-2ca08304636d",
"originAnswerId": null,
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-
08T07:05:13+0000"
}
],
"eventHist": [],
"priorityHist": []
},
"editorName": "Nipi Tiri",
"editorIdCode": "47001010001",
"lastUpdated": "2024-08-09T13:24:35+0000"
}
]
}
SOS serverist SSE sõnumi näidis sündmuse valiku eemaldamise kohta
{
"SOS_EVENT": [
{
"tabEnum": "RESSURSS",
"timestamp": 1723210311387,
"status": "CLOSED",
"sosEventId": 139446
}
]
}
{
"SOS_EVENT": [
{
"tabEnum": "RESSURSS",
"timestamp": 1723210396695,
"status": "CLOSED",
"sosEventId": null
}
]
}
Kiirabi ressursside registri REST teenuste spetsifikatsioon
openapi: 3.0.1
info:
title: Kiirabi ressursid API
version: 0.1.0
servers:
- url: http://localhost:8079
- url: https://kares.hk.dev
- url: https://kares.hk.test
- url: https://kares.hk.sise
tags:
- name: enums
description: Enumid
- name: hospital
description: Haiglatega seotud teenused
- name: userSetting
description: Kasutaja seadetega seotud teenused
- name: resource
description: Ressursidega seotud teenused
- name: dispatchPlan
description: Väljasõiduplaaniga seotud teenused
paths:
/rest/v1/dispatchPlan:
get:
tags:
- dispatchPlan
summary: Väljasõiduplaani küsimine. Piiratud autenditud kasutajale
(smitTokenId'ga).
description: Väljasõiduplaani küsimine. Piiratud autenditud
kasutajale (smitTokenId'ga).
operationId: dispatchPlan/get/index
parameters:
- name: eventNo
in: query
description: Sündmuse number
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: dbe0334e-538a-4f7f-b7a5-3e3d88da099b
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
dispatchPlan/get/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/get/index:
value: |-
{
"dispatchPlanId" : 13,
"eventNo" : "1",
"eventVersion" : 0,
"dispatchRuleId" : "19ec9563-0eaf-45ad-b11a-
c66ab4e2ed54",
"dispatchRuleName" : "dispatchRuleName",
"preferredResourceStationIds" : null,
"resourceNeeds" : [ {
"active" : true,
"cancelled" : false,
"alarmed" : true,
"done" : false,
"extraResourceVehicleTypeEnum" :
"VEHICLE_TYPE_AMBULANCE",
"extraResourceVehicleTypeEnumText" :
"Arstibrigaad",
"resource" : {
"id" : 43,
"externalId" : null,
"name" : "NAME 2",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" :
"Arstibrigaad",
"stationId" : "STATION_ID",
"distanceMeters" : null,
"distanceSeconds" : null,
"lastTimeOnEvent" : null
}
}, {
"active" : true,
"cancelled" : false,
"alarmed" : true,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 5,
"amount" : 1,
"conditionEnum" : "CONDITION_OR",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_SISTER_BRIGADE"
}
}, {
"orderNo" : 2,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null,
"resource" : {
"id" : 42,
"externalId" : null,
"name" : "NAME 1",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Õebrigaad",
"stationId" : "STATION_ID",
"distanceMeters" : 20.0,
"distanceSeconds" : 20.0,
"lastTimeOnEvent" : null
}
} ],
"alternativeResources" : [ {
"id" : 13,
"externalId" : null,
"name" : "NAME 3",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Õebrigaad",
"distanceMeters" : 30.0,
"distanceSeconds" : 30.0,
"lastTimeOnEvent" : null
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
dispatchPlan/get/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"eventNo\" peab olema määratud",
"errorHeader" : "Väljasõiduplaani pärimine
ebaõnnestus!"
}
/rest/v1/enums:
get:
tags:
- enums
summary: Kõikide enumite pärimine
description: Kõikide enumite pärimine
operationId: enum/index
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-enums1492299693'
examples:
enum/index:
value: |-
{
"deviceTypeEnums" : {
"DEVICE_TYPE_EMAIL" : "E-mail",
"DEVICE_TYPE_EMAIL_CHIEF" : "E-mail autovanem",
"DEVICE_TYPE_MGIS" : "MGIS",
"DEVICE_TYPE_MOBILE" : "MOBIIL",
"DEVICE_TYPE_MOBILE_CHIEF" : "MOBIIL autovanem",
"DEVICE_TYPE_NUGIS" : "NUGIS",
"DEVICE_TYPE_TETRA" : "TETRA",
"DEVICE_TYPE_TETRA_VEHICLE" : "TETRA autojaam",
"DEVICE_TYPE_TETRA_CHIEF" : "TETRA autovanem",
"DEVICE_TYPE_TETRA_PERSON" : "TETRA käsijaam",
"DEVICE_TYPE_DERIVED" : "Tuletatud"
},
"resourceStatusEnums" : {
"RESOURCE_STATUS_ANNULLED" : "Annulleeritud",
"RESOURCE_STATUS_AWAY_BUSY" : "Eemal hõivatud",
"RESOURCE_STATUS_AWAY" : "Eemal vaba",
"RESOURCE_STATUS_AT_HOSPITAL" : "Haiglas",
"RESOURCE_STATUS_TO_HOSPITAL" : "Haiglasse",
"RESOURCE_STATUS_AT_HOME" : "Kodus",
"RESOURCE_STATUS_ON_SITE" : "Kohal",
"RESOURCE_STATUS_LEAVING_BUSY" : "Lahkun
hõivatud",
"RESOURCE_STATUS_LEAVING" : "Lahkun vaba",
"RESOURCE_STATUS_ALARMED" : "Teatamine",
"RESOURCE_STATUS_ALARMED_BY_RADIO" : "Teatamine
raadio teel",
"RESOURCE_STATUS_ACCEPTED" : "Vastuvõetud",
"RESOURCE_STATUS_DEPARTURE" : "Väljasõit",
"RESOURCE_STATUS_DEPARTURE_BY_RADIO" : "Väljasõit
raadio teel"
},
"eventStatusEnums" : {
"STATUS_DELETED" : "Kustutatud",
"STATUS_DRAFT" : "Mustand",
"STATUS_OPEN" : "Töös",
"STATUS_OPEN_WITHOUT_RESOURCES" : "Töös
ressursita",
"STATUS_OPEN_PARTLY" : "Töös osaliselt",
"STATUS_OPEN_WITH_RESOURCES" : "Töös ressursiga",
"STATUS_OPEN_RESOURCES_LEFT" : "Töös ressursid
lahkunud",
"STATUS_CLOSED" : "Lõpetatud",
"STATUS_ANNULLED" : "Annulleeritud"
},
"priorityEnums" : {
"PRIORITY_1" : {
"value" : "1",
"shortValue" : "1",
"orderNo" : 100,
"weight" : 100,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_1A" : {
"value" : "1A",
"shortValue" : "1A",
"orderNo" : 90,
"weight" : 90,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_2" : {
"value" : "2",
"shortValue" : "2",
"orderNo" : 110,
"weight" : 110,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_3" : {
"value" : "3",
"shortValue" : "3",
"orderNo" : 120,
"weight" : 120,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_4" : {
"value" : "4",
"shortValue" : "4",
"orderNo" : 130,
"weight" : 130,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_A" : {
"value" : "A",
"shortValue" : "A",
"orderNo" : 140,
"weight" : 140,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE" ]
},
"PRIORITY_B" : {
"value" : "B",
"shortValue" : "B",
"orderNo" : 150,
"weight" : 150,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE" ]
},
"PRIORITY_C" : {
"value" : "C",
"shortValue" : "C",
"orderNo" : 160,
"weight" : 160,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE" ]
},
"PRIORITY_D" : {
"value" : "D",
"shortValue" : "D",
"orderNo" : 170,
"weight" : 170,
"department" : [ "SERVICE_AMBULANCE" ]
},
"PRIORITY_INFO" : {
"value" : "Info",
"shortValue" : "I",
"orderNo" : 20,
"weight" : 20,
"department" : [ "SERVICE_POLICE" ]
},
"PRIORITY_CONSULTATION" : {
"value" : "Nõuanne",
"shortValue" : "N",
"orderNo" : 10,
"weight" : 10,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE", "SERVICE_RESCUE" ]
}
},
"areaEnums" : {
"AREA_EAST" : "Ida",
"AREA_WEST" : "Lääne",
"AREA_SOUTH" : "Lõuna",
"AREA_NORTH" : "Põhja"
},
"conditionEnums" : {
"CONDITION_AND" : "ja",
"CONDITION_OR" : "või"
}
}
/rest/v1/hospital:
get:
tags:
- hospital
summary: Haiglate päring. Piiratud autenditud kasutajale
(smitTokenId'ga).
description: Haiglate päring. Piiratud autenditud kasutajale
(smitTokenId'ga).
operationId: hospital/list
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: a1dfe644-0b99-4aae-99f1-fadb75ff3f80
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/HospitalResponse'
examples:
hospital/list:
value: |-
{
"total" : 10,
"list" : [ {
"id" : 1,
"version" : 0,
"name" : "HOSPITAL_0",
"code" : "CODE_0",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 2,
"version" : 0,
"name" : "HOSPITAL_1",
"code" : "CODE_1",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 3,
"version" : 0,
"name" : "HOSPITAL_2",
"code" : "CODE_2",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 4,
"version" : 0,
"name" : "HOSPITAL_3",
"code" : "CODE_3",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 5,
"version" : 0,
"name" : "HOSPITAL_4",
"code" : "CODE_4",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 6,
"version" : 0,
"name" : "HOSPITAL_5",
"code" : "CODE_5",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 7,
"version" : 0,
"name" : "HOSPITAL_6",
"code" : "CODE_6",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 8,
"version" : 0,
"name" : "HOSPITAL_7",
"code" : "CODE_7",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 9,
"version" : 0,
"name" : "HOSPITAL_8",
"code" : "CODE_8",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
}, {
"id" : 10,
"version" : 0,
"name" : "HOSPITAL_9",
"code" : "CODE_9",
"address" : null,
"addressWgsLongitude" : null,
"addressWgsLatitude" : null,
"areaEnum" : null,
"areaEnumText" : null,
"description" : null,
"deleted" : false,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:32+03",
"lastUpdated" : "2024-08-08T17:02:32+03"
} ]
}
/rest/v1/resource:
get:
tags:
- resource
summary: Ressurside päring (aktiivsete). Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Ressurside päring (aktiivsete). Piiratud autenditud
kasutajale
(smitTokenId'ga).
operationId: resource/list
parameters:
- name: id
in: query
description: Ressursi ID
required: false
schema:
type: string
- name: limit
in: query
description: "Lehekülgedeks jagamiseks, ühe lehekülje kirjete
arv. Number,\
\ vaike väärtus on 10 000"
required: false
schema:
type: string
- name: offset
in: query
description: "Lehekülgedeks jagamiseks, mitmendast kirjest
alates. Number,\
\ vaikimisi 0"
required: false
schema:
type: string
- name: sort
in: query
description: "Komadega eraldatud nimekiri väljade nimedest,
milledel alusel\
\ tuleb tulemus sorteerida. Vaikimisi `id`\n\rNt.
`sort=name,firstName`\
\ sorteerib tulemuse väljade `name` ja seejärel `firstName`
järgi."
required: false
schema:
type: string
- name: order
in: query
description: "Komadega eraldatud nimekiri, mis suunas eelnevalt
antud välju\
\ sorteerida - asc/desc (kasvavalt/kahanevalt). Vaikimisi
`asc`\n\rNt. `sort=name,firstName&order=asc,desc`\n\
\rTähendab, et esmalt sorteeritakse välja `name` kasvavalt ja
seejärel vä\
lja `firstName` kahanevas järjekorras."
required: false
schema:
type: string
enum:
- asc
- desc
- name: filter
in: query
description: "Või (OR) filtri tingimused. Kõiki välju, mis on
teenuse juures\
\ filtri tingimustena kirjeldatud on võimalik kasutada ka
omavahel kui VÕ\
I (OR) tingimusena.\n\rTingimused on teineteisest eraldatud
komaga (mitte\
\ `&` märgiga) ja väärtus järgneb koolonile (:) mitte võrdus
märgile (=).\n\
\rNt.
`filter=showToEveryone:true,showToUser:true,notificationTime:gt:2017-11-
01T12:00:00+03,notificationTime:lt:2017-11-01T12:00:00+03`\n\
\rTähendab - (\n\r 'showToEveryone' = true VÕI \n\r
'showToUser' = true\
\ VÕI \n\r 'notificationTime' > '2017-11-01T12:00:00+03' VÕI
\n\r 'notificationTime'\
\ < '2017-11-01T12:00:00+03'\n\r)"
required: false
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: 89c93eec-8a24-4fb7-aa58-7ffe69d64776
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ResourceResponse'
examples:
resource/list:
value: |-
{
"total" : 2,
"list" : [ {
"id" : 19,
"version" : 3,
"name" : "RESOURCE_NAME_1",
"active" : true,
"station" : "station",
"stationId" : "stationId",
"stationLongitude" : null,
"stationLatitude" : null,
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"areaEnum" : "AREA_WEST",
"areaEnumText" : "Lääne",
"responseRange" : null,
"responseTime" : null,
"externalId" : null,
"comment" : null,
"expiring" : false,
"validUntil" : null,
"sosVersion" : null,
"resourceLocation" : {
"id" : 19,
"version" : 0,
"deviceTypeEnum" : "DEVICE_TYPE_TETRA",
"deviceTypeEnumText" : "TETRA",
"locationTime" : null,
"longitude" : null,
"latitude" : null,
"speed" : null,
"direction" : null,
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"resourceStatus" : {
"id" : 19,
"version" : 0,
"resourceStatusEnum" :
"RESOURCE_STATUS_DEPARTURE",
"resourceStatusEnumText" : "Väljasõit",
"statusNote" : null,
"lastEventDate" : null,
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03",
"devices" : [ {
"id" : 63,
"version" : 0,
"resourceId" : 19,
"resourceMemberId" : null,
"externalId" : "RESOURCE_NAME_1",
"deviceTypeEnum" : "DEVICE_TYPE_MGIS",
"deviceTypeEnumText" : "MGIS",
"deviceLocation" : {
"id" : 9,
"version" : 0,
"locationTime" : "2022-10-17T16:56:00+03",
"longitude" : 25.363565,
"latitude" : 58.456746,
"speed" : 5.0,
"direction" : 33.0,
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
}, {
"id" : 61,
"version" : 0,
"resourceId" : 19,
"resourceMemberId" : 1,
"externalId" : "2500001",
"deviceTypeEnum" : "DEVICE_TYPE_TETRA",
"deviceTypeEnumText" : "TETRA",
"deviceLocation" : {
"id" : 7,
"version" : 0,
"locationTime" : null,
"longitude" : null,
"latitude" : null,
"speed" : null,
"direction" : null,
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
}, {
"id" : 62,
"version" : 0,
"resourceId" : 19,
"resourceMemberId" : 1,
"externalId" : "[email protected]",
"deviceTypeEnum" : "DEVICE_TYPE_EMAIL",
"deviceTypeEnumText" : "E-mail",
"deviceLocation" : {
"id" : 8,
"version" : 0,
"locationTime" : null,
"longitude" : null,
"latitude" : null,
"speed" : null,
"direction" : null,
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
} ],
"events" : [ {
"id" : 4,
"version" : 0,
"eventId" : 9,
"resourceId" : 19,
"radio" : false,
"alarmedDate" : null,
"acceptedDate" : null,
"departureDate" : "2024-08-08T17:02:35+03",
"onSiteDate" : null,
"hospitalDate" : null,
"hospitalId" : null,
"hospitalName" : null,
"leavingDate" : null,
"homeDate" : null,
"annulledDate" : null,
"additionalData" : null,
"stationAlarmedStartDate" : null,
"stationAlarmedEndDate" : null,
"estimatedOnSiteArrivalTimeInSeconds" : null,
"active" : true,
"externalId" : null,
"removedFromSync" : false,
"statusEnum" : "RESOURCE_STATUS_DEPARTURE",
"statusEnumText" : "Väljasõit",
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
} ],
"members" : [ {
"id" : 1,
"version" : 2,
"resourceId" : 19,
"externalId" : "1158545",
"isChief" : true,
"active" : true,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
}, {
"id" : 2,
"version" : 0,
"resourceId" : 19,
"externalId" : "1158546",
"isChief" : false,
"active" : true,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
} ]
}, {
"id" : 20,
"version" : 1,
"name" : "RESOURCE_NAME_2",
"active" : true,
"station" : "station",
"stationId" : "stationId",
"stationLongitude" : null,
"stationLatitude" : null,
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE_SISTER_BRIGADE",
"vehicleTypeAmbulanceEnumText" : "Õebrigaad",
"areaEnum" : "AREA_WEST",
"areaEnumText" : "Lääne",
"responseRange" : null,
"responseTime" : null,
"externalId" : null,
"comment" : null,
"expiring" : false,
"validUntil" : null,
"sosVersion" : null,
"resourceLocation" : {
"id" : 20,
"version" : 0,
"deviceTypeEnum" : "DEVICE_TYPE_TETRA",
"deviceTypeEnumText" : "TETRA",
"locationTime" : null,
"longitude" : null,
"latitude" : null,
"speed" : null,
"direction" : null,
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"resourceStatus" : {
"id" : 20,
"version" : 0,
"resourceStatusEnum" :
"RESOURCE_STATUS_TO_HOSPITAL",
"resourceStatusEnumText" : "Haiglasse",
"statusNote" : null,
"lastEventDate" : null,
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03",
"devices" : [ {
"id" : 64,
"version" : 0,
"resourceId" : 20,
"resourceMemberId" : null,
"externalId" : "RESOURCE_NAME_2",
"deviceTypeEnum" : "DEVICE_TYPE_MGIS",
"deviceTypeEnumText" : "MGIS",
"deviceLocation" : {
"id" : 10,
"version" : 0,
"locationTime" : "2022-10-17T16:56:00+03",
"longitude" : 25.363565,
"latitude" : 58.456746,
"speed" : 5.0,
"direction" : 33.0,
"lastUpdated" : "2024-08-08T17:02:35+03"
},
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
} ],
"events" : [ {
"id" : 5,
"version" : 0,
"eventId" : 10,
"resourceId" : 20,
"radio" : false,
"alarmedDate" : null,
"acceptedDate" : null,
"departureDate" : null,
"onSiteDate" : null,
"hospitalDate" : "2024-08-08T17:02:35+03",
"hospitalId" : 21,
"hospitalName" : "name",
"leavingDate" : null,
"homeDate" : null,
"annulledDate" : null,
"additionalData" : null,
"stationAlarmedStartDate" : null,
"stationAlarmedEndDate" : null,
"estimatedOnSiteArrivalTimeInSeconds" : null,
"active" : true,
"externalId" : null,
"removedFromSync" : false,
"statusEnum" : "RESOURCE_STATUS_TO_HOSPITAL",
"statusEnumText" : "Haiglasse",
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
} ],
"members" : [ {
"id" : 3,
"version" : 0,
"resourceId" : 20,
"externalId" : "1258545",
"isChief" : true,
"active" : true,
"creatorSessionName" : "Nipi Tiri",
"creatorSessionIdCode" : "47001010001",
"editorSessionName" : "Nipi Tiri",
"editorSessionIdCode" : "47001010001",
"dateCreated" : "2024-08-08T17:02:35+03",
"lastUpdated" : "2024-08-08T17:02:35+03"
} ]
} ]
}
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
resource/list-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
/rest/v1/userSetting:
get:
tags:
- userSetting
summary: "Kasutajaseadete pärimine. Vajab autenditud kasutajat
(smitTokenId),\
\ kelle seadeid tagastatakse"
description: "Kasutajaseadete pärimine. Vajab autenditud kasutajat
(smitTokenId),\
\ kelle seadeid tagastatakse"
operationId: userSetting/index
parameters:
- name: typeEnum
in: query
description: Seadete tunnus
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: e19679d4-24a2-4f4a-881f-d9bf8dfe3f63
responses:
"204":
description: "204"
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
userSetting/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/rest-v1-userSetting486549215'
examples:
userSetting/index:
value: |-
{
"filter1" : "93d52191-a95a-4b96-acf8-357f64c52376",
"filter2" : [ "9d2b8929-c318-4ab3-9752-
fb4e0b1f4216", "51c11812-1c39-4d7f-b609-0ebed5ca7676", "570b2f2d-3cc5-
4773-965e-e295e025eeb6" ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
userSetting/index-notValid:
value: |-
{
"status" : 412,
"message" : "typeEnum pole lubatud väärtusega,
null"
}
/rest/v1/dispatchPlan/acceptResourceNeed:
post:
tags:
- dispatchPlan
summary: Ressursi vajaduse aktsepteerimine. Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Ressursi vajaduse aktsepteerimine. Piiratud autenditud
kasutajale
(smitTokenId'ga).
operationId: dispatchPlan/acceptResourceNeed/index
parameters:
- name: eventNo
in: query
description: Sündmuse number
required: true
schema:
type: string
- name: resourceNeedId
in: query
description: Ressursi vajaduse tunnus
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: 938de407-1dbc-4d67-aae9-ca4e9c2d8577
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/acceptResourceNeed/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/acceptResourceNeed/index:
value: |-
{
"dispatchPlanId" : 6,
"eventNo" : "1",
"eventVersion" : 0,
"dispatchRuleId" : null,
"dispatchRuleName" : null,
"preferredResourceStationIds" : null,
"resourceNeeds" : [ ],
"alternativeResources" : [ ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/acceptResourceNeed/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"resourceNeedId\" peab olema
määratud",
"errorHeader" : "Ressursi vajaduse aktsepteerimine
ebaõnnestus!"
}
/rest/v1/dispatchPlan/addResource:
post:
tags:
- dispatchPlan
summary: Ressursi lisamine vajadusele. Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Ressursi lisamine vajadusele. Piiratud autenditud
kasutajale (smitTokenId'ga).
operationId: dispatchPlan/addResource/index
parameters:
- name: eventNo
in: query
description: Sündmuse number
required: true
schema:
type: string
- name: resourceId
in: query
description: Ressursi tunnus
required: false
schema:
type: string
- name: resourceExternalId
in: query
description: Ressursi väline tunnus
required: false
schema:
type: string
- name: resourceName
in: query
description: Ressursi kutse
required: false
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: ed23b9a0-087f-4567-821e-9f458785b75e
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/addResource/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/addResource/index:
value: |-
{
"dispatchPlanId" : 7,
"eventNo" : "1",
"eventVersion" : 0,
"dispatchRuleId" : null,
"dispatchRuleName" : null,
"preferredResourceStationIds" : null,
"resourceNeeds" : [ {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null,
"resource" : {
"id" : 30,
"externalId" : null,
"name" : "NAME",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"stationId" : "STATION_ID",
"distanceMeters" : 5408.8,
"distanceSeconds" : 292.8,
"lastTimeOnEvent" : null
}
} ],
"alternativeResources" : [ {
"id" : 5,
"externalId" : null,
"name" : "NAME",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"distanceMeters" : 5408.8,
"distanceSeconds" : 292.8,
"lastTimeOnEvent" : null
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/addResource/index-notValid:
value: |-
{
"status" : 412,
"message" : "Ressursi lisamiseks peab olema
määratud kas resourceId, resourceExternalId või resourceName!",
"errorHeader" : "Ressursi lisamine ebaõnnestus!"
}
/rest/v1/dispatchPlan/cancelResourceNeed:
post:
tags:
- dispatchPlan
summary: Ressursi vajaduse eemaldamine. Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Ressursi vajaduse eemaldamine. Piiratud autenditud
kasutajale (smitTokenId'ga).
operationId: dispatchPlan/cancelResourceNeed/index
parameters:
- name: eventNo
in: query
description: Sündmuse number
required: true
schema:
type: string
- name: resourceNeedId
in: query
description: Ressursi vajaduse tunnus
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: eb5a6ab8-15e7-45f1-b143-d5c20ca2b5e9
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/cancelResourceNeed/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/cancelResourceNeed/index:
value: |-
{
"dispatchPlanId" : 10,
"eventNo" : "1",
"eventVersion" : 0,
"dispatchRuleId" : null,
"dispatchRuleName" : null,
"preferredResourceStationIds" : null,
"resourceNeeds" : [ {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 2,
"amount" : 1,
"conditionEnum" : "CONDITION_AND",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null,
"resource" : {
"id" : 34,
"externalId" : null,
"name" : "NAME 2",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"stationId" : "STATION_ID",
"distanceMeters" : 5408.8,
"distanceSeconds" : 592.8,
"lastTimeOnEvent" : null
}
} ],
"alternativeResources" : [ {
"id" : 8,
"externalId" : null,
"name" : "NAME 3",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Õebrigaad",
"distanceMeters" : 25408.8,
"distanceSeconds" : 1292.8,
"lastTimeOnEvent" : null
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/cancelResourceNeed/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"resourceNeedId\" peab olema
määratud",
"errorHeader" : "Ressursi vajaduse eemaldamine
ebaõnnestus!"
}
/rest/v1/dispatchPlan/recalculate:
post:
tags:
- dispatchPlan
summary: Väljasõiduplaani ümberarvutamine. Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Väljasõiduplaani ümberarvutamine. Piiratud autenditud
kasutajale
(smitTokenId'ga).
operationId: dispatchPlan/recalculate/index
parameters:
- name: eventNo
in: query
description: Sündmuse number
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: 564deeb5-c323-4d43-bc15-483e74d03fc7
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/recalculate/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/recalculate/index:
value: |-
{
"dispatchPlanId" : 16,
"eventNo" : "1",
"eventVersion" : 0,
"dispatchRuleId" : null,
"dispatchRuleName" : null,
"preferredResourceStationIds" : null,
"resourceNeeds" : [ {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 1,
"amount" : 1,
"conditionEnum" : "CONDITION_AND",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null
}, {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 2,
"amount" : 1,
"conditionEnum" : "CONDITION_AND",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_MEDICAL_BRIGADE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null
}, {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 3,
"amount" : 1,
"conditionEnum" : "CONDITION_AND",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_MEDICAL_BRIGADE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null
}, {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 4,
"amount" : 1,
"conditionEnum" : "CONDITION_OR",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
}, {
"orderNo" : 2,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_SISTER_BRIGADE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null
}, {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 5,
"amount" : 1,
"conditionEnum" : "CONDITION_OR",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_SISTER_BRIGADE"
}
}, {
"orderNo" : 2,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null
} ],
"alternativeResources" : [ {
"id" : 16,
"externalId" : null,
"name" : "NAME",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"distanceMeters" : 5408.8,
"distanceSeconds" : 292.8,
"lastTimeOnEvent" : null
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/recalculate/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"eventNo\" peab olema määratud",
"errorHeader" : "Väljasõiduplaani värskendamine
ebaõnnestus!"
}
/rest/v1/dispatchPlan/removeResource:
post:
tags:
- dispatchPlan
summary: Ressursi eemaldamine vajaduselt. Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Ressursi eemaldamine vajaduselt. Piiratud autenditud
kasutajale
(smitTokenId'ga).
operationId: dispatchPlan/removeResource/index
parameters:
- name: eventNo
in: query
description: Sündmuse number
required: true
schema:
type: string
- name: resourceNeedId
in: query
description: Ressursi vajaduse tunnus
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: 9cd4abce-9715-4332-9d32-14df1e2dd820
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/removeResource/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/removeResource/index:
value: |-
{
"dispatchPlanId" : 19,
"eventNo" : "1",
"eventVersion" : 0,
"dispatchRuleId" : null,
"dispatchRuleName" : null,
"preferredResourceStationIds" : null,
"resourceNeeds" : [ {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 1,
"amount" : 1,
"conditionEnum" : "CONDITION_OR",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
}, {
"orderNo" : 2,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_SISTER_BRIGADE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null
} ],
"alternativeResources" : [ {
"id" : 19,
"externalId" : null,
"name" : "NAME 2",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"distanceMeters" : 25408.8,
"distanceSeconds" : 1292.8,
"lastTimeOnEvent" : null
}, {
"id" : 20,
"externalId" : null,
"name" : "NAME 3",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Õebrigaad",
"distanceMeters" : 15408.8,
"distanceSeconds" : 692.8,
"lastTimeOnEvent" : null
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/removeResource/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"resourceNeedId\" peab olema
määratud",
"errorHeader" : "Ressursi eemaldamine ebaõnnestus!"
}
/rest/v1/dispatchPlan/restoreResourceNeed:
post:
tags:
- dispatchPlan
summary: Ressursi vajaduse taastamine. Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Ressursi vajaduse taastamine. Piiratud autenditud
kasutajale (smitTokenId'ga).
operationId: dispatchPlan/restoreResourceNeed/index
parameters:
- name: eventNo
in: query
description: Sündmuse number
required: true
schema:
type: string
- name: resourceNeedId
in: query
description: Ressursi vajaduse tunnus
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: 56e40f84-3400-4eb0-b197-70f6744628ce
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/restoreResourceNeed/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/restoreResourceNeed/index:
value: |-
{
"dispatchPlanId" : 22,
"eventNo" : "1",
"eventVersion" : 0,
"dispatchRuleId" : null,
"dispatchRuleName" : null,
"preferredResourceStationIds" : null,
"resourceNeeds" : [ {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 1,
"amount" : 1,
"conditionEnum" : "CONDITION_AND",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null,
"resource" : {
"id" : 65,
"externalId" : null,
"name" : "NAME 3",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"stationId" : "STATION_ID",
"distanceMeters" : 15408.8,
"distanceSeconds" : 692.8,
"lastTimeOnEvent" : null
}
}, {
"active" : true,
"cancelled" : false,
"alarmed" : false,
"done" : false,
"ruleResourceNeed" : {
"orderNo" : 2,
"amount" : 1,
"conditionEnum" : "CONDITION_OR",
"ruleResourceNeedTerms" : [ {
"orderNo" : 1,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_REANIMOBILE"
}
}, {
"orderNo" : 2,
"terms" : {
"vehicleTypeCode" :
"VEHICLE_TYPE_AMBULANCE_SISTER_BRIGADE"
}
} ]
},
"extraResourceVehicleTypeEnum" : null,
"extraResourceVehicleTypeEnumText" : null,
"resource" : {
"id" : 64,
"externalId" : null,
"name" : "NAME 2",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"stationId" : "STATION_ID",
"distanceMeters" : 25408.8,
"distanceSeconds" : 1292.8,
"lastTimeOnEvent" : null
}
} ],
"alternativeResources" : [ {
"id" : 28,
"externalId" : null,
"name" : "NAME 2",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"distanceMeters" : 25408.8,
"distanceSeconds" : 1292.8,
"lastTimeOnEvent" : null
}, {
"id" : 29,
"externalId" : null,
"name" : "NAME 3",
"stationId" : "STATION_ID",
"vehicleTypeAmbulanceEnum" :
"VEHICLE_TYPE_AMBULANCE",
"vehicleTypeAmbulanceEnumText" : "Reanimobiil",
"distanceMeters" : 15408.8,
"distanceSeconds" : 692.8,
"lastTimeOnEvent" : null
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/DispatchPlanResponse'
examples:
dispatchPlan/restoreResourceNeed/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"resourceNeedId\" peab olema
määratud",
"errorHeader" : "Ressursi vajaduse taastamine
ebaõnnestus!"
}
/rest/v1/enums/areaEnums:
get:
tags:
- enums
summary: Kõikide AreaEnum enumite päring
description: Kõikide AreaEnum enumite päring
operationId: enum/areaEnum
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-enums-areaEnums-
455423783'
examples:
enum/areaEnum:
value: |-
{
"AREA_EAST" : "Ida",
"AREA_WEST" : "Lääne",
"AREA_SOUTH" : "Lõuna",
"AREA_NORTH" : "Põhja"
}
/rest/v1/enums/conditionEnums:
get:
tags:
- enums
summary: Kõikide ConditionEnum enumite päring
description: Kõikide ConditionEnum enumite päring
operationId: enum/conditionEnum
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-enums-
conditionEnums1320646597'
examples:
enum/conditionEnum:
value: |-
{
"CONDITION_AND" : "ja",
"CONDITION_OR" : "või"
}
/rest/v1/enums/deviceTypeEnums:
get:
tags:
- enums
summary: Kõikide DeviceTypeEnum enumite päring
description: Kõikide DeviceTypeEnum enumite päring
operationId: enum/deviceTypeEnum
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-enums-
deviceTypeEnums1446031985'
examples:
enum/deviceTypeEnum:
value: |-
{
"DEVICE_TYPE_EMAIL" : "E-mail",
"DEVICE_TYPE_EMAIL_CHIEF" : "E-mail autovanem",
"DEVICE_TYPE_MGIS" : "MGIS",
"DEVICE_TYPE_MOBILE" : "MOBIIL",
"DEVICE_TYPE_MOBILE_CHIEF" : "MOBIIL autovanem",
"DEVICE_TYPE_NUGIS" : "NUGIS",
"DEVICE_TYPE_TETRA" : "TETRA",
"DEVICE_TYPE_TETRA_VEHICLE" : "TETRA autojaam",
"DEVICE_TYPE_TETRA_CHIEF" : "TETRA autovanem",
"DEVICE_TYPE_TETRA_PERSON" : "TETRA käsijaam",
"DEVICE_TYPE_DERIVED" : "Tuletatud"
}
/rest/v1/enums/eventStatusEnums:
get:
tags:
- enums
summary: Kõikide EventStatusEnum enumite päring
description: Kõikide EventStatusEnum enumite päring
operationId: enum/eventStatusEnum
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-enums-
eventStatusEnums-1396277672'
examples:
enum/eventStatusEnum:
value: |-
{
"STATUS_DELETED" : "Kustutatud",
"STATUS_DRAFT" : "Mustand",
"STATUS_OPEN" : "Töös",
"STATUS_OPEN_WITHOUT_RESOURCES" : "Töös
ressursita",
"STATUS_OPEN_PARTLY" : "Töös osaliselt",
"STATUS_OPEN_WITH_RESOURCES" : "Töös ressursiga",
"STATUS_OPEN_RESOURCES_LEFT" : "Töös ressursid
lahkunud",
"STATUS_CLOSED" : "Lõpetatud",
"STATUS_ANNULLED" : "Annulleeritud"
}
/rest/v1/enums/priorityEnums:
get:
tags:
- enums
summary: Kõikide PriorityEnums enumite päring
description: Kõikide PriorityEnums enumite päring
operationId: enum/priorityEnum
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-enums-priorityEnums-
873454254'
examples:
enum/priorityEnum:
value: |-
{
"PRIORITY_1" : {
"value" : "1",
"shortValue" : "1",
"orderNo" : 100,
"weight" : 100,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_1A" : {
"value" : "1A",
"shortValue" : "1A",
"orderNo" : 90,
"weight" : 90,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_2" : {
"value" : "2",
"shortValue" : "2",
"orderNo" : 110,
"weight" : 110,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_3" : {
"value" : "3",
"shortValue" : "3",
"orderNo" : 120,
"weight" : 120,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_4" : {
"value" : "4",
"shortValue" : "4",
"orderNo" : 130,
"weight" : 130,
"department" : [ "SERVICE_RESCUE" ]
},
"PRIORITY_A" : {
"value" : "A",
"shortValue" : "A",
"orderNo" : 140,
"weight" : 140,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE" ]
},
"PRIORITY_B" : {
"value" : "B",
"shortValue" : "B",
"orderNo" : 150,
"weight" : 150,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE" ]
},
"PRIORITY_C" : {
"value" : "C",
"shortValue" : "C",
"orderNo" : 160,
"weight" : 160,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE" ]
},
"PRIORITY_D" : {
"value" : "D",
"shortValue" : "D",
"orderNo" : 170,
"weight" : 170,
"department" : [ "SERVICE_AMBULANCE" ]
},
"PRIORITY_INFO" : {
"value" : "Info",
"shortValue" : "I",
"orderNo" : 20,
"weight" : 20,
"department" : [ "SERVICE_POLICE" ]
},
"PRIORITY_CONSULTATION" : {
"value" : "Nõuanne",
"shortValue" : "N",
"orderNo" : 10,
"weight" : 10,
"department" : [ "SERVICE_AMBULANCE",
"SERVICE_POLICE", "SERVICE_RESCUE" ]
}
}
/rest/v1/enums/resourceStatusEnums:
get:
tags:
- enums
summary: Kõikide ResourceStatusEnum enumite päring
description: Kõikide ResourceStatusEnum enumite päring
operationId: enum/resourceStatusEnum
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
responses:
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-enums-
resourceStatusEnums-1756525789'
examples:
enum/resourceStatusEnum:
value: |-
{
"RESOURCE_STATUS_ANNULLED" : "Annulleeritud",
"RESOURCE_STATUS_AWAY_BUSY" : "Eemal hõivatud",
"RESOURCE_STATUS_AWAY" : "Eemal vaba",
"RESOURCE_STATUS_AT_HOSPITAL" : "Haiglas",
"RESOURCE_STATUS_TO_HOSPITAL" : "Haiglasse",
"RESOURCE_STATUS_AT_HOME" : "Kodus",
"RESOURCE_STATUS_ON_SITE" : "Kohal",
"RESOURCE_STATUS_LEAVING_BUSY" : "Lahkun hõivatud",
"RESOURCE_STATUS_LEAVING" : "Lahkun vaba",
"RESOURCE_STATUS_ALARMED" : "Teatamine",
"RESOURCE_STATUS_ALARMED_BY_RADIO" : "Teatamine
raadio teel",
"RESOURCE_STATUS_ACCEPTED" : "Vastuvõetud",
"RESOURCE_STATUS_DEPARTURE" : "Väljasõit",
"RESOURCE_STATUS_DEPARTURE_BY_RADIO" : "Väljasõit
raadio teel"
}
/rest/v1/resource/alarm:
post:
tags:
- resource
summary: Ressurside alarmeerimine. Piiratud autenditud kasutajale
(smitTokenId'ga).
description: Ressurside alarmeerimine. Piiratud autenditud
kasutajale (smitTokenId'ga).
operationId: alarm/index
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: 29c190e8-5113-4cb3-843f-1d4cfa954842
requestBody:
content:
text/plain;charset=ISO-8859-1:
schema:
$ref: '#/components/schemas/AlarmRequest'
examples:
alarm/index-forbidden:
value: |-
{
"alarmedResourceNames" : [ "RESOURCE_NAME_1",
"RESOURCE_NAME_2" ],
"eventNo" : "EVENT_NO",
"alarmDTime" : "2024-01-30T13:28:08Z",
"forced" : false
}
alarm/index:
value: |-
{
"alarmedResourceNames" : [ "RESOURCE_NAME_1",
"RESOURCE_NAME_2" ],
"eventNo" : "EVENT_NO",
"alarmDTime" : "2024-01-30T13:28:08Z",
"forced" : false
}
application/json:
schema:
$ref: '#/components/schemas/AlarmRequest'
examples:
alarm/index-notValid:
value: |-
{
"alarmedResourceNames" : [ "RESOURCE_NAME_1",
"RESOURCE_NAME_2" ],
"eventNo" : null,
"alarmDTime" : "2024-01-30T13:28:08Z",
"forced" : false
}
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
alarm/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/AlarmResponse'
examples:
alarm/index:
value: |-
{
"alarmedResources" : [ {
"name" : "RESOURCE_NAME_1",
"status" : "RESOURCE_STATUS_ALARMED",
"estimatedOnSiteArrivalTimeInSeconds" : 1282.8,
"estimatedOnSiteArrivalDistanceInMeters" :
25402.8
} ],
"notAlarmedResources" : [ {
"name" : "RESOURCE_NAME_2",
"reason" : "Kutsungile RESOURCE_NAME_2 ei saanud
korraldust anda."
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
alarm/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"eventNo\" peab olema määratud",
"errorHeader" : "Oleku muutmine ebaõnnestus!"
}
/rest/v1/resource/setStatus:
post:
tags:
- resource
summary: Ressurside staatuse muutmine. Piiratud autenditud
kasutajale (smitTokenId'ga).
description: Ressurside staatuse muutmine. Piiratud autenditud
kasutajale (smitTokenId'ga).
operationId: status/index
parameters:
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: a0e3037b-a7c4-485c-9c51-625a9428c6cc
requestBody:
content:
text/plain;charset=ISO-8859-1:
schema:
$ref: '#/components/schemas/StatusRequest'
examples:
status/index-forbidden:
value: |-
{
"resourceNames" : [ "RESOURCE_NAME_1",
"RESOURCE_NAME_2" ],
"newStatusEnum" : "RESOURCE_STATUS_ANNULLED",
"stateDTime" : "2024-01-30T13:28:08Z",
"additionalInfo" : "ADDITIONAL_INFO"
}
status/index:
value: |-
{
"resourceNames" : [ "RESOURCE_NAME_1",
"RESOURCE_NAME_2" ],
"newStatusEnum" : "RESOURCE_STATUS_ANNULLED",
"stateDTime" : "2024-01-30T13:28:08Z",
"additionalInfo" : "ADDITIONAL_INFO"
}
application/json:
schema:
$ref: '#/components/schemas/StatusRequest'
examples:
status/index-notValid:
value: |-
{
"resourceNames" : [ "RESOURCE_NAME_1",
"RESOURCE_NAME_2" ],
"newStatusEnum" : "unknown",
"stateDTime" : "2024-01-30T13:28:08Z",
"additionalInfo" : "ADDITIONAL_INFO"
}
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
status/index-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/StatusResponse'
examples:
status/index:
value: |-
{
"changedResources" : [ {
"name" : "RESOURCE_NAME_1",
"status" : "RESOURCE_STATUS_ANNULLED"
} ],
"notChangedResources" : [ {
"name" : "RESOURCE_NAME_2",
"reason" : "Ressursi RESOURCE_NAME_2 staatust
RESOURCE_STATUS_AT_HOME ei saa muuta annulleerituks!"
} ]
}
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
status/index-notValid:
value: |-
{
"status" : 412,
"message" : "\"newStatusEnum\" peab olema
määratud",
"errorHeader" : "Oleku muutmine ebaõnnestus!"
}
/rest/v1/userSetting/save:
get:
tags:
- userSetting
summary: "Kasutaja seadete salvestamine. Vajab autenditud kasutajat
(smitTokenId),\
\ kelle alla seadet salvestada"
description: "Kasutaja seadete salvestamine. Vajab autenditud
kasutajat (smitTokenId),\
\ kelle alla seadet salvestada"
operationId: userSetting/save-forbidden
parameters:
- name: typeEnum
in: query
description: Seadetele antud tunnus
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
requestBody:
content:
text/plain;charset=ISO-8859-1:
schema:
$ref: '#/components/schemas/UserSettingSaveRequest'
examples:
userSetting/save-forbidden:
value: |-
{
"filter1" : "45a30158-06fe-47cb-b8bf-5b98991756d6",
"filter2" : [ "9fd1a010-7a99-4aac-ace2-436e0927b56f",
"6d50472c-b939-453e-88c6-8e5ee475b759", "c331c643-eb8f-4742-a834-
c40d482d12fd" ]
}
responses:
"401":
description: "401"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
userSetting/save-forbidden:
value: |-
{
"status" : 401,
"message" : "Kasutajal puudub kehtiv sessioon"
}
post:
tags:
- userSetting
summary: "Kasutaja seadete salvestamine. Vajab autenditud kasutajat
(smitTokenId),\
\ kelle alla seadet salvestada"
description: "Kasutaja seadete salvestamine. Vajab autenditud
kasutajat (smitTokenId),\
\ kelle alla seadet salvestada"
operationId: userSetting/save
parameters:
- name: typeEnum
in: query
description: Seadetele antud tunnus
required: true
schema:
type: string
- name: Accept
in: header
description: Peab olema `application/json`
required: true
schema:
type: string
default: application/json
example: application/json
- name: smitTokenID
in: header
description: Antud teenus vajab autentimiseks/autoriseerimiseks
HK portaali
`smitTokenId`'d
required: true
schema:
type: string
example: f37fb5df-4658-48e3-b980-e49a8daf862a
requestBody:
content:
text/plain;charset=ISO-8859-1:
schema:
$ref: '#/components/schemas/rest-v1-userSetting486549215'
examples:
userSetting/save-notValid:
value: |-
{
"filter1" : "595dab8f-bdc0-4f37-9fbf-8d1c5da654db",
"filter2" : [ "f24638cf-eaee-4692-b7e0-7e56ee720ab5",
"8e8348cc-6214-458b-bee8-a3e1c3c18b6a", "efc1c7c2-a660-4625-8979-
3bc1b23eff0d" ]
}
userSetting/save:
value: |-
{
"filter1" : "0cc78dc2-58e4-466d-84d6-73d04b9fbaea",
"filter2" : [ "d7b5dba9-877f-4216-a29e-0b8c4928ac4e",
"f526570f-f5b8-4236-bace-7187b4e2c6bd", "5ab37414-852f-46c1-ac9e-
f6fea639c19e" ]
}
responses:
"412":
description: "412"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CommonResponse'
examples:
userSetting/save-notValid:
value: |-
{
"status" : 412,
"message" : "typeEnum pole lubatud väärtusega,
null"
}
"200":
description: "200"
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/rest-v1-userSetting486549215'
examples:
userSetting/save:
value: |-
{
"status" : 202,
"message" : "OK",
"userSettings" : {
"filter1" : "0cc78dc2-58e4-466d-84d6-
73d04b9fbaea",
"filter2" : [ "d7b5dba9-877f-4216-a29e-
0b8c4928ac4e", "f526570f-f5b8-4236-bace-7187b4e2c6bd", "5ab37414-852f-
46c1-ac9e-f6fea639c19e" ]
}
}
components:
schemas:
DispatchPlanResponse:
title: DispatchPlanResponse
type: object
properties:
resourceNeeds:
type: array
description: Väljasõiduplaani vajadused
items:
type: object
properties:
alarmed:
type: boolean
description: Vajadusega seotud ressursile on antud
korraldus
resource:
type: object
properties:
distanceMeters:
type: number
description: Eelduslik kohale jõudmise teekonna
pikkus
vehicleTypeAmbulanceEnumText:
type: string
description: Ressursi tehnikaliigi nimetus
lastTimeOnEvent:
type: string
description: Viimati sündmusel oldud aeg ISO
formaadis - `yyyy-MM-dd'T'HH:mm:ssXX`
vehicleTypeAmbulanceEnum:
type: string
description: Ressursi tehnikaliigi kood.
VehicleTypeAmbulanceEnum
väärtused on klassikaator tüüpi koodid Reegel
rakendusest
name:
type: string
description: Ressursi kutsung
externalId:
type: string
description: "Ressursi väline unikaalne tunnus, ID"
distanceSeconds:
type: number
description: Eelduslik kohale jõudmise aeg sekundites
id:
type: number
description: "Resssursi identifikaator rakenduses,
ID"
stationId:
type: string
description: "Ressursi komando/üksuse tunnus, ID"
description: Vajaduse katmiseks leitud ressurss
cancelled:
type: boolean
description: Vajadus on märgitud mitte vajalikuks
active:
type: boolean
description: Vajadus on aktiiven
extraResourceVehicleTypeEnum:
type: string
description: Lisa vajaduse tehnikaliigi kood. Väärtused
on klassikaator
tüüpi koodid Reegel rakendusest
done:
type: boolean
description: Vajadus on täidetud (seotud ressurss kohal
käinud)
ruleResourceNeed:
type: object
properties:
ruleResourceNeedTerms:
type: array
description: Reegli tingimused
items:
type: object
properties:
orderNo:
type: number
description: Reegli tingimuse jrk. nr
terms:
type: object
properties:
vehicleTypeCode:
type: string
description: ""
description: Reegli tingimuse kirjeldus Reegel
rakendusest
amount:
type: number
description: Reeglist tulenev vajaduse kogus
orderNo:
type: number
description: Reegli jrk. nr
conditionEnum:
type: string
description: "Reegli tingimuste tüübi kood.
ConditionEnum vää\
rtused - CONDITION_AND, CONDITION_OR"
description: Vajadus tuleneb reeglist
extraResourceVehicleTypeEnumText:
type: string
description: Lisa vajaduse tehnikaliigi nimetus
eventVersion:
type: number
description: "Väljasõiduplaaniga seotud sündmuse versioon,
millelt plaan\
\ on arvutatud"
dispatchRuleName:
type: string
description: Väljasõiduplaani koostamise aluseks oleva reegli
nimetus
preferredResourceStationIds:
type: string
description: Väljasõiduplaani reeglist tulenevad eelistatud
üksuste/komando
tunnuste komadega eraldatud tunnuste nimekiri
dispatchRuleId:
type: string
description: "Väljasõiduplaani koostamise aluseks oleva reegli
tunnus, ID"
alternativeResources:
type: array
description: Väljasõiduplaani alternatiivsed ressursid
items:
type: object
properties:
distanceMeters:
type: number
description: Eelduslik kohale jõudmise teekonna pikkus
vehicleTypeAmbulanceEnumText:
type: string
description: Ressursi tehnikaliigi nimetus
lastTimeOnEvent:
type: string
description: Viimati sündmusel oldud aeg ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
vehicleTypeAmbulanceEnum:
type: string
description: Ressursi tehnikaliigi kood.
VehicleTypeAmbulanceEnum
väärtused on klassikaator tüüpi koodid Reegel
rakendusest
name:
type: string
description: Ressursi kutsung
externalId:
type: string
description: "Ressursi väline unikaalne tunnus, ID"
distanceSeconds:
type: number
description: Eelduslik kohale jõudmise aeg sekundites
id:
type: number
description: "Resssursi identifikaator rakenduses, ID"
stationId:
type: string
description: "Ressursi komando/üksuse tunnus, ID"
eventNo:
type: string
description: Väljasõiduplaaniga seotud sündmuse number
dispatchPlanId:
type: number
description: "Väljasõiduplaani identifikaator, ID"
rest-v1-enums-deviceTypeEnums1446031985:
type: object
properties:
DEVICE_TYPE_TETRA_PERSON:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_MGIS:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_NUGIS:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_MOBILE_CHIEF:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_MOBILE:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_EMAIL:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_EMAIL_CHIEF:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_DERIVED:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_TETRA_VEHICLE:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_TETRA:
type: string
description: Enum'i nimi ja väärtus
DEVICE_TYPE_TETRA_CHIEF:
type: string
description: Enum'i nimi ja väärtus
rest-v1-enums-priorityEnums-873454254:
type: object
properties:
PRIORITY_C:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_3:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_D:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_4:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_1A:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_INFO:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_A:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_1:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_B:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_2:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
PRIORITY_CONSULTATION:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: Enum'i nimi ja väärtus
rest-v1-enums-areaEnums-455423783:
type: object
properties:
AREA_SOUTH:
type: string
description: Enum'i nimi ja väärtus
AREA_NORTH:
type: string
description: Enum'i nimi ja väärtus
AREA_EAST:
type: string
description: Enum'i nimi ja väärtus
AREA_WEST:
type: string
description: Enum'i nimi ja väärtus
AlarmRequest:
title: AlarmRequest
type: object
properties:
alarmDTime:
type: string
description: Alarmeerimise aeg ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
alarmedResourceNames:
type: array
description: Ressurside kutsungid
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
forced:
type: boolean
description: Kas sundida alarmeerimine
eventNo:
type: string
description: Sündmuse number
HospitalResponse:
title: HospitalResponse
type: object
properties:
total:
type: number
description: Kogu kirjete arv. Tagastatud kirjete arv võib olla
sellest
väiksem - tuleb pärida lehekülgede kaupa
list:
type: array
description: "Päringu tulemus, nimekiri päritud objektidest.
Haigla mudel"
items:
type: object
properties:
address:
type: string
description: Haigla aadress
code:
type: string
description: Haigla kood
areaEnumText:
type: string
description: Piirkonna nimetus
areaEnum:
type: string
description: "Haigla piirkonna kood (HK vaates). AreaEnum
väärtused\
\ - AREA_NORTH, AREA_SOUTH, AREA_EAST, AREA_WEST"
description:
type: string
description: Lisa kirjeldus
editorSessionName:
type: string
description: Viimase muutja täisnimi
creatorSessionName:
type: string
description: Looja täisnimi
addressWgsLongitude:
type: number
description: Asukoha pikkuskraad WGS84 projektsioonis
version:
type: number
description: Haigla kirje versioon
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
editorSessionIdCode:
type: string
description: Viimase muutja isikukood
creatorSessionIdCode:
type: string
description: Looja isikukood
dateCreated:
type: string
description: Loomise kuupäev ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
deleted:
type: boolean
description: Kas on kustutatud
name:
type: string
description: Haigla nimetus
id:
type: number
description: "Haigla identifikaator rakenduses, ID"
addressWgsLatitude:
type: number
description: Asukoha laiuskraad WGS84 projektsioonis
CommonResponse:
title: CommonResponse
type: object
properties:
instruction:
type: string
description: "Kui olemas, siis juhised lõppkasutajale, kuidas
jätkata"
errorCode:
type: string
description: "Kui olemas, siis veakood"
cause:
type: string
description: "Kui olemas, siis põhjus originaal veast,
tehniline teade"
message:
type: string
description: "OK, kui päring õnnestus või ebaõnnestumise vea
teade"
errorHeader:
type: string
description: "Kui olemas, siis veateate pealdis"
status:
type: number
description: "HTTP vastuse oleku kood (status code), 202 -
succeeded"
rest-v1-enums-resourceStatusEnums-1756525789:
type: object
properties:
RESOURCE_STATUS_ANNULLED:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_LEAVING:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_AT_HOME:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_AWAY:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_TO_HOSPITAL:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_ACCEPTED:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_ON_SITE:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_DEPARTURE_BY_RADIO:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_DEPARTURE:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_AWAY_BUSY:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_ALARMED:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_LEAVING_BUSY:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_ALARMED_BY_RADIO:
type: string
description: Enum'i nimi ja väärtus
RESOURCE_STATUS_AT_HOSPITAL:
type: string
description: Enum'i nimi ja väärtus
StatusResponse:
title: StatusResponse
type: object
properties:
changedResources:
type: array
description: Muudetud ressursid
items:
type: object
properties:
name:
type: string
description: Muudetud ressursi nimi
status:
type: string
description: "Muudetud ressursi staatus, <<enums-
resourceStatusEnum>>\
\ väärtus - RESOURCE_STATUS_ALARMED,
RESOURCE_STATUS_ALARMED_BY_RADIO,\
\ RESOURCE_STATUS_ON_SITE, RESOURCE_STATUS_AT_HOME,
RESOURCE_STATUS_DEPARTURE,\
\ RESOURCE_STATUS_DEPARTURE_BY_RADIO,
RESOURCE_STATUS_TO_HOSPITAL,\
\ RESOURCE_STATUS_AT_HOSPITAL, RESOURCE_STATUS_AWAY,
RESOURCE_STATUS_AWAY_BUSY,\
\ RESOURCE_STATUS_LEAVING,
RESOURCE_STATUS_LEAVING_BUSY, RESOURCE_STATUS_ANNULLED,\
\ RESOURCE_STATUS_ACCEPTED"
notChangedResources:
type: array
description: Mittemuudetud ressursid
items:
type: object
properties:
reason:
type: string
description: Mittemuudetud ressursi põhjus
name:
type: string
description: Mittemuudetud ressursi nimi
StatusRequest:
title: StatusRequest
type: object
properties:
resourceNames:
type: array
description: Ressurside kutsungid
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
stateDTime:
type: string
description: Ressursi oleku aeg ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
newStatusEnum:
type: string
description: "Ressursi uus olek, <<enums-resourceStatusEnum>>
väärtus -\
\ RESOURCE_STATUS_ALARMED, RESOURCE_STATUS_ALARMED_BY_RADIO,
RESOURCE_STATUS_ON_SITE,\
\ RESOURCE_STATUS_AT_HOME, RESOURCE_STATUS_DEPARTURE,
RESOURCE_STATUS_DEPARTURE_BY_RADIO,\
\ RESOURCE_STATUS_TO_HOSPITAL, RESOURCE_STATUS_AT_HOSPITAL,
RESOURCE_STATUS_AWAY,\
\ RESOURCE_STATUS_AWAY_BUSY, RESOURCE_STATUS_LEAVING,
RESOURCE_STATUS_LEAVING_BUSY,\
\ RESOURCE_STATUS_ANNULLED, RESOURCE_STATUS_ACCEPTED"
additionalInfo:
type: string
description: Lisainfo
hospitalCode:
type: string
description: Ressursi uue haigla kood
eventNo:
type: string
description: Oleku muudatusega seotud sündmuse number
rest-v1-enums-conditionEnums1320646597:
type: object
properties:
CONDITION_AND:
type: string
description: Enum'i nimi ja väärtus
CONDITION_OR:
type: string
description: Enum'i nimi ja väärtus
ResourceResponse:
title: ResourceResponse
type: object
properties:
total:
type: number
description: Kogu kirjete arv. Tagastatud kirjete arv võib olla
sellest
väiksem - tuleb pärida lehekülgede kaupa
list:
type: array
description: "Päringu tulemus, nimekiri päritud objektidest.
Ressursi mudel"
items:
type: object
properties:
expiring:
type: boolean
description: Kas ressurss on aegumas
areaEnumText:
type: string
description: Ressursi piirkonna nimetus
areaEnum:
type: string
description: "Ressursi piirkonna kood. AreaEnum väärtused
- AREA_NORTH,\
\ AREA_SOUTH, AREA_EAST, AREA_WEST"
vehicleTypeAmbulanceEnum:
type: string
description: Ressursi tehnikaliigi kood.
VehicleTypeAmbulanceEnum
väärtused on klassikaator tüüpi koodid Reegel
rakendusest
stationLatitude:
type: number
description: Ressursi komando/üksuse laiuskraad WGS84
projektsioonis
stationLongitude:
type: number
description: Ressursi komando/üksuse pikkuskraad WGS84
projektsioonis
creatorSessionName:
type: string
description: Looja täisnimi
responseRange:
type: number
description: Reageerimise kaugus kilomeetrites
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
creatorSessionIdCode:
type: string
description: Looja isikukood
dateCreated:
type: string
description: Loomise kuupäev ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
members:
type: array
items:
type: object
properties:
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
editorSessionIdCode:
type: string
description: Viimase muutja isikukood
creatorSessionIdCode:
type: string
description: Looja isikukood
resourceId:
type: number
description: "Viide ressursile, ID"
dateCreated:
type: string
description: Loomise kuupäev ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
isChief:
type: boolean
description: Kas on meeskonnavanem
active:
type: boolean
description: Kas liige on aktiivne
externalId:
type: string
description: Ressurss liikme väline tunnus
id:
type: number
description: "Ressursi liikme identifikaator
rakenduses, ID"
editorSessionName:
type: string
description: Viimase muutja täisnimi
creatorSessionName:
type: string
description: Looja täisnimi
version:
type: number
description: Ressursi liikme kirje versioon
station:
type: string
description: Ressursi komando/üksuse nimetus
id:
type: number
description: "Resssursi identifikaator rakenduses, ID"
events:
type: array
items:
type: object
properties:
hospitalDate:
type: string
description: Haiglasse aeg ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
resourceId:
type: number
description: "Viide ressursile, ID"
onSiteDate:
type: string
description: Kohal aeg ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
creatorSessionName:
type: string
description: Looja täisnimi
statusEnumText:
type: string
description: Ressursi oleku nimetus sündmuse suhtes
acceptedDate:
type: string
description: Vastuvõtmise aeg ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
radio:
type: boolean
description: Kas alarmeerimine toimus raadio teel
või komandost/üksusest
homeDate:
type: string
description: Kodus (komandos/üksuses) aeg ISO
formaadis - `yyyy-MM-dd'T'HH:mm:ssXX`
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
creatorSessionIdCode:
type: string
description: Looja isikukood
statusEnum:
type: string
description: "Ressursi oleku kood sündmuse suhtes.
ResourceStatusEnum\
\ väärtused - RESOURCE_STATUS_ALARMED,
RESOURCE_STATUS_ALARMED_BY_RADIO,\
\ RESOURCE_STATUS_ON_SITE,
RESOURCE_STATUS_AT_HOME, RESOURCE_STATUS_DEPARTURE,\
\ RESOURCE_STATUS_DEPARTURE_BY_RADIO,
RESOURCE_STATUS_TO_HOSPITAL,\
\ RESOURCE_STATUS_AT_HOSPITAL,
RESOURCE_STATUS_AWAY, RESOURCE_STATUS_AWAY_BUSY,\
\ RESOURCE_STATUS_LEAVING,
RESOURCE_STATUS_LEAVING_BUSY, RESOURCE_STATUS_ANNULLED,\
\ RESOURCE_STATUS_ACCEPTED"
dateCreated:
type: string
description: Loomise kuupäev ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
hospitalId:
type: number
description: "Viide haiglale, ID"
additionalData:
type: string
description: Lisa andmed/märkused
departureDate:
type: string
description: Väljasõit aeg ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
id:
type: number
description: "Ressursi-sündmuse seose
identifikaator rakenduses,\
\ ID"
leavingDate:
type: string
description: Lahkumise aeg ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
stationAlarmedStartDate:
type: string
description: Komandos/üksuses alarmeerimise alguse
aeg ISO formaadis
- `yyyy-MM-dd'T'HH:mm:ssXX`
eventId:
type: number
description: "Viide sündmusele, ID"
annulledDate:
type: string
description: Annulleerimise aeg ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
alarmedDate:
type: string
description: Alarmeermise aeg ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
stationAlarmedEndDate:
type: string
description: Komandos/üksuses alarmeerimise lõpu
aeg ISO formaadis
- `yyyy-MM-dd'T'HH:mm:ssXX`
externalId:
type: string
description: "Ressurss-sündmuse seose väline
tunnus, ID"
active:
type: boolean
description: Ressurss-sündmuse seose
aktiivsus/kehtivus
removedFromSync:
type: boolean
description: Seotud andmete alglaadimisega SOSst
hospitalName:
type: string
description: Haigla nimetus
editorSessionName:
type: string
description: Viimase muutja täisnimi
estimatedOnSiteArrivalTimeInSeconds:
type: number
description: Alarmeerimisest eelduslik kohale
jõudmise aeg sekundites
version:
type: number
description: Ressursi-sündmuse seose kirje versioon
editorSessionIdCode:
type: string
description: Viimase muutja isikukood
stationId:
type: string
description: "Ressursi komando/üksuse tunnus, ID"
vehicleTypeAmbulanceEnumText:
type: string
description: Ressursi tehnikaliigi nimetus
devices:
type: array
items:
type: object
properties:
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
resourceId:
type: number
description: "Viide seadmega seotud ressursile, ID"
dateCreated:
type: string
description: Loomise kuupäev ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
externalId:
type: string
description: "Seadme väline tunnus - email-i
aadress, TETRA\
\ number jne"
resourceMemberId:
type: number
description: "Viide seadmega seotud meeskonna
liikmele, ID"
id:
type: number
description: "Seadme identifikaator rakenduses, ID"
deviceTypeEnumText:
type: string
description: Seadme tüübi nimetus
version:
type: number
description: Seadme kirje versioon
deviceLocation:
type: object
properties:
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis -
`yyyy-MM-dd'T'HH:mm:ssXX`
locationTime:
type: string
description: Asukoha aeg ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
latitude:
type: number
description: Asukoha laiuskraad WGS84
projektsioonis
id:
type: number
description: "Seadme asukoha identifikaator
rakenduses,\
\ ID"
version:
type: number
description: Seadme asukoha kirje versioon
speed:
type: number
description: Liikumise kiirus
direction:
type: number
description: Liikumise suund
longitude:
type: number
description: Asukoha pikkuskraad WGS84
projektsioonis
deviceTypeEnum:
type: string
description: "Seadme tüüp. DeviceTypeEnum väärtused
- DEVICE_TYPE_NUGIS,\
\ DEVICE_TYPE_MGIS, DEVICE_TYPE_TETRA,
DEVICE_TYPE_TETRA_VEHICLE,\
\ DEVICE_TYPE_TETRA_CHIEF,
DEVICE_TYPE_TETRA_PERSON, DEVICE_TYPE_MOBILE,\
\ DEVICE_TYPE_MOBILE_CHIEF, DEVICE_TYPE_EMAIL,
DEVICE_TYPE_EMAIL_CHIEF,\
\ DEVICE_TYPE_DERIVED"
responseTime:
type: number
description: Reageerimise kiirus komandost/üksusest
sekundites
externalId:
type: string
description: "Ressursi väline unikaalne tunnus, ID"
active:
type: boolean
description: Kas ressurss on aktiivne
editorSessionName:
type: string
description: Viimase muutja täisnimi
resourceLocation:
type: object
properties:
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
locationTime:
type: string
description: Asukoha aeg ISO formaadis - `yyyy-MM-
dd'T'HH:mm:ssXX`
latitude:
type: number
description: Asukoha laiuskraad WGS84 projektsioonis
id:
type: number
description: "Resssursi asukoha identifikaator
rakenduses, ID"
deviceTypeEnumText:
type: string
description: Seadme tüüp/asukoha allika nimetus
version:
type: number
description: Ressursi asukoha kirje versioon
speed:
type: number
description: Liikumise kiirus
direction:
type: number
description: Liikumise suund
longitude:
type: number
description: Asukoha pikkuskraad WGS84 projektsioonis
deviceTypeEnum:
type: string
description: "Seadme tüüp/asukoha allikas.
DeviceTypeEnum vää\
rtused - DEVICE_TYPE_NUGIS, DEVICE_TYPE_MGIS,
DEVICE_TYPE_TETRA,\
\ DEVICE_TYPE_TETRA_VEHICLE,
DEVICE_TYPE_TETRA_CHIEF, DEVICE_TYPE_TETRA_PERSON,\
\ DEVICE_TYPE_DERIVED"
version:
type: number
description: Ressursi kirje versioon
editorSessionIdCode:
type: string
description: Viimase muutja isikukood
resourceStatus:
type: object
properties:
lastUpdated:
type: string
description: Muutmise kuupäeva ISO formaadis - `yyyy-
MM-dd'T'HH:mm:ssXX`
editorSessionIdCode:
type: string
description: Viimase muutja isikukood
statusNote:
type: string
description: Oleku lisa märkus
lastEventDate:
type: string
description: Viimati sündmusel oldud aeg ISO
formaadis - `yyyy-MM-dd'T'HH:mm:ssXX`
resourceStatusEnumText:
type: string
description: Ressursi oleku nimetus
resourceStatusEnum:
type: string
description: "Ressursi oleku kood. ResourceStatusEnum
väärtused\
\ - RESOURCE_STATUS_ALARMED,
RESOURCE_STATUS_ALARMED_BY_RADIO,\
\ RESOURCE_STATUS_ON_SITE, RESOURCE_STATUS_AT_HOME,
RESOURCE_STATUS_DEPARTURE,\
\ RESOURCE_STATUS_DEPARTURE_BY_RADIO,
RESOURCE_STATUS_TO_HOSPITAL,\
\ RESOURCE_STATUS_AT_HOSPITAL,
RESOURCE_STATUS_AWAY, RESOURCE_STATUS_AWAY_BUSY,\
\ RESOURCE_STATUS_LEAVING,
RESOURCE_STATUS_LEAVING_BUSY, RESOURCE_STATUS_ANNULLED,\
\ RESOURCE_STATUS_ACCEPTED"
id:
type: number
description: "Resssursi oleku identifikaator
rakenduses, ID"
editorSessionName:
type: string
description: Viimase muutja täisnimi
version:
type: number
description: Ressursi oleku kirje versioon
name:
type: string
description: Ressursi kutsung
validUntil:
type: string
description: "Ressurss on kehtiv kuni, aeg ISO formaadis
- `yyyy-MM-dd'T'HH:mm:ssXX`"
comment:
type: string
description: Kommentaar/märkus
sosVersion:
type: number
description: Ressursi versioon SOS'is
AlarmResponse:
title: AlarmResponse
type: object
properties:
alarmedResources:
type: array
description: Alarmeeritud ressursid
items:
type: object
properties:
estimatedOnSiteArrivalDistanceInMeters:
type: number
description: Alarmeeritud ressursi läbitav distants
name:
type: string
description: Alarmeeritud ressursi nimi
estimatedOnSiteArrivalTimeInSeconds:
type: number
description: Alarmeeritud ressursi saabumise aeg
sekundites
status:
type: string
description: "Alarmeeritud ressursi staatus, <<enums-
resourceStatusEnum>>\
\ väärtus - RESOURCE_STATUS_ALARMED,
RESOURCE_STATUS_ALARMED_BY_RADIO,\
\ RESOURCE_STATUS_ON_SITE, RESOURCE_STATUS_AT_HOME,
RESOURCE_STATUS_DEPARTURE,\
\ RESOURCE_STATUS_DEPARTURE_BY_RADIO,
RESOURCE_STATUS_TO_HOSPITAL,\
\ RESOURCE_STATUS_AT_HOSPITAL, RESOURCE_STATUS_AWAY,
RESOURCE_STATUS_AWAY_BUSY,\
\ RESOURCE_STATUS_LEAVING,
RESOURCE_STATUS_LEAVING_BUSY, RESOURCE_STATUS_ANNULLED,\
\ RESOURCE_STATUS_ACCEPTED"
notAlarmedResources:
type: array
description: Mittealarmeeritud ressursid
items:
type: object
properties:
reason:
type: string
description: Mittealarmeeritud ressursi põhjus
name:
type: string
description: Mittealarmeeritud ressursi nimi
UserSettingSaveRequest:
title: UserSettingSaveRequest
type: object
rest-v1-enums-eventStatusEnums-1396277672:
type: object
properties:
STATUS_OPEN:
type: string
description: Enum'i nimi ja väärtus
STATUS_DRAFT:
type: string
description: Enum'i nimi ja väärtus
STATUS_OPEN_RESOURCES_LEFT:
type: string
description: Enum'i nimi ja väärtus
STATUS_OPEN_PARTLY:
type: string
description: Enum'i nimi ja väärtus
STATUS_DELETED:
type: string
description: Enum'i nimi ja väärtus
STATUS_OPEN_WITHOUT_RESOURCES:
type: string
description: Enum'i nimi ja väärtus
STATUS_ANNULLED:
type: string
description: Enum'i nimi ja väärtus
STATUS_CLOSED:
type: string
description: Enum'i nimi ja väärtus
STATUS_OPEN_WITH_RESOURCES:
type: string
description: Enum'i nimi ja väärtus
rest-v1-userSetting486549215:
type: object
rest-v1-enums1492299693:
type: object
properties:
resourceStatusEnums:
type: object
properties:
RESOURCE_STATUS_ANNULLED:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_ANNULLED'
RESOURCE_STATUS_LEAVING:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_LEAVING'
RESOURCE_STATUS_AT_HOME:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_AT_HOME'
RESOURCE_STATUS_AWAY:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_AWAY'
RESOURCE_STATUS_TO_HOSPITAL:
type: string
description: ResourceStatusEnum
'RESOURCE_STATUS_TO_HOSPITAL'
RESOURCE_STATUS_ACCEPTED:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_ACCEPTED'
RESOURCE_STATUS_ON_SITE:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_ON_SITE'
RESOURCE_STATUS_DEPARTURE_BY_RADIO:
type: string
description: ResourceStatusEnum
'RESOURCE_STATUS_DEPARTURE_BY_RADIO'
RESOURCE_STATUS_DEPARTURE:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_DEPARTURE'
RESOURCE_STATUS_AWAY_BUSY:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_AWAY_BUSY'
RESOURCE_STATUS_ALARMED:
type: string
description: ResourceStatusEnum 'RESOURCE_STATUS_ALARMED'
RESOURCE_STATUS_LEAVING_BUSY:
type: string
description: ResourceStatusEnum
'RESOURCE_STATUS_LEAVING_BUSY'
RESOURCE_STATUS_ALARMED_BY_RADIO:
type: string
description: ResourceStatusEnum
'RESOURCE_STATUS_ALARMED_BY_RADIO'
RESOURCE_STATUS_AT_HOSPITAL:
type: string
description: ResourceStatusEnum
'RESOURCE_STATUS_AT_HOSPITAL'
description: "ResourceStatusEnums - RESOURCE_STATUS_ALARMED,
RESOURCE_STATUS_ALARMED_BY_RADIO,\
\ RESOURCE_STATUS_ON_SITE, RESOURCE_STATUS_AT_HOME,
RESOURCE_STATUS_DEPARTURE,\
\ RESOURCE_STATUS_DEPARTURE_BY_RADIO,
RESOURCE_STATUS_TO_HOSPITAL, RESOURCE_STATUS_AT_HOSPITAL,\
\ RESOURCE_STATUS_AWAY, RESOURCE_STATUS_AWAY_BUSY,
RESOURCE_STATUS_LEAVING,\
\ RESOURCE_STATUS_LEAVING_BUSY, RESOURCE_STATUS_ANNULLED,
RESOURCE_STATUS_ACCEPTED"
conditionEnums:
type: object
properties:
CONDITION_AND:
type: string
description: ConditionEnum 'CONDITION_AND'
CONDITION_OR:
type: string
description: ConditionEnum 'CONDITION_OR'
description: "ConditionEnums - CONDITION_AND, CONDITION_OR"
eventStatusEnums:
type: object
properties:
STATUS_OPEN:
type: string
description: EventStatusEnum 'STATUS_OPEN'
STATUS_DRAFT:
type: string
description: EventStatusEnum 'STATUS_DRAFT'
STATUS_OPEN_RESOURCES_LEFT:
type: string
description: EventStatusEnum 'STATUS_OPEN_RESOURCES_LEFT'
STATUS_OPEN_PARTLY:
type: string
description: EventStatusEnum 'STATUS_OPEN_PARTLY'
STATUS_DELETED:
type: string
description: EventStatusEnum 'STATUS_DELETED'
STATUS_OPEN_WITHOUT_RESOURCES:
type: string
description: EventStatusEnum
'STATUS_OPEN_WITHOUT_RESOURCES'
STATUS_ANNULLED:
type: string
description: EventStatusEnum 'STATUS_ANNULLED'
STATUS_CLOSED:
type: string
description: EventStatusEnum 'STATUS_CLOSED'
STATUS_OPEN_WITH_RESOURCES:
type: string
description: EventStatusEnum 'STATUS_OPEN_WITH_RESOURCES'
description: "EventStatusEnums - STATUS_DELETED, STATUS_DRAFT,
STATUS_OPEN,\
\ STATUS_OPEN_WITHOUT_RESOURCES, STATUS_OPEN_PARTLY,
STATUS_OPEN_WITH_RESOURCES,\
\ STATUS_OPEN_RESOURCES_LEFT, STATUS_CLOSED, STATUS_ANNULLED"
priorityEnums:
type: object
properties:
PRIORITY_C:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_C'
PRIORITY_3:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_3'
PRIORITY_D:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_D'
PRIORITY_4:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_4'
PRIORITY_1A:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_1A'
PRIORITY_INFO:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_INFO'
PRIORITY_A:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_A'
PRIORITY_1:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_1'
PRIORITY_B:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_B'
PRIORITY_2:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_2'
PRIORITY_CONSULTATION:
type: object
properties:
orderNo:
type: number
description: Järjekorra number nimekirjades
weight:
type: number
description: Prioriteedi kaal suhtes teiste
prioriteetidega
shortValue:
type: string
description: Prioriteedi lühinimi
department:
type: array
description: "Teenus(ed), kus kasutuses"
items:
oneOf:
- type: object
- type: boolean
- type: string
- type: number
value:
type: string
description: Prioriteedi nimetus
description: PriorityEnum 'PRIORITY_CONSULTATION'
description: "PriorityEnums - PRIORITY_CONSULTATION,
PRIORITY_INFO, PRIORITY_1A,\
\ PRIORITY_1, PRIORITY_2, PRIORITY_3, PRIORITY_4, PRIORITY_A,
PRIORITY_B,\
\ PRIORITY_C, PRIORITY_D"
areaEnums:
type: object
properties:
AREA_SOUTH:
type: string
description: AreaEnum 'AREA_SOUTH'
AREA_NORTH:
type: string
description: AreaEnum 'AREA_NORTH'
AREA_EAST:
type: string
description: AreaEnum 'AREA_EAST'
AREA_WEST:
type: string
description: AreaEnum 'AREA_WEST'
description: "AreaEnums - AREA_NORTH, AREA_SOUTH, AREA_EAST,
AREA_WEST"
deviceTypeEnums:
type: object
properties:
DEVICE_TYPE_TETRA_PERSON:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_TETRA_PERSON'
DEVICE_TYPE_MGIS:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_MGIS'
DEVICE_TYPE_NUGIS:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_NUGIS'
DEVICE_TYPE_MOBILE_CHIEF:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_MOBILE_CHIEF'
DEVICE_TYPE_MOBILE:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_MOBILE'
DEVICE_TYPE_EMAIL:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_EMAIL'
DEVICE_TYPE_EMAIL_CHIEF:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_EMAIL_CHIEF'
DEVICE_TYPE_DERIVED:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_DERIVED'
DEVICE_TYPE_TETRA_VEHICLE:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_TETRA_VEHICLE'
DEVICE_TYPE_TETRA:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_TETRA'
DEVICE_TYPE_TETRA_CHIEF:
type: string
description: DeviceTypeEnum 'DEVICE_TYPE_TETRA_CHIEF'
description: "DeviceTypeEnums - DEVICE_TYPE_NUGIS,
DEVICE_TYPE_MGIS, DEVICE_TYPE_TETRA,\
\ DEVICE_TYPE_TETRA_VEHICLE, DEVICE_TYPE_TETRA_CHIEF,
DEVICE_TYPE_TETRA_PERSON,\
\ DEVICE_TYPE_MOBILE, DEVICE_TYPE_MOBILE_CHIEF,
DEVICE_TYPE_EMAIL, DEVICE_TYPE_EMAIL_CHIEF,\
\ DEVICE_TYPE_DERIVED"
1 / 3
Koostatud 05.09.2024 15:35:27 https://riigihanked.riik.ee/rhr-web/#/procurement/7651064/general-info
VASTAVUSTINGIMUSED Viitenumber: 282815 Hankija: Siseministeeriumi infotehnoloogia- ja arenduskeskus (70008440) Hange: Logistiku töövoo I etapi realisatsioon
PAKKUMUSE ESITAMINE Pakkumuse esitamisega kinnitab pakkuja kõigi riigihanke alusdokumentides esitatud tingimuste ülevõtmist.
Tingimusliku pakkumuse esitamine ei ole lubatud.
Küsimused ettevõtjale: 1. Kinnitame, et käesolev pakkumus on jõus 3 kuud ja on esitatud tingimustel pakkujale siduv, alates pakkumuste esitamise tähtpäevast. (Raadionupp valikutega "Jah/Ei")
2. Andmed lepingusse, mida kasutatakse juhul, kui pakkumus tunnistatakse edukaks. Pakkuja esitab andmetena: 1. ettevõtte Nimi, reg.kood, aadress; 2. lepingu allkirjastaja nimi; 3. alus lepingu allkirjastamiseks (juhatuse liige, volikiri vm); 4. lepingu allkirjastaja ametinimetus; 5. pakkuja kontaktisik lepingu täitmisel (nimi, ametinimetus, telefoni number ja e-posti aadress) (Suur sisestusala (max pikkus 4000 tähemärki))
3. Kas pakkujal on isikuid, kellel on volitus ettevõtjat esindada, tema nimel otsuseid teha või teda kontrollida, ning kelle olemasolu ei kajastu äriregistris? Kui jah, esitab pakkuja eelpool nimetatud isikute ees- ja perekonnanime, isikukoodi ning esinduse aluse, et hankija saaks nende puhul viia läbi kõrvaldamise aluste kontrolli vastavalt RHS § 95 lg 1 p 1- 3 ja 5. (Suur sisestusala (max pikkus 4000 tähemärki))
4. Pakkuja kinnitab, et hankelepingu sõlmimine temaga ei riku rahvusvahelist sanktsiooni rahvusvahelise sanktsiooni seaduse (RSanS ) tähenduses. (Raadionupp valikutega "Jah/Ei")
5. Pakkuja kinnitab, et on teadlik, et ta peab esitama hankelepingu täitmise alustamise ajaks iga oma alltöövõtja nime, registrikoodi, kontaktandmed, teabe nende seaduslike esindajate kohta ning alltöövõtulepingu nimetuse, kuupäeva, numbri ja summa. Samad andmed esitab täitja iga hankelepingu täitmisel lisanduva alltöövõtja kohta (Raadionupp valikutega "Jah/Ei")
ÄRISALADUS Pakkuja märgib pakkumuses, milline teave on pakkuja ärisaladus ning põhjendab teabe määramist ärisaladuseks.
Teabe ärisaladuseks määramisel lähtutakse ebaausa konkurentsi takistamise ja ärisaladuse kaitse seaduse § 5 lõikes 2 sätestatust. Pakkuja ei või ärisaladusena märkida: 1) pakkumuse maksumust ega osamaksumusi; 2) teenuste hankelepingute puhul lisaks punktis 1 nimetatule muid pakkumuste hindamise kriteeriumidele vastavaid pakkumust iseloomustavaid numbrilisi näitajaid; 3) asjade ja ehitustööde hankelepingute puhul lisaks punktis 1 nimetatule muid pakkumuste hindamise kriteeriumidele vastavaid pakkumust iseloomustavaid näitajaid (RHS § 46 (1)).
Küsimused ettevõtjale: 1. Kirjeldage lühidalt pakkumuses sisalduvat ärisaladust ja lisage selle määramise põhjendus või märkige, et pakkumus ei sisalda ärisaladust. (Suur sisestusala (max pikkus 4000 tähemärki))
SAMAVÄÄRSUS Pakkuja kinnitab, et pakkumus vastab hanke alusdokumentides nõutule ja vajadusel on samaväärsus selgitatud ja tõendid samaväärsuse kohta lisatud.
Iga viidet, mille hankija teeb riigihanke alusdokumentides mõnele RHS-i § 88 lõikes 2 nimetatud alusele (standardile, tehnilisele tunnustusele, tehnilisele kontrollisüsteemile vms), tuleb lugeda selliselt, et see on täiendatud märkega „või sellega samaväärne“. Iga viidet, mille hankija teeb riigihanke alusdokumentides ostuallikale, protsessile, kaubamärgile, patendile, tüübile, päritolule, tootmisviisile, märgisele või vastavushindamisasutuse väljastatud katsearuandele või tõendile, tuleb lugeda selliselt, et see on täiendatud märkega „või sellega samaväärne“ (RHS § 88 lg-d 5-6,
2 / 3
Koostatud 05.09.2024 15:35:27 https://riigihanked.riik.ee/rhr-web/#/procurement/7651064/general-info
§ 89 lg 2, 114 lg-d 5-7). Hankija aktsepteerib objektiivsetel põhjustel muid asjakohaseid tõendeid, kui pakkuja tõendab hankijale vastuvõetaval viisil, et pakutav asi, teenus või ehitustöö vastab konkreetse märgise või hankija esitatud nõuetele, välja arvatud juhul, kui hankija nõutud märgis, samaväärne märgis või konkreetse või samaväärse vastavushindamisasutuse väljastatud katsearuanne või muu tõend on seaduse alusel eelduseks asja, teenuse või ehitustöö pakkumiseks turul (RHS § 114 lg 7).
Küsimused ettevõtjale: 1. Pakkuja kinnitab, et pakkumus vastab hanke alusdokumentides nõutule ja vajadusel on samaväärsus selgitatud ja tõendid samaväärsuse kohta lisatud. (Raadionupp valikutega "Jah/Ei")
EL NÕUKOGU SANKTSIOON. ALLTÖÖVÕTJAD JA TARNIJAD. Pakkuja kinnitab, et ta ei kaasa üle 10% hankelepingu maksumusest hankelepingu täitmisele alltöövõtjaid ega tarnijaid, kes on: 1. Vene Föderatsiooni kodanik, resident või Vene Föderatsioonis asutatud ettevõtja, sh füüsilisest isikust ettevõtja, juriidiline isik, asutus või muu üksus; 2. rohkem kui 50% ulatuses otseselt või kaudselt punktis 1 nimetatud isiku, asutuse või muu üksuse omandis; 3. punktis 1 või 2 nimetatud isiku, asutuse või muu üksuse esindaja või tegutseb sellise isiku juhiste alusel. Hankija lükkab tagasi pakkumuse, mille alusel sõlmitav hankeleping oleks RSanS § 7 lg 1 alusel tühine.
Määrust kohaldatakse riigihangetele alates rahvusvahelisest piirmäärast. NÕUKOGU MÄÄRUS (EL) 2022/576, 8. aprill 2022, millega muudetakse määrust (EL) nr 833/2014, mis käsitleb piiravaid meetmeid seoses Venemaa tegevusega, mis destabiliseerib olukorda Ukrainas.
Küsimused ettevõtjale: 1. Pakkuja kinnitab, et ta ei kaasa üle 10% hankelepingu maksumusest hankelepingu täitmisele alltöövõtjaid ega tarnijaid, kes on: 1. Vene Föderatsiooni kodanik, resident või Vene Föderatsioonis asutatud ettevõtja, sh füüsilisest isikust ettevõtja, juriidiline isik, asutus või muu üksus; 2. rohkem kui 50% ulatuses otseselt või kaudselt punktis 1 nimetatud isiku, asutuse või muu üksuse omandis; 3. punktis 1 või 2 nimetatud isiku, asutuse või muu üksuse esindaja või tegutseb sellise isiku juhiste alusel. (Raadionupp valikutega "Jah/Ei")
NÕUDED HANKELEPINGU TÄITMISSE KAASATUD MEESKONNALE
Pakkuja esitab hankelepingu täitmiseks vähemalt võtmerollide CV-d (neli isikut), kes peavad vastama rollile kehtestatud vastavustingimustele (tingimused toodud CVs).
Kohustuslikeks võtmerollideks on: - üks süsteemianalüütik; - üks C#/WPF vanemarendaja; - üks UX/UI disainer, - üks testija.
Pakkuja esitab meeskonnaliikmete andmed, täites iga nõutud meeskonnaliikme kohta etteantud CV vormi (PEE lisad 3.1. -3.4.).
Hindamiskriteeriumites toodud hindamispunktide saamiseks võib pakkuja esitada lisaks nimetatud 4-le meeskonnaliikme rollile Tehnilise kirjelduse punktis 5.2. nimetatud soovituslikud rollid, kes vastavad neile kehtestatud tingimustele (tingimused toodud CVs). Projektijuhi rolli võib täita paralleelselt teiste rollidega.
Esitatud andmed peavad võimaldama hankijal kontrollida meeskonnaliikme vastavust esitatud vastavusnõuetele ja lisapunktide saamiseks hindamiskriteeriumitele ning hankija kontrollib tingimuste täitmist eelkõige CVs esitatud andmete alusel.
3 / 3
Koostatud 05.09.2024 15:35:27 https://riigihanked.riik.ee/rhr-web/#/procurement/7651064/general-info
Küsimused ettevõtjale: 1. Lisa 3.1. Süsteemianalüütiku CV vorm (sisaldab rollile kehtestatud nõudeid) (Vabas vormis dokument)
2. Lisa 3.2. UX/UI disaineri CV vorm (sisaldab rollile kehtestatud nõudeid) (Vabas vormis dokument)
3. Lisa 3.3. C#/WPF vanemarendaja CV vorm (sisaldab rollile kehtestatud nõudeid) (Vabas vormis dokument)
4. Lisa 3.4. Testija CV vorm (sisaldab rollile kehtestatud nõudeid) (Vabas vormis dokument)
VISIOONI DOKUMENT
Pakkuja esitab omapoolse visiooni dokumendi, mille põhjal on hankijal võimalik hinnata visiooni detailsust ja realistlikkust tehnilises kirjelduses (PEE lisa 2) toodud eesmärkide saavutamiseks.
Visiooni dokument peab sisaldama vähemalt järgnevaid andmeid detailsuses, mis võimaldab läbi viia hindamismetoodikas kirjeldatud hindamise: 1. Pakkuja nägemus tegevusplaanist ja arendusest. 2. Pakkuja nägemus ajakavast 3. Pakkuja nägemus koostööst 4. Pakkuja riskianalüüs
Visiooni dokument, milles täielikult puuduvad vähemalt ühes puntides 1-4 kirjeldatud andmed, tunnistatakse mittevastavaks.
Visiooni sisuline hindamine toimub hindamise faasis.
Küsimused ettevõtjale: 1. Visiooni dokument (Vabas vormis dokument)
Koostatud 05.09.2024 15:35:58 1 / 1 https://riigihanked.riik.ee/rhr-web/#/procurement/ 7651064/general-info
HINDAMISKRITEERIUMID JA HINNATAVAD NÄITAJAD
Viitenumber: 282815 Hankija: Siseministeeriumi infotehnoloogia- ja arenduskeskus (70008440) Hange: Logistiku töövoo I etapi realisatsioon
Pakkumuse maksumust hinnatakse - Ilma maksudeta Kriteeriumi kaalumise meetod - Osakaaludega Elektroonilist oksjoni kasutatakse: ei
Jrk nr
Nimetus Kirjeldus Tüüp / hindamismeetod
Osakaal Kogus Ühik Pakkuja täidetav
1 Pakkumuse kogumaksumus Pakkumuse kogumaksumus peab sisaldama kõiki tulemi saavutamiseks vajalikke kulusid
Maksumus - vähim on parim
30 jah
2 Visioon Kvaliteet - hankija hinnatav
50
3 Projekti meeskonna koosseis ja kogemus Kvaliteet - hankija hinnatav
20
Kokku: 100
Hindamismetoodika kirjeldus 1. Pakkumuse kogumaksumus
Madalaima väärtusega pakkumus saab maksimaalse arvu punkte. Teised pakkumused saavad punkte arvutades valemiga: "madalaim väärtus" / "pakkumuse väärtus" * "osakaal"
2. Visioon Hindamine toimub PEE lisas 4.1. toodud hindamismetoodika alusel
3. Projekti meeskonna koosseis ja kogemus Hindamine toimub PEE lisas 4.1. toodud hindamismetoodika alusel
Kui hindamise järgselt on enim võrdselt väärtuspunkte saanud üle ühe pakkumuse, tunnistatakse edukaks pakkumus, milles pakkumuse kogumaksumusele on omistatud rohkem hindepunkte. Juhul, kui see kriteerium on saanud võrdselt punkte, tunnistatakse edukaks pakkumus, milles visioonile on omistatud rohkem hindepunkte. Juhul, kui ka see kriteerium on saanud võrdselt punkte, selgitatakse edukas pakkuja protokollitud liisuheitmise teel.
Lisa 4.1. Visiooni ning projekti meeskonna kogemuse ja koosseisu hindamiskriteeriumid ja -metoodika
1. Visiooni hindamiskriteeriumid ja -metoodika - max kokku 50 punkti
Visiooni ja projekti meeskonna kogemust hindab hankekomisjon kollektiivselt ja konsensuse alusel.
Valem: Tegevusplaan x 1,5 + ajakava x 1,5 + koostöö + riskid = Visiooni skoor
Tase A / (10 punkti)
Tase B (7 punkti)
Tase C (3 punkti)
Tase D (0 punkti)
Osakaal
Pakkuja nägemus tegevusplaanist ja
arendusest. Miks tehakse? Mida
tehakse?
Kuidas arendatakse?
Kriteeriumid:
Ülem-eesmärgid (miks?)
Alam-eesmärgid (miks?)
Eesmärkidega seotud
tegevused (mida?)
Prioriteedid ja järjekord
(miks?)
Arendusmeetod (Scrum,
Kanban, Waterfall, jne)
(kuidas?)
Arendusprogressi
nähtavus (kuidas?)
Pakkumuses esitatud
tegevusplaanis ei esine
puudujääke ja/või ebatäpsusi.
Esitatud tegevusplaan vastab
täielikult hankija
kriteeriumitele ning on
eriliselt kõrgetasemeline.
Eesmärgid ja seotud tegevused
on põhjendatud.
Prioriteedid ja järjekord on
loogiliselt seatud.
Arendusmeetod ja
arendusprogressi nähtavus on
kirjeldatud ning põhjendatud.
Pakkumuses esitatud
tegevusplaanis on põhjalikult
loetletud mida tehakse, miks
tehakse ning kuidas arendatakse,
kuid võib esineda kuni 4
mittepõhimõttelisi puudujääke
ja/või ebatäpsusi nõutud
kriteeriumites.
Pakkumuses esitatud
tegevusplaanis on üld- ja/või
napisõnaliselt kirjeldatud mida
tehakse, miks tehakse ning
kuidas arendatakse.
On vähemalt üks oluline
puudus nõutud kriteeriumites
või esineb rohkem, kui 4
mittepõhimõttelisi puudujääke
ja/või ebatäpsusi nõutud
kriteeriumites.
Pakkumuses ei ole
sisulist tegevuseplaani.
1,5
Pakkuja nägemus ajakavast. Kes
teeb? Millal teeb?
Kriteeriumid:
Pakkumuses esitatud ajakavas
ei esine puudujääke ja/või
ebatäpsusi.
Esitatud ajakava vastab
täielikult hankija
Pakkumuses esitatud ajakavas on
põhjalikult loetletud kes teeb ning
põhjalikult kirjeldatud millal
tehakse, kuid võib esineda kuni 4
mittepõhimõttelisi puudujääke
ja/või ebatäpsusi.
Pakkumuses esitatud ajakavas
on üld- ja/või napisõnaliselt
kirjeldatud kes teeb ja millal
tehakse.
On vähemalt üks oluline
puudus nõutud kriteeriumites
Pakkumuses ei ole
sisulist ajakava.
1,5
Eesmärkide realiseerimise
alustamise aeg ja kestvus
(millal?)
Eesmärkidega seotud
tegevuste teostamise
alustamise aeg ja kestvus
(millal?)
Tegevuste teostajad (kes?)
kriteeriumitele ning on
eriliselt kõrgetasemeline.
Eesmärgid ja tegevused on
ajaliselt defineeritud ning
teostaja on lisatud.
või esineb rohkem, kui 4
mittepõhimõttelisi puudujääke
ja/või ebatäpsusi nõutud
kriteeriumites.
Pakkuja nägemus koostööst (kellega
ja kuidas tehakse)
Kriteeriumid:
Osapooled (kellega?)
Suhtluskanalid (kuidas?)
Väärtuse esitlus meetod ja
sagedus (kuidas?)
Kokkusaamise sagedus
erinevate osapooltega
(kuidas?)
Pakkumuses esitatud koostöö
kirjelduses ei esine
puudujääke ja/või ebatäpsusi.
Esitatud koostöö kirjeldus
vastab täielikult hankija
kriteeriumitele ning on
eriliselt kõrgetasemeline.
Osapooled on kirjeldatud ning
kokkusaamise meetodid,
kanalid ja sagedus on
defineeritud.
Pakkumuses esitatud koostöö
kirjelduses on põhjalikult
loetletud kellega tehakse koostööd
ning põhjalikult kirjeldatud kuidas
tehakse koostööd, kuid võib
esineda kuni 4 mittepõhimõttelisi
puudujääke ja/või ebatäpsusi.
Pakkumuses esitatud koostöö
kirjelduses on üld- ja/või
napisõnaliselt kirjeldatud
kellega tehakse koostööd ja
kuidas tehakse koostööd ning
esineb olulisi
puudujääke/vastuolusid ja/või
ebatäpsusi.
On vähemalt üks oluline
puudus nõutud kriteeriumite
või esineb rohkem, kui 4
mittepõhimõttelisi puudujääke
ja/või ebatäpsusi nõutud
kriteeriumites.
Pakkumuses ei ole
sisulist koostöö
kirjeldust.
1,0
Pakkuja riskianalüüs (mis võib
juhtuda?)
Kriteeriumid:
Riskid
Riskide realiseerumise
hinnang (madal, keskmine,
kõrge)
Leevendus meetmed
Pakkumuses esitatud
riskianalüüsis ei esine
puudujääke ja/või ebatäpsusi.
Esitatud riskianalüüs vastab
täielikult hankija
kriteeriumitele ning on
eriliselt kõrgetasemeline.
Riskid on kirjeldatud koos
realiseerumise hinnanguga.
Samuti on lisatud leevendus
meetmed.
Pakkumuses esitatud
riskianalüüsis on põhjalikult
kirjeldatud, millised negatiivsed
stsenaariumid võivad juhtuda
arenduse käigus ning milliseid
meetmeid kasutatakse, et neid ära
hoida. Võib esineda kuni 4
mittepõhimõttelisi puudujääke
ja/või ebatäpsusi.
Pakkumuses esitatud
riskianalüüsis on liiga üldiselt
ja/või napisõnaliselt
kirjeldatud. Samuti esineb
olulisi puudujääke/vastuolusid
ja/või ebatäpsusi.
On vähemalt üks oluline
puudus nõutud kriteeriumites
või esineb rohkem, kui 4
mittepõhimõttelisi puudujääke
ja/või ebatäpsusi nõutud
kriteeriumites.
Pakkumuses ei ole
sisulist riskianalüüsi.
1,0
2. Projekti meeskonna koosseisu ja kogemuse hindamiskriteeriumid ja - metoodika – max kokku 20 punkti
Valem: koosseis + kogemus = meeskonna skoor
Tase A / (10 punkti)
Tase B (7 punkti)
Tase C (3 punkti)
Tase D (0 punkti) Osakaal
Projekti-
meeskonna koosseis
Meeskonna koosseisus on esitatud
lisaks võtmerollidele kõik Tehnilise
kirjelduse punktis 5.2. nimetatud
soovituslikud rollid (so 2 arendajat
ja projektijuht) ja veel vähemalt üks
väärtuslik lisa roll. Kõik esitatud
isikud peavad hankelepingu
täitmises osalema.
Kaks Tehnilise kirjelduse punktis
5.2. nimetatud arendajat on lubatud
pakkumuses asendada ühe tehnilise
kirjelduse punktis 5.1.3. kirjeldatud
lisa vanemarendajaga.
Meeskonna koosseisus on esitatud
lisaks võtmerollidele kõik Tehnilise
kirjelduse punktis 5.2. nimetatud
soovituslikud rollid (so kaks arendajat
ja projektijuht). Kõik esitatud isikud
peavad hankelepingu täitmises
osalema.
Kaks Tehnilise kirjelduse punktis 5.2.
nimetatud arendajat on lubatud
pakkumuses asendada ühe tehnilise
kirjelduse punktis 5.1.3. kirjeldatud
lisa vanemarendajaga.
Meeskonna koosseisus on esitatud
lisaks võtmerollidele üks
Tehnilise kirjelduse punktis 5.2.
nimetatud soovituslik arendaja.
Kõik esitatud isikud peavad
hankelepingu täitmises osalema.
Neli võtmerolli
vastavalt
vastavustingimustele.
1
Projekti- meeskonna kogemus
(Vanem)arendajate
kogemus hankeobjektiga
sarnase lahenduse
arendamisel kolmes
erinevas projektis, kus on
mitu UI-d, mitu servicet,
reaalaja töövood koos
WebSocketi või SSE
kasutamisega.
Süsteemanalüütik on
eelnevalt analüüsinud
vähemalt kolmes erinevas
projektis operatiivjuhtimist
(Vanem)arendajate kogemus
hankeobjektiga sarnase
lahenduse arendamisel
vähemalt kahes erinevas
projektis, kus on mitu UI-d,
mitu servicet, reaalaja
töövood koos WebSocketi
või SSE kasutamisega.
Süsteemanalüütik on
eelnevalt analüüsinud
vähemalt kahes erinevas
projektis operatiivjuhtimist
(reaal-aja lahendust)
hõlmavat lahendust.
(Vanem)arendaja
kogemus kahes erinevas
projektis operatiiv
lahenduse arendamisel
(reaalaja töövood koos
WebSocketi või SSE
kasutamisega).
Nelja võtmerolli
kogemused vastavalt
vastavustingimustele.
1
(reaal-aja lahendust)
hõlmavat lahendust.
1 / 1
Koostatud 30.07.2024 13:04:08 https://riigihanked.riik.ee/rhr-web/#/procurement/7651064/general-info
KÕRVALDAMISE ALUSED JA KVALIFITSEERIMISTINGIMUSED Viitenumber: 282815 Hankija: Siseministeeriumi infotehnoloogia- ja arenduskeskus (70008440) Hange: Logistiku töövoo I etapi realisatsioon
KÕRVALDAMISE ALUSED
KÕRVALDAMISE ALUSED
Hankija kontrollib edukal pakkujal vastavalt RHS § 30 toodule RHS § 95 lg 1 ja 4 kõrvaldamise aluseid enne lepingu sõlmimist. RHS § 95 lg 1 nimetatud kõrvaldamise aluste kontroll toimub riigihangete registri liidese ja EU Sanctions Map abil. Kui andmed ei ole hankijale päringute kaudu kättesaadavad, siis nõuab hankija edukalt pakkujalt enne hankelepingu sõlmimist kõikide asjakohaste andmete või dokumentide esitamist.
Kehtib: Kõik osad
Küsimused ettevõtjale: 1) Kinnitame, et meil puuduvad riigihangete seaduse § 95 lõikes 1 kirjeldatud kõrvaldamise alused ning saame aru, et kõrvaldamise aluse esinemisel kõrvaldatakse meid minikonkursilt riigihangete seaduse §-s 95 sätestatud korras. (Raadionupp valikutega "Jah/Ei") 2) Kinnitame, et meil puuduvad riigihangete seaduse § 95 lõikes 4 kirjeldatud kõrvaldamise alused ning saame aru, et kõrvaldamise aluse esinemisel kõrvaldatakse meid minikonkursilt riigihangete seaduse §-s 95 sätestatud korras. (Raadionupp valikutega "Jah/Ei")
Siseministeeriumi infotehnoloogia- ja arenduskeskus
Mäealuse 2/2, Tallinn 12618
Telefon 612 6200
E-post [email protected]
Reg. kood 70008440
www.smit.ee
18.09.2024 nr 3-17/445
Pakkumuse esitamise ettepanek minikonkursil "Logistiku töövoo I etapi realisatsioon"
(282815) raamlepingu nr 3-3/3527 alusel
Siseministeeriumi infotehnoloogia- ja arenduskeskus (edaspidi SMIT või hankija) soovib
riigihanke „HKSOS arendustööd" (275561) tulemusel sõlmitud raamlepingu alusel sõlmida hankelepingu raamlepingu partneriga ja teeb ettepaneku pakkumuse esitamiseks minikonkurs i
dokumentides toodud tingimustel. 1. Üldteave
1.1. Raamleping: reg nr 3-3/3527.
1.2. Hanke eest vastutav isik: Paavo Kirsi([email protected]).
1.3. Hanke liik: minikonkurss raamlepingu alusel, minikonkursi viitenumber 282815.
1.4. Eeldatav maksumus: 393 750 eurot km-ta.
1.5. CPV kood: 72200000-7.
1.6. Menetluse teostamise viis: e-menetlus eRHR vahendusel.
1.7. Hankelepingu kestus: lepinguliste kohuste täitumiseni (sh ka arve maksmise aeg)
1.8. Finantseerimisallikas: välisvahendid, HK hädaabiteadete menetlemise infosüsteemi
(SOS3) III etapp logistiku töövoog, 1S40-RF21-01212SOS1
1.9. Pakkumuse esitamise tähtaeg: Pakkumuse esitamise täpne kuupäev ja kellaaeg
sätestatakse hankemenetluse eest vastutava isiku poolt eRHR-s. Hanke eest vastutaval isikul on
õigus muuta pakkumuste esitamise tähtaega ning teha alusdokumentides menetluse käigus
avastatud vajalikke mittesisulisi muudatusi ning parandusi. Pakkujal on õigus vajadusel teha
ettepanek pakkumuse esitamise tähtaja pikendamiseks.
1.10. Pakkumuse jõusoleku tähtaeg: vähemalt 3 kuud alates pakkumuse esitamise
tähtpäevast.
1.11. Hankija ootus huvitatud isikutele on, et pakkujad teavitaks hankijat aegsasti RHR kaudu
riigihanke alusdokumentides avastatud vigade, ebatäpsuste ja ebaselguste parandamiseks ja/või
teeks ettepaneku pakkujate hinnangul riigihanke eseme hankimiseks seatud
ebaproportsionaalsete või põhjendamatute piirangute leevendamiseks.
1.12. RHR üldandmetesse/hanketeate lahtris "lepingu täitmise tähtaeg" määratud kuupäev
tähendab lepingu kehtivust, mitte üksnes täitja kohustuste täitmise tähtaega ning lähtub seetõttu
nii täitja kui hankija/maksja kohustuste nõuetekohase täitmise tähtaegadest, sh hõlmatud on ka
hankija arve tasumiseks kuluv aeg. Pakkujal tuleb lepingu sõlmimise korral lähtuda enda
2(4)
kohustuste tähtaegsel täitmisel lepingu projektis või tehnilises kirjelduses määratud
täitmise/lepingu eseme tarnimise tähtajast.
1.13. Pärast hankelepingu sõlmimist esitab täitja iga oma alltöövõtja nime ja registrikood i
ning alltöövõtulepingu nimetuse, kuupäeva, numbri ja summa.
2. Minikonkursi dokumendid koosnevad käesolevast dokumendist ning järgmistest
lisadest:
2.1. Lisa 1- Hankelepingu projekt;
2.2. Lisa 2- Tehniline kirjeldus;
2.3. Lisa 2.1- ?
2.4. Lisa 3 – Vastavustingimused (eRHR vorm);
2.5. Lisa 3.1 – Süsteemianalüütiku CV vorm (sisaldab rollile kehtestatud nõudeid);
2.6. Lisa 3.2 – UX/UI disaineri CV vorm (sisaldab rollile kehtestatud nõudeid);
2.7. Lisa 3.3 - C#/WPF vanemarendaja CV vorm (sisaldab rollile kehtestatud nõudeid);
2.8. Lisa 3.4 – Testija CV vorm (sisaldab rollile kehtestatud nõudeid);
2.9. Lisa 3.5 - C#/WPF arendaja CV vorm (sisaldab rollile kehtestatud nõudeid);
2.10. Lisa 3.6 – Projektijuhi CV vorm (sisaldab rollile kehtestatud nõudeid);
2.11. Lisa 4 - Hindamiskriteeriumid ja hinnatavad näitajad (eRHR vorm);
2.12. Lisa 4.1 – Visiooni ning projekti meeskonna kogemuse ja koosseisu
hindamiskriteeriumid ja - metoodika;
2.13. Lisa 5 - Kõrvaldamise alused (eRHR vorm).
3. Olelusringi kulude arvestamine
3.1. Tegemist on hankijal juba olemas ja kasutuses oleva infosüsteemi arendustöödega.
Lepingu täitmise tulemusel ei teki uut iseseisvat infosüsteemi terviklahendust, mille
käitamine eeldaks märkimisväärsete täiendavate kulutuste tekkimist nt riistvarale või
erinevatele kaudsetele kuludele vmt ning mida saaks arvesse võtta ja lahendada käesoleva
minikonkursi raames. Infosüsteemi käitamisega seotud kulutuste määr on praktikas
üldjoontes välja kujunenud (lähtuvalt sihtotstarbest, kasutusintensiivsusest jpm) ning
tulenevalt hankija asutuse struktuurist ja eelarvestamise süsteemist on infosüsteemide
ülalpidamiskulude katmine lahendatud erinevate kombineeritavate tark- ja riistvaraliste
lahendustega, mida hangitakse teiste hangete kaudu. Lisaks on planeeritud katta suur osa
võimalikest tekkivatest olelusringikuludest hankija oma ressursiga.
4. Minikonkursil osalemise tingimused
4.1. Minikonkursi dokumendid moodustavad ühtse terviku. Dokumendid tehakse täitjatele
tasuta kättesaadavaks eRHR-i keskkonna vahendusel.
4.2. Minikonkursi dokumentide sisu kohta saab hankijalt selgitusi küsida kirjalikul
pöördumisel läbi eRHR-i keskkonna teabevahetuse töölehe. Hankija vastab esitatud
küsimustele esimesel võimalusel, võttes arvesse RHS § 46 lg 1 ja konkreetse
minikonkursi pakkumuste esitamise tähtaega.
5. Pakkumuse vormistamine, esitamine ja muutmine
5.1. Pakkumus tuleb esitada elektrooniliselt eRHR-i kaudu aadressil
https://riigihanked.riik.ee.
3(4)
5.2. Dokumendid vormistada PDF-vormingus või mõnes muus üldlevinud vormingus.
5.3. Kui esitatavate dokumentide koosseisus on kolmanda osapoole poolt kirjalikult
allkirjastatud dokumente, esitada dokument skaneeritud kujul ning originaaldokument
esitada ainult juhul, kui hankijal on tekkinud kahtlus dokumendi osas.
5.4. Samaväärsuse pakkumisel peab pakutav lahendus ühtima hankija olemasolevate
süsteemidega ning toote ja/või teenuse hind peab sisaldama kõiki migreerimisega seotud
lisatasusid. Pakkumus peab vastama esitatud nõuetele või olema sellega vähemalt
samaväärne, kuid ühilduma olemasoleva lahendusega. Samaväärsust tõendavad andmed
ja dokumendid esitab pakkuja koos pakkumusega. Pakkumuse samaväärsust kontrollivad
ja hindavad hankija vastavate erialateadmistega töötajad.
6. Pakkumuste vastavuse kontrollimine
6.1. Pakkumus tunnistatakse vastavaks, kui see vastab kõikidele minikonkursi tingimuste le ning selles ei esine sisulisi kõrvalekaldumisi esitatud tingimustest.
6.2. Pakkumuses esitatud andmed peavad olema tõesed, esitatud viisil ja piisava detailsusega,
mis võimaldavad hankijal kontrollida nende vastavust riigihanke alusdokumentides toodud tingimustele.
6.3. Hankija nõudel peab täitja pakkumuses esitatud teavet selgitama, piiritlema või
täpsustama.
6.4. Hankijal on õigus lükata pakkumus tagasi, kui see ei vasta minikonkursis esitatud
tingimustele ning juhul, kui täitja on esitanud lisatingimusi, mis ei ole kooskõlas
minikonkursi tingimustega.
6.5. Hankija lükkab pakkumuse tagasi, kui hankelepingu sõlmimine selle pakkumuse alusel
rikuks rahvusvahelist sanktsiooni rahvusvahelise sanktsiooni seaduse tähenduses
(RSansS).
6.6. Hankija võib minikonkursi käigus esitatud pakkumusi hinnata enne pakkumuste vastavuse või pakkujate suhtes kõrvaldamise aluste puudumise kontrollimist. Sellise l
juhul kontrollib hankija pakkumuse vastavust ja kõrvaldamise aluste puudumist vaid pakkujal, kellega ta kavatseb hankelepingu sõlmida. Kui selle pakkuja pakkumus osutub kontrollimise tulemusena mittevastavaks või pakkuja kõrvaldatakse minikonkursilt, on
hankijal õigus teostada kirjeldatud kontrollid hindamise tulemusena paremusjärjestuses järgmise pakkuja osas.
7. Pakkumuste hindamine, edukaks tunnistamine või tagasi lükkamine
7.1. Hankijal on õigus pakkumus tagasi lükata ja otsustada hankelepingut mitte sõlmida või
vastavalt raamlepingule minikonkurss kehtetuks tunnistada, kui:
7.1.1. pakkumus(ed) ei vasta tingimustele;
7.1.2. pakkumus(ed) ületavad eeldatavat maksumust;
7.1.3. tellija ei saa projektile rahastust.
7.2. Hankijal on õigus enne hankelepingu sõlmimist tunnistada minikonkurss omal algatuse l
põhjendatud vajadusel kehtetuks, teavitades sellest pakkujaid.
7.3.Hankija hindab pakkumusi 100-väärtuspunkti süsteemis. Edukaks tunnistatakse üks
majanduslikult soodsaim pakkumus raamlepingu punktis 2.13. ja minikonkurs i
alusdokumentides toodud hindamiskriteeriumide alusel.
4(4)
8. Kõrvaldamise aluste kontrollimine, eduka pakkuja äralangemine
8.1. Hankija kontrollib pakkujal, kellega ta kavatseb hankelepingu sõlmida RHS § 95 lõikes
1 ja 4 sätestatud kõrvaldamise aluseid. Hankija ei sõlmi hankelepingut pakkujaga, kellel
esineb mõni § 95 lõikes 1 nimetatud kõrvaldamise alus ning hankija võib kõrvaldad a
minikonkursilt pakkuja, kellega ta kavatseb hankelepingu sõlmida, kui sellel pakkujal
esineb mõni RHS § 95 lõikes 4 nimetatud kõrvaldamise alus.
8.2. Kui pakkuja, kellega hankija kavatseb hankelepingu sõlmida, kõrvaldatakse minikonkursilt,
nimetatud pakkuja võtab hankijast mitteolenevatel põhjustel oma pakkumuse tagasi või ei
allkirjasta hankelepingut, mida käsitletakse kui pakkumuse tagasi võtmist RHS § 119
tähenduses, hindab hankija kõiki ülejäänud minikonkursi pakkumusi uuesti ja tunnistab
soodsaimaks pakkumuse, mis on pakkumustest majanduslikult soodsaim. Hankija ei ole
kohustatud pakkumusi uuesti hindama ja võib tunnistada soodsaimaks esialgsel hindamisel
edukuselt järgmiseks osutunud pakkumuse juhul, kui soodsaimaks tunnistatud pakkumuse
äralangemine ei saa mõjutada ülejäänud pakkumuste omavahelist järjestust.
8.3. Hankija rakendab RHS § 97 ja pakkuja võib esitada koos pakkumusega või hankija nõudmisel
tõendeid heastamismeetmete kohta.
Lugupidamisega
(allkirjastatud digitaalselt)
Mart Nielsen
peadirektor
Lisa: Loetletud punktis 2.
Paavo Kirsi, [email protected]
Nimi | K.p. | Δ | Viit | Tüüp | Org | Osapooled |
---|---|---|---|---|---|---|
Üldkäskkiri | 20.02.2025 | 1 | 3-1/50 | Üldkäskkiri | smit | |
Leping | 27.12.2024 | 3 | 3-3/3682 🔒 | Leping | smit | |
Leping | 06.11.2024 | 1 | 3-3/3633 🔒 | Leping | smit | |
Sissetulev kiri | 29.10.2024 | 1 | 3-13/169 🔒 | Sissetulev kiri | smit | |
Sissetulev kiri | 23.10.2024 | 1 | 12-1/222 | Sissetulev kiri | smit | Siseministeerium |
Sissetulev kiri | 23.10.2024 | 1 | 12-1/222 | Sissetulev kiri | smit | Siseministeerium |
Üldkäskkiri | 23.09.2024 | 1 | 3-1/93 | Üldkäskkiri | smit | |
Üldkäskkiri | 20.09.2024 | 3 | 3-1/92 | Üldkäskkiri | smit | |
Üldkäskkiri | 20.09.2024 | 3 | 3-1/92 | Üldkäskkiri | smit | |
Väljaminev kiri | 18.09.2024 | 1 | 3-17/445 | Väljaminev kiri | smit | |
Üldkäskkiri | 25.08.2024 | 1 | 3-1/88 | Üldkäskkiri | smit | |
Üldkäskkiri | 25.08.2024 | 1 | 3-1/88 | Üldkäskkiri | smit | |
Leping | 07.05.2024 | 1 | 4-2/520-10 🔒 | Leping | smit | |
Sissetulev kiri | 04.03.2024 | 28 | 12-1/2 | Sissetulev kiri | smit | Majandus- ja Kommunikatsiooniministeerium |
Sissetulev kiri | 13.02.2024 | 48 | 1-3/169 | Sissetulev kiri | smit | Majandus- ja Kommunikatsiooniministeerium |
Leping | 30.11.2022 | 525 | 4-2/520-9 🔒 | Leping | smit | |
Leping | 30.03.2022 | 770 | 4-2/520-8 🔒 | Leping | smit | |
Leping | 17.11.2021 | 903 | 4-2/520-7 🔒 | Leping | smit | |
Leping | 27.05.2020 | 1442 | 4-2/520-6 🔒 | Leping | smit | |
Leping | 15.05.2020 | 1454 | 4-2/520-5 🔒 | Leping | smit | |
Leping | 22.07.2019 | 1752 | 4-2/520-4 🔒 | Leping | smit | |
Leping | 17.05.2019 | 1818 | 4-2/520-2 🔒 | Leping | smit | |
Leping | 17.05.2019 | 1818 | 4-2/520-3 🔒 | Leping | smit | |
Leping | 28.12.2017 | 2323 | 4-2/520-1 🔒 | Leping | smit |