1 | WVRPST ;HCIOFO/JR,FT-Sexual Trauma Summary ;4/11/01 09:16
|
---|
2 | ;;1.0;WOMEN'S HEALTH;**7,14**;Sep 30, 1998
|
---|
3 | ;
|
---|
4 | ; This routine uses the following IAs:
|
---|
5 | ; #2716 - $$GETSTAT^DGMSTAPI (supported)
|
---|
6 | ; #10035 - ^DPT(DFN,.351 (supported)
|
---|
7 | ;
|
---|
8 | ; EP for List Sexual Trauma Data [WV SEXUAL TRAUMA LIST] option
|
---|
9 | W @IOF,!?33,"WOMEN'S HEALTH"
|
---|
10 | W !?19,"* * * SEXUAL TRAUMA SUMMARY REPORT * * *",!
|
---|
11 | S WVE="",(WVMGR,WVPOP)=0
|
---|
12 | D CMGR^WVMSTL ;select one or all case mgrs to sort by
|
---|
13 | I WVPOP D EXIT Q
|
---|
14 | K IO("Q") S %ZIS="Q" D ^%ZIS G EXIT:POP I $D(IO("Q")) D Q
|
---|
15 | .S ZTRTN="GET^WVRPST",ZTDESC="WH SEXUAL TRAUMA SUMMARY"
|
---|
16 | .S ZTSAVE("WVE")="",ZTSAVE("WVMGR")=""
|
---|
17 | .D ^%ZTLOAD D HOME^%ZIS K IO("Q")
|
---|
18 | .Q
|
---|
19 | GET ; Get data for report
|
---|
20 | U IO
|
---|
21 | Q:WVE="" ;no case mgr selection
|
---|
22 | S (WVBOTH,WVDFN,WVCIVCNT,WVCNALL,WVETCNT,WVZSTOP)=0
|
---|
23 | S (WVCSTV("Y"),WVCSTV("N"),WVCSTV("D"),WVCSTV("U"))=0
|
---|
24 | S (WVCSTNV("Y"),WVCSTNV("N"),WVCSTNV("D"),WVCSTNV("U"))=0
|
---|
25 | S (WVMSTV("Y"),WVMSTV("N"),WVMSTV("D"),WVMSTV("U"))=0
|
---|
26 | S WVLINE=$$REPEAT^XLFSTR("-",76)
|
---|
27 | S WVDASH=$$REPEAT^XLFSTR("=",80)
|
---|
28 | F S WVDFN=$O(^WV(790,WVDFN)) Q:WVDFN'>0!($G(ZSTOP)=1) S WV0=$G(^(WVDFN,0)) D
|
---|
29 | .S WVZSTOP=WVZSTOP+1
|
---|
30 | .;If background task, then every 100 records check if user wants to
|
---|
31 | .;stop the task.
|
---|
32 | .I $D(ZTQUEUED),WVZSTOP#100=0 D STOPCHK^WVUTL10(0) Q:$G(ZTSTOP)=1
|
---|
33 | .I '$$NOT(WVDFN) Q ;active patient in WH package?
|
---|
34 | .I WVE=0,WVMGR'=$P(WV0,U,10) Q ;not the case mgr selected by user
|
---|
35 | .S WVCST=$P(WV0,U,28) ;CST value
|
---|
36 | .S WVMST=$P($$GETSTAT^DGMSTAPI(WVDFN),U,2) ;get MST status
|
---|
37 | .S WVCNALL=WVCNALL+1 ;count of active patients in WH
|
---|
38 | .S WVET=$E($$VET^WVUTL1A(WVDFN)) ;check veteran status
|
---|
39 | .S:WVET="Y" WVETCNT=WVETCNT+1 ;count of veterans
|
---|
40 | .S:WVET'="Y" WVCIVCNT=WVCIVCNT+1 ;count of non-veterans
|
---|
41 | .I WVET="Y" D ;CST count for veterans
|
---|
42 | ..I WVCST="Y" S WVCSTV("Y")=WVCSTV("Y")+1 Q
|
---|
43 | ..I WVCST="N" S WVCSTV("N")=WVCSTV("N")+1 Q
|
---|
44 | ..I WVCST="D" S WVCSTV("D")=WVCSTV("D")+1 Q
|
---|
45 | ..S WVCSTV("U")=WVCSTV("U")+1
|
---|
46 | ..Q
|
---|
47 | .I WVET'="Y" D ;CST count for non-veterans
|
---|
48 | ..I WVCST="Y" S WVCSTNV("Y")=WVCSTNV("Y")+1 Q
|
---|
49 | ..I WVCST="N" S WVCSTNV("N")=WVCSTNV("N")+1 Q
|
---|
50 | ..I WVCST="D" S WVCSTNV("D")=WVCSTNV("D")+1 Q
|
---|
51 | ..S WVCSTNV("U")=WVCSTNV("U")+1
|
---|
52 | ..Q
|
---|
53 | .I WVET="Y" D ;MST count - applies to veterans only
|
---|
54 | ..I WVMST="Y" S WVMSTV("Y")=WVMSTV("Y")+1 S:WVCST="Y" WVBOTH=WVBOTH+1 Q
|
---|
55 | ..I WVMST="N" S WVMSTV("N")=WVMSTV("N")+1 Q
|
---|
56 | ..I WVMST="D" S WVMSTV("D")=WVMSTV("D")+1 Q
|
---|
57 | ..S WVMSTV("U")=WVMSTV("U")+1
|
---|
58 | ..Q
|
---|
59 | .Q
|
---|
60 | I $G(ZTSTOP)=1 D EXIT Q
|
---|
61 | D PRINT
|
---|
62 | EXIT ;
|
---|
63 | D ^%ZISC
|
---|
64 | K WV0,WVBOTH,WVCIVCNT,WVCNALL,WVCRT,WVCST,WVCSTNV,WVCSTV,WVDASH,WVDFN
|
---|
65 | K WVE,WVET,WVETCNT,WVJRNOW,WVLINE,WVLINL,WVMGR,WVMST,WVMSTV,WVPOP,WVTAB,WVZSTOP
|
---|
66 | K POP,X,Y
|
---|
67 | Q
|
---|
68 | PRINT ; Print counts
|
---|
69 | S WVCRT=$S($E(IOST)="C":1,1:0)
|
---|
70 | D HEAD
|
---|
71 | W !,"MST",?18,"YES",?29,"NO",?35,"DECLINED",?45,"UNKNOWN"
|
---|
72 | W !,WVLINE
|
---|
73 | W !,"VETERANS",?15,$J(WVMSTV("Y"),6),?25,$J(WVMSTV("N"),6),?35,$J(WVMSTV("D"),6),?45,$J(WVMSTV("U"),6)
|
---|
74 | W !!,WVDASH
|
---|
75 | W !!,"CST",?18,"YES",?29,"NO",?35,"DECLINED",?45,"UNKNOWN"
|
---|
76 | W !,WVLINE
|
---|
77 | W !,"VETERANS",?15,$J(WVCSTV("Y"),6),?25,$J(WVCSTV("N"),6),?35,$J(WVCSTV("D"),6),?45,$J(WVCSTV("U"),6)
|
---|
78 | W !,"NON-VETS",?15,$J(WVCSTNV("Y"),6),?25,$J(WVCSTNV("N"),6),?35,$J(WVCSTNV("D"),6),?45,$J(WVCSTNV("U"),6)
|
---|
79 | W !,WVDASH
|
---|
80 | W !?5,"# OF PATIENTS ---------------->",$J(WVCNALL,5)
|
---|
81 | W !?5,"# WHO ARE VETERANS ----------->",$J(WVETCNT,5)
|
---|
82 | W !?5,"# WHO ARE NON-VETERANS ------->",$J(WVCIVCNT,5)
|
---|
83 | W !?5,"# WITH MST & CST ------------->",$J(WVBOTH,5)
|
---|
84 | W !!?12,"Above numbers are based on Active Women's Health patients"
|
---|
85 | I WVE=1 W !?12,"for all case managers."
|
---|
86 | I WVE=0 W !?12,"for "_$$PERSON^WVUTL1(WVMGR)_"."
|
---|
87 | S WVPOP=0
|
---|
88 | I WVCRT&('$D(IO("S")))&('POP) D DIRZ^WVUTL3 W @IOF,!
|
---|
89 | Q
|
---|
90 | HEAD ; Print the report header
|
---|
91 | W:$Y>0 @IOF
|
---|
92 | W !?26,"SEXUAL TRAUMA SUMMARY REPORT"
|
---|
93 | W !,$$RUNDT^WVUTL1A("C")
|
---|
94 | W !,WVDASH
|
---|
95 | Q
|
---|
96 | NOT(WVDFN) ;Screen out patients for Inactive & Dead
|
---|
97 | N TEST
|
---|
98 | S TEST=$$GET1^DIQ(2,WVDFN,.351,"I")
|
---|
99 | Q:TEST>0 0
|
---|
100 | S TEST=$P($G(^WV(790,WVDFN,0)),U,24)
|
---|
101 | Q:TEST>0 0
|
---|
102 | Q 1
|
---|