dictionary ;BMI/BI Dictionary Viewer. ;11/15/2013
 Quit
 ;
en
 New dictfrom,dicttoto,dictstan,dictglob,DUZ
 Set key=$zcmdline Quit:key'="key"
 ;Set DUZ=91 D ^XUP
 D DUZ^XUP(91S DTIME=600
 Set dictfrom=$Order(^DIC(0))
 Set dicttoto=$Order(^DIC(999999999),-1)
 Set dictstan=$$dictstan^settings
 Set dictglob=$$dictglob^settings
 Do dictprint(.DUZ,dictfrom,dicttoto,dictstan,dictglob)
 Do impstan(dictstan)
 Do impglob(dictglob)
 Quit
 ;
dictprint(DUZ,dictfrom,dicttoto,dictstan,dictglob)
 Write !
 Write "------------------------------------------------------------",!
 Write dictfrom,!
 Write dicttoto,!
 Write "STANDARD",!
 Write "",!
 Write "HFS;132;999999",!
 Write dictstan,!
 Write "------------------------------------------------------------",!
 Do ^DID
 ;
 Write "------------------------------------------------------------",!
 Write dictfrom,!
 Write dicttoto,!
 Write "GLOBAL MAP",!
 Write "HFS;132;999999",!
 Write dictglob,!
 Write "------------------------------------------------------------",!
 Do ^DID
 Quit
 ;
impstan(dictstan)
 New TextLine,DICTNUMBER
 Kill ^dictstan
 Open dictstan:(readonly)
 For  Do  Quit:$zeof
 . Use dictstan read TextLine Quit:$zeof
 . If ((TextLine["STANDARD DATA DICTIONARY #")&(TextLine["PAGE 1")) Do
 .. Set DICTNUMBER=$Piece($Piece(TextLine," -- ",1),"#",2)
 . Quit:TextLine=$C(12)
 . Set ^dictstan(DICTNUMBER,$Increment(^dictstan(DICTNUMBER,0)))=TextLine
 Close dictstan
 Quit
 ;
impglob(dictglob)
 New TextLine,DICTNUMBER
 Kill ^dictglob
 Open dictglob:(readonly)
 For  Do  Quit:$zeof
 . Use dictglob read TextLine Quit:$zeof
 . If ((TextLine["GLOBAL MAP DATA DICTIONARY #")&(TextLine["PAGE 1")) Do
 .. Set DICTNUMBER=$Piece($Piece(TextLine," -- ",1),"#",2)
 . Quit:TextLine=$C(12)
 . Set ^dictglob(DICTNUMBER,$Increment(^dictglob(DICTNUMBER,0)))=TextLine
 Close dictglob
 Quit
 ;
list
 New dictnumb,dictglob,outline
 Set dictnumb=0
 For  Do  Quit:'+dictnumb
 . Set dictnumb=$Order(^DIC(dictnumb)) Quit:'+dictnumb
 . Set dictname=$Piece(^DIC(dictnumb,0),"^",1)
 . Set dictglob=^DIC(dictnumb,0,"GL")
 . Set outline=""
 . Set outline=outline_"<tr>"
 . Set outline=outline_"<td>"_dictnumb_"</td>"
 . Set outline=outline_"<td><a href=""dictionary.php?fn=stan&ien="_dictnumb_""" "
 . Set outline=outline_"target=""main"">"_dictname_"</a></td>"
 . Set outline=outline_"<td><a href=""dictionary.php?fn=glob&ien="_dictnumb_""" "
 . Set outline=outline_"target=""main"">"_dictglob_"</a></td></tr>"
 . Write outline,!
 Quit
 ;
stan
 New ien,LineNumb
 Set ien=$zcmdline Quit:'ien  Quit:'$Data(^dictstan(ien))
 For LineNumb=1:1:^dictstan(ien,0Write ^dictstan(ien,LineNumb),!
 Quit
 ;
glob
 New ien,LineNumb
 Set ien=$zcmdline Quit:'ien  Quit:'$Data(^dictglob(ien))
 For LineNumb=1:1:^dictglob(ien,0Write ^dictglob(ien,LineNumb),!
 Quit
 ;
def
 New ien
 Set ien=$Piece($zcmdline,"^",1)
 Set filter=$Piece($zcmdline,"^",2)
 Write "<pre>",!
 If filter="n" Write "Dictionary Defination for UCI: vista",", IEN: ",ien,!!
 Set base=ien,loop="^DIC("_base_")"
 For  Set loop=$Query(@loopQuit:$Piece($Piece(loop,"(",2),",",1)'=base  Do
 . If filter="y" Quit:$qsubscript(loop,3)="DT"
 . If filter="y" Quit:$qsubscript(loop,2)="%MSC"
 . Write loop,"=","""",@loop,"""",!
 Write !
 Set base=ien,loop="^DD("_base_")"
 For  Set loop=$Query(@loopQuit:$Piece($Piece(loop,"(",2),",",1)'=base  Do
 . If filter="y" Quit:$qsubscript(loop,3)="DT"
 . If filter="y" Quit:$qsubscript(loop,2)="%MSC"
 . Write loop,"=","""",@loop,"""",!
 Write "</pre>",!
 Quit