Дата выписки листка нетрудоспособности не должна превышать дату начала нетрудоспособности

Дата выписки ЛН может быть больше даты начала нетрудоспособности, указанной на этом листке, при выполнении одного из 2-х условий:

  • "режим амбулаторный" и проведено ВКК в день выписки

или

  • "режим стационарный"

или

  • "продолжение другого ЛН"

Входными данными должны быть:
- composition.Extension.First(e => e.Url.Equals(CompositionCreatingDateSystem)).Value;
- Encounters.Where(e=>e.Meta.Profile.Any(p=>p.Equals(EncounterVkkProfile))).Select(p=> DateTime.Parse(p.Period.Start);
- ((CodeableConcept)episodeOfCare.Extension.First(e => e.Url.Equals(EpisodeOfCareTreatmentModeSystem)).Value).Coding.First().Code.

К БД обращаться не нужно

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

  1. Проверяем: если дата выписки ЛН меньше либо равна дате начала нетрудоспособности то возвращаем Success;

  2. Если вид наблюдения стационарный - возвращаем Success (уточнить: дата выписки ЛН всегда будет больше даты начала нетрудоспособности, т.к. ЛН выдается в день выписки из стационара или бывают случаи, когда даты совпадают?);

  3. Если вид наблюдения амбулаторный и в списке дат проведения ВКК есть хотя бы одна дата, совпадающая с датой выписки ЛН то - Success;

  4. В остальных случаях HardStop

Бывают ли случаи, когда дата выписки ЛН меньше даты начала нетрудоспособности.
Да, бывают. Например, санаторно-курортное лечение, в этом случае ЛН выдается раньше, чем реально наступает нетрудоспособность.