Reply To: Tcl Help – Removing OBX segment if OBX|5 value is blank

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Tcl Help – Removing OBX segment if OBX|5 value is blank Reply To: Tcl Help – Removing OBX segment if OBX|5 value is blank

#57941
Arslan Khan
Participant

    Thanks for all your help guys!

    Here is the final solution which worked for me!

    =========================================

    set msg [msgget $mh]

    set Fld_Sep [cindex $msg 3]; #  Field Separator “|”

    set Com_Sep [cindex $msg 4]; #  Component Separator “^”

    set Rep_Sep [cindex $msg 5]; #  Repetition Separator “~”

    set Esc_Chr [cindex $msg 6]; #  Escape Character “”

    set Sub_Sep [cindex $msg 7]; #  Subcomponent Separator “&”

    set Seg_List [split $msg r]

    set New_Seg_List “”

    set obx_cnt 1

       foreach Segment $Seg_List {

    set Seg_ID [crange $Segment 0 2]

    if { ($Seg_ID == “OBX”) } {

      set Field_List [split $Segment $Fld_Sep]

      set Result_Value [lindex $Field_List 5]

      if { ([regexp “^ *$” $Result_Value]) } {

                            set Segment “”

            incr obx_cnt -1

                      }

      set Segment [replaceHL7Field $Segment OBX 1 $obx_cnt]

      incr obx_cnt

                   }

    set New_Seg_List [lappend New_Seg_List $Segment]

    set msg [join $New_Seg_List r]

                   #  Replace message with new one created.

                   msgset $mh $msg

       }

    ========================================