LEXXM4 ;ISL/KER - Convert Text to Mix Case (4) ;12/19/2014
 ;;2.0;General Lexicon Utilities;**80,86**;Sep 23, 1996;Build 1
 ;               
 ; Global Variables
 ;    None
 ;               
 ; External References
 ;    None
 ;               
 ; Local Variables NEWed or KILLed Elsewhere
 ;     LEXCTL,LEXIN,LEXNXT,LEXPRE,LEXUSE Newed in LEXXM
 ;     Y set and returned to LEXXM
 ;               
T4 ; 4 Characters
 N XU,CHR,NUM,TRL,PRE,UIN,NXT,USE,P1,P2 S PRE=$G(LEXPRE),NXT=$G(LEXNXT),USE=$G(LEXUSE),UIN=$G(UIN),XU=$$UP(X),CHR=$E(XU,1)
 ;   Exceptions
 S P1=$E(XU,1,($L(XU)-2)),P2=$E(XU,($L(XU)-1),$L(XU)) I "^CC^ML^GM^"[("^"_P2_"^"),$E(P1,$L(P1))?1N S Y=$$LO(XU) Q
 S NUM=$E(XU,1,2),TRL=$E(XU,3,4) I +NUM=NUM,((TRL="TH")!(TRL="ST")!(TRL="RD")) S Y=$$LO(XU) Q:$L($G(Y))
 S:$E(XU,1)?1U&($E(XU,4)?1N) Y=XU Q:$L($G(Y))  S:$E(XU,1)?1N&($E(XU,4)?1U) Y=XU Q:$L($G(Y))
 I "SIZE"=XU&(PRE="ANY") S Y=$$LO(X) Q
 S:XU="NASH"&(UIN["NONALCOHOLIC STEATOHEPATITIS"!(USE["NONALCOHOLIC STEATOHEPATITIS")) Y=XU Q:$L($G(Y))
 S:XU="NASH"&(UIN["NON-ALCOHOLIC STEATOHEPATITIS"!(USE["NON-ALCOHOLIC STEATOHEPATITIS")) Y=XU Q:$L($G(Y))
 S:XU="ALPS"&(USE["AUTOIMMUNE") Y=XU Q:$L($G(Y))
 I XU="MESA",$G(LEXCTL)["(MESA)" S Y=XU Q
 S:XU="TRAM"&((UIN["TRANSVERSE")!(UIN["BREAST")) Y=XU Q:$L($G(Y))
 S:XU="OPEN"&((UIN["OPEN HEART")) Y=$$MX(XU) Q:$L($G(Y))
 S:XU="DRIL"&(UIN["DISTAL REVASCULARIZATION")&(UIN["INTERVAL LIGATION") Y=$$UP(XU) Q:$L($G(Y))
 S:XU="TRAM"&((UIN["PROTEIN")!(UIN["GENE")!(UIN["ENDOPLASMIC RETICULUM"))&(UIN'["ACCIDENT")&(UIN'["VEHICLE") Y="TraM" Q:$L($G(Y))
 S:XU="TIPS"&($G(LEXIN)["(TIPS)") Y=XU S:XU="TIPS"&($G(LEXCTL)["(TIPS") Y=XU S:XU="TIPS"&($G(LEXCTL)["TIPS)") Y=XU Q:$L($G(Y))
 ;   Special Case
 S:XU="APOA" Y="ApoA" S:XU="BBVI" Y="BbvI" S:XU="BPTH" Y="bPTH" Q:$L($G(Y))
 S:XU="BSUE" Y="BsuE" S:XU="PCO2" Y="pCO2" S:XU="CGMP" Y="cGMP" Q:$L($G(Y))
 S:XU="COTE" Y="CotE" S:XU="DATP" Y="dATP" S:XU="DCMP" Y="dCMP" Q:$L($G(Y))
 S:XU="DCTP" Y="dCTP" S:XU="DGMP" Y="dGMP" S:XU="DGTP" Y="dGTP" Q:$L($G(Y))
 S:XU="DSBA" Y="dsbA" S:XU="DTDP" Y="dTDP" S:XU="DTTP" Y="dTTP" Q:$L($G(Y))
 S:XU="DUMP" Y="dUMP" S:XU="DURD" Y="dUrd" S:XU="DUTP" Y="dUTP" Q:$L($G(Y))
 S:XU="ECAI" Y="EcaI" S:XU="ECOK" Y="EcoK" S:XU="ERBB" Y="erbB" Q:$L($G(Y))
 S:XU="FELV" Y="FeLV" S:XU="FMET" Y="fMet" S:XU="GNRH" Y="GnRH" Q:$L($G(Y))
 S:XU="GPII" Y="gpII" S:XU="HARG" Y="hArg" S:XU="HELA" Y="HeLa" Q:$L($G(Y))
 S:XU="HGRF" Y="hGRF" S:XU="HHAI" Y="HhaI" S:XU="HPAI" Y="HpaI" Q:$L($G(Y))
 S:XU="HPTH" Y="hPTH" S:XU="KPNI" Y="KpnI" S:XU="MCRB" Y="McrB" Q:$L($G(Y))
 S:XU="MESH" Y="MeSH" S:XU="MRNA" Y="mRNA" S:XU="NHET" Y="NHEt" Q:$L($G(Y))
 S:XU="NHME" Y="NHMe" S:XU="OBZL" Y="OBzl" S:XU="OTBU" Y="OtBu" Q:$L($G(Y))
 S:XU="PGLU" Y="pGlu" S:XU="PSTI" Y="PstI" S:XU="REGA" Y="regA" Q:$L($G(Y))
 S:XU="RRNA" Y="rRNA" S:XU="SCEI" Y="SceI" S:XU="TAQI" Y="TaqI" Q:$L($G(Y))
 S:XU="TRFA" Y="TrfA" S:XU="TRKA" Y="trkA" S:XU="TRKB" Y="trkB" Q:$L($G(Y))
 S:XU="TRNA" Y="tRNA" Q:$L($G(Y))
 ;   Lower Case
 I "LESS"=XU&($E(NXT,1,4)="THAN") S Y=$$LO(X) Q
 I "^ALSO^AREA^BEEN^BEST^DONE^DTMN^EACH^EVEN^FIVE^FOUR^FROM^"[("^"_XU_"^") S Y=$$LO(X) Q
 I "^HAVE^HERE^HOUR^INTO^IT'S^KIND^LATE^LEFT^LESS^LIKE^LOST^"[("^"_XU_"^") S Y=$$LO(X) Q
 I "^MANY^MERE^MORE^MOST^MUST^NINE^NOTE^ONLY^OPEN^OURS^OVER^"[("^"_XU_"^") S Y=$$LO(X) Q
 I "^PART^PLUS^SAME^SEEN^SITE^SOME^SUCH^SURE^TAKE^THAN^THAN^"[("^"_XU_"^") S Y=$$LO(X) Q
 I "^THAT^THEN^THEY^THIS^THUS^UPON^USED^WERE^WHAT^WHEN^WHOM^"[("^"_XU_"^") S Y=$$LO(X) Q
 I "^WITH^"[("^"_XU_"^") S Y=$$LO(X) Q
 ;   Mixed Case
 I "^BATH^CITH^CITY^EAST^ERIE^FORT^HOME^IOWA^IRON^JUAN^JULY^"[("^"_XU_"^") S Y=$$MX(X) Q
 I "^JUNE^KELL^LAKE^LOMA^LONG^LYON^PALM^PALO^PARK^RENO^ROCK^"[("^"_XU_"^") S Y=$$MX(X) Q
 I "^SALT^SIDE^TYPE^WACO^WEST^YORK^"[("^"_XU_"^") S Y=$$MX(X) Q
 ;   Uppercase
 I CHR?1N!("^A^B^C^D^E^F^"[("^"_CHR_"^")) D  Q:$L($G(Y))
 . I "^A1B5^A1BG^A4A7^A4A8^A6K7^ABL1^AICD^ABSV^ACKQ^ACTH^AIDS^AJCC^"[("^"_XU_"^") S Y=XU Q
 . I "^ALLA^AML1^ANCA^ANIT^ARPP^ASHD^ASPE^ATLV^BADR^BCL2^BDEM^"[("^"_XU_"^") S Y=XU Q
 . I "^BMIC^BMWD^BPDE^BPDE^BUSI^CABG^CAP1^CAP2^CAPD^CBFB^CCPD^"[("^"_XU_"^") S Y=XU Q
 . I "^CD34^CENP^CGRP^CHCT^COOH^COPD^CORF^CPAP^CPAP^CPEP^CPRS^"[("^"_XU_"^") S Y=XU Q
 . I "^CPT1^CPT2^CRNA^CROS^DENT^DEXA^DGGE^DGHI^DGPW^DGY1^DGY3^"[("^"_XU_"^") S Y=XU Q
 . I "^DGYA^DGYB^DGYC^DGYD^DGYF^DGYG^DGYJ^DGYK^DGYL^DGYN^DGYO^"[("^"_XU_"^") S Y=XU Q
 . I "^DGYP^DGYQ^DGYR^DGYS^DGYU^DGYV^DGYW^DGYX^DGYZ^DHEA^DIPK^"[("^"_XU_"^") S Y=XU Q
 . I "^DMAC^DMBA^DMBA^DMSO^DOPS^DSAP^DSIP^DTAP^DTPA^DVBA^DVBC^"[("^"_XU_"^") S Y=XU Q
 . I "^DVBQ^DVBT^DVBU^DVBW^DVBX^DVBY^EADT^EBNA^EBUS^ECMO^EDTA^"[("^"_XU_"^") S Y=XU Q
 . I "^EEOA^EEOP^ENXE^ENXF^ENXG^ENXI^ENXJ^ENXK^ERCC^ERCP^ERCP^"[("^"_XU_"^") S Y=XU Q
 . I "^ESBL^ESRD^ESRD^ESWL^ETV1^ETV6^FANA^FBAA^FEV1^FITC^FKBP^FLI1^"[("^"_XU_"^") S Y=XU Q
 . I "^FP22^"[("^"_XU_"^") S Y=XU Q
 I "^G^H^I^J^K^L^"[("^"_CHR_"^") D  Q:$L($G(Y))
 . I "^G6PD^GABA^GATA^GECD^GECP^GECS^GERD^GHRH^GJB2^GLUT^GMAA^GMD1^"[("^"_XU_"^") S Y=XU Q
 . I "^GMN1^GMN2^GMN3^GMN4^GMN5^GMPL^GMPT^GMRA^GMRC^GMRD^GMRE^"[("^"_XU_"^") S Y=XU Q
 . I "^GMRG^GMRP^GMRQ^GMRR^GMRS^GMRV^GMRY^GP22^GRSA^GYKI^HBHC^"[("^"_XU_"^") S Y=XU Q
 . I "^HBIG^HCFA^HCMV^HCO2^HCPS^HETE^HIAA^HIDA^HISA^HLPC^HMSN^HPLC^"[("^"_XU_"^") S Y=XU Q
 . I "^HPSA^HPFH^HSAN^HTLV^IADL^IBDE^IBDP^IBQL^IBQY^IBY3^IBY4^IBY5^"[("^"_XU_"^") S Y=XU Q
 . I "^IBY6^IBY7^IBY8^IBY9^IBYA^IBYB^IBYC^IBYD^IBYE^IBYF^IBYG^"[("^"_XU_"^") S Y=XU Q
 . I "^IBYH^IBYK^IBYL^IBYN^ICPT^IDDM^IGIV^IIIA^IIIA^IIIB^IIIC^"[("^"_XU_"^") S Y=XU Q
 . I "^IIID^IIIE^IORT^IMRT^INTP^IPPB^IPPB^ISUP^KAFO^LAAM^LATS^LBRN^LBRT^"[("^"_XU_"^") S Y=XU Q
 . I "^LBRY^LEXX^LHRH^LR00^LR01^LR03^LRAR^LRLS^LTCH^LVEF^"[("^"_XU_"^") S Y=XU Q
 I "^M^N^O^P^Q^"[("^"_CHR_"^") D  Q:$L($G(Y))
 . I "^MAGE^MAGI^MCAD^MCXX^MEDA^MEDB^MEDC^MEDF^MESA^MESH^MHPE^"[("^"_XU_"^") S Y=XU Q
 . I "^MIBB^MLH1^MLH1^MLH2^MLH3^MLH4^MLH5^MLVP^MMPI^MMRV^MPTP^"[("^"_XU_"^") S Y=XU Q
 . I "^MPTP^MPTP^MQSA^MRCP^MRSA^MSH1^MSH2^MSH3^MSH4^MSH5^MSH6^"[("^"_XU_"^") S Y=XU Q
 . I "^MSLT^MTLU^MYCN^NADH^NADP^NAPS^NARP^NBDC^NDPH^NETT^NETT^NGFI^"[("^"_XU_"^") S Y=XU Q
 . I "^NIST^NMES^NRDC^NSCL^NURA^NURC^NURE^NURQ^NURX^OERR^OHCS^"[("^"_XU_"^") S Y=XU Q
 . I "^ONCO^PABA^PAPP^PAPS^PAX3^PAX7^PDAC^PICC^PLA1^PLA2^PLA3^"[("^"_XU_"^") S Y=XU Q
 . I "^PMMA^POMC^PORP^PRCA^PRCP^PRMQ^PRPF^PRSX^PRX0^PRX1^PRX8^"[("^"_XU_"^") S Y=XU Q
 . I "^PRXB^PRXC^PRXE^PRXF^PRXG^PRXI^PRXJ^PRXK^PRXP^PRYA^PRYB^"[("^"_XU_"^") S Y=XU Q
 . I "^PRYC^PRYD^PRYF^PRYH^PRYJ^PRYL^PRYN^PRYP^PSA1^PSAP^PSD1^"[("^"_XU_"^") S Y=XU Q
 . I "^PSGW^PSIV^PSJ1^PSJ4^PSOA^PSOB^PSOC^PSOD^PSOE^PSOG^PSOH^"[("^"_XU_"^") S Y=XU Q
 . I "^PSOJ^PSOL^PSOY^PSW1^PSXC^PTCA^PTEN^PTLD^PTSD^PUVA^PUVB^QAN1^"[("^"_XU_"^") S Y=XU Q
 . I "^QAR1^QAR2^QARF^QARY^"[("^"_XU_"^") S Y=XU Q
 I "^R^S^T^U^V^W^X^Y^Z^"[("^"_CHR_"^") D  Q:$L($G(Y))
 . I "^RAAA^RAAB^RAAC^RAAE^RAAF^RARA^RAST^RMPC^RMPF^RMPJ^RMPR^RMPT^"[("^"_XU_"^") S Y=XU Q
 . I "^RTEM^RTYB^RTYC^RTYD^RVEF^RXIV^RXOP^RXUD^SARS^SACH^SBCE^SCAD^"[("^"_XU_"^") S Y=XU Q
 . I "^SCID^SCL1^SCL2^SDHB^SDHD^SDYA^SDYM^SDYN^SDYP^SEXA^SGOT^SGPT^"[("^"_XU_"^") S Y=XU Q
 . I "^SHBG^SIRS^SISI^SMAR^SNAP^SOWA^SOWC^SOWK^SRIF^SRIH^SROA^"[("^"_XU_"^") S Y=XU Q
 . I "^SRRS^SRRT^SSCP^SSX1^SSX2^STEC^TAPA^TATA^TCDD^TCDD^TCF3^TDAP^"[("^"_XU_"^") S Y=XU Q
 . I "^TENS^TFE3^THBR^TIMP^TIUJ^TIUW^TIUX^TLSO^TLSO^TORP^TP53^"[("^"_XU_"^") S Y=XU Q
 . I "^UDPG^UMLS^VALM^VAPR^VDDR^VEEM^VIIA^VIII^VLDL^VRSA^VSIT^"[("^"_XU_"^") S Y=XU Q
 . I "^WHFO^WMMT^XIII^XQOR^XUFI^XVII^XXII^YS01^ZIFT^"[("^"_XU_"^") S Y=XU Q
 Q
 ;          
LO(X) ; Lower Case
 Q $TR(X,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
UP(X) ; Uppercase
 Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
MX(X) ; Mix Case
 Q $TR($E(X,1),"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")_$TR($E(X,2,$L(X)),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
LD(X) ; Leading Character
 Q $TR($E(X,1),"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")_$E(X,2,$L(X))
TRIM(X) ; Trim Spaces
 S X=$G(X) F  Q:$E(X,1)'=" "  S X=$E(X,2,$L(X))
 F  Q:$E(X,$L(X))'=" "  S X=$E(X,1,($L(X)-1))
 N LEXCTL,LEXIN,LEXNXT,LEXPRE,LEXUSE,Y
 Q X
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLEXXM4   8214     printed  Sep 23, 2025@19:46:19                                                                                                                                                                                                      Page 2
LEXXM4    ;ISL/KER - Convert Text to Mix Case (4) ;12/19/2014
 +1       ;;2.0;General Lexicon Utilities;**80,86**;Sep 23, 1996;Build 1
 +2       ;               
 +3       ; Global Variables
 +4       ;    None
 +5       ;               
 +6       ; External References
 +7       ;    None
 +8       ;               
 +9       ; Local Variables NEWed or KILLed Elsewhere
 +10      ;     LEXCTL,LEXIN,LEXNXT,LEXPRE,LEXUSE Newed in LEXXM
 +11      ;     Y set and returned to LEXXM
 +12      ;               
T4        ; 4 Characters
 +1        NEW XU,CHR,NUM,TRL,PRE,UIN,NXT,USE,P1,P2
           SET PRE=$GET(LEXPRE)
           SET NXT=$GET(LEXNXT)
           SET USE=$GET(LEXUSE)
           SET UIN=$GET(UIN)
           SET XU=$$UP(X)
           SET CHR=$EXTRACT(XU,1)
 +2       ;   Exceptions
 +3        SET P1=$EXTRACT(XU,1,($LENGTH(XU)-2))
           SET P2=$EXTRACT(XU,($LENGTH(XU)-1),$LENGTH(XU))
           IF "^CC^ML^GM^"[("^"_P2_"^")
               IF $EXTRACT(P1,$LENGTH(P1))?1N
                   SET Y=$$LO(XU)
                   QUIT 
 +4        SET NUM=$EXTRACT(XU,1,2)
           SET TRL=$EXTRACT(XU,3,4)
           IF +NUM=NUM
               IF ((TRL="TH")!(TRL="ST")!(TRL="RD"))
                   SET Y=$$LO(XU)
                   if $LENGTH($GET(Y))
                       QUIT 
 +5        if $EXTRACT(XU,1)?1U&($EXTRACT(XU,4)?1N)
               SET Y=XU
           if $LENGTH($GET(Y))
               QUIT 
           if $EXTRACT(XU,1)?1N&($EXTRACT(XU,4)?1U)
               SET Y=XU
           if $LENGTH($GET(Y))
               QUIT 
 +6        IF "SIZE"=XU&(PRE="ANY")
               SET Y=$$LO(X)
               QUIT 
 +7        if XU="NASH"&(UIN["NONALCOHOLIC STEATOHEPATITIS"!(USE["NONALCOHOLIC STEATOHEPATITIS"))
               SET Y=XU
           if $LENGTH($GET(Y))
               QUIT 
 +8        if XU="NASH"&(UIN["NON-ALCOHOLIC STEATOHEPATITIS"!(USE["NON-ALCOHOLIC STEATOHEPATITIS"))
               SET Y=XU
           if $LENGTH($GET(Y))
               QUIT 
 +9        if XU="ALPS"&(USE["AUTOIMMUNE")
               SET Y=XU
           if $LENGTH($GET(Y))
               QUIT 
 +10       IF XU="MESA"
               IF $GET(LEXCTL)["(MESA)"
                   SET Y=XU
                   QUIT 
 +11       if XU="TRAM"&((UIN["TRANSVERSE")!(UIN["BREAST"))
               SET Y=XU
           if $LENGTH($GET(Y))
               QUIT 
 +12       if XU="OPEN"&((UIN["OPEN HEART"))
               SET Y=$$MX(XU)
           if $LENGTH($GET(Y))
               QUIT 
 +13       if XU="DRIL"&(UIN["DISTAL REVASCULARIZATION")&(UIN["INTERVAL LIGATION")
               SET Y=$$UP(XU)
           if $LENGTH($GET(Y))
               QUIT 
 +14       if XU="TRAM"&((UIN["PROTEIN")!(UIN["GENE")!(UIN["ENDOPLASMIC RETICULUM"))&(UIN'["ACCIDENT")&(UIN'["VEHICLE")
               SET Y="TraM"
           if $LENGTH($GET(Y))
               QUIT 
 +15       if XU="TIPS"&($GET(LEXIN)["(TIPS)")
               SET Y=XU
           if XU="TIPS"&($GET(LEXCTL)["(TIPS")
               SET Y=XU
           if XU="TIPS"&($GET(LEXCTL)["TIPS)")
               SET Y=XU
           if $LENGTH($GET(Y))
               QUIT 
 +16      ;   Special Case
 +17       if XU="APOA"
               SET Y="ApoA"
           if XU="BBVI"
               SET Y="BbvI"
           if XU="BPTH"
               SET Y="bPTH"
           if $LENGTH($GET(Y))
               QUIT 
 +18       if XU="BSUE"
               SET Y="BsuE"
           if XU="PCO2"
               SET Y="pCO2"
           if XU="CGMP"
               SET Y="cGMP"
           if $LENGTH($GET(Y))
               QUIT 
 +19       if XU="COTE"
               SET Y="CotE"
           if XU="DATP"
               SET Y="dATP"
           if XU="DCMP"
               SET Y="dCMP"
           if $LENGTH($GET(Y))
               QUIT 
 +20       if XU="DCTP"
               SET Y="dCTP"
           if XU="DGMP"
               SET Y="dGMP"
           if XU="DGTP"
               SET Y="dGTP"
           if $LENGTH($GET(Y))
               QUIT 
 +21       if XU="DSBA"
               SET Y="dsbA"
           if XU="DTDP"
               SET Y="dTDP"
           if XU="DTTP"
               SET Y="dTTP"
           if $LENGTH($GET(Y))
               QUIT 
 +22       if XU="DUMP"
               SET Y="dUMP"
           if XU="DURD"
               SET Y="dUrd"
           if XU="DUTP"
               SET Y="dUTP"
           if $LENGTH($GET(Y))
               QUIT 
 +23       if XU="ECAI"
               SET Y="EcaI"
           if XU="ECOK"
               SET Y="EcoK"
           if XU="ERBB"
               SET Y="erbB"
           if $LENGTH($GET(Y))
               QUIT 
 +24       if XU="FELV"
               SET Y="FeLV"
           if XU="FMET"
               SET Y="fMet"
           if XU="GNRH"
               SET Y="GnRH"
           if $LENGTH($GET(Y))
               QUIT 
 +25       if XU="GPII"
               SET Y="gpII"
           if XU="HARG"
               SET Y="hArg"
           if XU="HELA"
               SET Y="HeLa"
           if $LENGTH($GET(Y))
               QUIT 
 +26       if XU="HGRF"
               SET Y="hGRF"
           if XU="HHAI"
               SET Y="HhaI"
           if XU="HPAI"
               SET Y="HpaI"
           if $LENGTH($GET(Y))
               QUIT 
 +27       if XU="HPTH"
               SET Y="hPTH"
           if XU="KPNI"
               SET Y="KpnI"
           if XU="MCRB"
               SET Y="McrB"
           if $LENGTH($GET(Y))
               QUIT 
 +28       if XU="MESH"
               SET Y="MeSH"
           if XU="MRNA"
               SET Y="mRNA"
           if XU="NHET"
               SET Y="NHEt"
           if $LENGTH($GET(Y))
               QUIT 
 +29       if XU="NHME"
               SET Y="NHMe"
           if XU="OBZL"
               SET Y="OBzl"
           if XU="OTBU"
               SET Y="OtBu"
           if $LENGTH($GET(Y))
               QUIT 
 +30       if XU="PGLU"
               SET Y="pGlu"
           if XU="PSTI"
               SET Y="PstI"
           if XU="REGA"
               SET Y="regA"
           if $LENGTH($GET(Y))
               QUIT 
 +31       if XU="RRNA"
               SET Y="rRNA"
           if XU="SCEI"
               SET Y="SceI"
           if XU="TAQI"
               SET Y="TaqI"
           if $LENGTH($GET(Y))
               QUIT 
 +32       if XU="TRFA"
               SET Y="TrfA"
           if XU="TRKA"
               SET Y="trkA"
           if XU="TRKB"
               SET Y="trkB"
           if $LENGTH($GET(Y))
               QUIT 
 +33       if XU="TRNA"
               SET Y="tRNA"
           if $LENGTH($GET(Y))
               QUIT 
 +34      ;   Lower Case
 +35       IF "LESS"=XU&($EXTRACT(NXT,1,4)="THAN")
               SET Y=$$LO(X)
               QUIT 
 +36       IF "^ALSO^AREA^BEEN^BEST^DONE^DTMN^EACH^EVEN^FIVE^FOUR^FROM^"[("^"_XU_"^")
               SET Y=$$LO(X)
               QUIT 
 +37       IF "^HAVE^HERE^HOUR^INTO^IT'S^KIND^LATE^LEFT^LESS^LIKE^LOST^"[("^"_XU_"^")
               SET Y=$$LO(X)
               QUIT 
 +38       IF "^MANY^MERE^MORE^MOST^MUST^NINE^NOTE^ONLY^OPEN^OURS^OVER^"[("^"_XU_"^")
               SET Y=$$LO(X)
               QUIT 
 +39       IF "^PART^PLUS^SAME^SEEN^SITE^SOME^SUCH^SURE^TAKE^THAN^THAN^"[("^"_XU_"^")
               SET Y=$$LO(X)
               QUIT 
 +40       IF "^THAT^THEN^THEY^THIS^THUS^UPON^USED^WERE^WHAT^WHEN^WHOM^"[("^"_XU_"^")
               SET Y=$$LO(X)
               QUIT 
 +41       IF "^WITH^"[("^"_XU_"^")
               SET Y=$$LO(X)
               QUIT 
 +42      ;   Mixed Case
 +43       IF "^BATH^CITH^CITY^EAST^ERIE^FORT^HOME^IOWA^IRON^JUAN^JULY^"[("^"_XU_"^")
               SET Y=$$MX(X)
               QUIT 
 +44       IF "^JUNE^KELL^LAKE^LOMA^LONG^LYON^PALM^PALO^PARK^RENO^ROCK^"[("^"_XU_"^")
               SET Y=$$MX(X)
               QUIT 
 +45       IF "^SALT^SIDE^TYPE^WACO^WEST^YORK^"[("^"_XU_"^")
               SET Y=$$MX(X)
               QUIT 
 +46      ;   Uppercase
 +47       IF CHR?1N!("^A^B^C^D^E^F^"[("^"_CHR_"^"))
               Begin DoDot:1
 +48               IF "^A1B5^A1BG^A4A7^A4A8^A6K7^ABL1^AICD^ABSV^ACKQ^ACTH^AIDS^AJCC^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +49               IF "^ALLA^AML1^ANCA^ANIT^ARPP^ASHD^ASPE^ATLV^BADR^BCL2^BDEM^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +50               IF "^BMIC^BMWD^BPDE^BPDE^BUSI^CABG^CAP1^CAP2^CAPD^CBFB^CCPD^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +51               IF "^CD34^CENP^CGRP^CHCT^COOH^COPD^CORF^CPAP^CPAP^CPEP^CPRS^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +52               IF "^CPT1^CPT2^CRNA^CROS^DENT^DEXA^DGGE^DGHI^DGPW^DGY1^DGY3^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +53               IF "^DGYA^DGYB^DGYC^DGYD^DGYF^DGYG^DGYJ^DGYK^DGYL^DGYN^DGYO^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +54               IF "^DGYP^DGYQ^DGYR^DGYS^DGYU^DGYV^DGYW^DGYX^DGYZ^DHEA^DIPK^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +55               IF "^DMAC^DMBA^DMBA^DMSO^DOPS^DSAP^DSIP^DTAP^DTPA^DVBA^DVBC^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +56               IF "^DVBQ^DVBT^DVBU^DVBW^DVBX^DVBY^EADT^EBNA^EBUS^ECMO^EDTA^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +57               IF "^EEOA^EEOP^ENXE^ENXF^ENXG^ENXI^ENXJ^ENXK^ERCC^ERCP^ERCP^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +58               IF "^ESBL^ESRD^ESRD^ESWL^ETV1^ETV6^FANA^FBAA^FEV1^FITC^FKBP^FLI1^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +59               IF "^FP22^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
               End DoDot:1
               if $LENGTH($GET(Y))
                   QUIT 
 +60       IF "^G^H^I^J^K^L^"[("^"_CHR_"^")
               Begin DoDot:1
 +61               IF "^G6PD^GABA^GATA^GECD^GECP^GECS^GERD^GHRH^GJB2^GLUT^GMAA^GMD1^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +62               IF "^GMN1^GMN2^GMN3^GMN4^GMN5^GMPL^GMPT^GMRA^GMRC^GMRD^GMRE^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +63               IF "^GMRG^GMRP^GMRQ^GMRR^GMRS^GMRV^GMRY^GP22^GRSA^GYKI^HBHC^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +64               IF "^HBIG^HCFA^HCMV^HCO2^HCPS^HETE^HIAA^HIDA^HISA^HLPC^HMSN^HPLC^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +65               IF "^HPSA^HPFH^HSAN^HTLV^IADL^IBDE^IBDP^IBQL^IBQY^IBY3^IBY4^IBY5^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +66               IF "^IBY6^IBY7^IBY8^IBY9^IBYA^IBYB^IBYC^IBYD^IBYE^IBYF^IBYG^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +67               IF "^IBYH^IBYK^IBYL^IBYN^ICPT^IDDM^IGIV^IIIA^IIIA^IIIB^IIIC^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +68               IF "^IIID^IIIE^IORT^IMRT^INTP^IPPB^IPPB^ISUP^KAFO^LAAM^LATS^LBRN^LBRT^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +69               IF "^LBRY^LEXX^LHRH^LR00^LR01^LR03^LRAR^LRLS^LTCH^LVEF^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
               End DoDot:1
               if $LENGTH($GET(Y))
                   QUIT 
 +70       IF "^M^N^O^P^Q^"[("^"_CHR_"^")
               Begin DoDot:1
 +71               IF "^MAGE^MAGI^MCAD^MCXX^MEDA^MEDB^MEDC^MEDF^MESA^MESH^MHPE^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +72               IF "^MIBB^MLH1^MLH1^MLH2^MLH3^MLH4^MLH5^MLVP^MMPI^MMRV^MPTP^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +73               IF "^MPTP^MPTP^MQSA^MRCP^MRSA^MSH1^MSH2^MSH3^MSH4^MSH5^MSH6^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +74               IF "^MSLT^MTLU^MYCN^NADH^NADP^NAPS^NARP^NBDC^NDPH^NETT^NETT^NGFI^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +75               IF "^NIST^NMES^NRDC^NSCL^NURA^NURC^NURE^NURQ^NURX^OERR^OHCS^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +76               IF "^ONCO^PABA^PAPP^PAPS^PAX3^PAX7^PDAC^PICC^PLA1^PLA2^PLA3^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +77               IF "^PMMA^POMC^PORP^PRCA^PRCP^PRMQ^PRPF^PRSX^PRX0^PRX1^PRX8^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +78               IF "^PRXB^PRXC^PRXE^PRXF^PRXG^PRXI^PRXJ^PRXK^PRXP^PRYA^PRYB^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +79               IF "^PRYC^PRYD^PRYF^PRYH^PRYJ^PRYL^PRYN^PRYP^PSA1^PSAP^PSD1^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +80               IF "^PSGW^PSIV^PSJ1^PSJ4^PSOA^PSOB^PSOC^PSOD^PSOE^PSOG^PSOH^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +81               IF "^PSOJ^PSOL^PSOY^PSW1^PSXC^PTCA^PTEN^PTLD^PTSD^PUVA^PUVB^QAN1^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +82               IF "^QAR1^QAR2^QARF^QARY^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
               End DoDot:1
               if $LENGTH($GET(Y))
                   QUIT 
 +83       IF "^R^S^T^U^V^W^X^Y^Z^"[("^"_CHR_"^")
               Begin DoDot:1
 +84               IF "^RAAA^RAAB^RAAC^RAAE^RAAF^RARA^RAST^RMPC^RMPF^RMPJ^RMPR^RMPT^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +85               IF "^RTEM^RTYB^RTYC^RTYD^RVEF^RXIV^RXOP^RXUD^SARS^SACH^SBCE^SCAD^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +86               IF "^SCID^SCL1^SCL2^SDHB^SDHD^SDYA^SDYM^SDYN^SDYP^SEXA^SGOT^SGPT^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +87               IF "^SHBG^SIRS^SISI^SMAR^SNAP^SOWA^SOWC^SOWK^SRIF^SRIH^SROA^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +88               IF "^SRRS^SRRT^SSCP^SSX1^SSX2^STEC^TAPA^TATA^TCDD^TCDD^TCF3^TDAP^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +89               IF "^TENS^TFE3^THBR^TIMP^TIUJ^TIUW^TIUX^TLSO^TLSO^TORP^TP53^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +90               IF "^UDPG^UMLS^VALM^VAPR^VDDR^VEEM^VIIA^VIII^VLDL^VRSA^VSIT^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
 +91               IF "^WHFO^WMMT^XIII^XQOR^XUFI^XVII^XXII^YS01^ZIFT^"[("^"_XU_"^")
                       SET Y=XU
                       QUIT 
               End DoDot:1
               if $LENGTH($GET(Y))
                   QUIT 
 +92       QUIT 
 +93      ;          
LO(X)     ; Lower Case
 +1        QUIT $TRANSLATE(X,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
UP(X)     ; Uppercase
 +1        QUIT $TRANSLATE(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
MX(X)     ; Mix Case
 +1        QUIT $TRANSLATE($EXTRACT(X,1),"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")_$TRANSLATE($EXTRACT(X,2,$LENGTH(X)),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")
LD(X)     ; Leading Character
 +1        QUIT $TRANSLATE($EXTRACT(X,1),"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")_$EXTRACT(X,2,$LENGTH(X))
TRIM(X)   ; Trim Spaces
 +1        SET X=$GET(X)
           FOR 
               if $EXTRACT(X,1)'=" "
                   QUIT 
               SET X=$EXTRACT(X,2,$LENGTH(X))
 +2        FOR 
               if $EXTRACT(X,$LENGTH(X))'=" "
                   QUIT 
               SET X=$EXTRACT(X,1,($LENGTH(X)-1))
 +3        NEW LEXCTL,LEXIN,LEXNXT,LEXPRE,LEXUSE,Y
 +4        QUIT X