Hack4Good

Wyniki

I-wszej edycji Power Platform Hack4Good
08.08.2020

Zespół 1

Fundacja: Caritas Archidiecezji Katowickiej

Reprezentant fundacji: Krzysztof Dylong

Członkowie zespołu: Aleksandra Jarosiewicz, Marek Derdzinski, Tomasz Poszytek, Michał Guzowski

Opis sytuacji

Fundacja Caritas prowadzi dom pomocy społecznej w Knurowie. W placówce pracuje około 100 osób, w tym personel pielęgniarski, opiekuńczy, terapeutyczny itd. Choć placówka posiada licencje Microsoft dla organizacji non-profit, to poziom adopcji rozwiązań Microsoft jest tam bardzo niski. Powodem tego jest brak znajomości możliwości platformy, mała liczba osób zajmujących się IT w placówce (1 osoba) oraz brak przekonania kadry kierowniczej do chmury.

Praca w domu opieki społecznej odbywa się w systemie zmianowym. Na każdej zmianie (w ciągu dnia może być ich aż 3) obecnych jest kilka osób: pielęgniarki i opiekunowie. Po zakończeniu zmiany, personel ma obowiązek wypełnić raport aby kolejna zmiana miała aktualne informacje na temat stanu podopiecznych i sytuacji w ośrodku.

Do tej pory, do obsługi raportów wykorzystywano Microsoft Forms. Każdy pracownik musiał wprowadzić wszystkie wymagane dane ręcznie, a kolejna zmiana mogła podejrzeć informacje w pliku Excel przechowującym wszystkie informacje. Jak pokazało jednak doświadczenie takie rozwiązanie nie było dość dostosowywalne do potrzeb pracowników placówki co miało następujące konsekwencje:

  1. Ręczne wprowadzanie danych osobowych – formularz Microsoft Forms wymagał podania przez użytkownika jego danych osobowych ręcznie tj. imię, nazwisko, pełniona rola. To było nie tylko uciążliwe, ale również istniała obawa, że któryś z pracowników mógłby wypełnić raport za innego pracownika bądź też mogłoby dojść do pomyłek (literówek).
  2. Brak złożenia raportu o czasie – Kluczowe jest aby raporty były wypełniane bezpośrednio po zmianie. Microsoft Forms pozwalał wypełnić raport o dowolnej porze. Zdarzało się więc, że personel wychodził z pracy i wypełniał raport w domu albo wypełniał go już na początku zmiany. To powodowało że kolejna zmiana nie otrzymywała na czas koniecznych informacji bądź te informacje nie oddawały w 100% rzeczywistości.
  3. Brak powiadomienia o incydentach – Dodatkowym wyzwaniem był brak bieżących powiadomień kierownika ośrodka o wszelkich incydentach jakie miały miejsce na terenie placówki tj. ucieczkach, poważnych problemach zdrowotnych podopiecznych, wypadkach itp). Procedura placówki wymagał by kierownik ośrodka pod koniec zmiany otrzymał informację o takich sytuacjach.

Opis Rozwiązania

 W celu rozwiązania opisanych problemów została zbudowane rozwiązanie które:

  1. Pozwala pielęgniarkom/opiekunom na wypełnienie raportu wyłącznie po zakończeniu dyżuru.
  2. Pozwala kolejnej zmianie na odczytanie raportów złożonych na poprzednich zmianach
  3. Wysyła do kierownika maila gdy na zmianie dojdzie do incydentu
  4. Każdy pracownik pracuje we własnym kontekście tj. po zalogowaniu się do systemu aplikacja zna podstawowe informacje o użytkowniku (imię, nazwisko, email, rola)
  5. Aplikacja działa zarówno na komputerze z poziomu przeglądarki www jak i z poziomu aplikacji na telefonie

Do zbudowania rozwiązano wykorzystano:

Aplikację która zawierała cały interfejs webowy i mobilny użytkownika oparliśmy o Canvas PowerApps.

Aplikacja wykorzystywała listę Sharepoint Online do przechowywania wszystkich danych.

Do wszelkich automatyzacji i powiadomień wykorzystano Power Automate.

W celu identyfikacji użytkownika wykorzystaliśmy Azure Active Directory. Każdy użytkownik był przypisany do grupy Office 365 która odpowiadała jego roli: Pracownicy, Opiekunowie, Kierownicy.

Zbudowanie całości zajęło nam (sumarycznie) około 16 roboczogodzin, co zespołowi zajęło około 1 dzień.

Przebieg prac:

1. Rozpoznanie problemu poprzez wywiad z pracownikiem ds. IT. (1.5 h)

Poznanie specyfiki pracy organizacji pomaga w określeniu funkcjonalności aplikacji. Najpierw poznaliśmy proces (w tym zobaczyliśmy aktualnie wykorzystywany formularz zdawczy), dopytaliśmy co najczęściej „szwankuje” i w jaki sposób korzystają z technologii pracownicy. To pozwoliło zaprojektować odpowiednią strukturę danych.

2. Zaprojektowanie struktury danych na liście Sharepointowej (1 h)

Wykorzystaliśmy pola typu: data, tekst, opcja, liczba, osoby

3. Zbudowanie interfejsu i poszczególnych ekranów aplikacji dla użytkowników (10h)

Na ekranach aplikacji widocznych poniżej zwróćcie uwagę na aspekt UX i wspaniale dobraną do loga kolorystykę ?…

4. Zbudowanie automatyzacje i powiadomienia w Power Automate (2h)

…z kolei w przypadku flowów zwwróćcie uwagę na obsługę błędów. Zrealizowano to poprzez grupowanie akcji w sekcję Try po które następuje warunkowe przejście (tylko jeśli jakakolwiek akcja grupy Try zakończy się błędem) do sekcji Catch.

Proces zakończyły tradycyjne testy. Wiadomo! (1.5h)

Ważne: pracownik organizacji miał możliwość podglądania procesu na bieżąco, co pozwoliło zespołowi na zadawanie dodatkowych pytań oraz korygowanie założeń. Dodatkowo, pracownik mógł się uczyć i podglądać w jaki sposób samodzielnie modyfikować elementy zastosowanego rozwiązania.

Aplikacja

Rozwiązanie w praktyce

KROK 1. Personel przychodzi do pracy i ma dwie opcje:

  1. Może rozpocząć zmianę
  2. Może przejrzeć raporty z poprzednich zmian (opcja wygodna dla kierownika – na etapie wywiadu nie zgłoszono zapotrzebowania na różne role).

KROK 2. Zmiana zostaje rozpoczęta, system odnotowuje godzinę rozpoczęcia pracy, i przerzuca użytkownika na ekran trwające zmiany.

Na tym ekranie użytkownik widzi informacje kiedy dokładnie rozpoczęła się jego zmiana a także ma możliwość zapoznać się z ostatnimi 10cioma raportami zmian. Warto zauważyć, że odnotowywanie czasu rozpoczęcia zmiany nie było wymogiem ale założyliśmy, że w przyszłości, aplikacja może być także używana do zarządzania systemem zmian i do monitorowania czasu pracy.

KROK 3: Zakończenie zmiany i wypełnienie raportu

Po zakończeniu zmiany, użytkownik klika w przycisk „zakończ zmianę i wypełnij raport”. Może to zrobić z ekranu zaprezentowanego wyżej lub też z ekranu startowego (widoczny poniżej) – system pozwoli na to, o ile wcześniej została rozpoczęta zmiana. Dodatkowo na ekranie startowym widać ile obecnie trwa już zmiana zalogowanego pracownika.

Po kliknięciu w przycisk zakończenia zmiany użytkownik przechodzi do ekranu pozwalającego na wypełnienie raportu:

Po wypełnieniu raportu – użytkownik zapisuje i wysyła raport i przechodzi do ekranu kończącego każdą tego typu aplikację czyli:

Krok 4: Sukces, idziemy do domu!

Aby domknąć proces, zbudowaliśmy prostego flowa Power Automate, który wysyła powiadomienia do kierownika ośrodka, jeśli wystąpi co najmniej jeden ze zdefiniowanych na liście w Sharpoint incydentów. W takim przypadku system wysyła do kierownika maila wraz z najistotniejszymi informacjami zawartymi w raporcie ze zmiany.

Flow wygląda tak:

A dla co bardziej dociekliwych, dwa najciekawsze elementy rozwijają się tak:

Podsumowanie

Podsumowując nasze rozwiązanie i wymieniając plusy oraz minusy podejścia:

+ elastyczność i łatwość w obsłudze: informatyk może samodzielnie dodać dodatkowe grupy użytkowników bazując na grupach O365 lub też nowe kategorie incydentów modyfikując listę Sharepoint.

+ rozwijalność: do aplikacji można dodawać nowe funkcjonalność np. ekran do obsługi terapeutów, system zarządzania czasem pracy podczas zmian.

+ bezkosztowość – aplikacja wykorzystuje zasoby/licencje będące już w organizacji i jej używanie nie generuje dodatkowych kosztów (nie wykorzystaliśmy także, żadnych konektorów typu premium)

+ szybkość realizacji – aplikacja została stworzona i przetestowana na środowisku organizacji

– bardziej zaawansowane zmiany w aplikacji będą wymagały skorzystania z wsparcia zewnętrznego

– rozwiązanie zostały wymyślone i wdrożone w trakcie hackatonu w związku z czym brak typowego biznesowe wsparcia oraz gwarancji ze strony wykonawcy. Dodatkowo proces formalny został możliwie uproszczony

– bardziej skomplikowane wymagania względem aplikacji mogą wymagać zastosowania rozwiązań typu premium, a więc dodatkowo płatnych.

Zmęczona (i spragniona płynów) ekipa i zadowolony uczestnik hackatonu wyglądają tak:

Aplikację możesz pobrać tutaj:
https://1drv.ms/u/s!AjWW_5QaQA3CjP9rcd-PUXl-WTcdwQ?e=1jx4Rb

Pamiętaj, że musisz ją zaadoptować do swojego środowiska.

BONUS

W trakcie hackathonu oprócz opisanego powyżej rozwiązania dokonaliśmy JESZCZE JEDNEGO WDROŻENIA!

Zbudowaliśmy rozwiązanie automatyzujące proces planowego wyłączania kont odchodzących pracowników.

Chodziło o to by znając datę odejścia pracownika móc gdzieś tą informację wprowadzić (email pracownika + data odejścia) a system samodzielnie, we właściwym momencie, wyłączył konto pracownika. Proces został zrealizowany za pomocą 1 flowa Power Automate (dodany w paczce dostępne pod linkiem podanym powyżej) i wygląda następująco:

 

Kluczowy fragment (akcja Compose i następnie wywołanie http Request wygląda następująco:

    Jedziemy

Podziekowania

W tym miejscu chcielibyśmy serdecznie podziękować wszystkim uczestnikom, zgłoszonym fundacjom, mentorom, partnerom medialnym oraz przede wszystkim firmie Microsoft i TechSoup bez których to wydarzenie, a szczególnie kontakt z fundacjami, nie mógłby się odbyć.

W dobie technologii której tempo zmian jest ogromne, coraz więcej organizacji potrzebuje realnej pomocy w odnalezieniu się oraz adopcji najnowszych osiągnięć technologii. Szczególnie dotyczy to organizacji której profil nie skupia się na działalności technologicznej – jak widać na przykładzie hackathonu PowerPlatform Hack4Good, nawet posiadając dostęp do rozwiązań, których użycie jest równie proste jak włączenie światła, nie gwarantuje sukcesu. Potrzebny jest jeszcze ktoś, kto wie że to światło można włączyć, wie gdzie jest włącznik i zrobi to, rozświetlając drogę do technologii w służbie ludziom.