У нас довольно сложный интерфейс BizTalk, в котором используется ускоритель HL7.
Мы используем каноническую схему, которая может содержать один из нескольких типов транзакций из нашей основной системы администрирования пациентов, которые мы затем отображаем в сообщения HL7 для нашего целевого приложения.
Оркестровка использует форму сценария для динамического вызова карты на основе типа полученной транзакции и некоторых других критериев.
Существует около 20 различных карт, которые можно вызывать, и многие из них имеют общие сегменты HL7. Например, большинство из них отображают данные идентификации пациента в сегмент PID HL7.
Отображение PID выполняется с помощью одного скриптообразного функтоида с использованием встроенного XSLT Когда я спросил, почему это было сделано таким образом, был дан ответ:
"Поскольку сегмент PID находится в нескольких картах, если нам нужно обновить
сопоставление, которое мы можем просто скопировать и вставить XSLT на другие карты, а не возиться со многими отдельными функтоидами. "
Я только что нашел ошибку в отображении PID, и мне пришлось исправить XSLT на одной карте, а затем скопировать ее на 20 других карт. Это было очень много времени и полностью противоречит принципу DRY .
Есть ли в BizTalk способ обмена XSLT между несколькими картами? Я хочу указать его один раз и назвать его несколько раз.