| 1 | IMRLCAT1 ;HCIOFO/FT/FAI-DISTRIBUTION OF PATIENTS BY CAT ;07/17/00  16:08
 | 
|---|
| 2 |  ;;2.1;IMMUNOLOGY CASE REGISTRY;**5**;Feb 09, 1998
 | 
|---|
| 3 | PRNT ; Print Patients By Category
 | 
|---|
| 4 |  D NOW^%DTC S IMRDTE=%,(IMRPG,IMRREC,IMRUT)=0
 | 
|---|
| 5 |  S Y=IMRDTE D DD^%DT S IMRDTE=Y
 | 
|---|
| 6 |  D HEDR K IMRX
 | 
|---|
| 7 |  F IMRTY="A","S","Y","M","R","RI","E","P","Z" S IMRX(IMRTY)=0 S A="" F J=0:0 S A=$O(^TMP($J,IMRTY,A)) Q:A=""  S IMRX(IMRTY)=IMRX(IMRTY)+1
 | 
|---|
| 8 |  F IMRTY="A","S","Y","M","R","RI","E","P","Z" Q:(IMRUT)  D:($Y+4+IMRX(IMRTY))>IOSL HDR Q:IMRUT  W !! S A="" F J=0:0 S A=$O(^TMP($J,IMRTY,A)) Q:A=""!(IMRUT)  D PR1
 | 
|---|
| 9 |  Q:IMRUT
 | 
|---|
| 10 |  I $D(IMRTEST),IMRTEST D LIST
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 | PR1 ;
 | 
|---|
| 13 |  W !,$S(IMRTY="Y":$J(A,3)_" years",1:A) S IMRNODE=$G(^TMP($J,IMRTY,A)),Z=0 F I=1:1:5 S Y=$S(I=5:Z,1:+$P(IMRNODE,U,I)) W ?(34+(I-1*10)),$J(Y,4) S Z=Z+Y S:'IMRREC IMRREC=1
 | 
|---|
| 14 |  Q
 | 
|---|
| 15 | HDR ; Check End Of Page
 | 
|---|
| 16 |  Q:'IMRREC
 | 
|---|
| 17 |  S IMRUT=0
 | 
|---|
| 18 |  Q:$D(IO("S"))  ;slaved device
 | 
|---|
| 19 |  I ($E(IOST,1,2)="C-"&IMRPG) W ! S DIR(0)="E" D ^DIR K DIR I 'Y S IMRUT=1 Q
 | 
|---|
| 20 | HEDR ; Header of Report
 | 
|---|
| 21 |  S X="Local ICR Demographics by Category"
 | 
|---|
| 22 |  W:$Y>0 @IOF S IMRPG=IMRPG+1
 | 
|---|
| 23 |  W !,IMRDTE,?72,"Page ",IMRPG,! W !?(50-$L(X))\2+30,X,!,?$S($L(IMRHED)'>50:(50-$L(IMRHED))\2+30,1:79-$L(IMRHED)),IMRHED,!!?33,"HIV+",?42,"HIV+TC",?53,"AIDS-3",?64,"AIDS",?73,"TOTAL",!
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 | PERCHK ; Check Patient Lab
 | 
|---|
| 26 |  S IMRCHK=0
 | 
|---|
| 27 |  Q:$G(IMRHNBEG)=""  Q:$G(IMRHNEND)=""
 | 
|---|
| 28 |  S DFN=IMRDFN,VASD("F")=IMRHNBEG,VASD("T")=IMRHNEND D SDA^VADPT ;appt date/time
 | 
|---|
| 29 |  I $O(^UTILITY("VASD",$J,0))>0 S IMRCHK=1,IMRSCH=1
 | 
|---|
| 30 |  ; array piece 1 - date/time of appointment
 | 
|---|
| 31 |  ;             2 - clinic
 | 
|---|
| 32 |  ;             3 - status
 | 
|---|
| 33 |  ;             4 - appointment type
 | 
|---|
| 34 |  K DFN,VASD,^UTILITY("VASD",$J)
 | 
|---|
| 35 |  F IMRPTF=0:0 S IMRPTF=$O(^DGPT("B",IMRDFN,IMRPTF)) Q:IMRPTF'>0  I $D(^DGPT(IMRPTF,0)) D PTF^IMRUTL D
 | 
|---|
| 36 |  . S IMRDD=+IMRDD,IMRAD=IMRAD\1 S:IMRDD IMRDD=IMRDD\1
 | 
|---|
| 37 |  . I (IMRDD=0&(IMRAD'>IMRHNEND))!(IMRAD<(IMRHNEND+1)&(IMRDD'<IMRHNBEG)) D  I $D(IMRINP) S IMRCHK=1 Q
 | 
|---|
| 38 |  . . I IMRSUF'="",'(IMRSUF="9AA"!(IMRSUF="A0")!(IMRSUF="9AB")!(IMRSUF="9BB")!(IMRSUF="A4")!(IMRSUF="A5")) Q
 | 
|---|
| 39 |  . . I IMREC>1 Q
 | 
|---|
| 40 |  . . S IMRINP=1
 | 
|---|
| 41 |  . . Q
 | 
|---|
| 42 |  . Q
 | 
|---|
| 43 |  I $D(^DPT(IMRDFN,"LR")),^("LR")>0 S IMRLR=^("LR") F IMRJ=9999999-IMRHNEND-1:0 S IMRJ=$O(^LR(IMRLR,"CH",IMRJ)) Q:IMRJ'>0!(IMRJ>(9999999-IMRHNBEG))  S IMRLAB=1,IMRCHK=1 Q
 | 
|---|
| 44 |  F IMRJ=0:0 Q:$D(IMRRX)  S IMRJ=$O(^PS(55,IMRDFN,"P","A",IMRJ)) Q:IMRJ'>0  F IMRRXN=0:0 S IMRRXN=$O(^PS(55,IMRDFN,"P","A",IMRJ,IMRRXN)) Q:IMRRXN'>0  I $D(^PSRX(IMRRXN,0)) D  I $D(IMRRX) S IMRCHK=1 Q
 | 
|---|
| 45 |  . N X1 S X1=$G(^PSRX(IMRRXN,2)) S X1=$P(X1,U,2) D  ;X1=fill date-file 52
 | 
|---|
| 46 |  . . Q:X1'>0  Q:X1<IMRHNBEG  Q:X1'<(IMRHNEND+1)
 | 
|---|
| 47 |  . . S IMRRX=1 Q
 | 
|---|
| 48 |  . F X1=0:0 Q:$D(IMRRX)  S X1=$O(^PSRX(IMRRXN,1,X1)) Q:X1'>0  D
 | 
|---|
| 49 |  . . Q:^PSRX(IMRRXN,1,X1,0)<IMRHNBEG  Q:^(0)'<(IMRHNEND+1)  ;check refill date
 | 
|---|
| 50 |  . . S IMRRX=1
 | 
|---|
| 51 |  . . Q
 | 
|---|
| 52 |  . Q
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 | LIST ;list patients missing data values
 | 
|---|
| 55 |  I '$D(^TMP($J,"ZZTEST")) Q
 | 
|---|
| 56 |  N I,J,LINES,IMRDONE
 | 
|---|
| 57 |  D PRTC Q:$D(IMRDONE)
 | 
|---|
| 58 |  D LISTHDR
 | 
|---|
| 59 |  S LINES=1
 | 
|---|
| 60 |  S I="" F  S I=$O(^TMP($J,"ZZTEST","FIN",I)) Q:I=""  D  Q:$D(IMRDONE)
 | 
|---|
| 61 |  . S J="" F  S J=$O(^TMP($J,"ZZTEST","FIN",I,J)) Q:J=""  D  Q:$D(IMRDONE)
 | 
|---|
| 62 |  . . I ($Y+3>IOSL) D PRTC Q:$D(IMRDONE)  D LISTHDR
 | 
|---|
| 63 |  . . S IMRNODE=^TMP($J,"ZZTEST","FIN",I,J)
 | 
|---|
| 64 |  . . W !?1,I,?33,J,?49,$P(IMRNODE,U,1),?54,$P(IMRNODE,U,2),?59,$P(IMRNODE,U,3),?64,$P(IMRNODE,U,4),?69,$P(IMRNODE,U,5),?74,$P(IMRNODE,U,6)
 | 
|---|
| 65 |  . . S LINES=LINES+1
 | 
|---|
| 66 |  . . I LINES>5 W ! S LINES=1
 | 
|---|
| 67 |  . . Q
 | 
|---|
| 68 |  . Q
 | 
|---|
| 69 |  D PRTC
 | 
|---|
| 70 |  Q
 | 
|---|
| 71 | LISTHDR ;header for list of missing data values
 | 
|---|
| 72 |  W @IOF,!,IMRHENGD,?72,"Page ",IMRPG+1,!
 | 
|---|
| 73 |  W !,?49,"SEX",?54,"DOB",?59,"RISK",?64,"RACE",?69,"ELIG",?74,"POS"
 | 
|---|
| 74 |  W !,?49,"---",?54,"---",?59,"----",?64,"----",?69,"----",?74,"---"
 | 
|---|
| 75 |  Q
 | 
|---|
| 76 | PRTC ;press return to continue prompt
 | 
|---|
| 77 |  Q:$E(IOST)'="C"!($D(IO("S")))
 | 
|---|
| 78 |  K DIR W ! S DIR(0)="E" D ^DIR K DIR I 'Y S IMRDONE=1
 | 
|---|
| 79 |  Q
 | 
|---|
| 80 | CHKCAT ; Check Entries For No Category Value
 | 
|---|
| 81 |  ;I $D(IMRMCAT) Q
 | 
|---|
| 82 |  S IMRMCAT=""
 | 
|---|
| 83 |  ;I '$D(^XUSEC("IMRMGR",DUZ))&'$D(^XUSEC("IMRA",DUZ)) Q
 | 
|---|
| 84 |  U IO
 | 
|---|
| 85 |  W !!,"Checking for entries in the ICR file without CATEGORY data.",!
 | 
|---|
| 86 |  K ^TMP($J,"CHKCAT")
 | 
|---|
| 87 |  S IMRCNT=0
 | 
|---|
| 88 |  F IMRI=0:0 S IMRI=$O(^IMR(158,IMRI)) Q:IMRI'>0  I $P($G(^(IMRI,0)),U,42)="" S IMRCNT=IMRCNT+1,^TMP($J,"CHKCAT",IMRI)=""
 | 
|---|
| 89 |  I IMRCNT=0 W "    None found.",!
 | 
|---|
| 90 |  I IMRCNT>0 D
 | 
|---|
| 91 |  . W !!,$C(7),"There "_$S(IMRCNT>1:"are ",1:"is ")_IMRCNT_$S(IMRCNT>1:" entries",1:" entry")_" in the IMMUNOLOGY CASE REGISTRY file with",!,"NO CATEGORY indicated --",!!
 | 
|---|
| 92 |  . K DIR S DIR(0)="Y",DIR("A")="DO YOU WANT TO SEE THE LIST",DIR("B")="YES" D ^DIR K DIR I Y'>0 Q
 | 
|---|
| 93 |  . S IMRMC=Y
 | 
|---|
| 94 |  . D IMRDEV^IMREDIT
 | 
|---|
| 95 |  . Q:POP
 | 
|---|
| 96 |  . I $D(IO("Q")) D  Q
 | 
|---|
| 97 |  . . S ZTIO=ION,ZTDTH="NOW",ZTRTN="DQ^IMRLCAT1",ZTREQ="@",ZTSAVE("ZTREQ")="",ZTSAVE("^TMP($J,""CHKCAT"",")="",ZTDESC="Missing Categories" D ^%ZTLOAD K ZTSAVE,ZTRTN,ZTIO,ZTDTH,ZTDESC,ZTSAVE
 | 
|---|
| 98 |  . . Q
 | 
|---|
| 99 |  . D DQ
 | 
|---|
| 100 |  . Q:$D(IO("S"))  ;slaved output
 | 
|---|
| 101 |  . S DIR(0)="E" D ^DIR K DIR
 | 
|---|
| 102 |  . Q
 | 
|---|
| 103 |  K ^TMP($J,"CHKCAT")
 | 
|---|
| 104 |  K IMRI,IMRCNT,X,Y D ^%ZISC
 | 
|---|
| 105 |  Q
 | 
|---|
| 106 | DQ ;
 | 
|---|
| 107 |  U IO
 | 
|---|
| 108 |  F IMRI=0:0 S IMRI=$O(^TMP($J,"CHKCAT",IMRI)) Q:IMRI'>0  D
 | 
|---|
| 109 |  . S X=$P(^IMR(158,IMRI,0),U) D XOR^IMRXOR S DFN=X
 | 
|---|
| 110 |  . D DEM^VADPT
 | 
|---|
| 111 |  . W !,VADM(1),?32,$P(VADM(2),U,2)
 | 
|---|
| 112 |  . K VADM,VAIDXD Q
 | 
|---|
| 113 |  D ^%ZISC
 | 
|---|
| 114 |  Q
 | 
|---|