PXRMXX2 ; SLC/PJH - Build list of reminder findings;08/25/2000 ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 ; ;Called at HF, PED, LAB and POV from PXRMXX ; HF(BEGIN,END,HFS,NMSPACE) ; return patients with health factors N DATA,DFN,ERR,HF,RBEGIN,REND,TEMP K DATA,ERR I '$O(HFS(0)) Q I BEGIN 1 if health factor else 0 N HF,OK,TIME S OK=0 S HF=0 F S HF=$O(DATA(HF)) Q:HF<1 D .S TIME=RBEGIN F S TIME=$O(^AUPNVHF("AA",DFN,HF,TIME)) Q:TIME>REND Q:TIME<1 D I OK Q ..S OK=1 Q OK ; PED(BEGIN,END,PEDS,NMSPACE) ; return patients with education N DATA,DFN,ERR,PED,RBEGIN,REND,TEMP K DATA,ERR I '$O(PEDS(0)) Q I BEGIN 1 if education topic else 0 N PED,OK,TIME S OK=0 S PED=0 F S PED=$O(DATA(PED)) Q:PED<1 D .S TIME=RBEGIN F S TIME=$O(^AUPNVPED("AA",DFN,PED,TIME)) Q:TIME>REND Q:TIME<1 D I OK Q ..S OK=1 Q OK ; EXAM(BEGIN,END,XAMS,NMSPACE) ; return patients with education N DATA,DFN,ERR,RBEGIN,REND,TEMP,XAM K DATA,ERR I '$O(XAMS(0)) Q I BEGIN 1 if examination else 0 N XAM,OK,TIME S OK=0 S XAM=0 F S XAM=$O(DATA(XAM)) Q:XAM<1 D .S TIME=RBEGIN F S TIME=$O(^AUPNVXAM("AA",DFN,XAM,TIME)) Q:TIME>REND Q:TIME<1 D I OK Q ..S OK=1 Q OK ; ; LAB(BEGIN,END,TESTS,NMSPACE) ; return patients with lab results N DATA,DFN,ERR,RBEGIN,REND,TEMP,TEST K DATA,ERR S BEGIN=+$G(BEGIN),END=+$G(END) I BEGIN 1 if lab result else 0 N DNODE,LRDFN,OK,TIME S OK=0 S LRDFN=+$G(^DPT(DFN,"LR")) I 'LRDFN Q OK S TIME=RBEGIN F S TIME=$O(^LR(LRDFN,"CH",TIME)) Q:TIME>REND Q:TIME<1 D I OK Q .S DNODE=0 F S DNODE=$O(DATA(DNODE)) Q:DNODE<1 D I OK Q ..I $D(^LR(LRDFN,"CH",TIME,DNODE)) D ...I '$P($G(^LR(LRDFN,"CH",TIME,0)),U,3) Q ; test must be completed ...S OK=1 Q OK ; POV(BEGIN,END,INPUT,NMSPACE) ; return patients with diagnosis I INPUT=NMSPACE Q N DATA,DFN,ERR,POV,RBEGIN,REND,TEMP K DATA,ERR S BEGIN=+$G(BEGIN),END=+$G(END) I BEGIN 1 if problem else 0 N POV,OK,TIME,IEN S OK=0 S TIME=RBEGIN F S TIME=$O(^AUPNVPOV("AA",DFN,TIME)) Q:TIME>REND Q:TIME<1 D I OK Q .S IEN=0 F S IEN=$O(^AUPNVPOV("AA",DFN,TIME,IEN)) Q:IEN<1 D ..S POV=+$G(^AUPNVPOV(IEN,0)) I 'POV Q ..S:$D(^TMP(INPUT,$J,POV)) OK=1 Q OK