Code |
N OR0,VALIDT,ORTIME,ORIMTIME,ORDIV,X,Y,%DT,ORSTRT,ORI,ORN,OK S OR0=$G(^OR(100,+$G(ORIFN),0)) Q:$P(OR0,U,17) Q:$G(OREVENT) ;delayed orders I $G(ORIFN),'$L($G(DATE))!'$L($G(TYPE))!'$G(SCH)!'$L($G(DUR)) D ;get values . S DATE=$$VALUE^ORX8(ORIFN,"START") . S TYPE=$$VALUE^ORX8(ORIFN,"COLLECT") . S SCH=$$VALUE^ORX8(ORIFN,"SCHEDULE") . S DUR=$$VALUE^ORX8(ORIFN,"DAYS") Q:'$L($G(DATE)) Q:'$G(SCH) Q:"SPWC"[$G(TYPE) Q:'$L($G(DUR)) S VALIDT="" D GETIMES^ORCDLR1 D AM^ORCSAVE2:DATE="AM",NEXT^ORCSAVE2:DATE="NEXT" ; returns X S %DT="T" S:'$D(X) X=DATE D ^%DT I Y<1 Q D SCHEDULE(.ORSTRT,Y,SCH,DUR) Q:ORSTRT'>1 0 ; get all starts K ORY S ORY=ORSTRT S (ORI,ORN)=0 F S ORI=$O(ORSTRT(ORI)) Q:'ORI S OK="" D . I TYPE="LC" S OK=$$LABCOLL^ORCDLR1(ORI) . I TYPE="I" S OK=$$IMMCOLL^ORCDLR1(ORI) . S ORN=ORN+1,ORY(ORN)=ORI_U_OK
|