Hyo-Chan,
What you need to do is COPY the FT1.3 field to two different variables, say @field13 and @field16. While performing the COPYs, you can use a Pre Tcl to extract the two values that you need and save them to the variables.
The first COPY captures the numeric portion of FT1.3 and saves it to the variable named @field13. Please note that the path for the FT1 field is for illustration only; use the appropriate path for your HL7 variant.
COPY
Source: 0(0).FT1(0).#3 Destination: @field13
Pre Tcl:
set mystring [lindex $xlateInVals 0]
regexp {^d+} $mystring field13
set xlateOutVals
(After this, @field13 would contain 23 for example)
The second COPY captures the string portion of FT1.3 and saves it to the variable named @field16
COPY
Source: 0(0).FT1(0).#3 Destination: @field16
Pre Tcl:
set mystring [lindex $xlateInVals 0]
regexp {[A-Za-z]+$} $mystring field16
set xlateOutVals
(After this, @field16 would contain BHC for example)
Now that you have the values for the two variables, it’s just a matter of
copying them to the two destinations that you want (FT1.13 and FT1.16). Again, use the appropriate paths for your HL7 variant.
COPY
Source: @field13 Destination: 0(0).FT1(0).#13
COPY
Source: @field16 Destination: 0(0).FT1(0).#16
Finally, it appears that you have multiple FT1 segments in the message. Most likely, all of this would be done inside an ITERATE. Therefore your input side will probably be like 0(0).FT1(%s1).etc
I hope this helps.