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
|
---|