%& --translate-file latin2pl
\documentclass{article}

\usepackage{polski}
\usepackage{hyperref}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\hypersetup{
colorlinks=true,
urlcolor=blue,
}
\setcounter{section}{-1}
\usepackage[a4paper, total={6in, 8in}]{geometry}

\title{
Lekizapteki\\
\large wymagania funkcjonalne}
\author{Marcin Abramowicz \and Mateusz Danowski \and Dawid Jamka \and Tomasz Patyna}


\begin{document}
  \setlength{\parindent}{0in}
  \maketitle

  \section{Dziennik zmian}
  \begin{tabular}{|c|c|c|}
    Nr iteracji & Data & Opis zmian \\
    \hline
    1. & 23.03.2020 & Utworzenie dokumentu oraz jego pierwsza wersja. \\
    \hline
    1. & 29.04.2020 & Poprawki, uszczegółowienie wymagań. \\
    \hline
    2. & 29.06.2020 & Aktualizacja obsługiwanych leków i sposobu obliczania ``opłacalności''.
  \end{tabular}

  \section{Opis}
    Użytkownik ma do dyspozycji aplikację WWW, która umożliwia wyszukiwanie leków identycznych z szukanym na daną jednostkę chorobową.
    Serwis udostępnia przeglądanie i wyszukiwanie tylko leków, które są w niżej opisanej postaci.

  \section{Wymagania funkcjonalne}
    \subsection{Ograniczenia przeszukiwanych danych}
      Użytkownik otrzymuje możliwość przeszukiwania lekówm których postać znajduje się w załączniku ``obslugiwane-formy-leków.txt''

    \subsection{Opis komponentu dalej nazywanego ``Lista z polem do filtrowania''}
      Komponent umożliwia wybieranie elementu ze zbioru elementów.
      Jest on polem, na które można kliknąć.
      Po kliknięciu rozwija się bezpośrednio pod nim lista, natomiast początkowe pole umożliwia wpisywanie tekstu.
      Elementy w liście są posortowane alfabetycznie rosnąco (`a` jest przed `b`).
      Wybór elementu odbywa się poprzez wybranie go z listy — przewijanie jej i kliknięcie na element.
      Pole wejściowe umożliwia filtrowanie elementów wyświetlanych w liście, są w niej wyświetlane jedynie pozycje zawierające wpisaną frazę.

    \subsection{Opis użytkowania}
      \subsubsection{Wybór jednostki chorobowej}
        Użytkownik wybiera chorobę z listy z polem do filtrowania.
        Następnie, zatwierdza wybór wciśnięciem guzika ``Zatwierdź chorobę''.
        Guzik znajduje się obok komponentu do wyboru choroby.
        Powoduje to pojawienie się listy z polem do filtrowania do wybierania leku.

      \subsubsection{Wybór leku}
        Użytkownik może wyszukiwać lek podobnie jak chorobę lub po numerze EAN.
        Wybór ten dokonuje przesuwanym guzikiem ``Szukaj po numerze EAN'' znajdującym się obok.

        Jeśli nie wybierze tej opcji, to wybiera lek, spośród tych które są przypisywane na wybraną jednostkę chorobową.
        Używa do tego również listy z polem do filtrowania.

        Jeśli zdecyduje się na wybieranie po numerze EAN, po przełączeniu guzika znika lista z polem do filtrowania,
        a w jej miejsce pojawia się pole do wpisywania numeru EAN.

        Użytkownik wybór potwierdza naciśnięciem guzika ``szukaj'', który znajduje się obok.

        Pojawia się po tym tabelka zawierające leki generyczne do podanego, czyli takie, które zawierają tę samą substancję czynną w odpowiedniej dawce
        (o lekach generycznych można poczytać \href{https://pl.wikipedia.org/wiki/Lek_generyczny}{tutaj}).
        Wyświetlone są leki, które również są refundowane na podaną jednostkę chorobową.
        Dodatkowo nad tabelką wyświetla się pole z informacjami o wyszukiwanym leku, z takimi samymi polami jak w niżej opisanej tabeli.

        Pozycje są posortowane po dalej zdefiniowanej ``opłacalności''.
        Leki o takiej samej wartości ``opłacalności'' są wyświetlane posortowane alfabetycznie rosnąco.
        Są one wyświetlane w tabelce, a użytkownik może je przewijać.
        Każda pozycja zawiera nazwę leku, substancję czynną i cenę detaliczną zdefiniowaną w rozporządzeniu.
        Po kliknięciu na wiersz w tabeli wysuwa się pod nim panel z informacją dotyczącą numeru EAN tego leku, dawką oraz postacią.
        Pokazywane są również szczegóły dotyczące ceny oraz poziomu odpłatności, tj.
        `Urzędowa cena zbytu',
        `Cena hurtowa brutto',
        `Cena detaliczna',
        `Wysokość limitu finansowania',
        `Poziom odpłatności' i
        `Wysokość dopłaty świadczeniobiorcy'.

        Jeżeli jednak użytkownik wyszukiwał po numerze EAN i podany numer jest nieprawidłowy, zostanie wyświetlona informacja z napisem ``Nieprawidłowy numer EAN''.
        Natomiast, jeżeli lek o danym numerze EAN istnieje, ale nie jest on przypisywany na wybraną jednostkę chorobową,
        wyświetli się informacja z napisem ``Lek o podanym numerze EAN nie jest przypisywany na wybraną jednostkę chorobową''.

      \subsubsection{Definicja ``opłacalności''}
        Definiujemy wartość tą dla leków jedynie w postaciach podanych w sekcji 2.1.
        Definiujemy ją jako współczynnik ceny detalicznej do 1 mg substancji czynnych w porcji leku,
        czyli $CENA / (LICZBA-PORCJI-W-OPAKOWANIU * SUMA-ILOSCI-SUBSTANCJI-CZYNNYCH-W-MG)$.
        Na przykład, opakowanie leku ``LekABC'' zawiera 69 tabletek, w każdej tabletce są 40 mg substancji czynnej ``A''
        i 2 mg substancji czynnej ``B'' i kosztuje 12,37,
        wtedy współczynnik jest równy $\frac{12,37}{69 * (40 + 2)} \approx 0,0042$.
        Z kolei w opakowaniu ``LekXYZ'' są 42 tabletki rownież po 40 mg substancji czynnej ``A'' i 2 mg substancji czynnej ``B'' i można go nabyć za 17,23,
        więc współczynnik to $\frac{17,23}{42 * (40 + 2)} \approx 0.0097$.
        Zakładając, że są identyczne, w wyniku wyszukiwania ``LekABC'' wyświetliłby się nad ``LekXYZ'', gdyż ma mniejszy współczynnik,
        co jest równoważne z mniejszą ceną za 1 mg substancji czynnych na opakowanie.

  \section{Wymagania niefunkcjonalne}
    Frontend pobiera z backendu całe listy z chorobami oraz lekami i przechowuje je lokalnie.
    Wydajność zostaje zwiększona, gdyż liczba zapytań do backendu, które są wolniejsze niż odczyty lokalne, jest zminimalizowana.
    Umożliwi to przeglądanie i filtrowanie list szybko, bez konieczności odpytywania się zewnętrznego serwisu.
    Użytkownik w ten sposób otrzymuje większą wygodę przeglądania strony.

\end{document}
