Viestintä - espoon-voltti/evaka GitHub Wiki
Johdanto
eVakassa on viestintäominaisuus, jonka avulla henkilökunta voi olla yhteydessä huoltajiin. Myös huoltajat voivat lähettää viestejä henkilökunnalle. Viestintä tapahtuu eVakan sisällä viestintätilien kautta.
Työntekijöillä on käytössään erilaisia viestintätilejä roolinsa mukaan, ja huoltajilla on omat tilinsä viestintää varten. Lisäksi järjestelmässä on erityistilejä, joita käytetään esimerkiksi taloushallinnon, palveluohjauksen ja kuntatason viestintään.
Viestintätilit
eVakassa on erilaisia viestintätilityyppejä. Työntekijä voi käyttää viestintätilejä roolinsa ja kuntakohtaisesti säädettävien oikeuksien mukaan:
- Henkilökohtaiset tilit (PERSONAL): Yksittäisten työntekijöiden henkilökohtaiset tilit.
- Ryhmätilit (GROUP): Päiväkotiryhmien tilit, joita ryhmän henkilökunta käyttää yhdessä.
- Kuntatili (MUNICIPAL): Kuntatason viestintätili, jota käytetään laajempaan tiedottamiseen.
- Kuntalaistili (CITIZEN): Huoltajien viestintätilit.
- Palveluohjaustili (SERVICE_WORKER): Palveluohjauksen tili, jota käytetään hakemuksiin liittyvässä viestinnässä.
- Taloushallinnon tili (FINANCE): Taloushallinnon tili, jota käytetään laskutukseen liittyvässä viestinnässä.
Viestien tyypit
eVakassa on kaksi pääasiallista viestityyppiä:
- Tavallinen viesti (MESSAGE): Keskusteluviesti, johon vastaanottajat voivat vastata.
- Tiedote (BULLETIN): Yksisuuntainen tiedote, johon ei voi vastata.
Lisäksi viesteihin voi lisätä seuraavia merkintöjä:
- Kiireellinen (urgent): Viesti merkitään kiireelliseksi.
- Arkaluontoinen (sensitive): Viesti sisältää arkaluontoista tietoa, jolloin sen lukemiseen vaaditaan vahva tunnistautuminen.
Viestintä työntekijänä
Viestien selaaminen
Työntekijä voi selata viestejä viestintätileittäin seuraavissa näkymissä:
- Saapuneet viestit: Kaikki saapuneet viestit aikajärjestyksessä.
- Lähetetyt viestit: Työntekijän lähettämät viestit aikajärjestyksessä.
- Luonnokset: Keskeneräiset viestit, joita ei ole vielä lähetetty.
- Arkisto: Arkistoidut viestit, jotka on siirretty pois saapuneet-kansiosta.
- Johtajan/kunnan tiedotteet: Kopiot tiedotteista, jotka on lähetetty alueelle, yksikölle tai ryhmälle.
Lisäksi työntekijä näkee lukemattomien viestien määrän jokaisella käyttämällään viestintätilillä.
Viestin lähettäminen
Työntekijä voi lähettää viestejä seuraavilla tavoilla:
-
Viesti yksittäiselle lapselle tai perheelle:
- Vastaanottajaksi valitaan lapsi, jolloin viesti menee kaikille huoltajille.
- Viestiin voi lisätä arkaluontoisuus-merkinnän, jos se lähetetään henkilökohtaiselta tililtä.
-
Viesti ryhmälle:
- Vastaanottajaksi valitaan ryhmä, jolloin viesti menee kaikille ryhmän lasten huoltajille.
-
Viesti yksikölle:
- Vastaanottajaksi valitaan yksikkö, jolloin viesti menee kaikille yksikön lasten huoltajille.
-
Viesti aloittaville lapsille:
- Vastaanottajaksi valitaan yksikössä tai ryhmässä aloittavat lapset, jolloin viesti menee kaikille heidän huoltajilleen.
-
Tiedote:
- Lähetetään tiedote valitulle kohderyhmälle.
- Tiedotteeseen ei voi vastata.
- Tiedotteista lähetetään kopiot myös henkilökunnalle.
-
Vastaus viestiin:
- Vastataan aiempaan viestiin, jolloin muodostuu viestiketju.
- Vastaanottajia voi rajata alkuperäisen viestin vastaanottajista.
Viestejä lähetettäessä vastaanottajia voi suodattaa esimerkiksi syntymävuoden, vuorohoidon tai sijoitustyypin perusteella.
Liitetiedostot
Työntekijät voivat liittää viesteihin tiedostoja, kuten pdf-tiedostoja tai kuvia.
Liitetiedostot lisätään ensin luonnosvaiheessa ja liitetään viestiin sen lähettämisen yhteydessä. Liitetiedostot säilyvät viestiketjuissa ja ovat tarkasteltavissa myöhemmin.
Viestintä huoltajana
Viestien selaaminen
Huoltaja näkee kaikki saapuneet viestit yhdessä näkymässä. Lisäksi huoltaja näkee lukemattomien viestien määrän. Huoltaja voi myös poistaa viestejä, mikä käytännössä siirtää viestit arkisto-kansioon, johon huoltajalla ei ole näkyvyyttä.
Arkaluontoiset viestit näkyvät vain, jos huoltaja on tunnistautunut vahvasti. Muussa tapauksessa näytetään ilmoitus, että viestin lukeminen vaatii vahvan tunnistautumisen.
Viestin lähettäminen
Huoltaja voi lähettää viestejä seuraavilla tavoilla:
-
Viesti lapsen ryhmälle tai henkilökunnalle:
- Vastaanottajaksi valitaan lapsi ja ryhmätili tai yksikön henkilökunnan tili.
- Viestiin ei voi lisätä kiireellinen- tai arkaluontoisuus-merkintää.
-
Vastaus viestiin:
- Vastataan aiempaan viestiin, jolloin muodostuu viestiketju.
- Vastaanottajiksi voi valita vain alkuperäisen viestin vastaanottajat.
Huoltajat voivat liittää viesteihin tiedostoja vain, jos heillä on vuorohoidossa olevia lapsia seuraavan kahden viikon aikana.
Sähköposti-ilmoitukset
Kun käyttäjä saa uuden viestin eVakaan, järjestelmä lähettää siitä sähköposti-ilmoituksen. Ilmoituksessa ei näytetä viestin sisältöä, vaan kehotetaan kirjautumaan eVakaan lukemaan viesti. Näin varmistetaan, että viestit huomataan.
Mobiilisovelluksen erityispiirteet
Mobiilisovelluksessa viestintätoiminnot ovat rajoitetumpia. Sovelluksessa voi:
- Selata viestejä.
- Vastata viesteihin.
- Lähettää uusia viestejä rajatulle kohderyhmälle.
Sovelluksessa ei voi:
- Hallita viestikansioita.
- Käyttää kaikkia suodatusmahdollisuuksia.
Push-notifikaatiot
eVaka lähettää push-notifikaatioita uusista viesteistä mobiilisovellukseen, jos käyttäjä on ottanut ne käyttöön. Notifikaatioissa ei näytetä viestin sisältöä, vaan ilmoitetaan uudesta viestistä.
Tekniset yksityiskohdat
Viestien tallennus
Viestintäjärjestelmä käyttää seuraavia tietokantatauluja:
message_account
: Viestintätilit.message_thread
: Viestiketjut.message
: Yksittäiset viestit.message_content
: Viestien sisältö.message_recipients
: Viestien vastaanottajat.message_thread_participant
: Viestiketjun osallistujat.message_thread_folder
: Viestikansiot.message_draft
: Viestiluonnokset.message_thread_children
: Viestiketjuun liittyvät lapset.attachment
: Liitetiedostot.
Viesteillä ja viestiketjuilla on erilliset taulut, koska sama viestisisältö voi olla useassa viestiketjussa. Viestien lähettäminen tapahtuu asynkronisesti AsyncJob-järjestelmän kautta, jotta järjestelmä toimii sujuvasti suurillakin vastaanottajamäärillä.
classDiagram
direction BT
class attachment {
timestamp with time zone created
timestamp with time zone updated
text name
text content_type
uuid application_id
text type
timestamp with time zone received_at
uuid income_statement_id
uuid message_content_id
uuid message_draft_id
uuid pedagogical_document_id
uuid uploaded_by
uuid income_id
uuid fee_alteration_id
uuid invoice_id
uuid id
}
class message {
timestamp with time zone created
timestamp with time zone updated
text sender_name
uuid content_id
uuid replies_to
uuid thread_id
uuid sender_id
timestamp with time zone sent_at
text[] recipient_names
uuid id
}
class message_account {
timestamp with time zone created
timestamp with time zone updated
uuid daycare_group_id
uuid employee_id
uuid person_id
boolean active
message_account_type type
uuid id
}
class message_content {
timestamp with time zone created
timestamp with time zone updated
uuid author_id
text content
uuid id
}
class message_draft {
timestamp with time zone created_at
timestamp with time zone updated_at
uuid account_id
text title
text content
text[] recipient_names
message_type type
boolean urgent
boolean sensitive
timestamp with time zone modified_at
jsonb recipients
uuid id
}
class message_recipients {
timestamp with time zone created
timestamp with time zone updated
uuid message_id
uuid recipient_id
timestamp with time zone read_at
timestamp with time zone email_notification_sent_at
uuid id
}
class message_thread {
timestamp with time zone created
timestamp with time zone updated
message_type message_type
text title
boolean urgent
boolean is_copy
uuid application_id
boolean sensitive
uuid id
}
class message_thread_children {
timestamp with time zone created
timestamp with time zone updated
uuid thread_id
uuid child_id
uuid id
}
class message_thread_folder {
timestamp with time zone created
timestamp with time zone updated
text name
uuid owner_id
uuid id
}
class message_thread_participant {
timestamp with time zone created
timestamp with time zone updated
uuid thread_id
uuid participant_id
timestamp with time zone last_message_timestamp
timestamp with time zone last_received_timestamp
timestamp with time zone last_sent_timestamp
uuid folder_id
uuid id
}
attachment --> message_content : message_content_id
attachment --> message_draft : message_draft_id
message --> message : replies_to
message --> message_account : sender_id
message --> message_content : content_id
message --> message_thread : thread_id
message_content --> message_account : author_id
message_draft --> message_account : account_id
message_recipients --> message : message_id
message_recipients --> message_account : recipient_id
message_thread_children --> message_thread : thread_id
message_thread_folder --> message_account : owner_id
message_thread_participant --> message_account : participant_id
message_thread_participant --> message_thread : thread_id
message_thread_participant --> message_thread_folder : folder_id
Viesteihin liittyvät oikeudet
Viestintäoikeudet perustuvat käyttäjän rooliin ja viestintätilien käyttöoikeuksiin:
- Työntekijä voi käyttää vain niitä viestintätilejä, joihin hänellä on oikeus.
- Huoltaja näkee vain omiin lapsiinsa liittyvät viestit.
- Viestiketjun osallistujat voivat vastata vain siihen ketjuun, johon heidät on lisätty.
- Arkaluontoisten viestien lukemiseen vaaditaan vahva tunnistautuminen.