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) ; N CRHDSDAT,CRHDFND,CRHDRN,CRHDEXDT,CRHDEXN,X,Y N CRHDSTS,CRHDDL,CRHDCT,CRHDFLG,CRHDIEN1,CRHDOI K CRHDRTN ;CRHDMULT = 1,if multi active orders displayed S CRHDMULT=+$G(CRHDMULT) I '$G(CRHDRN) S CRHDRN=1 D DNRPARM(.CRHDNRTT,DUZ,.CRHDDIV) S CRHDFLG=0 S CRHDSDAT=$$NOW^XLFDT S CRHDEXDT=0,CRHDCT=0 F S CRHDEXDT=$O(^OR(100,"AC",DFN_";DPT(",CRHDEXDT)) Q:'CRHDEXDT!(CRHDFLG) D .S CRHDEXN="" F S CRHDEXN=$O(^OR(100,"AC",DFN_";DPT(",CRHDEXDT,CRHDEXN)) Q:CRHDEXN=""!(CRHDFLG) D ..S CRHDOI=0 ..F S CRHDOI=$O(^OR(100,CRHDEXN,.1,"B",CRHDOI)) Q:'CRHDOI!(CRHDFLG) D ...I $D(CRHDNRTT(+CRHDOI)) D DETAIL("CRHDRTN",CRHDEXN,.CRHDFLG,.CRHDCT,.CRHDMULT) Q ; DETAIL(CRHDY,CRHDIFN,CRHDFND,CRHDCNT,CRHDMDNR) ; -- Returns details of order CRHDIFN in CRHDY(#) N CRHDMCNT,X,CRHDX2,CRHDI,CRHDILOG,CRHD0,CRHD3,CRHD6,CRHDSEQ,CRHDITEM,CRHDPRMT N CRHDFIRT,CRHDTITL,CRHDINST,CRHDN,ORIGVIEW,ORFLG,CRHDII N DIWL,DIWR,DIWF,CRHDACTI,VAIN,CRHDOVW,ORNMSP,CRHDYT,CRHDDNR,CRHDXX,CRHDNX S CRHDIFN=+CRHDIFN,CRHD0=$G(^OR(100,CRHDIFN,0)),CRHD3=$G(^(3)),CRHD6=$G(^(6)) Q:$P(CRHD3,"^",3)'=6 K CRHDYT S CRHDOVW=1 D TEXT^CRHD8(.CRHDYT,+CRHDIFN_";"_+$P(CRHD3,U,7),254) ;CurrTx I $D(CRHDYT) D .I 'CRHDMDNR S CRHDFND=1 .S CRHDN=0 .;USE CRHDEXDT IN THE DATA NODE TO .I $D(@CRHDY) S CRHDCNT=CRHDCNT+1,@CRHDY@(CRHDCNT)="" .F CRHDII=1:1 S CRHDN=$O(CRHDYT(CRHDN)) Q:'CRHDN D ..S CRHDCNT=CRHDCNT+1 ..I CRHDII=1 S @CRHDY@(CRHDCNT)=CRHDEXDT_"~"_CRHDIFN_"~"_CRHDYT(CRHDN) ..E S @CRHDY@(CRHDCNT)=CRHDYT(CRHDN) Q DNRPARM(CRHDNRTT,DUZ,CRHDDIV) ;GET DNR TITLES N CRHDPAR,CRHDDIVI,CRHDDNRT K CRHDNRTT S CRHDDNRT=0 I '+$G(CRHDDIV) S CRHDDIV=+$$SITE^VASITE S CRHDPAR="DIV.`"_+CRHDDIV D GETLST^XPAR(.CRHDDNRT,CRHDPAR,"CRHD DNR ORDERABLE ITEMS") I 'CRHDDNRT D .S CRHDDIVI=$O(^DIC(4,"D",CRHDDIV,0)) .I CRHDDIVI S CRHDPAR="DIV.`"_CRHDDIVI D GETLST^XPAR(.CRHDDNRT,CRHDPAR,"CRHD DNR ORDERABLE ITEMS") I CRHDDNRT D .S 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. K CRHDRTN N CRHDNAME,CRHDNUMB,CRHDIEN1,CRHDMAX S CRHDI=0,CRHDMAX=44 F Q:CRHDI'