[613] | 1 | IBDFN15 ;ALB/CMR - ENCOUNTER FORM - OUTPUTS;JAN 4, 1996
|
---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**15**;APR 24, 1997
|
---|
| 3 | ;
|
---|
| 4 | ; -- clinical reminders interface
|
---|
| 5 | ;
|
---|
| 6 | SELRM ; -- Select reminders using old structures
|
---|
| 7 | N DIC
|
---|
| 8 | K @IBARY
|
---|
| 9 | W !
|
---|
| 10 | S QUIT=0
|
---|
| 11 | S DIC("S")="I '$P(^(0),U,6)"
|
---|
| 12 | S DIC=811.9,DIC(0)="AEMQZ"
|
---|
| 13 | D ^DIC K DIC
|
---|
| 14 | I +Y>0 S @IBARY=+Y_"^"_$P(Y(0),"^",3)_"^DUE NOW^LAST ACTIVITY^DUE DATE^COMBO"
|
---|
| 15 | Q
|
---|
| 16 | ;
|
---|
| 17 | DISP ; -- display reminders on encounter form, treat like a dynamic
|
---|
| 18 | ; selection list
|
---|
| 19 | ;
|
---|
| 20 | N I,L,X,Y,Z,ORD,SEL,LAST,IBDCLRM,IBDX,CNT,TEXT,IBCLRMNM,CLRMTYP,COMBO,INVISIBL,NODE,GRPORD,GRP,CLRMCNT
|
---|
| 21 | I $G(IBLIST("EDITING CLRM")) G SELRM
|
---|
| 22 | ;
|
---|
| 23 | I +$G(IBLIST("CLRMLIST"))<1 S IBLIST("CLRMLIST")=2
|
---|
| 24 | S CLRMTYP=+$G(IBLIST("CLRMLIST"))-1
|
---|
| 25 | K ^TMP("PXRHM",$J),^TMP("PXRM",$J)
|
---|
| 26 | K ^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT")
|
---|
| 27 | Q:'$G(DFN)!('$G(IBLIST))
|
---|
| 28 | ;
|
---|
| 29 | ; -- determine which reminders are due now
|
---|
| 30 | ; loop through groups and then selections
|
---|
| 31 | S GRPORD=""
|
---|
| 32 | F S GRPORD=$O(^IBE(357.4,"APO",+IBLIST,GRPORD)) Q:GRPORD="" S GRP=0 F S GRP=$O(^IBE(357.4,"APO",+IBLIST,GRPORD,GRP)) Q:'GRP D
|
---|
| 33 | .S NODE=$G(^IBE(357.4,+GRP,0))
|
---|
| 34 | .I $P(NODE,"^")="BLANK"!($P(NODE,"^",4)) S INVISIBL=1
|
---|
| 35 | .I '$G(INVISIBL) S CNT=$G(CNT)+1,^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",CNT)="0^ "_$P(NODE,"^")
|
---|
| 36 | .D ONEGRP
|
---|
| 37 | ;
|
---|
| 38 | K RTNLIST(RTN("RTN")),^TMP("PXRM",$J),^TMP("PXHRM",$J)
|
---|
| 39 | I $G(CLRMCNT)<1 S ^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",1)="0^No Reminders in List"
|
---|
| 40 | I $G(CLRMCNT),'$D(^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT")) D
|
---|
| 41 | .S ^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",1)="0^No. Reminders Evaluated: "_CLRMCNT
|
---|
| 42 | .I CLRMTYP S ^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",2)="0^None Applicable this patient"
|
---|
| 43 | .I 'CLRMTYP S ^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",2)="0^None Due Now"
|
---|
| 44 | Q
|
---|
| 45 | ;
|
---|
| 46 | ONEGRP ; -- loop through entries of one group in order
|
---|
| 47 | S ORD="" F S ORD=$O(^IBE(357.3,"APO",+IBLIST,GRP,ORD)) Q:ORD="" S SEL=0 F S SEL=$O(^IBE(357.3,"APO",+IBLIST,+GRP,ORD,SEL)) Q:'SEL D
|
---|
| 48 | .S IBDCLRM=$G(^IBE(357.3,SEL,0))
|
---|
| 49 | .I +IBDCLRM,'$P(IBDCLRM,"^",2) D
|
---|
| 50 | ..S CLRMCNT=$G(CLRMCNT)+1
|
---|
| 51 | ..D MAIN^PXRM(DFN,+IBDCLRM,CLRMTYP)
|
---|
| 52 | ..S TEXT=$O(^TMP("PXRHM",$J,+IBDCLRM,""))
|
---|
| 53 | ..Q:TEXT=""
|
---|
| 54 | ..S NODE=$G(^TMP("PXRHM",$J,+IBDCLRM,TEXT))
|
---|
| 55 | ..K ^TMP("PXRHM",$J),^TMP("PXRM",$J)
|
---|
| 56 | ..I $P(NODE,"^")="N/A" Q ;don't display not applicables
|
---|
| 57 | ..I CLRMTYP=0,$P(NODE,"^")'="DUE NOW" Q ;type of list DUE NOW only
|
---|
| 58 | ..S LAST=$P(NODE,"^",3) I +LAST,$L($P(LAST,"."))=7 S LAST=$$FMTE^XLFDT(LAST)
|
---|
| 59 | ..I $P(NODE,"^",5)="E" S LAST=LAST_" (E)" ;last activity was historical encounter, see px*1*38
|
---|
| 60 | ..S CNT=$G(CNT)+1
|
---|
| 61 | ..S COMBO=$S($P(NODE,"^")="DUE NOW":"DUE NOW",1:$$FMTE^XLFDT($P(NODE,"^",2)))
|
---|
| 62 | ..S ^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",CNT)="0^"_TEXT_"^"_$P(NODE,"^")_"^"_$$FMTE^XLFDT($P(NODE,"^",2))_"^"_LAST_"^"_COMBO
|
---|
| 63 | .;
|
---|
| 64 | .I $P(IBDCLRM,"^",2) S CNT=$G(CNT)+1,^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",CNT)="0^ "_$P(IBDCLRM,"^",6)
|
---|
| 65 | Q
|
---|
| 66 | ;
|
---|
| 67 | TEST ;
|
---|
| 68 | N DFN,IBLIST,RTN,X
|
---|
| 69 | K ^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT")
|
---|
| 70 | S DFN=7169761 ;mnt,vbb-male
|
---|
| 71 | ;S DFN=7170189 ;mnt,vbb-female
|
---|
| 72 | ;S DFN=712 ;dev,den-male
|
---|
| 73 | S IBLIST("CLRMLIST")=2
|
---|
| 74 | S IBLIST=489 ;dev,den
|
---|
| 75 | S IBLIST=430 ;mnt,vbb
|
---|
| 76 | S RTN("RTN")="IBDFN15"
|
---|
| 77 | D DISP
|
---|
| 78 | T1 S X="" F S X=$O(^TMP("IB",$J,"INTERFACES","PX CLINICAL REMINDERS PRINT",X)) Q:'X W !,^(X)
|
---|
| 79 | Q
|
---|