|
|
|
# Vaatimusmäärittely
|
|
|
|
|
|
|
|
## Johdanto
|
|
|
|
|
|
|
|
----- Tämän dokumentin tarkoitus on määrittää ja rajoittaa apuvälineiden paikannusprojektin vaatimukset. Dokumentissa kuvataan projektin laajuus, sidosryhmät sekä käyttötapaukset mukaanlukien asiakkaan haluamat ominaisuudet.
|
|
|
|
|
|
|
|
### Palvelun kuvaus
|
|
|
|
|
|
|
|
----- -Apuvälinekeskus haluaa seurata apuvälineiden sijaintia sisätiloissa, sekä asiakkailla lainakäytössä. Asiakkaille lainattujen välineiden käytön määrää halutaan myös seurata, koska ne voivat jäädä käyttämättömänä lojumaan potilaille. Järjestelmässä apuvälineeseen kiinnitetty laite lähettää sijainti- ja käyttötietoja järjestelmälle. Sisätiloissa halutaan rekisteröidä järjestelmään automaattisesti tilannetieto siitä, kun väline esim. saapuu varastoon tai poistuu varastosta.
|
|
|
|
|
|
|
|
--------Kerättyjen tietojen avulla apuvälineet eivät katoaisi ja niiden käytön osalta voisi kerätä tilastotietoja eri käyttäjäryhmiltä. Laitteeseen voisi mahdollisesti lisätä jatkossa muitakin sensoreita apuvälineiden käytön seuraamiseen.
|
|
|
|
|
|
|
|
### Palvelun tilaaja
|
|
|
|
|
|
|
|
------Apuvälinekeskus
|
|
|
|
|
|
|
|
### Vaatimusmäärittelyn toimittaja
|
|
|
|
|
|
|
|
Overflow
|
|
|
|
|
|
|
|
## Sidosryhmät ja profiilit
|
|
|
|
|
|
|
|
-----------Apuvälineen seurantajärjestelmä koskisi seuraavia sidosryhmiä
|
|
|
|
|
|
|
|
- Sairaanhoitopiirin asiakas, apuvälinen lainaaja.
|
|
|
|
|
|
|
|
- [Teuvo Terävä] (https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/profiili-1)
|
|
|
|
- Sairaalan työntekijä, opastaa apuvälineiden kanssa
|
|
|
|
|
|
|
|
- [Satoshi Nakamoto] (https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/profiili-2)
|
|
|
|
- SOTE-piiri, opastaa asiakkaitaan apuvälineiden käytössä
|
|
|
|
|
|
|
|
- [Merja Mäkelä] (https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/profiili-3)
|
|
|
|
- Uhkatyyppi
|
|
|
|
|
|
|
|
- [Jaska Hakkerinen] (https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/profiili-4)
|
|
|
|
- Apuvälineen käyttäjä
|
|
|
|
|
|
|
|
- [Marjatta Laakso] (https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/profiili-5)
|
|
|
|
## Sidosryhmä kartta
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Asiakaspolku
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Palvelupolku
|
|
|
|
|
|
|
|
Palvelupolku kuvattuna asiakkaan (Apuvälinekeskus) näkökulmasta.
|
|
|
|
|
|
|
|
.png)
|
|
|
|
|
|
|
|
## Yleiset vaatimukset ja rajoitteet
|
|
|
|
|
|
|
|
| Id | Vaatimus | Kategoria | Vastuuhenkilö |
|
|
|
|
|:---:|:--------:|:---------:|:-------------:|
|
|
|
|
| GENREQ001 | Apuvälineiden käytön määrää täytyy pystyä seuraamaan (esim. käyttöaika/matka) | Toiminnallinen | Tuotantotiimi |
|
|
|
|
| GENREQ002 | Apuvälineen sijainti Keski-Suomessa paikannettava | Toiminnallinen | Tuotantotiimi |
|
|
|
|
| GENREQ003 | Apuvälineen liikkumista seurattava Sairaalan ja varaston sisällä | Toiminnallinen | Tuotantotiimi |
|
|
|
|
| GENREQ004 | Järjestelmän pystyttävä seuraamaan tuhansia eri laitteita Keski-Suomessa | Suorituskyky | Tuotantotiimi |
|
|
|
|
| GENREQ005 | Huollon tarve mitattava, esim käyttötuntien avulla/kilometrimäärällä | Toiminnallinen | Tuotantotiimi |
|
|
|
|
## Yleiset käyttötapaukset
|
|
|
|
|
|
|
|
Apuvälinevaraston lainavälineiden käyttötason seuranta ja huollon suunnittelu. Apuvälineiden tilan ja sijainnin seuranta sairaalan ja apuvälinevaraston tiloissa.
|
|
|
|
Example 1. Sairaanhoitaja hakee varastolta apuvälineen ja järjestelmä rekisteröi laitteen lähdön varastotiloista. Example 2. Apuväline saapuu välinevaraston tiloihin josta se menee huollettavaksi ja tämän jälkeen varastoon. Järjestelmä ylläpitää apuvälineen tilasijainnin tietoja.
|
|
|
|
|
|
|
|
### Käyttötapaukset
|
|
|
|
|
|
|
|
[Käyttötapaus: Apuvälineen huoltoilmoitus](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-apuv%C3%A4lineen-huoltoilmoitus)
|
|
|
|
|
|
|
|
[Käyttötapaus: Apuvälineen käytön seuranta](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-apuv%C3%A4lineen-k%C3%A4yt%C3%B6n-seuranta)
|
|
|
|
|
|
|
|
[Käyttötapaus: Apuvälineen lisääminen järjestelmään](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-apuv%C3%A4lineen-lis%C3%A4%C3%A4minen-j%C3%A4rjestelm%C3%A4%C3%A4n)
|
|
|
|
|
|
|
|
[Käyttötapaus: Apuvälineen poistaminen käytöstä](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-apuv%C3%A4lineen-poistaminen-k%C3%A4yt%C3%B6st%C3%A4)
|
|
|
|
|
|
|
|
[Käyttötapaus: Apuvälineen sijainnin tarkistaminen](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-apuv%C3%A4lineen-sijainnin-tarkistaminen)
|
|
|
|
|
|
|
|
[Käyttötapaus: Apuvälineen tilan muuttuminen varastossa](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-apuv%C3%A4lineen-tilan-muuttuminen-varastossa)
|
|
|
|
|
|
|
|
[Käyttötapaus: Apuvälineen tilan tarkistaminen](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-apuv%C3%A4lineen-tilan-tarkistaminen)
|
|
|
|
|
|
|
|
[Käyttötapaus: Laitteen uudelleen sijoitus](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/k%C3%A4ytt%C3%B6tapaus:-laitteen-uudelleen-sijoitus)
|
|
|
|
|
|
|
|
## Toiminnalliset vaatimukset
|
|
|
|
|
|
|
|
| Id | Vaatimus | Vastuuhenkilö |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| REQ001 | Laite rekisteröi sijaintinsa tietokantaan | Tuotantotiimi |
|
|
|
|
| REQ002 | Käyttöasteesta tultava informaatiota tietokantaan | Tuotantotiimi |
|
|
|
|
| REQ003 | Laitteella oltava tiedot siihen kiinnitetystä apuvälineestä | Tuotantotiimi |
|
|
|
|
| REQ004 | Laite on mahdollistettava uudelleen sijoittamiseen eri apuvälineeseen, vanhan poistuessa käytöstä | Tuotantotiimi |
|
|
|
|
| REQ005 | Backup tietokanta laitteen lähettämistä tiedoista | Tuotantotiimi |
|
|
|
|
| REQ006 | Kirjautumissivu, laitelistaus, sensoreiden graafinen kuvaus, laitteiden lajittelu | Tuotantotiimi |
|
|
|
|
| REQ007 | Huoltoilmoitus tietyn ajan täyttyessä | Tuotantotiimi |
|
|
|
|
| REQ008 | Tulostemahdollisuus laitteiden käyttöasteesta | Tuotantotiimi |
|
|
|
|
| REQ009 | Ilmoitus kun laitetta ei ole käytetty tiettynä ajanjaksona | Tuotantotiimi |
|
|
|
|
| REQ010 | Yksinkertainen hakuominaisuus MoTrakissa laitteen etsimiseen | Tuotantotiimi |
|
|
|
|
| REQ011 | Sisätilapaikannukset oltava skaalautuva isoihinkin rakennuksiin joissa useita tiloja | Tuotantotiimi |
|
|
|
|
|
|
|
|
## Ei-toiminnalliset vaatimukset
|
|
|
|
|
|
|
|
### Käytettävyys
|
|
|
|
|
|
|
|
| Id | Vaatimus | Vastuuhenkilö |
|
|
|
|
|:---:|:--------:|:-------------:|
|
|
|
|
| ETVK001 | Yksikertainen käyttöliittymä | Tuotantotiimi |
|
|
|
|
| ETVK002 | Palvelu suomeksi | Tuotantotiimi |
|
|
|
|
| ETVK003 | Laitteen oltava toimintakykyinen 24/7 | Tuotantotiimi |
|
|
|
|
| ETVK004 | Laitteelta kerättävien tietojen tulee olla helposti luettavissa järjestelmästä | Tuotantotiimi |
|
|
|
|
| ETVK005 | Laitteen oltava pienivirtainen akkukapasiteetin maksimoimiseksi | Tuotantotiimi |
|
|
|
|
| ETVK006 | Laitteiden lisääminen palvelun kautta oltava yksinkertaista | Tuotantotiimi |
|
|
|
|
| ETVK007 | MoTikan oltava pieni kokoinen sijoittamisen helpoittamiseksi apuvälineeseen | Tuotantotiimi |
|
|
|
|
| ETVK008 | MoTikan kestettävä eri sääolosuhteita | Tuotantotiimi |
|
|
|
|
### Suorituskyky
|
|
|
|
|
|
|
|
| Id | Vaatimus | Vastuuhenkilö |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| ETVS001| Kirjautumiseen saa kulua korkeintaan 5 sekuntia | Tuotantotiimi |
|
|
|
|
| ETVS002 | Karttanäkymän aukeamiseen saa kulua korkeintaan 4 sekuntia | Tuotantotiimi |
|
|
|
|
| ETVS003 | MoTikka on pienivirtainen ja kykyenee toimimaan useita kuukausia | Tuotantotiimi |
|
|
|
|
| ETVS004 | MoTikka kykenee lähettämään tietonsa myös alueilla joiden kuuluvuus on heikko | Tuotantotiimi |
|
|
|
|
| ETVS005 | MoTikan tarjoaminen tietojen hakemiseen MoTrakissa saa kulua korkeintaan 4 sekuntia | Tuotantotiimi |
|
|
|
|
| ETVS006 | Palvelu on skaalautuva ja pystyy tarjoamaan usealle laitteelle tuen | Tuotantotiimi |
|
|
|
|
| ETVS007 | Lukijat hakevat itse konffaustietonsta palvelimelta ja toimivat niiden mukaisesti | Tuotantotiimi |
|
|
|
|
|
|
|
|
### Turvallisuus
|
|
|
|
|
|
|
|
| Id | Vaatimus | Vastuuhenkilö |
|
|
|
|
|:-:|:-:|:-:|:-:|
|
|
|
|
| ETVT001 | Apuvälineistä kerättyihin tietoihin pääsee käsiksi vain oikeutetut henkilöt | Tuotantotiimi |
|
|
|
|
| ETVT002 | Laite käyttää salattuja yhteyksiä (HTTPS) tiedon siirtämiseen | Tuotantotiimi |
|
|
|
|
| ETVT003 | MoTikka seuraa vain laitetta, eikä MoTrakissa ole lainatietoja | Tuotantotiimi |
|
|
|
|
| ETVT004 | Palvelu toimii pilvi-infrassa, eikä paikallisilla palvelimilla | Tuotantotiimi |
|
|
|
|
| ETVT005 | Henkilön täytyy kirjautua henkilökohtaisilla tunnuksilla palveluun | Tuotantotiimi |
|
|
|
|
|
|
|
|
## Palvelun MockUp
|
|
|
|
|
|
|
|
[mockup](https://projects.invisionapp.com/share/TFM17Z1DE2Z#/screens)
|
|
|
|
|
|
|
|
## Ominaisuudet (Features)
|
|
|
|
|
|
|
|
[Ominaisuus: Ilmoitus apuvälineen käyttämättömyydestä tai huoltotarpeesta](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/ominaisuus:-ilmoitus-apuv%C3%A4lineen-k%C3%A4ytt%C3%A4m%C3%A4tt%C3%B6myydest%C3%A4-tai-huoltotarpeesta)
|
|
|
|
|
|
|
|
[Ominaisuus: Käyttöasteen raportti](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/ominaisuus:-k%C3%A4ytt%C3%B6asteen-raportti)
|
|
|
|
|
|
|
|
[Ominaisuus: Apuväline varattu varastossa](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/ominaisuus:-apuv%C3%A4line-varattu-varastossa)
|
|
|
|
|
|
|
|
[Ominaisuus: Apuvälineen rekisteröinti](https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/ominaisuus:-apuv%C3%A4lineen-rekister%C3%B6inti)
|
|
|
|
|
|
|
|
[Ominaisuus: Apuvälineen sijainti maakunnassa] (https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/ominaisuus:-apuv%C3%A4lineen-sijainti-maakunnassa)
|
|
|
|
|
|
|
|
[Ominaisuus: Poiston yhteydessä laitteen uudelleensijoitus] (https://gitlab.labranet.jamk.fi/OverFlow/Dokumentaatio/wikis/ominaisuus:-poiston-yhteydess%C3%A4-laitteen-uudelleensijoitus)
|
|
|
|
|
|
|
|
## Ohjelmiston arkkitehtuuri
|
|
|
|
|
|
|
|
Yleinen kuva
|
|
|
|
|
|
|
|
## Arkkitehtuuriin/teknologiaan liittyvät vaatimukset
|
|
|
|
|
|
|
|
Kuten aikaisemmin todettiin, pieni virrankulutus ja pieni koko ovat tekijöitä joilla voimme kehittää laitettamme.
|
|
|
|
|
|
|
|
Raspberry zero W täyttää nämä kriteerit noin puolet pienemmällä virrankulutuksella verrattuna Pi 3:seen (120mA vs 230mA) ja se on myös noin kolmanneksen pienempi kooltaan. Siinä on myös kaikki tarvittavat ominaisuudet, joita olemme käyttäneet Pi 3:ssa, kuten bluetooth jota tarvitsemme käyttöasteen seurantaan. Vaikka tämäkin olisi selvä askel eteenpäin raspberry pi 3:sta, virran kulutus tulisi silti olemaan ongelma pitkällä aikavälillä.
|
|
|
|
|
|
|
|
Siirryttäessä pois raspberry pi kehitysympäristöstä, voimme alkaa tarkastelemaan microcontrollereja, jotka on suunniteltu kuluttamaan mahdollisimman vähän virtaa.
|
|
|
|
|
|
|
|
Yksi esimerkki olisi ESP32 system on a chip microcontroller, johon on integroitu wi-fi ja dual-mode bluetooth. Tässä voitaisiin hyödyntää laitteen ajastettua sleep modea, jossa virrankulutus olisi noin 5-10mA. Kun bluetooth aktivoidaan, nousee virrankulutus noin 60-70mA:iin. ESP32 laitteelle voidaan implementoida MicroPython koodia ja arduino IDE ympäristöä.
|
|
|
|
|
|
|
|
Toinen hyvä vaihtoehto olisi Arduino Nano boardi, johon voisimme asentaa erillisen kiihtyvyys tai värinä sensorin, jolloin voisimme eliminoida tarpeen bluetoothille, joka jo itsessään käyttää paljon virtaa. Arduino board voitaisiin konfikuroida heräämään sleep modesta aina liikkeen havaitessaan ja kun liikettä ei ole havaittu viiteen minuuttiin, palaisi arduino sleep modeen jolloinka sen virrankulutus mitataan mikro ampeereissa. Tällä toimintaperiaatteella laitetta voitaisiin käyttää kuukausia jo muutamalla AA paristolla.
|
|
|
|
|
|
|
|
Periaatteessa meidän laitteessa voitaisiin hyödyntää mitä vain näistä yllä mainituista laitteista, joissa on jonkinlainen sleep funktio jota voitaisiin hyödyntää virran säästämisessä. Toinen oleellinen tekijä olisi päästä pois bluetooth toteutuksesta, sillä se on tällä hetkellä suurin virtaa syövä prosessi. Markkinoilla on monenlaisia halpoja kiihtyvyys sensoreita ja näitä sensoreita tutkiessa törmäsin myös värähtelysensoreihin, mitä voitaisiin myös hyödyntää käyttöasteen seurannassa. Näillä sensoreilla saisimme korvattua RuuviTagin, jonka myötä pääsisimme eroon myös bluetoothista.
|
|
|
|
|
|
|
|
## Testauksen vaatimukset
|
|
|
|
|
|
|
|
[Testaussuunnitelma]()
|
|
|
|
|
|
|
|
## Tunnistetut riskit ja testauskohteet
|
|
|
|
|
|
|
|
| Id | Kuvaus | Aiheuttaja | Linkki |
|
|
|
|
|:-:|:-:|:-:|:-:|:-:|
|
|
|
|
| TID001 | Informaatiota apuvälineen ulkosijainnista ei tule | Laite menettänyt GPS-yhteyden | |
|
|
|
|
| TID001 | Informaatiota apuvälineen sisäsijainnista ei tule | Laite ei ole lukijoiden kantaman sisällä | |
|
|
|
|
| TID001 | Käyttöasteesta ei tule informaatiota | Sensorit eivät ole keränneet dataa / GSM yhteyttä palvelimelle ei ole saatu | |
|
|
|
|
| TID001 | Apuvälineestä ei tule mitään informaatioa | Akku loppu | |
|
|
|
|
| TID001 | Laite ei ole liikkunut pitkään aikaväliin | Laite voi olla erillään seurattavasta apuvälineestä | |
|
|
|
|
| TID001 | Häiriöitä informaation rakenteessa | Signaalin vääristymä, vaurioitunut laite | | |
|
|
|
\ No newline at end of file |