FHDSSAPI ;Hines OIFO/RTK,JRC-DSS REQUESTED API's ;11/23/07 12:40pm ;;5.5;DIETETICS;**7,11,10**;Jan 28, 2005;Build 5 ;11/22/2006 KAM/BAY Remedy Call 168346 Add Variable Cleanup from *7 ; DATA(FHSDT,FHEDT) ;API for DSS extract of NFS data ; INPUT: START DATE, END DATE ; OUTPUT: ^TMP($J,"FH" ; Get inpatient meals I FHSDT>FHEDT W !!,"END DATE BEFORE START DATE!",! H 1 Q K ^TMP($J,"FH") S FHEDT=FHEDT_.99 F FHDFN=0:0 S FHDFN=$O(^FHPT(FHDFN)) Q:FHDFN'>0 F FHADM=0:0 S FHADM=$O(^FHPT(FHDFN,"A",FHADM)) Q:FHADM'>0 D .I '$D(^FHPT(FHDFN,0)) Q .; Quit if patient is deceased - DSS developer added lines DATA+9,10,13 .S FHDCEASE=$$GET1^DIQ(2,$P(^FHPT(FHDFN,0),U,3),".351","I") .Q:FHDCEASE&(FHDCEASEFHEDT Q .I '$P(FHZN,U,14),FHDCEASE S $P(FHZN,U,14)=FHDCEASE .S FHDDTM=$P(FHZN,U,14) I FHDDTM'="",FHDDTM0!(FHDATE>FHEDT) D ..S FHDSEQ=$P($G(^FHPT(FHDFN,"A",FHADM,"AC",FHDATE,0)),U,2) ..S FHNODE=$G(^FHPT(FHDFN,"A",FHADM,"DI",FHDSEQ,0)) ..I FHDATE0!(FHDATE>FHEDT) D ..S FHNODE=$G(^FHPT(FHDFN,"A",FHADM,"EL",FHDATE,0)) ..I FHDATE0 D ..S FHNODE=$G(^FHPT(FHDFN,"A",FHADM,"SF",FHSF,0)) ..S FHDATE=$P(FHNODE,U,2) I FHDATE>FHEDT Q ..S FHCDATE=$P(FHNODE,U,32) I FHCDATE'="" I FHCDATE0 D ..S FHNODE=$G(^FHPT(FHDFN,"A",FHADM,"SP",FHSO,0)) ..S FHDATE=$P(FHNODE,U,4) I FHDATE>FHEDT Q ..S FHCDATE=$P(FHNODE,U,6) I FHCDATE'="" I FHCDATE0 D ..S FHNODE=$G(^FHPT(FHDFN,"A",FHADM,"TF",FHTF,0)) ..S FHDATE=$P(FHNODE,U,1) I FHDATE>FHEDT Q ..S FHCDATE=$P(FHNODE,U,11) I FHCDATE'="" I FHCDATE0 D ...S FHNODE=$G(^FHPT(FHDFN,"A",FHADM,"TF",FHTF,"P",FHTFPR,0)) ...S ^TMP($J,"FH",FHADM,FHDFN,FHDATE,"TF",FHTFPR,"P")=FHNODE ...Q ..Q .Q ; Get outpatient meals S X1=FHSDT,X2=-1 D C^%DTC S FHSDTX1=X_.99 ; Get recurring meals F FHOMDT=FHSDTX1:0 S FHOMDT=$O(^FHPT("RM",FHOMDT)) Q:FHOMDT=""!(FHOMDT'0 D .....S FHTUZN=$G(^FHPT(FHDFN,"OP",FHRNUM,"TF",FHZ,0)) .....S ^TMP($J,"FH",FHOMDT,FHDFN,FHRNUM,"RMTF",FHZ)=FHTUZN I '$D(^TMP($J,"FH","ZN",FHDFN)) S ^TMP($J,"FH","ZN",FHDFN)=^FHPT(FHDFN,0) ; Get special meals F FHOMDT=FHSDTX1:0 S FHOMDT=$O(^FHPT("SM",FHOMDT)) Q:FHOMDT=""!(FHOMDT'