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:

  1. 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ä.
  2. Viesti ryhmälle:

    • Vastaanottajaksi valitaan ryhmä, jolloin viesti menee kaikille ryhmän lasten huoltajille.
  3. Viesti yksikölle:

    • Vastaanottajaksi valitaan yksikkö, jolloin viesti menee kaikille yksikön lasten huoltajille.
  4. Viesti aloittaville lapsille:

    • Vastaanottajaksi valitaan yksikössä tai ryhmässä aloittavat lapset, jolloin viesti menee kaikille heidän huoltajilleen.
  5. Tiedote:

    • Lähetetään tiedote valitulle kohderyhmälle.
    • Tiedotteeseen ei voi vastata.
    • Tiedotteista lähetetään kopiot myös henkilökunnalle.
  6. 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:

  1. 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ää.
  2. 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.