Веб девелоперот Никола Стојков неодамна во Facebook групата „Сојузен Комитет на Програмери на Република Македонија“ го објави својот хоби проект наречен „Мое Здравство“, кој има за цел на едно место да ги обедини сите медицински податоци достапни од повеќе извори и отворени датабази во Македонија. Проектот е достапен на доменот infomed.mk.
Благодарение на ентузијазмот на Никола времето кое е потребно да се пронајдат различни медицински податоци е значително покусо. Дел од податоците достапни со агрегаторот се различни лекови, упатства, правилници, но и проверки на интеракција измеѓу лекарства и слично.
Во глобала ќе содржи сѐ што има по интернетов за медицина низ Македонија. Од лекови, упатства, правилници, до работи што и ги немаме на Македонски како проверка на интеракција измеѓу лекарства, централно место за наоѓање на сите конгреси/стручни состаноци, припреми за стручни испити итн, тако звано сè што ќе најдам.
Го контактиравме Никола да ни раскаже за својата работа…
Во неколку реченици, раскажи ни за себе. Кој е Никола Стојков?
Здраво, јас сум 25 годишен web developer од Скопје 👋 Главно работам со PHP веќе 6-та година, а последнава година го учам Go и се обидувам да го користам каде можам. Хобија за одмор од програмирање вклучуваат готвење, музика, и медицина.
Моментално сум невработен, па имам доста расположливо време да посветам на infomed.mk

Од каде идеја за развој на infomed.mk?
Незадоволството на мои познаници од областа на медицината од мачната и беспомошна борба да дојдат до информациите кои им се неопходни во секојдневната работа беше мојот поттик за овој проект. Многу од информациите се на различни страници, пристапот да се стигне до нив е различен и навистина фрустрира моментот кога сакаш да најдеш нешто во најкус можен рок – а не можеш. И јас, како и секој граѓанин во земјава, сакам добра и сигурна здравствена заштита која не би можел во целост да ја добијам ако работењето на медицинскиот персонал е попречено со вакви бариери.
Иницијалната верзија на платформата беше направена во само еден ден за да пробаме дали брзата достапност до информациите ќе им помогне на медицинарите. Бидејќи едногласно се сложија да додавам повеќе работи, го отворив изворниот код и почнав со планирање на сите функционалности.
Кои функционалности ги нуди платформата?
Моментално платформата работи како пребарувач на 3 различни датотеки:
- Регистар за лекови и медицински средства
- Упатства за медицина заснована на докази
- Аптеки на територија на Македонија
Ова е само првата верзија која повеќе служи како агрегатор на веќе достапните информации на интернет.
По подолго планирање и разговор со медицински лица откривме дека доста од алатките што постојат за странските професионалци не се достапни на македонски, со македонски информации, како на пример проверка на интеракција помеѓу лековите и објаснување за истото. Ваквите алатки се планирани во следните фази на проектот.

На кого ќе му биде корисна?
Моменталните функционалности, заедно со планираните за блиска иднина, се, пред сѐ, наменети на медицински лица и студенти по медицина.
Секако идејата е сите информации да се достапни за сите граѓани, така што во иднина е планирано да има и доста материјали за образовање на луѓе кои не работат директно во здравство, како на пример информации за родителите за вакцини, пребарувач за здравствени установи и ординации по зададен проблем кој го има граѓанинот, итн.

Кои технологии ги користеше за развој?
Главниот дел на апликацијата е напишан во Go, заедно со сите скрејпери/агрегатори. Не се користи никаква front-end библиотека, туку само HTMX за AJAX повиците и по некој vanilla JS, а на FE враќаме серверски изграден HTML.
Информациите се чуваат во Meilisearch индекси наместо во традиционална база на податоци.
За стилизирање се користи Tailwind, со некои веќе готови компоненти од PrelineUI.
Моментално се хостира на евтин VPS кој е конфигуриран со FreeBSD и Nginx reverse proxy кон главната Go апликација.
Овој stack ни дозволи без некакви оптимизации да дојдеме до резултати од пребарувањето низ над 200,000 артикли за помалку од 50ms (намерно е додадено плус 500ms throttle за да нема константен апдејт на UI при секоја напишана буква)
Постои ли опасност некои од корисниците да почнат сами да се лекуваат, и има ли начин да се намали опасноста од ова?
Не верувам дека има, сепак повеќето од сите достапни и планирани информации и алатки веќе постојат.
Гледајќи дека не е планирано да има никакви дијагностички алатки туку само да се од информативен карактер, сѐ што би требало да постигнеме е да го олесниме наоѓањето на истите.

На твојот пост во „Сојузен Комитет на Програмери на Република Македонија“ имаше доста идеи кои би можеле да се имплементираат. Дали некој се пријави да помогне и колку ти значчи поддршката од заедницата?
За сега се пријавија неколку луѓе за повеќе информации и за помош со кодот. Она што навистина ме изненади е големата поддршка од медицинската заедница. Секојдневно добивам повици од медицински лица, кои не ги познавам, полни со идеи за сѐ што би сакале да додадам бидејќи би им било корисно на дневно ниво. Без официјален launch веќе достигнавме над 1.200 уникатни прегледи на страната за само еден ден.
Од демо изработено за еден ден, за само 7 дена стигнав до backlog за кој ми се потребни минимум 6 месеци развивање од техничка страна, истражување, и собирање на информации.

Станува збор за проект со отворен код, сепак имаш ли некоја идеја за функционалност која сакаш да ја додадеш во иднина?
Гледајќи дека моменталната состојба на infomed.mk е само Алфа/Демо верзија, има многу планирани функционалности за во иднина. Во глобала се делат на неколку фази кои ќе се следат, имено:
- Додавање на дел за стручна надоградба
- Дел за огласи за вработување на медицински лица
- Додавање на повеќе од јавно достапните информации (главно МКБ-10)
- Конвертор на единици
- Алатки за професионална употреба (пример пресметка на GCS, Apgar, итн)
- Алатки за студенти и спремање на стручни испити
- Некаде тука треба да се вметне и рефактор на кодот и инфраструктурата бидејќи, како што забележал секој што го видел кодот, малку е на брзина пишуван колку да се направи иницијалната верзија која може да се користи.