ONCASCI ;Hines OIFO/GWB - Search TEXT fields for illegal ASCII characters ;02/09/11
 ;;2.2;ONCOLOGY;**1**;Jul 31, 2013;Build 8
 ;
 N IEN,NSFLAG,TEXTIEN,TEXTLINE,TEXTNAME,TEXTNODE,TEXTNUM,Y,Z,ZZ
 S DIC="^ONCO(165.5,",DIC(0)="AEQZM"
 S DIC("A")=" Select primary or patient name: "
 D ^DIC K DIC Q:Y<0
 S NSFLAG=""
 S IEN=+Y
 F TEXTNODE=9:1:22 D
 .S TEXTNUM=$S(TEXTNODE=9:103,TEXTNODE=10:104,TEXTNODE=11:105,TEXTNODE=12:106,TEXTNODE=13:107,TEXTNODE=14:108,TEXTNODE=15:109,TEXTNODE=16:110,TEXTNODE=17:111,TEXTNODE=18:112,TEXTNODE=19:113,TEXTNODE=20:114,TEXTNODE=21:115,TEXTNODE=22:116,1:"")
 .S TEXTNAME=$P(^DD(165.5,TEXTNUM,0),U,1)
 .S TEXTIEN=0
 .F  S TEXTIEN=$O(^ONCO(165.5,IEN,TEXTNODE,TEXTIEN)) Q:TEXTIEN'>0  D
 ..S TEXTLINE=^ONCO(165.5,IEN,TEXTNODE,TEXTIEN,0)
 ..F Z=1:1:$L(TEXTLINE) S ZZ=$E(TEXTLINE,Z) I ($A(ZZ)<32)!($A(ZZ)>126) D
 ...W !!,TEXTNAME
 ...W !,"TEXT line: ",TEXTLINE
 ...W !,"Non-standard character: ",ZZ
 ...S NSFLAG="Yes"
 ;
EX ;Exit
 I NSFLAG="" W !!," No non-standard characters found."
 W ! K DIR S DIR(0)="E" D ^DIR
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HONCASCI   1067     printed  Sep 23, 2025@19:58:08                                                                                                                                                                                                     Page 2
ONCASCI   ;Hines OIFO/GWB - Search TEXT fields for illegal ASCII characters ;02/09/11
 +1       ;;2.2;ONCOLOGY;**1**;Jul 31, 2013;Build 8
 +2       ;
 +3        NEW IEN,NSFLAG,TEXTIEN,TEXTLINE,TEXTNAME,TEXTNODE,TEXTNUM,Y,Z,ZZ
 +4        SET DIC="^ONCO(165.5,"
           SET DIC(0)="AEQZM"
 +5        SET DIC("A")=" Select primary or patient name: "
 +6        DO ^DIC
           KILL DIC
           if Y<0
               QUIT 
 +7        SET NSFLAG=""
 +8        SET IEN=+Y
 +9        FOR TEXTNODE=9:1:22
               Begin DoDot:1
 +10               SET TEXTNUM=$SELECT(TEXTNODE=9:103,TEXTNODE=10:104,TEXTNODE=11:105,TEXTNODE=12:106,TEXTNODE=13:107,TEXTNODE=14:108,TEXTNODE=15:109,TEXTNODE=16:110,TEXTNODE=17:111,TEXTNODE=18:112,TEXTNODE=19:113,TEXTNODE=20:114,TEXTNODE=21:115,TEXTNODE=
22:116,1:"")
 +11               SET TEXTNAME=$PIECE(^DD(165.5,TEXTNUM,0),U,1)
 +12               SET TEXTIEN=0
 +13               FOR 
                       SET TEXTIEN=$ORDER(^ONCO(165.5,IEN,TEXTNODE,TEXTIEN))
                       if TEXTIEN'>0
                           QUIT 
                       Begin DoDot:2
 +14                       SET TEXTLINE=^ONCO(165.5,IEN,TEXTNODE,TEXTIEN,0)
 +15                       FOR Z=1:1:$LENGTH(TEXTLINE)
                               SET ZZ=$EXTRACT(TEXTLINE,Z)
                               IF ($ASCII(ZZ)<32)!($ASCII(ZZ)>126)
                                   Begin DoDot:3
 +16                                   WRITE !!,TEXTNAME
 +17                                   WRITE !,"TEXT line: ",TEXTLINE
 +18                                   WRITE !,"Non-standard character: ",ZZ
 +19                                   SET NSFLAG="Yes"
                                   End DoDot:3
                       End DoDot:2
               End DoDot:1
 +20      ;
EX        ;Exit
 +1        IF NSFLAG=""
               WRITE !!," No non-standard characters found."
 +2        WRITE !
           KILL DIR
           SET DIR(0)="E"
           DO ^DIR
 +3        QUIT