Zlecenie 8192300 - Zapytanie ofertowe nr 01/06/2021/1.1.2 - Artefakty ...
(zakończone) | Zamówienie 8192300|
---|---|
źródło | Internet |
data publikacji | 2021-06-11 |
przedmiot zlecenia | Zapytanie ofertowe nr 01/06/2021/1.1.2 - Artefakty Przedmiotem i celem zamówienia jest usługa programistyczna celem rozwoju sys temu CliniNote tj. zaprojektowanie, utworzenie i przekazanie praw autorskich artefaktów niezbędnych do osiągnięcia założonych w projekcie celów a przede wszystkim opracowaniu zaawansowanego systemu usprawniającego proces gromadzenia danych z notatek medycznych w czasie rzeczywistym. 1. Przedmiot zamówienia obejmuje: 1.1. Projekt techniczny systemu (Extensions) 1.2. Działająca implementacje na środowiskach developerskim, testowym i produkcyjnym 1.3. Kody źródłowe 1.4. Dokumentacje powykonawcza obejmująca dokumentację programistyczną i dokumentacje eksploatacyjną 2. Funkcjonalność rozszerzeń ("extension") dla przeglądarek: Firefox, Chrome, Microsoft Edge jest identyczna. 3. Rozszerzenia („extension”) będą współpracować z aplikacjami firm trzecich 4. Rozszerzenia („extension”) komunikuje się z serwerem aplikacyjnym poprzez wywoływanie interfejsów API (maksymalnie 5) 5. Parametry oraz sposób komunikacji zostaną określone w projekcie technicznym 6. Rozszerzenia („extension”) działają w oknie aplikacji firmy trzeciej 7. Rozszerzenia („extension”) działają w oknie pop-up jeśli aplikacja firmy trzeciej wywoła takie okno 8. serwer aplikacyjny (uruchomiony przez Wykonawcę) udostępnia interfejsy API 9. logika każdego z interfejsów zostanie wyspecyfikowania w trakcie tworzenia projektu technicznego, jakkolwiek opierać się ona będzie na maksymalnie 5 zapytaniach lub/i wyrażeniach DML do bazy danych. Opis wymaganych funkcjonalności rozszerzeń ("extension") przeglądarki Firefox, Chrome, Microsoft Edge: Po zainstalowaniu Extensions ma być integralną częścią przeglądarki i uruchamiać swoje funkcjonalności przy każdej (A) lub wybranych (B) stronach internetowych (wizualizacja proponowanego wyglądu interfejsu przedstawiono na Rys. 1 w zapytaniu ofertowym). Przez komunikację z serwerem (interfejs API) rozumiemy zapytania POST i GET do serwera, które zwracają odpowiedzi w postaci zdefiniowanego obiektu json (komunikacja ma się obywać w sposób szyfrowany – https). Kluczowe funkcjonalności: 1. Logowanie – aby wyświetlić zawartość funkcjonalną w oknie Extensions konieczne będzie logowanie. Login i hasło będą wysyłane do serwera poprzez interfejs API, który będzie zwracał poziom uprawnień danego użytkownika, unikalny token do wykorzystywania w dalszej komunikacji oraz dodatkowe informacje niezbędne do działania Extension. W zależności od poziomu uprawnień i odpowiedzi serwera, Extension będzie wybierał czy uruchomić (i które) funkcjonalności przy odwiedzaniu dowolnej albo zdefiniowanej w odpowiedzi serwera liście stron internetowych. 2. Przechwytywanie tekstu – Extension ma wykrywać na stronie wszelkie pola tekstowe (np. textarea oraz text; chodzi o pola w których użytkownik może wprowadzać tekst) i przechwytywać na bieżąco wprowadzany tekst oraz ten, który w polu został już wpisany. Po załadowaniu strony cały dostępny tekst ma być przeszukany i wybrane elementy (zdefiniowane przy pomocy wyrażeń regularnych – do późniejszego ustawienia w kodzie) mają zostać wysłane na serwer. Extension musi zapisać z jakiego dokładnie miejsca w polu tekstowym wysłane elementy zostały pobrane. 3. Wstawianie tekstu – Extension ma mieć możliwość wstawiania tekstu w pole tekstowe, w którym obecnie pracuje użytkownik. Możliwe musi być usunięcie części tekstu zamiast którego treść jest wstawiana. 4. Blokowanie edycji wstawionego tekstu – Tekst wstawiony przez Extension nie może być edytowalny (można tylko usunąć całość wstawionego tekstu). Dopuszczalna ma być jedynie edycja fragmentów wstawionego tekstu zdefiniowana przez specjalne znaczniki początku i końca (np. edycja części wstawionego tekstu pomiędzy znakami & i &). 5. Wysyłanie elementów tekstu na serwer – w przypadku przerwy w pisaniu (dłuższej niż 400 ms – do ustawienia w kodzie) Extension ma wysłać do serwera elementy tekstu zdefiniowane przy pomocy wyrażeń regularnych i pobierać dane, które będą odpowiedzią serwera. 6. Wykrywanie zakończenia edycji (przekierowanie, kliknięcie przycisku, itp.) – Extension musi wykrywać zakończenie edycji elementów tekstowych na stronie, wykonać zadane operacje przed zamknięciem i wysłać zdefiniowane elementy na serwer. Docelowo serwer na podstawie danych wykorzystanych do logowania będzie wysyłał informacje o ID buttona, którego kliknięcie ma być interpretowane jednoznacznie jako koniec edycji. 7. Tłumaczenia – wykrywanie języka na podstawie systemu użytkownika + możliwości wyboru języka Extension przez użytkownika; tłumaczenia dla poszczególnych języków muszą być dostępne w oddzielnych plikach (nic zaszyte w kodzie); musi być możliwość łatwego dodawania języków; kod bieżącego języka (wg normy ISO 639-2 lub równoważny) musi być wysyłany do serwera 8. Zakładki – Extension ma mieć możliwość ustawienia zakładek, które różnić się będą zawartością. Na początek planowane są trzy zakładki. Widoczność zakładek uzależniona ma być od poziomu uprawnień użytkownika. a. Zawartość Zakładki 1: - Pole znakowe do wprowadzania identyfikatora (ciąg znaków i liczb) – zawartość pola my być wysyłana do serwera, który będzie zwracał odpowiedź, czy dany identyfikator już istnieje lub nie (ma być wyświetlany symbol graficzny przy polu określający odpowiedź). - Pole select – lista elementów do wyboru będzie zwracana przez serwer po zalogowaniu. Po wybraniu konkretnego elementu informacja o wyborze ma być przesyłana na serwer. - Lista elementów 1 – zwracana przez serwer (po wysłaniu części tekstu przez Extension). Po kliknięciu elementu do pola tekstowego ma zostać wstawiony określony tekst. - Lista elementów 2 – zwracana przez serwer (po komunikacji z API). Lista ma być odświeżana dynamicznie na podstawie komunikacji z serwerem. W zależności od typu elementu listy, po kliknięciu ma być przesłana informacja do serwera, który zwróci następną listę, lub ma zostać wstawiony do pola tekstowego określony tekst. WAŻNE: Poruszanie się po listach i wybieranie poszczególnych elementów ma być możliwe przy pomocy klawiatury, np. przy pomocy kombinacji klawisza Lewy Alt oraz klawisza Enter i strzałek. b. Zawartość Zakładki 2: - Element html, którego większa część będzie zwracana w całości przez serwer na postawie identyfikatora wprowadzonego w Zakładce 1 oraz dodatkowych zdefiniowanych pól w tej zakładce. Zakładka ma być przygotowana na przyszłość i umożliwiać ustawienie w niej formularza (treści pól do pobrania z serwera), przesłanie go na serwer i wyświetlenie wyniku. c. Zawartość Zakładki 3: - Tłumaczenia – możliwość wyboru języka. - Inne ustawienia Extension – zakres ustawień edytowanych w tej zakładce do ustalenia w trakcie realizacji projektu. |
branża | Komputery, informatyka, technika biurowa |
podbranża | usługi informatyczne, oprogramowanie komputerowe |
kody CPV | 72000000, 72243000 |
forma | zapytanie ofertowe |
typ zlecenia | usługi, wykonanie |
kraj realizacji | Polska |
województwo realizacji | Lubelskie |
kraj organizatora | Polska |
województwo organizatora | Lubelskie |