1 | IMRRADL ;HCIOFO/NCA-/FAIPrint Radiology Utility Report ;09/26/00 07:03
|
---|
2 | ;;2.1;IMMUNOLOGY CASE REGISTRY;**5,11**;Feb 09, 1998
|
---|
3 | ;[IMR RADIOLOGY UTILIZATION] - Radiology Utilization Report
|
---|
4 | ASK D ^IMRDATE Q:$G(IMRHNBEG)=""
|
---|
5 | S IMRSD=IMRHNBEG,IMRED=IMRHNEND
|
---|
6 | I IMRED<IMRSD W !,$C(7),"END CAN NOT BE BEFORE START",! G ASK
|
---|
7 | K DIR S DIR(0)="N^1:999999",DIR("A")="Minimum number of procedures to display",DIR("B")=2,DIR("?")="This determines the minimum number of procedures which will be displayed in the listing by order of number of procedures."
|
---|
8 | D ^DIR K DIR G:$D(DIRUT) KIL S IMRN1=X
|
---|
9 | S DIR(0)="Y",DIR("A")="Print Data by CATEGORY as well as totals",DIR("B")="NO",DIR("?")="Answer YES to get a listings of utilization by HIV CATEGORY as well as total population." D ^DIR
|
---|
10 | G:$D(DIRUT) KIL S IMR2C=Y K DIR
|
---|
11 | S IMRRMAX=0 I $D(^XUSEC("IMRMGR",DUZ)) D ASKQ G:$D(DIRUT) KIL
|
---|
12 | I $D(^XUSEC("IMRMGR",DUZ)) D IMRDEV^IMREDIT G:POP KIL
|
---|
13 | I '$D(^XUSEC("IMRMGR",DUZ)) D ^%ZIS G:POP KIL
|
---|
14 | I $D(IO("Q")) D SAVE G KIL
|
---|
15 | U IO D DQ D ^%ZISC K %ZIS,IOP G KIL
|
---|
16 | SAVE ; ZTSAVE all the Variables
|
---|
17 | S ZTSAVE("IMR2C")="",ZTSAVE("IMRSD")="",ZTSAVE("IMRED")="",ZTSAVE("IMRN1")="",ZTSAVE("IMRRMAX")="",ZTDESC="Radiology Utilization Report"
|
---|
18 | S ZTRTN="DQ^IMRRADL",ZTIO=ION_";"_IOM_";"_IOSL
|
---|
19 | D ^%ZTLOAD D ^%ZISC K IO("Q"),ZTRTN,ZTIO,ZTSAVE,ZTDESC,ZTSK G KIL
|
---|
20 | DQ ; Process Radiology Report
|
---|
21 | K ^TMP($J) S (IMRPG,IMRUT)=0
|
---|
22 | S (IMRPAT,IMRCPR,IMRDPR,IMRTTP)=""
|
---|
23 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
24 | D NOW^%DTC S IMRDTE=%,Y=IMRDTE D DD^%DT S IMRDTE=Y
|
---|
25 | F IMRRL=0:0 S IMRRL=$O(^IMR(158,IMRRL)) Q:IMRRL'>0 S X=+^(IMRRL,0),IMR0C=+$P(^(0),U,42) D XOR^IMRXOR S IMRDFN=X I $D(^DPT(IMRDFN,0)) D CAT^IMRUTL S IMR1C=$S(IMR2C:"C"_IMR0C,1:"CT") D C1
|
---|
26 | D C2,PRNT^IMRRADL1
|
---|
27 | I 'IMRUT D EOP^IMRRADL1
|
---|
28 | Q
|
---|
29 | KIL K %,%DT,%I,DFN,DIR,DIRUT,DIROUT,IMRCTR,IMRCPR,IMRCPT,IMRD,IMRDPR,IMRDTE,IMRFLG,IMRNAM,IMRPAT,IMRPCTR,IMRPG,IMRPN,IMRPR,IMRSTAT,IMRDFN,IMRI,IMRJ,IMRQ,IMRUT,IMRSD,IMRED,IMRX,IMRN,IMRN1,IMRN2,^TMP($J)
|
---|
30 | K %ZIS,H,I1,IMRCP,IMR2C,IMR0C,IMR1C,IMRRI,IMRRL,IMRNAM,IMRPRN,IMRSSN,IMRTIT,IMRRDT,IMRSTN,IMRTOT,IMRTP,IMRTTP,I,J,K,M,N,IMRRMAX,IMRX1,IMRY,POP,Q,X,X1,X2,Y,Z,Z1,L,P,VAERR
|
---|
31 | K CINF,CNPT,CPCAT,CPIND,CPTCT,CPTID,CPTMD,CPTNO,CPTPT,CPTREC,IMR0C,IMRCPT,IMRLBL,IMCX,IMRTP,IMRTTP,PTCOUNT,NBP,TCPM,TOTMOD,TTM,UNPT
|
---|
32 | Q
|
---|
33 | C1 ; Get the Radiology Data
|
---|
34 | S (IMRSTAT,IMRPN,IMRPR,IMRRDT,IMRCPT)="",IMRPCTR=1 K IMRCTR
|
---|
35 | S IMR0C=IMR0C+1 S:'IMR2C IMR0C=6
|
---|
36 | D RAD^IMRUTL Q:'$D(^TMP($J,"RAE1",IMRDFN))
|
---|
37 | S IMRI="" F S IMRI=$O(^TMP($J,"RAE1",IMRDFN,IMRI)) Q:IMRI="" S IMRX=$G(^(IMRI)),IMRCPT=$P(IMRX,"^",10) D
|
---|
38 | .D CPTMOD
|
---|
39 | .S IMRPR=$E($P(IMRX,"^",1),1,30) Q:IMRPR=""
|
---|
40 | .S IMRRDT=9999999.9999-$P(IMRI,"-",1),IMRPN=IMRPR_"~"_IMRCPT
|
---|
41 | .S:'$D(^TMP($J,"IMRPT",IMR1C,IMRDFN)) ^(IMRDFN)=""
|
---|
42 | .S IMRCTR=$G(^TMP($J,"IMRPT",IMR1C,IMRDFN))
|
---|
43 | .I '$D(^TMP($J,"IMRT",IMR1C,IMRDFN,IMRPN)) S ^(IMRPN)=0_"^"_IMRPCTR,$P(IMRCTR,"^",2)=$P(IMRCTR,"^",2)+1
|
---|
44 | .S IMRX1=$G(^TMP($J,"IMRT",IMR1C,IMRDFN,IMRPN))
|
---|
45 | .S $P(^TMP($J,"IMRT",IMR1C,IMRDFN,IMRPN),"^",1)=$P(IMRX1,"^",1)+1,$P(IMRCTR,"^",1)=$P(IMRCTR,"^",1)+1
|
---|
46 | .S $P(IMRCPR,"^",IMR0C)=$P(IMRCPR,"^",IMR0C)+1
|
---|
47 | .S ^TMP($J,"IMRPT",IMR1C,IMRDFN)=IMRCTR Q
|
---|
48 | S IMRPN="" F S IMRPN=$O(^TMP($J,"IMRT",IMR1C,IMRDFN,IMRPN)) Q:IMRPN="" S X=$G(^(IMRPN)) D
|
---|
49 | .I '$D(^TMP($J,"IMRPR",IMR1C,IMRPN)) S ^(IMRPN)=0,$P(IMRDPR,"^",IMR0C)=$P(IMRDPR,"^",IMR0C)+1
|
---|
50 | .S Y=$G(^TMP($J,"IMRPR",IMR1C,IMRPN))
|
---|
51 | .S $P(Y,"^",1)=$P(Y,"^",1)+X,$P(Y,"^",2)=$P(Y,"^",2)+$P(X,"^",2)
|
---|
52 | .S $P(IMRTTP,"^",IMR0C)=$P(IMRTTP,"^",IMR0C)+$P(X,"^",2)
|
---|
53 | .S ^TMP($J,"IMRPR",IMR1C,IMRPN)=Y
|
---|
54 | .Q
|
---|
55 | S $P(IMRPAT,"^",IMR0C)=$P(IMRPAT,"^",IMR0C)+1
|
---|
56 | K ^TMP($J,"IMRT"),^TMP($J,"RAE1")
|
---|
57 | Q
|
---|
58 | CPTMOD S IMCX="" F S IMCX=$O(^TMP($J,"RAE1",IMRDFN,IMRI,"CMOD",IMCX)) Q:IMCX="" S IMCPM=$P($G(^TMP($J,"RAE1",IMRDFN,IMRI,"CMOD",IMCX)),U,1) S:$G(IMCPM)'="" IMRCPT=IMRCPT_"-"_IMCPM
|
---|
59 | Q
|
---|
60 | C2 ; Set tabulation in ^TMP for each category and All
|
---|
61 | I 'IMR2C S IMR1C="CT" D C3,C31,REMOV Q
|
---|
62 | F IMR0C=0:1:4 S IMR1C="C"_IMR0C D C3,C31
|
---|
63 | REMOV K ^TMP($J,"IMRPR"),^TMP($J,"IMRPT")
|
---|
64 | Q
|
---|
65 | C3 ; Set in ^TMP in order of total Procedures
|
---|
66 | S IMRPRN="" F S IMRPN=$O(^TMP($J,"IMRPR",IMR1C,IMRPN)) Q:IMRPN="" S X=$G(^(IMRPN)),^TMP($J,"IMRPRN",IMR1C,+X,IMRPN)=X
|
---|
67 | Q
|
---|
68 | C31 Q:'IMRRMAX F IMRDFN=0:0 S IMRDFN=$O(^TMP($J,"IMRPT",IMR1C,IMRDFN)) Q:IMRDFN<1 S X=$G(^(IMRDFN)),^TMP($J,"IMRPAT",IMR1C,+X,IMRDFN)=X
|
---|
69 | Q
|
---|
70 | ASKQ K DIR S DIR(0)="N^0:999999",DIR("A")="How many of the highest users do you want identified",DIR("B")=0
|
---|
71 | S DIR("?")="This determines the number of individuals with the highest utilization of procedures you wish listed" D ^DIR Q:$D(DIRUT)
|
---|
72 | S IMRRMAX=X K DIR
|
---|
73 | Q
|
---|