АРМ "Тарифікація" для медичних закладів


Історія створення цієї програми бере початок ще з 2006 року. За зразок було взято DOS-програму "Тарифікація", яка була написана на FoxPro. Було використано майже таку саму структуру таблиць БД, графічний інтерфейс користувача створювався на Delphi 3. Проте через декілька місяців розробки виявилось, що стара структура БД не зовсім вдала, тому БД було спроектовано "з нуля", але БД все ще використовувалась старого формату.
Ще через декілька місяців, а точніше в травні 2007 року, за декілька днів прогаму було перенесено в середовище Lazarus, що дозволило відмовитись від використання Borland Database Engine при роботі з БД і не розповсюджувати разом з програмою цілу купу додаткових файлів. Також з'явилась можливість автоматичного створення потрібних файлів БД за їх відсутності.
В серпні 2007 року було зроблено першу спробу сформувати для друку тарифікаціні списки. Для цього використовувалась технологія OLE - запускався MS Word і в ньому створювався документ для друку. В принципі, це працювало, але періодично бували збої при формуванні документів, крім цього, формування документу займало досить багато часу (до кількох хвилин), що теж було не дуже добре. Після цього в програму періодично вносились невелиці зміни, пов'язані з виправленням помилок, які виявлялись в процесі роботи, та зміни відповідно до чинного законодавства.
Наступні серйозні зміни в програмі були зроблені аж в 2014 році - було вирішено змінити застарілий формат бази даних на основі файлів формату DBF більш сучасною реляційною БД SQLite3. Завдяки зміні типу БД можна було всі дані зберігати в одному файлі, об'єднувати дані з різних таблиць, міняти оклади при зміні тарифної сітки однією командою, а не перебором усіх записів та ще багато позитивних змін. Для міграції на нову БД було розроблено спеціальний конвертер, який допомагав перенести дані зі старої БД формату DBF в нову БД формату SQLite3.
Також було вирішено повністю змінити систему друку і відмовитись від використання технології OLE. На заміну користувачу давалась можливість вибрати формат вихідних даних (на даний момент реалізована підтримка форматів XLS/XLSX/ODS/HTML) і вказати місце збереження сформованих документів. Файли при цьому формуються напряму, без використання сторонніх програм, і при завершенні формування автоматично запускається програма, яка відповідає за обробку потрібного формата (MS Excel/LibreOffice Calc/WebBrowser). Зміна системи друку дала значний приріст при швидкості формування документів (навіть дуже об'ємні документи по часу формуються менше однієї секунди!!!) та можливість зібрати програму для ОС Linux.
Було ще багато чого в планах по вдосконаленню прорами та розширенню функціоналу, але через вихід з ладу жорсткого диску було втрачено останню версію сирців програми, що на певний термін призупинило розробку. На щастя, на одній зі старих флешок я знайшов сирці які працювали ще з БД попереднього формату, тому розробку програми не довелось розпочинати з самого початку. Але все-таки по-новому довелось писати код переходу на новий формат БД, по-новому робити конвертер даних, по-новому міняти систему друку.
Після того, як програму було більш-менш відновлено до стану, який був на момент проблем з жорстким диском, було продовжено її вдосконалення. Так, було вдосконалено систему оновлення струкрути БД при оновленні програми, додано додаткові параметри в налаштуваннях, реалізовано довідник відділень у вигляді ієрархічного дерева, створено довідник посад (заповноється на основі внесених в тарифікацію посад), можливість користувачеві задавати порядок друку посад в тарифікації та ряд інших можливостей.
З останніх оновлень - поправлено інтерфейс, усунено витоки пам'яті та деякі інші помилки, перероблено довідник відділень з врахуванням деревовидної структури підпорядкованості відділень, і нарешті реалізовано друк штатного розпису.

Хто бажає отримати тестову версію програми (безкоштовно) та допомогти в розробці, звертайтесь на e-mail iso4free@gmail.com, в темі листа обов'язково зазначте "Тарифікація для медичних закладів" та контакти для зв'язку (телефон/Telegram/Viber). Можу допомогти дистанційно (через AnyDesk) в першому запуску та налаштуванню програми, а також підтримка за потреби в процесі роботи з програмою.

Немає коментарів:

Дописати коментар

Реставрація ну ду-у-уже староко комп'ютера. Чи можливе нове життя?

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