BizTalk Map HL7 идентификации пациента PID 2.4 до 2.3.1
У меня есть требование, когда, если входящее сообщение имеет только 1 медицинскую (MC) информацию, то выведите его как есть с 2.4 до 2.3.1, если больше 1, то выведите сообщение без даты истечения срока действия или выше, например
PID | 1 || 520134 ^^^ 1021 ^ MR ^^ 20161115 ~ SN601555549 ^^^ 1021 ^ SN ^^ 20161115 ^ 20161231 ~ 33806837263 ^^^AUSHIC ^ MC ^^ 20161115 ^ 20201115 (1 MC, вывод как есть)
AUSHIC ^ MC ^^ 20161115 ^ 20201115
PID | 1 || 301665024L ^^^ 1021 ^ PENC ^^ 20151204 ^ 20161231 ~ 504416 ^^^ 1021 ^ MR ^^ 20150619 ~ 31001600591 ^^^AUSHIC ^ MC ^^ 20150619 ^ 20160223 ~ 31001600591 ^^^ AUSHIC ^ MC ^ ^ 20160222 (несколько MC, выходной без срока годности)
AUSHIC ^ MC ^^ 20160222
PID | 1 || 301665024L ^^^ 1021 ^ PENC ^^ 20151204 ^ 20161231 ~ 504416 ^^^ 1021 ^ MR ^^ 20150619 ~ 31001600591 ^^^AUSHIC ^ MC ^^ 20150619 ^ 20160223 ~ 31001600591 ^^^ AUSHIC ^ MC ^ ^ 20160224 ^ 20170223 (несколько MC, выходной с большим сроком годности)
AUSHIC ^ MC ^^ 20160224 ^ 20170223
Я предполагаю, что я должен использовать шаблон вызова XSLT для этого, но я не очень хорош с XSLT. Может кто-нибудь помочь мне с этим?