| 1 | CRHDDR ; CAIRO/CLC - RETRIEVE DNR ORDERS USING ORDER DIALOG ;4/23/08  13:06
 | 
|---|
| 2 |  ;;1.0;CRHD;****;Jan 28, 2008;Build 19
 | 
|---|
| 3 |  ;=================================================================
 | 
|---|
| 4 | ENT(CRHDRTN,DFN,CRHDNRTT,CRHDDIV,CRHDMULT) ;
 | 
|---|
| 5 |  N CRHDSDAT,CRHDFND,CRHDRN,CRHDEXDT,CRHDEXN,X,Y
 | 
|---|
| 6 |  N CRHDSTS,CRHDDL,CRHDCT,CRHDFLG,CRHDIEN1,CRHDOI
 | 
|---|
| 7 |  K CRHDRTN
 | 
|---|
| 8 |  ;CRHDMULT = 1,if multi active orders displayed
 | 
|---|
| 9 |  S CRHDMULT=+$G(CRHDMULT)
 | 
|---|
| 10 |  I '$G(CRHDRN) S CRHDRN=1
 | 
|---|
| 11 |  D DNRPARM(.CRHDNRTT,DUZ,.CRHDDIV)
 | 
|---|
| 12 |  S CRHDFLG=0
 | 
|---|
| 13 |  S CRHDSDAT=$$NOW^XLFDT
 | 
|---|
| 14 |  S CRHDEXDT=0,CRHDCT=0
 | 
|---|
| 15 |  F  S CRHDEXDT=$O(^OR(100,"AC",DFN_";DPT(",CRHDEXDT)) Q:'CRHDEXDT!(CRHDFLG)  D
 | 
|---|
| 16 |  .S CRHDEXN="" F  S CRHDEXN=$O(^OR(100,"AC",DFN_";DPT(",CRHDEXDT,CRHDEXN)) Q:CRHDEXN=""!(CRHDFLG)  D
 | 
|---|
| 17 |  ..S CRHDOI=0
 | 
|---|
| 18 |  ..F  S CRHDOI=$O(^OR(100,CRHDEXN,.1,"B",CRHDOI)) Q:'CRHDOI!(CRHDFLG)  D
 | 
|---|
| 19 |  ...I $D(CRHDNRTT(+CRHDOI)) D DETAIL("CRHDRTN",CRHDEXN,.CRHDFLG,.CRHDCT,.CRHDMULT)
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | DETAIL(CRHDY,CRHDIFN,CRHDFND,CRHDCNT,CRHDMDNR) ; -- Returns details of order CRHDIFN in CRHDY(#)
 | 
|---|
| 23 |  N CRHDMCNT,X,CRHDX2,CRHDI,CRHDILOG,CRHD0,CRHD3,CRHD6,CRHDSEQ,CRHDITEM,CRHDPRMT
 | 
|---|
| 24 |  N CRHDFIRT,CRHDTITL,CRHDINST,CRHDN,ORIGVIEW,ORFLG,CRHDII
 | 
|---|
| 25 |  N DIWL,DIWR,DIWF,CRHDACTI,VAIN,CRHDOVW,ORNMSP,CRHDYT,CRHDDNR,CRHDXX,CRHDNX
 | 
|---|
| 26 |  S CRHDIFN=+CRHDIFN,CRHD0=$G(^OR(100,CRHDIFN,0)),CRHD3=$G(^(3)),CRHD6=$G(^(6))
 | 
|---|
| 27 |  Q:$P(CRHD3,"^",3)'=6
 | 
|---|
| 28 |  K CRHDYT S CRHDOVW=1 D TEXT^CRHD8(.CRHDYT,+CRHDIFN_";"_+$P(CRHD3,U,7),254)
 | 
|---|
| 29 |  ;CurrTx
 | 
|---|
| 30 |  I $D(CRHDYT) D
 | 
|---|
| 31 |  .I 'CRHDMDNR S CRHDFND=1
 | 
|---|
| 32 |  .S CRHDN=0
 | 
|---|
| 33 |  .;USE CRHDEXDT IN THE DATA NODE TO
 | 
|---|
| 34 |  .I $D(@CRHDY) S CRHDCNT=CRHDCNT+1,@CRHDY@(CRHDCNT)=""
 | 
|---|
| 35 |  .F CRHDII=1:1 S CRHDN=$O(CRHDYT(CRHDN)) Q:'CRHDN  D
 | 
|---|
| 36 |  ..S CRHDCNT=CRHDCNT+1
 | 
|---|
| 37 |  ..I CRHDII=1 S @CRHDY@(CRHDCNT)=CRHDEXDT_"~"_CRHDIFN_"~"_CRHDYT(CRHDN)
 | 
|---|
| 38 |  ..E  S @CRHDY@(CRHDCNT)=CRHDYT(CRHDN)
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 | DNRPARM(CRHDNRTT,DUZ,CRHDDIV) ;GET DNR TITLES
 | 
|---|
| 41 |  N CRHDPAR,CRHDDIVI,CRHDDNRT
 | 
|---|
| 42 |  K CRHDNRTT
 | 
|---|
| 43 |  S CRHDDNRT=0
 | 
|---|
| 44 |  I '+$G(CRHDDIV) S CRHDDIV=+$$SITE^VASITE
 | 
|---|
| 45 |  S CRHDPAR="DIV.`"_+CRHDDIV D GETLST^XPAR(.CRHDDNRT,CRHDPAR,"CRHD DNR ORDERABLE ITEMS")
 | 
|---|
| 46 |  I 'CRHDDNRT D
 | 
|---|
| 47 |  .S CRHDDIVI=$O(^DIC(4,"D",CRHDDIV,0))
 | 
|---|
| 48 |  .I CRHDDIVI S CRHDPAR="DIV.`"_CRHDDIVI D GETLST^XPAR(.CRHDDNRT,CRHDPAR,"CRHD DNR ORDERABLE ITEMS")
 | 
|---|
| 49 |  I CRHDDNRT D
 | 
|---|
| 50 |  .S CRHDN=0 F  S CRHDN=$O(CRHDDNRT(CRHDN)) Q:'CRHDN  D
 | 
|---|
| 51 |  ..S:$P($G(CRHDDNRT(CRHDN)),"^",2)'="" CRHDNRTT($P(CRHDDNRT(CRHDN),"^",2))=""
 | 
|---|
| 52 |  Q
 | 
|---|
| 53 | LORDITM(CRHDY,CRHDFROM,CRHDDIR) ; Return a set of names from the ORDERABLE ITEMS file.
 | 
|---|
| 54 |  ; copied from ORWU1
 | 
|---|
| 55 |  ;  .CRHDY=returned list.
 | 
|---|
| 56 |  ;  CRHDDIR=Direction to move through the x-ref with $O.
 | 
|---|
| 57 |  ;  CRHDFROM=Starting name for this set.
 | 
|---|
| 58 |  K CRHDRTN
 | 
|---|
| 59 |  N CRHDNAME,CRHDNUMB,CRHDIEN1,CRHDMAX
 | 
|---|
| 60 |  S CRHDI=0,CRHDMAX=44
 | 
|---|
| 61 |  F  Q:CRHDI'<CRHDMAX  S CRHDFROM=$O(^ORD(101.43,"B",CRHDFROM),CRHDDIR) Q:CRHDFROM=""  D
 | 
|---|
| 62 |  .S CRHDIEN1=""
 | 
|---|
| 63 |  .F  S CRHDIEN1=$O(^ORD(101.43,"B",CRHDFROM,CRHDIEN1),CRHDDIR) Q:'CRHDIEN1  D
 | 
|---|
| 64 |  ..I $D(^ORD(101.43,CRHDIEN1,.1)),+$G(^ORD(101.43,CRHDIEN1,.1)) I +^ORD(101.43,CRHDIEN1,.1)<$$DT^XLFDT Q
 | 
|---|
| 65 |  ..S CRHDI=CRHDI+1,CRHDY(CRHDI)=CRHDIEN1_"^"_CRHDFROM
 | 
|---|
| 66 |  Q
 | 
|---|