Превышение общего периода нетрудоспособности за последние 12 месяцев

Не более чем 150 календарных дней при повторных случаях временной нетрудоспособности в связи с одним либо этиологически связанными (родственными) заболеваниями (травмами), включая протезирование в стационарных условиях, кроме туберкулеза, либо не более чем 240 календарных дней при заболевании туберкулезом.

Входными данными должны быть:
- Идентификатор EpisodeOfCare,
- EpisodeOfCare.Period,
- Claim.Diagnosis,
- Composition.Subject.Reference,
- claim.Condition.First().Code.

Правило распространяется на следующие Виды нетрудоспособности:
- заболевание общее
- заболеванием профессиональное
- производственная травма
- травма в быту
- последствия травмы в быту
- последствия производственной травмы
- уход за ребенком до 3 лет
- протезирование
- протезирование в связи с травмой
- карантин

Алгоритм действий

  1. Если правило не распространяеться на указанный вид нетрудоспособности то возвращаем Info(правило не проверяеться)

  2. Получаем из БД периоды всех EpisodeOfCare для освобожденного лица и исключаем EpisodeOfCare который пришел в сервис cds (если это продление), Исключаются все EpisodeOfCare, у которых статус не finished, и которые принадлежат Composition со статусом не Final; EpisodeOfCare необходимо брать либо для туберкулеза либо для остального в зависимости от того что пришло в сервис;

  3. Выбираем все EpisodeOfCare, которые попадают в интервал равный 12мес от текущей даты

  4. Суммируем все переоды EpisodeOfCare включае пришедший в cds сервис

  5. Проверяем в зависимости от диагноза:
    если больше max - то возвращаем HardStop;
    если все периоды + кол-во дней до предупреждения больше либо равно max, то Warning;
    в остальных случаях - Success.