1 | IMRLIST ;ISC-SF/JLI HCIOFO/FT-LIST PATIENTS IN THE IMR FILE ; 7/24/02 8:14am
|
---|
2 | ;;2.1;IMMUNOLOGY CASE REGISTRY;**5,18**;Feb 09, 1998
|
---|
3 | ENTRY ;[IMR PATIENT LIST] - Local Registry List - ICR Patients
|
---|
4 | W !,?10,"####################################################"
|
---|
5 | W !,?10,"#",?20,"Local Registry List - ICR Patients",?61,"#"
|
---|
6 | W !,?10,"####################################################"
|
---|
7 | D KILL,^IMRDATE Q:$G(IMRHQUIT)
|
---|
8 | S IMRPAT=1,IMRSCT=1,REIM=1,IMREXC="B"
|
---|
9 | K DIR S DIR(0)="S^A:alive;D:deceased;B:both"
|
---|
10 | S DIR("A")="Select Type of Patients"
|
---|
11 | S DIR("?")="^D HELP^IMRLIST"
|
---|
12 | D ^DIR K DIR I $D(DIRUT) D KILL Q
|
---|
13 | S IMREXC=Y
|
---|
14 | NEWP R !!,"List New Patients added to the registry during this time (Y/N)? N// ",X:DTIME G:'$T!(X[U) KILL S:X="" X="N" I "Yy"[$E(X) S IMRPAT=2
|
---|
15 | I "YyNn"'[$E(X) W $C(7)," ??",!!,"Enter YES or NO" G NEWP
|
---|
16 | I $D(DIRUT) D KILL Q
|
---|
17 | ;
|
---|
18 | CAT R !!,"Do you want the list sorted by Category (Y/N)? N// ",X:DTIME G:'$T!(X[U) KILL S:X="" X="N" I "Yy"[$E(X) S IMRSCT=2
|
---|
19 | I "YyNn"'[$E(X) W $C(7)," ??",!!,"Enter YES or NO" G CAT
|
---|
20 | ; IF LISTING BY CATEGORY IS NO GIVE THE FOLLOWING PROMPT
|
---|
21 | REIM I IMRSCT=2 G DEV
|
---|
22 | R !!,"Do you want the list sorted by Reimbursement Level (Y/N)? N// ",X:DTIME G:'$T!(X[U) KILL S:X="" X="N" I "Yy"[$E(X) S REIM=2
|
---|
23 | I "YyNn"'[$E(X) W $C(7)," ??",!!,"Enter YES or NO" G REIM
|
---|
24 | ;
|
---|
25 | DEV S %ZIS="MPQ" D IMRDEV^IMREDIT
|
---|
26 | G:POP KILL
|
---|
27 | I $D(IO("Q")) D G KILL
|
---|
28 | .S ZTRTN="DQ^IMRLIST",ZTDESC="List Immunology Patients"
|
---|
29 | .S ZTSAVE("*")="",ZTIO=ION_";"_IOM_";"_IOSL
|
---|
30 | .D ^%ZTLOAD K ZTRTN,ZTDESC,ZTSAVE,ZTSK
|
---|
31 | .Q
|
---|
32 | DQ ;
|
---|
33 | U IO K ^TMP($J),IMRLR,IMROUT,IMRPTF,IMRRX,IMRRXN,IMRSCH,IMRST,IMRSUF S IMRPG=0
|
---|
34 | D GETNOW^IMRACESS
|
---|
35 | S IMRHED="Patients Seen During "_$G(IMRHRANG)
|
---|
36 | S IMRHED(1)="FOR "_$S(IMREXC="A":"LIVING ",IMREXC="B":"ALIVE & DECEASED ",IMREXC="D":"DECEASED ",1:"")_"PATIENTS IN THE FILE"
|
---|
37 | F IMRI=0:0 S IMRI=$O(^IMR(158,IMRI)) Q:IMRI'>0 S X=+^(IMRI,0),IMRCAT=$P(^(0),U,42) D ^IMRXOR S (DFN,IMRDFN)=X I $D(^DPT(DFN,0)) D ADD
|
---|
38 | D HEDR S I="",(K,N)=0,IMRUT=0
|
---|
39 | D:(IMRSCT=1)&(REIM=1) PSRP
|
---|
40 | D:(REIM=2)&(IMRSCT=1) PRBR
|
---|
41 | D:(IMRSCT=2)&(REIM=1) PCTR
|
---|
42 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
43 | D:IOST["C-" PRTC
|
---|
44 | KILL D ^%ZISC
|
---|
45 | K ^TMP($J),DFN,DRUG,FDT,FIP,IEN,IMNR,IMRI,IMRTYP,IMRUT,I,J,K,N,X,Y,POP,IMRFLG,IMRSTN,IMRCAT,VADM,VA,VAERR,VAEL,D,DISYS,IMREXC,IMRPG,IMRHED,IMRSD
|
---|
46 | K IMRED,IMRPER,IMRAD,IMRCHK,IMRDD,IMRDFN,IMRDISP,IMRDOD,IMRDSP,IMRDTE,IMREC,IMRFB,IMRINP,IMRJ,IMRLAB
|
---|
47 | K IMRLR,IMROUT,IMRPTF,IMRRX,IMRRXN,IMRSCH,IMRBL,IMRHQUIT,IMRHRANG,IMRHTART,IMRN,IMRPAT,IMRRI,IMRSCT,LCL,LCLAB,LG,LGROUP,LLOC,LNL,LNLT,LOCNM,LV3,IMRH1HED,IMRH2HED,IMRHENGD,IMRHNBEG,IMRHNEND,IMRST,IMRSUF
|
---|
48 | Q
|
---|
49 | HELP ;
|
---|
50 | ;;Patients who have no utilization in the provided date range or
|
---|
51 | ;;whose date of death is before the start date will NOT be included
|
---|
52 | ;;in the report of any type.
|
---|
53 | ;;
|
---|
54 | ;;A - Alive patients
|
---|
55 | ;;Only patients who were alive during the whole time frame will be
|
---|
56 | ;;included in the report. If the date of death is between start and
|
---|
57 | ;;end dates, the patient will be skipped.
|
---|
58 | ;;
|
---|
59 | ;;D - Deceased patients
|
---|
60 | ;;Only patients who died during the provided time frame will be
|
---|
61 | ;;included in the report. If the patient is alive or the date of
|
---|
62 | ;;death is after the end date, the patient will be skipped.
|
---|
63 | ;;
|
---|
64 | ;;B - Both alive and deceased
|
---|
65 | ;;All patients (except those mentioned in the first paragraph) will
|
---|
66 | ;;be included in the report.
|
---|
67 | ;
|
---|
68 | N DIR,I,L,TMP
|
---|
69 | S L=IOSL-10 S:L<0 L=999
|
---|
70 | F I=1:1 S TMP=$T(HELP+I) Q:TMP'[";;" D
|
---|
71 | . I '(I#L) W ! D D ^DIR W !
|
---|
72 | . . S DIR(0)="FAO",DIR("A")="Enter RETURN to continue: "
|
---|
73 | . W !,$P(TMP,";;",2)
|
---|
74 | Q
|
---|
75 | PSRP ;standard format
|
---|
76 | I '$D(^TMP($J)) W !!?5,"***NO PATIENTS FOUND IN DATE RANGE***"
|
---|
77 | F Q:IMRUT S I=$O(^TMP($J,I)) Q:I="" F J=0:0 S J=$O(^TMP($J,I,J)) Q:J'>0 D:($Y+3>IOSL) PRTC Q:IMRUT D:($Y+3>IOSL) HEDR S K=K+1,N=N+1 W:'(K#5) ! W !,$J(N,5),?6,$P(^(J),U),?36,$P(^(J),U,2),?47,$P(^(J),U,3),?53,$P(^(J),U,5),?65,$P(^(J),U,4)
|
---|
78 | Q
|
---|
79 | PRBR ;by arv use
|
---|
80 | I '$D(^TMP($J)) W !!?5,"***NO PATIENTS FOUND IN THIS DATE RANGE***"
|
---|
81 | S TY="" F S TY=$O(^TMP($J,TY)),MC="" Q:TY="" F S MC=$O(^TMP($J,TY,MC)),RM="" Q:MC="" F S RM=$O(^TMP($J,TY,MC,RM)),PD="" Q:RM="" F S PD=$O(^TMP($J,TY,MC,RM,PD)) Q:PD="" D:($Y+3>IOSL) HEDR S K=K+1,N=N+1 W:'(K#5) ! D PR2
|
---|
82 | Q
|
---|
83 | PR2 S TYX=TY W:TY'=TYX !,"*** "_TY_" ***"
|
---|
84 | W !,$J(N,5),?7,MC,?14,RM,?39,$P($G(^TMP($J,TY,MC,RM,PD)),U,2),?51,$P($G(^TMP($J,TY,MC,RM,PD)),U,3),?57,$P($G(^TMP($J,TY,MC,RM,PD)),U,4)
|
---|
85 | Q
|
---|
86 | PCTR ;by category
|
---|
87 | I '$D(^TMP($J)) W !!?5,"***NO PATIENTS FOUND IN THIS DATE RANGE***"
|
---|
88 | S MRC="" F S MRC=$O(^TMP($J,MRC)),RNM="" Q:MRC="" F S RNM=$O(^TMP($J,MRC,RNM)),PID="" Q:RNM="" F S PID=$O(^TMP($J,MRC,RNM,PID)) Q:PID="" D:($Y+3>IOSL) PRTC Q:IMRUT D:($Y+3>IOSL) HEDR S K=K+1,N=N+1 W:'(K#5) ! D PC2
|
---|
89 | Q
|
---|
90 | PC2 W !,$J(N,5),?7,MRC,?14,RNM,?39,$P($G(^TMP($J,MRC,RNM,PID)),U,2),?61,$P($G(^TMP($J,MRC,RNM,PID)),U,4),?71,$P($G(^TMP($J,MRC,RNM,PID)),U,3)
|
---|
91 | Q
|
---|
92 | ADD ;
|
---|
93 | N EXIT
|
---|
94 | D 2^VADPT
|
---|
95 | D PERCHK^IMRLCAT1 S DFN=IMRDFN Q:'IMRCHK ;if date range check when patient was seen. quit if not seen in date range.
|
---|
96 | Q:$G(IMRHNBEG)="" Q:$G(IMRHNEND)=""
|
---|
97 | S IMRDOD=$P($G(^IMR(158,IMRI,5)),U,19) ;get IMR DATE OF DEATH
|
---|
98 | S IMRDOD=$S(+VADM(6)>0:+VADM(6),IMRDOD>0:IMRDOD,1:"")
|
---|
99 | S EXIT=1
|
---|
100 | I IMRDOD>0 D
|
---|
101 | . ;--- Quit if date of death is before start date
|
---|
102 | . Q:IMRDOD<IMRHNBEG
|
---|
103 | . ;--- Quit if deceased selected and date of death after end date
|
---|
104 | . I IMREXC="D" Q:IMRDOD>IMRHNEND
|
---|
105 | . ;--- Quit if alive selected and patient is dead
|
---|
106 | . I IMREXC="A" Q:IMRDOD'>IMRHNEND
|
---|
107 | . ;--- Indicate where DOD came from; MAS or ICR
|
---|
108 | . S IMRDOD=$$FMTE^XLFDT(IMRDOD,"2DF")_$S(+VADM(6)>0:"",1:" (ICR)")
|
---|
109 | . K EXIT
|
---|
110 | E K:IMREXC'="D" EXIT
|
---|
111 | Q:$G(EXIT)
|
---|
112 | D ^IMRARVRL S:IMRCAT=4 IMRBL="AIDS"
|
---|
113 | D STAND,ARVUSE,BYCAT
|
---|
114 | K IMRLR,IMROUT,IMRPTF,IMRRX,IMRRXN,IMRSCH,IMRST,IMRSUF
|
---|
115 | Q
|
---|
116 | STAND Q:IMRSCT'=1
|
---|
117 | Q:REIM'=1
|
---|
118 | S ^TMP($J,(VADM(1)),DFN)=VADM(1)_U_$P(VADM(2),U)_U_IMRCAT_U_IMRDOD_U_IMRBL
|
---|
119 | Q
|
---|
120 | ARVUSE Q:REIM'=2
|
---|
121 | Q:IMRSCT'=1
|
---|
122 | S:IMRBL="ARV" ^TMP($J,"ARV",IMRBL,(VADM(1)),DFN)=VADM(1)_U_$P(VADM(2),U)_U_IMRCAT_U_IMRDOD
|
---|
123 | S:IMRBL="NOARV" ^TMP($J,"NOARV",IMRBL,(VADM(1)),DFN)=VADM(1)_U_$P(VADM(2),U)_U_IMRCAT_U_IMRDOD
|
---|
124 | S:IMRBL="AIDS" ^TMP($J,"AIDS",IMRBL,(VADM(1)),DFN)=VADM(1)_U_$P(VADM(2),U)_U_IMRCAT_U_IMRDOD
|
---|
125 | Q
|
---|
126 | BYCAT Q:IMRSCT'=2
|
---|
127 | Q:REIM'=1
|
---|
128 | S ^TMP($J,IMRCAT,(VADM(1)),DFN)=VADM(1)_U_$P(VADM(2),U)_U_IMRDOD_U_IMRBL
|
---|
129 | Q
|
---|
130 | ;
|
---|
131 | PRTC ; press return to continue
|
---|
132 | S K=0 Q:IMRUT!($D(IO("S")))
|
---|
133 | I IOST["C-" K DIR W ! S DIR(0)="E" D ^DIR K DIR I 'Y S IMRUT=1
|
---|
134 | Q
|
---|
135 | HEDR ; report header
|
---|
136 | S IMRPG=IMRPG+1
|
---|
137 | W:$Y>0 @IOF
|
---|
138 | W !?37,"REGISTRY LIST",!?32,IMRDTE,?70,"Page: ",IMRPG
|
---|
139 | I $G(IMRHED)]"" W !,?(IOM-$L(IMRHED)\2),IMRHED
|
---|
140 | W !,?(IOM-$L(IMRHED(1))\2),IMRHED(1)
|
---|
141 | W:(IMRSCT=1)&(REIM=1) !!,?7,"NAME",?36,"SSN",?47,"CAT",?53,"REIM LEV",?65,"DECEASED",!
|
---|
142 | W:(REIM=2)&(IMRSCT=1) !!,?7,"*REIMB",!,?7,"LEVEL",?16,"NAME",?41,"SSN",?50,"CAT",?60,"DECEASED",!
|
---|
143 | W:(IMRSCT=2)&(REIM=1) !!,?7,"CAT",?16,"NAME",?41,"SSN",?61,"REIM LEV",?71,"DECEASED",!
|
---|
144 | Q
|
---|