MDHL7K2 ; HOIFO/WAA -HP EnConcert Echo ; 06/08/00
 ;;1.0;CLINICAL PROCEDURES;;Apr 01, 2004
 N TCNT,ICNT,LN
 S (TCNT,ICNT,LN)=0
OBX ; Process OBX
 N MDATT,PROC
 D ATT^MDHL7U(DEVIEN,.MDATT) Q:MDATT<1
 S PROC=0
 F  S PROC=$O(MDATT(PROC)) Q:PROC<1  D
 . N PROCESS
 . S PROCESS=$P(MDATT(PROC),";",5)
 . I PROCESS="TEXT^MDHL7U2" D TXT
 . D @PROCESS
 . Q
 Q:'MDIEN
 D REX^MDHL7U1(MDIEN)
 D GENACK^MDHL7X
 Q
TXT ; Rebuild the text message for CLINICAL PROCEDURES
 N MDHLD,CNT,CNT2,LINE,P,TIM1,TIM2,TIME,MDDT,MDHT,MSGC,TITLE,TITLE1
 S P="|"
 S (CNT,CNT2,TITLE,TITLE1)=0
 F  S CNT=$O(^TMP($J,"MDHL7A",CNT)) Q:CNT<1  D
 .S LINE=^TMP($J,"MDHL7A",CNT)
 .I $P(LINE,P,1)'="OBX" Q
 .I $P(LINE,P,3)'="TX" Q
 .I $E($P(LINE,P,6),1,2)="//" Q
 .I $E($P(LINE,P,6),1,2)="\\" Q
 .S TITLE=$P(LINE,P,4),TITLE=$P(TITLE,U,2)
 .I TITLE="PreliminaryReader" D
 .. N MN,ML,MF,MI,MS,MT
 .. S MN=$P(LINE,P,6),ML=$P(MN,U,2)
 .. S MF=$P(MN,U,3),MI=$P(MN,U,4)
 .. S MS=$P(MN,U,5),MT=$P(MN,U,6)
 .. S MN=MF
 .. I MI'="" S MN=MN_" "_MI_"."
 .. S MN=MN_" "_ML
 .. I MS'="" S MN=MN_", "_MS_"."
 .. I MT'="" S MN=MN_", "_MT
 .. S $P(LINE,P,6)=MN
 ..Q
 .I TITLE'=TITLE1 D
 .. N LBL
 .. S CNT2=CNT2+1,^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX||| "
 .. S CNT2=CNT2+1
 .. S LBL=$P(TITLE,"&",2)
 .. I LBL="" S LBL=$P(TITLE,"&")
 .. S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LBL,TITLE1=TITLE
 .. Q
 .S CNT2=CNT2+1,^TMP($J,"MDHL7","TEXT",CNT2)=LINE
 .Q
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMDHL7K2   1457     printed  Sep 23, 2025@19:18:47                                                                                                                                                                                                     Page 2
MDHL7K2   ; HOIFO/WAA -HP EnConcert Echo ; 06/08/00
 +1       ;;1.0;CLINICAL PROCEDURES;;Apr 01, 2004
 +2        NEW TCNT,ICNT,LN
 +3        SET (TCNT,ICNT,LN)=0
OBX       ; Process OBX
 +1        NEW MDATT,PROC
 +2        DO ATT^MDHL7U(DEVIEN,.MDATT)
           if MDATT<1
               QUIT 
 +3        SET PROC=0
 +4        FOR 
               SET PROC=$ORDER(MDATT(PROC))
               if PROC<1
                   QUIT 
               Begin DoDot:1
 +5                NEW PROCESS
 +6                SET PROCESS=$PIECE(MDATT(PROC),";",5)
 +7                IF PROCESS="TEXT^MDHL7U2"
                       DO TXT
 +8                DO @PROCESS
 +9                QUIT 
               End DoDot:1
 +10       if 'MDIEN
               QUIT 
 +11       DO REX^MDHL7U1(MDIEN)
 +12       DO GENACK^MDHL7X
 +13       QUIT 
TXT       ; Rebuild the text message for CLINICAL PROCEDURES
 +1        NEW MDHLD,CNT,CNT2,LINE,P,TIM1,TIM2,TIME,MDDT,MDHT,MSGC,TITLE,TITLE1
 +2        SET P="|"
 +3        SET (CNT,CNT2,TITLE,TITLE1)=0
 +4        FOR 
               SET CNT=$ORDER(^TMP($JOB,"MDHL7A",CNT))
               if CNT<1
                   QUIT 
               Begin DoDot:1
 +5                SET LINE=^TMP($JOB,"MDHL7A",CNT)
 +6                IF $PIECE(LINE,P,1)'="OBX"
                       QUIT 
 +7                IF $PIECE(LINE,P,3)'="TX"
                       QUIT 
 +8                IF $EXTRACT($PIECE(LINE,P,6),1,2)="//"
                       QUIT 
 +9                IF $EXTRACT($PIECE(LINE,P,6),1,2)="\\"
                       QUIT 
 +10               SET TITLE=$PIECE(LINE,P,4)
                   SET TITLE=$PIECE(TITLE,U,2)
 +11               IF TITLE="PreliminaryReader"
                       Begin DoDot:2
 +12                       NEW MN,ML,MF,MI,MS,MT
 +13                       SET MN=$PIECE(LINE,P,6)
                           SET ML=$PIECE(MN,U,2)
 +14                       SET MF=$PIECE(MN,U,3)
                           SET MI=$PIECE(MN,U,4)
 +15                       SET MS=$PIECE(MN,U,5)
                           SET MT=$PIECE(MN,U,6)
 +16                       SET MN=MF
 +17                       IF MI'=""
                               SET MN=MN_" "_MI_"."
 +18                       SET MN=MN_" "_ML
 +19                       IF MS'=""
                               SET MN=MN_", "_MS_"."
 +20                       IF MT'=""
                               SET MN=MN_", "_MT
 +21                       SET $PIECE(LINE,P,6)=MN
 +22                       QUIT 
                       End DoDot:2
 +23               IF TITLE'=TITLE1
                       Begin DoDot:2
 +24                       NEW LBL
 +25                       SET CNT2=CNT2+1
                           SET ^TMP($JOB,"MDHL7","TEXT",CNT2)="OBX||TX||| "
 +26                       SET CNT2=CNT2+1
 +27                       SET LBL=$PIECE(TITLE,"&",2)
 +28                       IF LBL=""
                               SET LBL=$PIECE(TITLE,"&")
 +29                       SET ^TMP($JOB,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LBL
                           SET TITLE1=TITLE
 +30                       QUIT 
                       End DoDot:2
 +31               SET CNT2=CNT2+1
                   SET ^TMP($JOB,"MDHL7","TEXT",CNT2)=LINE
 +32               QUIT 
               End DoDot:1
 +33       QUIT