1 | IMRPNEUM ;;HCIOFO/FT/SPS-Pneumococcal Immunization Report ;05/12/00 16:24
|
---|
2 | ;;2.1;IMMUNOLOGY CASE REGISTRY;**5**;Feb 09, 1998
|
---|
3 | ; check security of user
|
---|
4 | I '$D(^XUSEC("IMRA",DUZ)) S IMRLOC="IMRPNEUM" D ACESSERR^IMRERR,H^XUS K IMRLOC
|
---|
5 | K DIR
|
---|
6 | S DIR("A")="Select the report you want"
|
---|
7 | S DIR(0)="S^1:PNEUMO-VAC FOR A DATE RANGE;2:NO PNEUMO-VAC IN 5 YEARS"
|
---|
8 | S DIR("?",1)="The 'PNEUMO-VAC FOR A DATE RANGE' report will list all ICR patients who had"
|
---|
9 | S DIR("?",2)="a pneumococcal vaccination within the date range selected by the user."
|
---|
10 | S DIR("?",3)=" "
|
---|
11 | S DIR("?",4)="The 'NO PNEUMO-VAC IN 5 YEARS' report will list living ICR patients who have"
|
---|
12 | S DIR("?",5)="no record of a pneumococcal vaccination in the last 5 years."
|
---|
13 | S DIR("?",6)=" "
|
---|
14 | S DIR("?")="Please select the pneumococcal vaccination output you want."
|
---|
15 | D ^DIR K DIR
|
---|
16 | I $D(DIRUT) D KILL Q
|
---|
17 | I Y=2 D ^IMRPNEU1 Q ;no pneumo-vac in 5 years report
|
---|
18 | ; select start/stop dates
|
---|
19 | ASK D ^IMRDATE Q:$G(IMRHNBEG)=""
|
---|
20 | S IMRSD=IMRHNBEG,IMRED=IMRHNEND
|
---|
21 | ; select device
|
---|
22 | D IMRDEV^IMREDIT I POP D KILL Q
|
---|
23 | I $D(IO("Q")) D D KILL Q
|
---|
24 | .S ZTRTN="START^IMRPNEUM",ZTDESC="Immunology Pneumococcal Report",ZTIO=ION_";"_IOM_";"_IOSL
|
---|
25 | .S ZTSAVE("IMRED")="",ZTSAVE("IMRSD")=""
|
---|
26 | .D ^%ZTLOAD
|
---|
27 | .K ZTRTN,ZTDESC,ZTSK,ZTIO,ZTSAVE
|
---|
28 | .Q
|
---|
29 | START ; start report
|
---|
30 | U IO K ^TMP($J)
|
---|
31 | S (IMRCNT,IMRDFN,IMRPG,IMRUT)=0,IMRLINE=$$REPEAT^XLFSTR("-",79)
|
---|
32 | D GETNOW^IMRACESS ;get the current date/time
|
---|
33 | D HDR
|
---|
34 | S X="PXRHS03" X ^%ZOSF("TEST")
|
---|
35 | I '$T D NODATA,EOP,KILL Q
|
---|
36 | F S IMRDFN=$O(^IMR(158,IMRDFN)) Q:'IMRDFN S X=+^IMR(158,IMRDFN,0) D ^IMRXOR I $D(^DPT(X,0)) D A1
|
---|
37 | I '$D(^TMP($J)) D NODATA,EOP,KILL Q
|
---|
38 | S IMRNAME=""
|
---|
39 | F S IMRNAME=$O(^TMP($J,IMRNAME)) Q:IMRNAME=""!(IMRUT) S IMRDFN=0 F S IMRDFN=$O(^TMP($J,IMRNAME,IMRDFN)) Q:'IMRDFN!(IMRUT) S IMRVDATE=0 F S IMRVDATE=$O(^TMP($J,IMRNAME,IMRDFN,IMRVDATE)) Q:'IMRVDATE!(IMRUT) D
|
---|
40 | .I ($Y+4)>IOSL D EOP Q:IMRUT D HDR
|
---|
41 | .S IMRSSN=$P(^TMP($J,IMRNAME,IMRDFN,IMRVDATE),U,1)
|
---|
42 | .W !,IMRNAME,?32,IMRSSN,?50,$$FMTE^XLFDT(IMRVDATE,"1D")
|
---|
43 | .Q
|
---|
44 | W !!,"Total: ",IMRCNT
|
---|
45 | D:'IMRUT EOP
|
---|
46 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
47 | KILL ; kill variables
|
---|
48 | K ^TMP($J),^TMP("PXI",$J),DIR,DIROUT,DIRUT,DTOUT,DUOUT,I
|
---|
49 | K IMR1,IMR2,IMR3,IMR5YR,IMRCNT,IMRDFN,IMRDTE,IMRED,IMRFLG,IMRLINE,IMRLOOP,IMRNAME,IMRNODE,IMRPG,IMRSD,IMRSSN,IMRSTN,IMRUT,IMRVDATE,IMRVISIT
|
---|
50 | K X,Y
|
---|
51 | D ^%ZISC
|
---|
52 | Q
|
---|
53 | A1 ; get data from PCE utility
|
---|
54 | S IMRNODE=$G(^DPT(+X,0))
|
---|
55 | S IMRNAME=$P(IMRNODE,U,1),IMRSSN=$P(IMRNODE,U,9)
|
---|
56 | K ^TMP("PXI",$J)
|
---|
57 | D IMMUN^PXRHS03(+X)
|
---|
58 | Q:'$D(^TMP("PXI",$J))
|
---|
59 | S IMRLOOP=0
|
---|
60 | F S IMRLOOP=$O(^TMP("PXI",$J,"PNEUMO-VAC",IMRLOOP)) Q:'IMRLOOP S IMRLOOP(1)=0 F S IMRLOOP(1)=$O(^TMP("PXI",$J,"PNEUMO-VAC",IMRLOOP,IMRLOOP(1))) Q:'IMRLOOP(1) D
|
---|
61 | .S IMRVISIT=$P($G(^TMP("PXI",$J,"PNEUMO-VAC",IMRLOOP,IMRLOOP(1),0)),U,3)
|
---|
62 | .Q:'IMRVISIT
|
---|
63 | .Q:IMRVISIT<IMRSD
|
---|
64 | .Q:IMRVISIT>IMRED
|
---|
65 | .S ^TMP($J,IMRNAME,IMRDFN,IMRVISIT)=IMRSSN,IMRCNT=IMRCNT+1
|
---|
66 | .Q
|
---|
67 | Q
|
---|
68 | HDR ; report header
|
---|
69 | W:$Y>0 @IOF
|
---|
70 | S IMRPG=IMRPG+1
|
---|
71 | W !?25,"PNEUMOCOCCAL VACCINATION REPORT",?70,"Page ",IMRPG
|
---|
72 | W !?25,"From "_$$FMTE^XLFDT(IMRSD,"1D")_" to "_$$FMTE^XLFDT(IMRED,"1D")
|
---|
73 | W !?25,"Run Date: ",IMRDTE
|
---|
74 | W !,"NAME",?32,"SSN",?50,"DATE"
|
---|
75 | W !,IMRLINE
|
---|
76 | Q
|
---|
77 | EOP ; end of page question
|
---|
78 | Q:$D(IO("S"))
|
---|
79 | I IOST["C-" K DIR W ! S DIR(0)="E" D ^DIR K DIR I 'Y S IMRUT=1
|
---|
80 | Q
|
---|
81 | NODATA ; no data message
|
---|
82 | W !,"There was no data for this report."
|
---|
83 | Q
|
---|