[613] | 1 | XLFNAME4 ;CIOFO-SF/MKO-PRINT INFORMATION IN ^XTMP ;11:35 AM 23 Mar 2000
|
---|
| 2 | ;;8.0;KERNEL;**134**;Jul 10, 1995
|
---|
| 3 | ;
|
---|
| 4 | PRINT N XUCD,XUCDX,XUFD,XUFDTXT,XUFL,XUHLIN,XUPG,XUREC
|
---|
| 5 | N DIROUT,DIRUT,DTOUT,DUOUT,POP,X,Y
|
---|
| 6 | D INTRO
|
---|
| 7 | ;
|
---|
| 8 | ;Get file number
|
---|
| 9 | ;S XUFL=$$READ("Select a file or subfile number","ALL","HLPFIL") Q:XUFL=""
|
---|
| 10 | S XUFL=200
|
---|
| 11 | ;
|
---|
| 12 | ;Get field number
|
---|
| 13 | ;I XUFL="ALL" S XUFD="ALL"
|
---|
| 14 | ;E S XUFD=$$READ("Select a field number","ALL","HLPFLD") Q:XUFD=""
|
---|
| 15 | S XUFD=.01
|
---|
| 16 | ;
|
---|
| 17 | ;Get list of codes
|
---|
| 18 | S XUCD=$$READ("Enter a list of codes to print","ALL","HLPCOD","Enter a list of codes separated by commas, 'ALL', or '??' for more help.")
|
---|
| 19 | Q:U[XUCD
|
---|
| 20 | S:XUCD="ALL" XUCD=""
|
---|
| 21 | I XUCD]"" S XUCD=$$UP^XLFSTR($TR(XUCD," "))
|
---|
| 22 | ;
|
---|
| 23 | ;Get list of codes to exclude
|
---|
| 24 | S XUCDX=$$READ("Enter a list of codes to exclude","","HLPCODX","Enter a list of codes separated by commas, or '??' for more help.")
|
---|
| 25 | Q:XUCDX=U
|
---|
| 26 | I XUCDX]"" S XUCDX=$$UP^XLFSTR($TR(XUCDX," "))
|
---|
| 27 | ;
|
---|
| 28 | ;Prompt for device
|
---|
| 29 | S %ZIS="Q" W ! D ^%ZIS Q:$G(POP)
|
---|
| 30 | I $D(IO("Q")),$D(^%ZTSK) D QUEUE G END
|
---|
| 31 | U IO
|
---|
| 32 | ;
|
---|
| 33 | MAIN ;TaskMan entry point
|
---|
| 34 | D INIT,HDR,CODTAB
|
---|
| 35 | ;
|
---|
| 36 | I XUFL="ALL" D
|
---|
| 37 | . S XUFL=0
|
---|
| 38 | . F S XUFL=$O(^XTMP("XLFNAME",XUFL)) Q:'XUFL D PFIL(XUFL,XUCD,XUCDX) Q:$D(DIRUT)
|
---|
| 39 | E I XUFD="ALL" D
|
---|
| 40 | . D PFIL(XUFL,XUCD,XUCDX)
|
---|
| 41 | E D PFLD(XUFL,XUFD,XUCD,XUCDX)
|
---|
| 42 | ;
|
---|
| 43 | D END
|
---|
| 44 | Q
|
---|
| 45 | ;
|
---|
| 46 | PFIL(XUFL,XUCD,XUCDX) ;Print information for a specific file
|
---|
| 47 | S XUFD=0
|
---|
| 48 | F S XUFD=$O(^XTMP("XLFNAME",XUFL,XUFD)) Q:'XUFD D PFLD(XUFL,XUFD,XUCD,XUCDX) Q:$D(DIRUT)
|
---|
| 49 | Q
|
---|
| 50 | ;
|
---|
| 51 | PFLD(XUFL,XUFD,XUCD,XUCDX) ;Print info for a specific field
|
---|
| 52 | D HINFO(XUFL,XUFD),EOP Q:$D(DIRUT) D HDR,SUBHDR
|
---|
| 53 | S XUREC="" F S XUREC=$O(^XTMP("XLFNAME",XUFL,XUFD,XUREC)) Q:XUREC="" D PREC(XUFL,XUFD,XUREC,XUCD,XUCDX) Q:$D(DIRUT)
|
---|
| 54 | Q
|
---|
| 55 | ;
|
---|
| 56 | PREC(XUFL,XUFD,XUREC,XUCD,XUCDX) ;Print info for a specific record
|
---|
| 57 | N C,I,XUOLD,XUNEW,XUCOD,XULN,XUMAT,XUMATX,XUNC
|
---|
| 58 | ;
|
---|
| 59 | ;Get old and new name, and Name Components ien
|
---|
| 60 | S XULN=^XTMP("XLFNAME",XUFL,XUFD,XUREC)
|
---|
| 61 | S XUOLD=$P(XULN,U),XUNEW=$P(XULN,U,2)
|
---|
| 62 | ;
|
---|
| 63 | ;Get note codes
|
---|
| 64 | S XUCOD="" S XUMAT=$G(XUCD)="",(XUMATX,XUNC)=0
|
---|
| 65 | S I=0 F S I=$O(^XTMP("XLFNAME",XUFL,XUFD,XUREC,I)) Q:I="" D Q:XUMATX
|
---|
| 66 | . I I="MIDDLE"!(I="SUFFIX") S XUNC=1
|
---|
| 67 | . S C=$E(I,1,"NPS"[$E(I)+1)
|
---|
| 68 | . I 'XUMAT,","_XUCD_","[(","_C_",") S XUMAT=1
|
---|
| 69 | . I $G(XUCDX)]"",'XUMATX,","_XUCDX_","[(","_C_",") S XUMATX=1
|
---|
| 70 | . S XUCOD=XUCOD_C_","
|
---|
| 71 | Q:'XUMAT!XUMATX
|
---|
| 72 | S:XUCOD?.E1"," XUCOD=$E(XUCOD,1,$L(XUCOD)-1)
|
---|
| 73 | ;
|
---|
| 74 | D W(XUREC) Q:$D(DIRUT) W ?15,"Old: "_XUOLD,?60,XUCOD
|
---|
| 75 | D W("New: "_XUNEW,15) Q:$D(DIRUT)
|
---|
| 76 | I XUNC D
|
---|
| 77 | . D W(" Given: "_$P(XULN,U,3),22)
|
---|
| 78 | . D W("Middle: "_$P(XULN,U,4),22)
|
---|
| 79 | . D W("Family: "_$P(XULN,U,5),22)
|
---|
| 80 | . D W("Suffix: "_$P(XULN,U,6),22)
|
---|
| 81 | D W() Q:$D(DIRUT)
|
---|
| 82 | Q
|
---|
| 83 | ;
|
---|
| 84 | W(XUSTR,XUCOL,XUFLG) ;Write line feed and string XUSTR in column XUCOL
|
---|
| 85 | I $Y+3'<IOSL D EOP Q:$D(DIRUT) D HDR D:'$G(XUFLG) SUBHDR
|
---|
| 86 | W !?+$G(XUCOL),$G(XUSTR)
|
---|
| 87 | Q
|
---|
| 88 | ;
|
---|
| 89 | EOP ;EOP
|
---|
| 90 | I $E(IOST,1,2)="C-",'$D(ZTQUEUED) D
|
---|
| 91 | . N DIR,X,Y
|
---|
| 92 | . S DIR(0)="E" W ! D ^DIR
|
---|
| 93 | E I $D(ZTQUEUED),$$S^%ZTLOAD S (ZTSTOP,DIRUT)=1
|
---|
| 94 | W @IOF
|
---|
| 95 | Q
|
---|
| 96 | ;
|
---|
| 97 | HDR ;Print header
|
---|
| 98 | S XUPG=$G(XUPG)+1,$X=0
|
---|
| 99 | W "^XTMP(""XLFNAME"") LISTING",?(IOM-$L(XUHLIN)-$L(XUPG)-1),XUHLIN_XUPG
|
---|
| 100 | W !,$TR($J("",IOM-1)," ","-")
|
---|
| 101 | Q
|
---|
| 102 | ;
|
---|
| 103 | SUBHDR ;Print subheader
|
---|
| 104 | W !,"File: #"_XUFL,", Field: "_XUFDTXT
|
---|
| 105 | W:XUCD]"" !,"Entries that contain any of the following codes: ",XUCD
|
---|
| 106 | W:XUCDX]"" !,"Excluding entries that contain any of the following codes: ",XUCDX
|
---|
| 107 | W !!,"Record",?15,"Name",?60,"Codes"
|
---|
| 108 | W !,"------",?15,$TR($J("",40)," ","-"),?60,"-----"
|
---|
| 109 | Q
|
---|
| 110 | ;
|
---|
| 111 | HINFO(XUFL,XUFD) ;Get XUFDTXT for subheader
|
---|
| 112 | N XULAB
|
---|
| 113 | D FIELD^DID(XUFL,XUFD,"","LABEL","XULAB")
|
---|
| 114 | S XUFDTXT=XULAB("LABEL")_" (#"_XUFD_")"
|
---|
| 115 | Q
|
---|
| 116 | ;
|
---|
| 117 | READ(PROMPT,DEF,XHELP,HELP) ;Read X, default is ALL
|
---|
| 118 | N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
| 119 | S DIR(0)="FO^1:30"
|
---|
| 120 | S:$G(PROMPT)]"" DIR("A")=PROMPT
|
---|
| 121 | S DIR("?")=$S($G(HELP)]"":HELP,1:"Enter a number or the word 'ALL'. Enter '??' for more help.")
|
---|
| 122 | S:$G(XHELP)]"" DIR("??")="^D "_XHELP_"^XLFNAME4"
|
---|
| 123 | S:$G(DEF)]"" DIR("B")=DEF
|
---|
| 124 | D ^DIR Q:$D(DUOUT)!$D(DTOUT) U
|
---|
| 125 | Q Y
|
---|
| 126 | ;
|
---|
| 127 | HLPFIL ;Execute help for file prompt
|
---|
| 128 | N I
|
---|
| 129 | W !,"Enter 'ALL' to select all files, or select one of the following:",!
|
---|
| 130 | S I=0 F S I=$O(^XTMP("XLFNAME",I)) Q:'I W:$X>70 ! W I_" "_$J("",10-$L(I))
|
---|
| 131 | Q
|
---|
| 132 | ;
|
---|
| 133 | HLPFLD ;Execute help for field prompt
|
---|
| 134 | N I
|
---|
| 135 | W !,"Enter 'ALL' to select all fields, or select one of the following:",!
|
---|
| 136 | S I=0 F S I=$O(^XTMP("XLFNAME",XUFL,I)) Q:'I W:$X>70 ! W I_" "_$J("",10-$L(I))
|
---|
| 137 | Q
|
---|
| 138 | ;
|
---|
| 139 | HLPCOD ;Executable help for codes prompt
|
---|
| 140 | N I,T
|
---|
| 141 | F I=1:1 S T=$P($T(CODTAB+I),";;",2,999) Q:T="$$END" W !,T
|
---|
| 142 | W !!,"To include entries with specific codes, enter those codes separated by commas,"
|
---|
| 143 | W !,"or enter 'ALL' to select entries with any code,"
|
---|
| 144 | Q
|
---|
| 145 | ;
|
---|
| 146 | HLPCODX ;Executable help for codes prompt
|
---|
| 147 | N I,T
|
---|
| 148 | F I=1:1 S T=$P($T(CODTAB+I),";;",2,999) Q:T="$$END" W !,T
|
---|
| 149 | W !!,"To exclude entries with specific codes, enter those codes separated by commas,"
|
---|
| 150 | W !,"or press <RET> to exclude no entries."
|
---|
| 151 | W !!,"This list overrides the list of codes to include."
|
---|
| 152 | Q
|
---|
| 153 | ;
|
---|
| 154 | QUEUE ;Queue the report
|
---|
| 155 | N I,ZTSK
|
---|
| 156 | ;
|
---|
| 157 | S ZTRTN="MAIN^XLFNAME4"
|
---|
| 158 | S ZTDESC="Report of ^XTMP(""XLFNAME"")"
|
---|
| 159 | F I="XUFL","XUFD","XUCD","XUCDX" S ZTSAVE(I)=""
|
---|
| 160 | D ^%ZTLOAD
|
---|
| 161 | ;
|
---|
| 162 | I $D(ZTSK)#2 W !,"Report queued!",!,"Task number: "_$G(ZTSK),!
|
---|
| 163 | E W !,"Report canceled!",!
|
---|
| 164 | ;
|
---|
| 165 | D HOME^%ZIS
|
---|
| 166 | Q
|
---|
| 167 | ;
|
---|
| 168 | INIT ;Set XUHLIN to Date/time/page for header
|
---|
| 169 | N %,%H,X,Y
|
---|
| 170 | S %H=$H D YX^%DTC
|
---|
| 171 | S XUHLIN=$P(Y,"@")_" "_$P($P(Y,"@",2),":",1,2)_" PAGE "
|
---|
| 172 | W:$E(IOST,1,2)="C-" @IOF
|
---|
| 173 | Q
|
---|
| 174 | ;
|
---|
| 175 | END ;Finish up
|
---|
| 176 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
| 177 | E D ^%ZISC
|
---|
| 178 | Q
|
---|
| 179 | ;
|
---|
| 180 | INTRO ;Introductory text
|
---|
| 181 | ;;This entry point prints a report of the information stored in
|
---|
| 182 | ;;^XTMP("XLFNAME").
|
---|
| 183 | ;;
|
---|
| 184 | ;;The New Person Name Standardization conversion is run automatically during
|
---|
| 185 | ;;the installation of patch XU*8.0*134, as part of the POST-INSTALL ROUTINE
|
---|
| 186 | ;;(POST^XLFNAME). The conversion records in ^XTMP("XLFNAME") information
|
---|
| 187 | ;;about each Name that had to be changed to convert it to standard form, or
|
---|
| 188 | ;;for which assumptions had to be made in breaking the Name into its
|
---|
| 189 | ;;component parts for storage in the new NAME COMPONENTS file (#20).
|
---|
| 190 | ;;
|
---|
| 191 | ;;You can use this report to determine whether any names were standardized
|
---|
| 192 | ;;or parsed incorrectly. To correct a name or its component parts, go to the
|
---|
| 193 | ;;"Systems Manager Menu" [EVE], select "User Management" [XUSER], and then
|
---|
| 194 | ;;"Edit an Existing User" [XUSEREDIT]. From there you can edit the NAME
|
---|
| 195 | ;;field (#.01) of the NEW PERSON file (#200), as well as the component parts
|
---|
| 196 | ;;of the Name as they are stored in the NAME COMPONENTS file (#20).
|
---|
| 197 | ;;
|
---|
| 198 | ;;$$END
|
---|
| 199 | N I,T
|
---|
| 200 | F I=1:1 S T=$P($T(INTRO+I),";;",2,999) Q:T="$$END" W !,T
|
---|
| 201 | Q
|
---|
| 202 | ;
|
---|
| 203 | CODTAB ;Code Table
|
---|
| 204 | ;;Explanation of Codes:
|
---|
| 205 | ;;--------------------
|
---|
| 206 | ;; D : The standard name is different from the original name.
|
---|
| 207 | ;; F : The Family Name starts with ST<period>. The period and
|
---|
| 208 | ;; following space, if any, were removed.
|
---|
| 209 | ;; G : There is no Given Name.
|
---|
| 210 | ;; M : Assumption: There is more than one Given and only one Middle Name.
|
---|
| 211 | ;; NM : NMI or NMN was used as the Middle Name.
|
---|
| 212 | ;; NU : A name part contains a number.
|
---|
| 213 | ;; PE : Periods were removed.
|
---|
| 214 | ;; PU : Punctuation was removed.
|
---|
| 215 | ;; SP : Spaces were removed from the Family Name.
|
---|
| 216 | ;; ST : Text in parentheses was stripped from the name.
|
---|
| 217 | ;; SU : One or more of the following situations was encountered relating
|
---|
| 218 | ;; to suffixes:
|
---|
| 219 | ;; - Suffixes were found immediate to left of the first comma.
|
---|
| 220 | ;; - I, V, or X was interpreted as a Middle Name.
|
---|
| 221 | ;; - A name part was interpreted as a Suffix, not a Middle Name.
|
---|
| 222 | ;; - M.D. or M D was NOT interpreted as a Suffix.
|
---|
| 223 | ;; - A name part with no vowels was interpreted as a Suffix.
|
---|
| 224 | ;; - A Suffix was found between commas immediately after the Family Name.
|
---|
| 225 | ;; T : The standard name was truncated.
|
---|
| 226 | ;;$$END
|
---|
| 227 | N I,T
|
---|
| 228 | F I=1:1 S T=$P($T(CODTAB+I),";;",2,999) Q:T="$$END" D W(T,0,1)
|
---|
| 229 | Q
|
---|