ORY14406 ;SLC/RJS,CLA - OCX PACKAGE RULE TRANSPORT ROUTINE (Delete after Install of OR*3*144) ;JUN 12,2002 at 12:20 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**144**;Dec 17,1997 ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998 ; S ; ; D DOT^ORY144ES ; ; K REMOTE,LOCAL,OPCODE,REF F LINE=1:1:500 S TEXT=$P($T(DATA+LINE),";",2,999) Q:TEXT I $L(TEXT) D Q:QUIT .S ^TMP("OCXRULE",$J,$O(^TMP("OCXRULE",$J,"A"),-1)+1)=TEXT ; G ^ORY14407 ; Q ; DATA ; ; ;;R^"860.8:",100,54 ;;D^ ; ..N OCXGR2 ;;R^"860.8:",100,55 ;;D^ ; ..S OCXGR2=OCXGR1_","_OCXELE_",1" ;;R^"860.8:",100,56 ;;D^ ; ..K OCXDATA ;;R^"860.8:",100,57 ;;D^ ; ..S OCXDATA(OCXDFI,0)=OCXDFI ;;R^"860.8:",100,58 ;;D^ ; ..S OCXDATA(OCXDFI,"VAL")=^TMP("OCXCHK",$J,OCXDFN,OCXELE,OCXDFI) ;;R^"860.8:",100,59 ;;D^ ; ..S OCXDATA("B",OCXDFI,OCXDFI)="" ;;R^"860.8:",100,60 ;;D^T+; ..D SETAP(OCXGR2_")","860.71223P","Data Field",$P($G(^OCXS(860.4,OCXDFI,0)),U,1),.OCXDATA,OCXDFI) ;;R^"860.8:",100,61 ;;D^T-; ..D SETAP(OCXGR2_")","860.71223P",.OCXDATA,OCXDFI) ;;R^"860.8:",100,62 ;;D^ ; ; ;;R^"860.8:",100,63 ;;D^ ; Q 1 ;;R^"860.8:",100,64 ;;D^ ; ; ;;R^"860.8:",100,65 ;;D^T+;SETAP(ROOT,DD,ITEM,ITEMNAME,DATA,DA) ; Set Rule Event data ;;R^"860.8:",100,66 ;;D^T-;SETAP(ROOT,DD,DATA,DA) ; Set Rule Event data ;;R^"860.8:",100,67 ;;D^ ; M @ROOT=DATA ;;R^"860.8:",100,68 ;;D^ ; I +$G(DD) S @ROOT@(0)="^"_($G(DD))_"^"_($P($G(@ROOT@(0)),U,3)+1)_"^"_$G(DA) ;;R^"860.8:",100,69 ;;D^ ; I '$G(DD) S $P(@ROOT@(0),U,3,4)=($P($G(@ROOT@(0)),U,3)+1)_"^"_$G(DA) ;;R^"860.8:",100,70 ;;D^T+; W:$G(OCXTRACE) !,"File Active Data ",$G(ITEM),": ",$G(ITEMNAME) ;;R^"860.8:",100,71 ;;D^ ; ; ;;R^"860.8:",100,72 ;;D^ ; Q ;;R^"860.8:",100,73 ;;D^ ; ; ;;R^"860.8:",100,74 ;;D^ ; ; ;;EOR^ ;;KEY^860.8:^ORDERABLE ITEM ;;R^"860.8:",.01,"E" ;;D^ORDERABLE ITEM ;;R^"860.8:",.02,"E" ;;D^OI ;;R^"860.8:",1,1 ;;D^Extrinsic function returns the orderable item for an order number. ;;R^"860.8:",100,1 ;;D^ ;OI(OCXOR) ;func rtns orderable item for an order number (OCXOR) ;;R^"860.8:",100,2 ;;D^ ; Q:+$G(OCXOR)<1 "" ;;R^"860.8:",100,3 ;;D^ ; N OCXOI S OCXOI="" ;;R^"860.8:",100,4 ;;D^ ; S OCXOI=+$G(^OR(100,+$G(OCXOR),.1,1,0)) ;;R^"860.8:",100,5 ;;D^ ; Q OCXOI ;;R^"860.8:",100,6 ;;D^ ; ; ;;EOR^ ;;KEY^860.8:^RECENT CREATININE LAB PROCEDURE ;;R^"860.8:",.01,"E" ;;D^RECENT CREATININE LAB PROCEDURE ;;R^"860.8:",.02,"E" ;;D^RECCREAT ;;R^"860.8:",100,1 ;;D^ ;RECCREAT(ORDFN,ORDAYS) ;extrinsic function to return most recent ;;R^"860.8:",100,2 ;;D^ ; ;SERUM CREATININE within in format: ;;R^"860.8:",100,3 ;;D^ ; ; test id^result units flag ref range collection d/t ;;R^"860.8:",100,4 ;;D^ ; N BDT,CDT,ORY,ORX,ORZ,X,ORI,ORJ,CREARSLT,LABFILE,SPECFILE ;;R^"860.8:",100,5 ;;D^ ; Q:'$L($G(ORDFN)) "0^" ;;R^"860.8:",100,6 ;;D^ ; Q:'$L($G(ORDAYS)) "0^" ;;R^"860.8:",100,7 ;;D^ ; D NOW^%DTC ;;R^"860.8:",100,8 ;;D^ ; S BDT=$$FMADD^XLFDT(%,"-"_ORDAYS,"","","") ;;R^"860.8:",100,9 ;;D^ ; K % ;;R^"860.8:",100,10 ;;D^ ; Q:'$L($G(BDT)) "0^" ;;R^"860.8:",100,11 ;;D^ ; S LABFILE=$$TERMLKUP("SERUM CREATININE",.ORY) ;;R^"860.8:",100,12 ;;D^ ; Q:$G(LABFILE)'=60 "0^" ;;R^"860.8:",100,13 ;;D^ ; Q:+$D(ORY)<1 "0^" ;;R^"860.8:",100,14 ;;D^ ; S SPECFILE=$$TERMLKUP("SERUM SPECIMEN",.ORX) ;;R^"860.8:",100,15 ;;D^ ; Q:$G(SPECFILE)'=61 "0^" ;;R^"860.8:",100,16 ;;D^ ; Q:+$D(ORX)<1 "0^" ;;R^"860.8:",100,17 ;;D^ ; S ORI=0 F S ORI=$O(ORY(ORI)) Q:'ORI I +$G(CREARSLT)<1 D ;;R^"860.8:",100,18 ;;D^ ; .S ORJ=0 F S ORJ=$O(ORX(ORJ)) Q:'ORJ I +$G(CREARSLT)<1 D ;;R^"860.8:",100,19 ;;D^ ; ..S ORZ=$$LOCL^ORQQLR1(ORDFN,ORI,ORJ) ;;R^"860.8:",100,20 ;;D^ ; ..Q:'$L($G(ORZ)) ;;R^"860.8:",100,21 ;;D^ ; ..S CDT=$P(ORZ,U,7) ;;R^"860.8:",100,22 ;;D^ ; ..I CDT'