Разработка программы Verhandlung (Negotiator) для 3M Medica GmbH
Программный продукт под названием «Verhandlung» («Negotiator») был разработан для страховой компании, которой необходимо вести переговоры с клиниками по поводу бюджета.
Проект был разработан на основе следующих технологий: Java, SWING, XML (JAXP:DOM, SAX), JDBC, Jakarta POI.
По требованию заказчика нами были разработаны следующие (основные) части данной системы:
-
Работа с данными клиники организованными в виде страниц (закладок) с полями (формами) ввода и результатами вычисляемых данных.
В качестве отличительного свойства системы стоит отметить ее гибкость. Система разработана с возможностью максимально гибкой настройки большинства составляющих ее элементов, что позволяет производить значительные изменения без перекомпиляции исходного кода.
Например, все используемые (отображаемые и редактируемы) данные клиник, а это размещение полей ввода, их связь с хранилищем (таблицы и поля БД), вычисляемые поля (формулы), а также остальные зависимости, задаются в конфигурационном файле (XML). Таким образом, состав данных, с которыми работает программа, их расположение и внешний вид полностью настраиваемы.
-
Визуальный компонент «Budgetverhandlung» («Calculation Sheets») представляет собой модуль для одновременного представления/редактирования данных бюджета за разные периоды времени (колонки). Данные, с которыми работает Budgetverhandlung , представлены в табличном виде и разбиты на страницы. В схеме (XML файл) определяется статическая и динамическая структура документа, а также задаются все формулы (есть редактируемые и вычисляемые ячейки). Есть добавление/удаление строк, возможность сворачивать группы строк и колонки. Данный компонент работает как в составе продукта Verhandlung , так и в виде отдельного приложения.
Специфика организации данных, с которыми оперирует Budgetverhandlung, такова, что формулы заданы для наборов данных. В связи с этим требованием была разработана интересная концепция, с помощью которой стало возможным применять формулы к многомерным данным. Данная концепция позволила выполнять пересчет формул только для тех наборов данных, которые зависят только от измененных значений, что позволяет избегать пересчетов всех формул/данных. Разработанный механизм, реализующий эту концепцию, впоследствии помог легко и главное быстро реализовать новые требования заказчика по внедрению дополнительных видов вычислений.
Импорт/экспорт
Приложение поддерживает импорт/экспорт данных из документов Excel, которые имеют специфический для данной области формат. Для работы с файлами Excel была использована библиотека POI. Программа поддерживает различные форматы, задаваемые в конфигурационных файлах. Также имеется авто определение формата при импорте, основанное на анализе статистических данных распределения импортируемых значений и соответствия их имеющимся конфигурациям форматов.
Следует отметить, что для увеличения скорости и уменьшения потребляемой памяти при загрузке больших объемов данных использовались событийные модели соответствующих парсеров/загрузчиков (XML SAX, POI Event model).
Проекты для 3M Medica GmbH
-
Генератор электронных писем в формате RTF на основе шаблонов
-
Модуль SOAP Transport (SOAP Proxy) – универсальный кросс платформенный мост
-
Перевод системы ICD/ICPM на 32 разряда по заказу 3M Medica GmbH
-
Разработка программы Verhandlung (Negotiator) для 3M Medica GmbH
-
Разработка системы лицензирования продуктов 3M Medica GmbH
-
Разработка специализированной CRM-системы InvoiceDB
