Про те, як створюється автоматизована ІТ система ДонорUA

Про те, як створюється автоматизована ІТ система ДонорUA

n/a

1 грудня 2015 року, 22:34

Автор: Краковецький Олександр, CEO DevRain Solutions, співавтор ДонорUA.

За останній рік мені багато разів говорили про те, що ДонорUA – це лише соціальний проект, а не стартап. Я ж завжди вважав, що головне – зробити щось, що буде приносити користь людям, а монетизація – питання часу. Хоча на мій погляд створити ІТ продукт в соціальній сфері - набагато складніша задача, ніж створити звичайний стартап. Але мета цієї статі - розповісти про те, як працює ДонорUA, з якими проблемами ми зіштовхувались, а також про те, як ІТ технології можуть допомагати вирішувати важливі проблеми.

З технічної сторони процес пошуку донорів полягав в наступному: в Excel файлі знаходилась база донорів, де було вказано місто проживання, група крові/резус фактор та телефон. На цьому ІТ технології закінчувались. Коли поступав запит на пошук донорів, волонтери брали цей файл і послідовно дзвонили всім донорам, що підходили по критерію «група крові/резус + місто» допоки не знаходили потрібну кількість донорів. Зрозуміло, що процес пошуку займав години і дні, а донори часто отримували дзвінки, навіть якщо в цей час вони не могли здавати кров.

Єдиний реєстр донорів

Єдиного реєстру донорів України на сьогоднішній день не існує (а якщо і існує, то нам про це не відомо), що призводить до того, що всі бази є локальними, неточними і неповними. Тому першим завданням ДонорUA стало формування єдиної бази донорів. На сьогоднішній момент в рамках проекту ведеться облік:

  1. Донорів, які заповнюють всю необхідну інформацію в уніфікованому вигляді, що означає, що інформація є повною.
  2. Центрів здачі крові, яких є понад 400 в Україні (на сайті є інформація про сотню і вона постійно доповнюється).
  3. Волонтерів, які працюють на місцях та допомагають на різних стадіях.
  4. Реципієнтів, які додаються на сайт лише після ретельної перевірки.
  5. Кроводач, які роблять донори і добровільно додають на сайт.

Першим очевидним кроком є інтеграція всіх цих даних, тому в будь який момент часу ми можемо подивитись, скільки донорів здало кров конкретному реципієнту, скільки донорів в конкретному місці чи скільки кроводач було по заданому центру.

На сьогоднішній момент база налічує близько 3 тисяч донорів, декількох десятків реципієнтів, більше сотні волонтерів та близько тисячі кроводач. Набільше донорів в Києві (57%) та Дніпропетровську (9.6%). Для інших міст – менша. Це важливо, так як система повноцінно може працювати лише при наявності критичної маси донорів в конкретному місті. Якщо в конкретному місті знаходиться 5-10 донорів, ніяка автоматизація не допоможе знайти достатню кількість донорів потрібної групи крові. Також важливим є той факт, що на сайті відображаються не всі реципієнти, а пошук донорів для багатьох реципієнтів відбувається непублічно через адмінсистему.

Система підбору донорів

Наступний етап, який було реалізовано, став механізм підбору рекомендованих донорів (для реципієнтів) та рекомендованих реципієнтів (для донорів). Система відслідковує багато факторів – групу крові, резус фактор, місто проживання, місто реєстрації (для дотримання чинного законодавства), чи може донор здавати кров в даний момент, типи кроводачі, які може здавати донор і які потрібні реципієнту та інші. Усі ці фактори аналізуються (логіка сумісності донорів і графік кроводач, як і протипоказання, є досить складними, тому ми витратили певний час, щоб врахувати всі медичні і правові нюанси) і ми в будь-який момент часу точно знаємо не лише точну кількість рекомендованих донорів, але й можемо оперативно з ними зв’язатись. На сьогоднішній момент основна комунікація відбувається через електронну пошту, але вже скоро донори будуть отримувати також і SMS сповіщення, і пуш-нотифікації в мобільних додатках.

Статистика, відкриті дані та API

Хороший і правильний ІТ проект – відкритий для всіх.

alt text

Тому ви можете знайти на сайті:

  • актуальну статистику по багатьом параметрам, яка буде розширюватись;
  • OData REST API, яке зараз працює в тестовому режимі, проте вже є волонтерські проекти, які використовують API для власних розробок;
  • в процесі підготовки деякі набори даних, які можуть бути цікавими активістам та ІТ розробникам.

Чому ми це робимо?

В Україні бракує хороших соціальних проектів і тим паче соціальних проектів, над якими працює професійна команда розробників. Тому прикладом ДонорUA ми не лише намагаємось вирішити безпосередньо проблему донорства, але й демонструємо іншим волонтерам, ГО, соціальним ініціативом, як побудувати не просто інформаційний сайт, а повноцінну автоматизовану систему з використанням сучасних інформаційних технологій.

Кабінет донора та календар донора

Наступний важливий крок – зручний кабінет донора в цілому, і календар донора, зокрема. Зараз йде робота над тим, щоб зробити комунікацію з донором надзвичайно простою, швидкою, зручною та ненав’язливою для донора. Мобільні застосунки, в першу чергу, будуть відігравати роль персонального помічника, а вже потім – інформаційний додаток з новинами чи акціями.

Ось так на сьогоднішній момент виглядає кабінет донора:

alt text

Інтеграція з зовнішніми системами

Самою важливою і критичною складовою є інтеграція різних ІТ систем, баз та реєстрів. На сьогоднішній день ми працюємо з МОЗ, меріями, розробниками ІТ систем для більш тісної інтеграції. Будь-який ІТ спеціаліст підтвердить, що інтеграція – найбільш довгий та складний процес в будь-якому проекті. А якщо додати, що інтегруватись потрібно з державними структурами, то стає зрозумілим, що задача є надзвичайно складною. Але сподіваюсь, що перші результати вже будуть скоро і ми про них обов’язково розповімо.

Що всередині?

ДонорUA побудований на ASP.NET MVC + bootstrap і хоститься на Microsoft Azure в рамках програми підтримки стартапів Microsoft BizSpark.

Також використовуються такі компоненти:

  • Elmah.MVC для відслідковування помилок;
  • EntityFramework Code First + Data Migrations в якості ORM;
  • ExcelDataReader для роботи з даним в форматі Excel;
  • HtmlAgilityPack для роботи з даними в форматі HTML;
  • JSON.NET для роботи з даними в форматі JSON;
  • MarkdownDeep для редагування контенту;
  • MvcMailer для розсилок електронної пошти (+ mailchimp в якості SMTP серверу);
  • MvcScaffolding для швидкого додавання нової функціональності;
  • Disqus для коментарів;
  • Highcharts – для інтерактивних графіків.

Замість висновків

Сучасний соціальний проект – це симбіоз роботи волонтерів, ІТ спеціалістів, піар служб та державних органів. Тому за своєю складністю такі проекти є ще складнішими, ніж комерційні проекти «на замовлення» і стартапи (ну мені можете повірити, я робив і те, і інше). Соціальні проекти вимушені працювати з державними органами, волонтерами (в яких вільний робочий графік і власна мотивація) за умови дуже обмеженого фінансування. Але коли ми вперше закрили потребу в донорах за 15 хвилин за допомогою системи, прийшло розуміння, що все не даремно 😃

P.S. Паралельно проект ДонорUA вже трансформовується в Udonors – систему пошуку донорів (не лише донорів крові), але це вже інша історія, про яку розповім згодом. Ми відкриті до будь-яких пропозицій, тому пишіть на info@devrain.com, якщо у вас вони є.

Поділитися: twitter-x pocket

Підпишись на нашу розсилку, щоб бути в курсі всіх новин та активностей:

Хочеш бути в курсі всіх подій?

В каналі ми публікуємо цікаві факти, дописи, анонси, що пов'язані з донорством крові, сучасними трендами в медицині та використанню інформаційних технологій.