Один листок нетрудоспособности для пациента одновременно

Для одного пациента не должно быть листков нетрудоспособности с пересекающимися периодами (т.е. несколько листков нетрудоспособности для одного пациента в один и тот же период времени)

Входными данными должны быть:
- Patient Id,
- Идентификатор EpisodeOfCare,
- EpisodeOfCare.Period.

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

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

  2. Проверяем если период пришедший в cds пересекается хотя бы с одним периодом из БД - то HardStop;

  3. В остальных случаях - Success.