| background | ||
| installer | ||
| src | ||
| tests | ||
| tools | ||
| .gitignore | ||
| publish-dist.cmd | ||
| publish-dist.ps1 | ||
| README.md | ||
| SISZL-Connect.sln | ||
| SISZL-Connect.slnx | ||
SISZL-Connect
Настольный клиент интеграции со подсистемой информирования СИСЗЛ ГИС ОМС (ФФОМС).
SISZL-Connect — клиент для страховых медицинских организаций. Сейчас реализовано информирование застрахованных лиц: загрузка задач из ГИС ОМС, локальный кэш в PostgreSQL и отправка результатов. В планах — модуль колл-центра. Остальные контуры пока не начаты.
Текущее состояние
Модуль информирования уже рабочий: есть WinUI-приложение, клиент API, авторизация через IAM ФФОМС, форматно-логический контроль, кэш задач и очередь исходящих результатов.
| Область | Состояние |
|---|---|
| Задачи на информирование (списки) | Загрузка из API, просмотр, сохранение в informing.siszl_inform_task |
| Задача по ID | Загрузка одной задачи из API |
| Планы ведения (ДН / ДВН) | Загрузка и просмотр в UI; запись в БД ещё не подключена |
| Результаты информирования | Очередь informing.siszl_inform_result_outbox, отправка по одной записи и пакетами (до 25) |
| ФЛК перед отправкой | Локальная проверка кодов, комментария и обязательной реакции |
| Авторизация | IAM ФФОМС (access / refresh), повтор при 401 и 429 |
| Настройки | Учётные данные API и PostgreSQL, SSL-сертификат, проверка соединений |
| Колл-центр | Не реализован |
| Автоматический обмен по регламенту | Политика сроков есть в коде, планировщик не запущен |
Приложение рассчитано на СМО: оператор скачивает задания, работает с ними локально, затем выгружает результаты обратно в ГИС ОМС.
Что умеет приложение
Загрузка — получение данных из СИСЗЛ:
- План — мероприятия планов ведения (
GET /api/smo/v3/plan-tasks) за выбранный месяц и тип события (ДН / ДВН). - Списки — задачи на информирование (
GET /api/smo/v3/inform-tasks) с пагинацией и прогрессом. - По ID — одна задача информирования.
Выгрузка — отправка результатов:
- чтение очереди из PostgreSQL;
- отправка строки или пакета;
- учёт успеха / ошибки по каждой записи.
Настройки:
- client id, секрет, логин и пароль ТУЗ;
- проверка сертификата ФФОМС (PEM/CRT кладётся в папку
SSL); - параметры PostgreSQL (хост IPv4, порт, имя БД, логин, пароль);
- проверка соединения с API и с базой.
Секреты хранятся в %LocalAppData%\SiszlConnect\settings.json в защищённом виде (DPAPI). Логи пишутся в logs\дд.мм.гггг.txt рядом с исполняемым файлом.
Архитектура
SiszlConnect.App WinUI 3, экраны, сессия, настройки
│
├── SiszlConnect.Siszl клиент СИСЗЛ: IAM, HTTP, домен, ФЛК, сервисы
├── SiszlConnect.Sql PostgreSQL: кэш задач и outbox
└── SiszlConnect.Logger файловый лог в формате SMK
SiszlConnect.Siszl не знает про WinUI и Npgsql: хранилище подключено через ITaskRepository и IResultOutbox. Для нескольких филиалов можно создать несколько экземпляров Module с общим clientId и разными ТУЗ.
Клиент закрывает пять методов API (раздел 2 спецификации СИСЗЛ):
GET plan-tasksGET inform-tasksGET inform-tasks/{id}POST inform-tasks/{id}/resultPOST inform-tasks/results(пакет)
Базовый URL по умолчанию: https://siszl.ffoms.gov.ru/siszl/api/integration-api/.
IAM: https://auth.ffoms.gov.ru/.
Состав решения
| Проект | Назначение |
|---|---|
src/SiszlConnect.App |
WinUI 3, net8.0-windows10.0.19041.0, win-x64 |
src/SiszlConnect.Siszl |
Библиотека интеграции с СИСЗЛ |
src/SiszlConnect.Sql |
Npgsql, схема informing |
src/SiszlConnect.Logger |
Потокобезопасный файловый лог |
tests/SiszlConnect.Siszl.Tests |
ФЛК, Приложение А, локализация ошибок, доступность хоста |
tests/SiszlConnect.Sql.Tests |
Параметры и проверка соединения с PostgreSQL |
Требования
- Windows 10 версии 1809 или новее
- .NET 8 SDK
- Visual Studio 2022 / 2026 с рабочей нагрузкой Windows App SDK, либо сборка из командной строки
- PostgreSQL с схемой
informing(таблицыsiszl_inform_taskиsiszl_inform_result_outbox) - Учётные данные СИСЗЛ (client id / secret и ТУЗ)
- Сертификат ФФОМС, если включена проверка SSL
Сборка и запуск
dotnet build SiszlConnect.sln -c Debug
dotnet test SiszlConnect.sln
Портативная Release-сборка (self-contained win-x64 + zip):
.\publish-dist.cmd
Результат: dist\SISZL-Connect-win-x64\ и dist\SISZL-Connect-win-x64.zip. На другой машине достаточно распаковать архив и запустить SISZL-Connect.exe.
Куда движется проект
Сейчас в репозитории основной контур — информирование. Следующий крупный модуль — колл-центр: обзвон и фиксация контактов с застрахованными, с последующей отдачей результатов в уже готовую очередь СИСЗЛ.
Пока не сделано:
- сам колл-центр;
- сохранение планов ведения в PostgreSQL (
informing.siszl_plan_task); - автоматический обмен по регламенту ТФОМС (с 9-го числа месяца M+1 до конца месяца);
- фоновый сервис без UI.