Суть задачи - профосмотры
пациент имеет список показаний (вредные производственные + профессия/должность)
у каждого показания есть список проводимых исследований
но исследования могут вытеснять друг друга
например по одному показанию показана флюорография, по другому - флюорография в двух проекциях
- т.е. пациенту не надо проходить флюорографию, а только флюорографию в двух проекциях
на этом примере все просто - тут простой запрос с левой связью
но может быть более сложный пример
допустим может быть назначена рентгенография
при выполнении рентгенографии не надо делать флюорографию в двух проекциях, но надо в одной
т.е.
из спика
Ф1
Ф2
надо оставить только Ф2
а из списка
Ф1
Ф2
Р
оставить
Ф
Р
все примеры вымышлены, и предполагается вытеснение по не ограниченой цепочке
- запрос к РС по массиву показаний, группировка уникальных связок иследование-вытесняет-требуется и выгрузка в таблицу;
- в цикле по массиву иследований (входной) отбор записей, анализ и накопление результата - массива иследований(выходной);
- если были вытеснения/замены - входной=выходной и повторить вышеуказанный цикл.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс