CRHDDR ; CAIRO/CLC - RETRIEVE DNR ORDERS USING ORDER DIALOG ;4/23/08  13:06
 ;;1.0;CRHD;****;Jan 28, 2008;Build 19
 ;=================================================================
ENT(CRHDRTN,DFN,CRHDNRTT,CRHDDIV,CRHDMULT) ;
 
CRHDSDAT,CRHDFND,CRHDRN,CRHDEXDT,CRHDEXN,X,Y
 
CRHDSTS,CRHDDL,CRHDCT,CRHDFLG,CRHDIEN1,CRHDOI
 
CRHDRTN
 
;CRHDMULT = 1,if multi active orders displayed
 
CRHDMULT=+$G(CRHDMULT)
 
'$G(CRHDRNCRHDRN=1
 
DNRPARM(.CRHDNRTT,DUZ,.CRHDDIV)
 
CRHDFLG=0
 
CRHDSDAT=$$NOW^XLFDT
 
CRHDEXDT=0,CRHDCT=0
 
F  S CRHDEXDT=$O(^OR(100,"AC",DFN_";DPT(",CRHDEXDT)) Q:'CRHDEXDT!(CRHDFLG)  D
 
.CRHDEXN="" F  S CRHDEXN=$O(^OR(100,"AC",DFN_";DPT(",CRHDEXDT,CRHDEXN)) Q:CRHDEXN=""!(CRHDFLG)  D
 
..CRHDOI=0
 ..
F  S CRHDOI=$O(^OR(100,CRHDEXN,.1,"B",CRHDOI)) Q:'CRHDOI!(CRHDFLG)  D
 
...I $D(CRHDNRTT(+CRHDOI)) DETAIL("CRHDRTN",CRHDEXN,.CRHDFLG,.CRHDCT,.CRHDMULT)
 
Q
 
;
DETAIL(CRHDY,CRHDIFN,CRHDFND,CRHDCNT,CRHDMDNR) ; -- Returns details of order CRHDIFN in CRHDY(#)
 
CRHDMCNT,X,CRHDX2,CRHDI,CRHDILOG,CRHD0,CRHD3,CRHD6,CRHDSEQ,CRHDITEM,CRHDPRMT
 
CRHDFIRT,CRHDTITL,CRHDINST,CRHDN,ORIGVIEW,ORFLG,CRHDII
 
DIWL,DIWR,DIWF,CRHDACTI,VAIN,CRHDOVW,ORNMSP,CRHDYT,CRHDDNR,CRHDXX,CRHDNX
 
CRHDIFN=+CRHDIFN,CRHD0=$G(^OR(100,CRHDIFN,0)),CRHD3=$G(^(3)),CRHD6=$G(^(6))
 
Q:$P(CRHD3,"^",3)'=6
 
CRHDYT CRHDOVW=1 TEXT^CRHD8(.CRHDYT,+CRHDIFN_";"_+$P(CRHD3,U,7),254)
 
;CurrTx
 
I $D(CRHDYTD
 
.'CRHDMDNR CRHDFND=1
 .
CRHDN=0
 .
;USE CRHDEXDT IN THE DATA NODE TO
 
.I $D(@CRHDYCRHDCNT=CRHDCNT+1,@CRHDY@(CRHDCNT)=""
 
.CRHDII=1:1 CRHDN=$O(CRHDYT(CRHDN)) Q:'CRHDN  D
 
..CRHDCNT=CRHDCNT+1
 ..
CRHDII=1 @CRHDY@(CRHDCNT)=CRHDEXDT_"~"_CRHDIFN_"~"_CRHDYT(CRHDN)
 ..
E  S @CRHDY@(CRHDCNT)=CRHDYT(CRHDN)
 
Q
DNRPARM(CRHDNRTT,DUZ,CRHDDIV) ;GET DNR TITLES
 
CRHDPAR,CRHDDIVI,CRHDDNRT
 
CRHDNRTT
 
CRHDDNRT=0
 
'+$G(CRHDDIVCRHDDIV=+$$SITE^VASITE
 
CRHDPAR="DIV.`"_+CRHDDIV GETLST^XPAR(.CRHDDNRT,CRHDPAR,"CRHD DNR ORDERABLE ITEMS")
 
'CRHDDNRT D
 
.CRHDDIVI=$O(^DIC(4,"D",CRHDDIV,0))
 .
CRHDDIVI CRHDPAR="DIV.`"_CRHDDIVI GETLST^XPAR(.CRHDDNRT,CRHDPAR,"CRHD DNR ORDERABLE ITEMS")
 
CRHDDNRT D
 
.CRHDN=0 F  S CRHDN=$O(CRHDDNRT(CRHDN)) Q:'CRHDN  D
 
..S:$P($G(CRHDDNRT(CRHDN)),"^",2)'="" CRHDNRTT($P(CRHDDNRT(CRHDN),"^",2))=""
 
Q
LORDITM(CRHDY,CRHDFROM,CRHDDIR) ; Return a set of names from the ORDERABLE ITEMS file.
 ; copied from ORWU1
 ;  .CRHDY=returned list.
 ;  CRHDDIR=Direction to move through the x-ref with $O.
 ;  CRHDFROM=Starting name for this set.
 
CRHDRTN
 
CRHDNAME,CRHDNUMB,CRHDIEN1,CRHDMAX
 
CRHDI=0,CRHDMAX=44
 
F  Q:CRHDI'<CRHDMAX  CRHDFROM=$O(^ORD(101.43,"B",CRHDFROM),CRHDDIRQ:CRHDFROM=""  D
 
.CRHDIEN1=""
 
.F  S CRHDIEN1=$O(^ORD(101.43,"B",CRHDFROM,CRHDIEN1),CRHDDIRQ:'CRHDIEN1  D
 
..I $D(^ORD(101.43,CRHDIEN1,.1)),+$G(^ORD(101.43,CRHDIEN1,.1)) +^ORD(101.43,CRHDIEN1,.1)<$$DT^XLFDT Q
 
..CRHDI=CRHDI+1,CRHDY(CRHDI)=CRHDIEN1_"^"_CRHDFROM
 
Q