ORCACT03 ;SLC/MKB-Validate order actions cont ;02/06/2007 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**243**;Dec 17, 1997;Build 242 ; INACTIVE() ; -- Returns 1 or 0, if OI is now inactive N I,OI,PREOI,PREOIX,X,Y,ORNOW,DD,PSOI S Y=0,ORNOW=$$NOW^XLFDT S I=0 F S I=+$O(^OR(100,+IFN,4.5,"ID","ORDERABLE",I)) Q:I'>0 D Q:Y . S OI=+$G(^OR(100,+IFN,4.5,I,1)) . I OI S X=$G(^ORD(101.43,OI,.1)) I X,X0 ;first . S DD=+$G(^OR(100,+IFN,4.5,I,1)) Q:DD'>0 Q:$G(OI)'>0 . S PSOI=+$P($G(^ORD(101.43,OI,0)),U,2),X=$$ITEM^PSSUTIL1(PSOI,DD) . Q:X'>0 S X=+$O(^ORD(101.43,"ID",+$P(X,U,2)_";99PSP",0)) Q:X'>0 . I $G(^ORD(101.43,X,.1)),$G(^(.1))1) ; NTBG(ORIFN) ; -- Inpt order marked as 'Not to be Given'? N PSIFN,Y,ORI,ORCH S Y="" S PSIFN=$G(^OR(100,+ORIFN,4)) I PSIFN>0 Q $$ENNG^PSJORUT2(+ORVP,PSIFN) S ORI=0 F S ORI=$O(^OR(100,+ORIFN,2,ORI)) Q:ORI'>0 S ORCH=+$G(^(ORI,0)),PSIFN=$G(^OR(100,ORCH,4)) I PSIFN>0 S Y=$$ENNG^PSJORUT2(+ORVP,PSIFN) Q:Y Q Y ; RESET(IFN,NEWOI) ; -- Update OI if changed before renewing Q:'$G(IFN) Q:'$D(^OR(100,+IFN,0)) Q:'$G(NEWOI) N I,ORIT S ORIT=+$O(^ORD(101.43,"ID",NEWOI_";99PSP",0)) Q:ORIT'>0 S I=$O(^OR(100,+IFN,4.5,"ID","ORDERABLE",0)) S:I ^OR(100,+IFN,4.5,I,1)=ORIT Q