| [613] | 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
 | 
|---|