FHWOR4 ; HISC/NCA - HL7 NPO ;10/10/00 14:57 ;;5.5;DIETETICS;;Jan 28, 2005 S (DATE,D1)=SDT I DATE="" S TXT="No Start Date." D ERR^FHWOR Q D CVT^FHWOR S D1=DATE S (DATE,D2)=$P(DUR,"^",5) I DATE D CVT^FHWOR S D2=DATE I D2,D1>D2 S TXT="Wrong Stop Date." D ERR^FHWOR Q S DATE=NOW D CVT^FHWOR S NOW=DATE S COM=$E($P(MSG(5),"|",5),1,80) ; Process NPO D F7^FHORD3 G KIL CAN ; process cancel or discontinue S FHORD=$P(FILL,";",3) I 'FHORD D CSEND^FHWOR Q D GADM^FHWORR S FHREA=$P(DATA,"|",17),FHREA=$P(FHREA,"^",5) I FHREA="Discharge" D DIS,CSEND^FHWOR K FHREA Q D NC D CSEND^FHWOR G KIL NC ; Cancel NPO D NOW^%DTC S NOW=% S OLD="" I '$D(^FHPT(FHDFN,"A",+ADM,"DI",+FHORD,0)) Q I $P($G(^FHPT(FHDFN,"A",ADM,"DI",+FHORD,0)),"^",19)'="" Q S NSTR=0 F KK=0:0 S KK=$O(^FHPT(FHDFN,"A",ADM,"AC",KK)) Q:KK<1!(KK'0,$P(FHGET,"^",15)>2 S $P(^FHPT(FHDFN,"A",ADM,"DI",FHORD,0),"^",15)=1 D NOW^%DTC S NOW=% F A1=NOW:0 S A1=$O(^FHPT(FHDFN,"A",ADM,"AC",A1)) Q:A1="" K ^FHPT(FHDFN,"A",ADM,"AC",A1) F FHDR=0:0 S FHDR=$O(^FHPT(FHDFN,"A",ADM,"DI",FHDR)) Q:FHDR<1 D D1 S FHGET=$G(^FHPT(FHDFN,"A",ADM,0)),FHGET=$P(FHGET,"^",2) Q:'FHGET S FHX=$G(^FHPT(FHDFN,"A",ADM,"DI",FHGET,0)) Q:$P(FHX,"^",7)="X" D ORD^FHORD7 S ^FHPT(FHDFN,"A",ADM,"DI",FHORD,0)=FHORD_"^^^^^^X^^"_NOW_"^^"_DUZ_"^"_NOW S ^FHPT(FHDFN,"A",ADM,"AC",NOW,0)=NOW_"^"_FHORD S $P(^FHPT(FHDFN,"A",ADM,0),"^",2,3)=FHORD_"^" K A1,FHDR,FHGET,FHX,FHOX1 Q D1 ; Get all filler fields for Diet S FHOX1=$P($G(^FHPT(FHDFN,"A",ADM,"DI",FHDR,0)),"^",14,15) I +FHOX1>0,$P(FHOX1,"^",2)>2 S FHOX1=+FHOX1,$P(^FHPT(FHDFN,"A",ADM,"DI",FHDR,0),"^",15)=1 Q