1 | WVMSTL ;HCIOFO/FT-List WH Sexual Trauma Data ;3/27/01 11:12
|
---|
2 | ;;1.0;WOMEN'S HEALTH;**11,14**;Sep 30, 1998
|
---|
3 | ;
|
---|
4 | ; This routine uses the following IAs:
|
---|
5 | ; #2716 - $$GETSTAT^DGMSTAPI (supported)
|
---|
6 | ;
|
---|
7 | BEGIN ;EP
|
---|
8 | S WVE="",(WVMGR,WVPOP)=0
|
---|
9 | D CMGR G:WVPOP EXIT
|
---|
10 | D DEVICE G:WVPOP EXIT
|
---|
11 | D START
|
---|
12 | EXIT ; Exit and clean up
|
---|
13 | K ^TMP($J)
|
---|
14 | D ^%ZISC
|
---|
15 | K DIR,DIRUT,DIROUT,DTOUT,DUOUT
|
---|
16 | K WVCRT,WVCST,WVDATE,WVDFN,WVDG,WVDGMST,WVDGMSTC,WVE,WVEC,WVLINE,WVLINL,WVMGR,WVMGRN,WVMGRO,WVMSTN,WVNAME
|
---|
17 | K WVNODE,WVPAGE,WVPOP,WVPROV,WVSORT,WVSSN,WVST,WVSV,WVTAB,WVTITLE,WVUSER,WVVET,WVZSTOP
|
---|
18 | K X,Y,ZTQUEUED,ZTREQ,ZTRTN,ZTSAVE
|
---|
19 | Q
|
---|
20 | CMGR ;EP
|
---|
21 | ;---> SELECT ONE CASE MANAGER OR ALL.
|
---|
22 | W !!?3,"Show data for all patients for ONE particular Case Manager,"
|
---|
23 | W !?3,"or all patients for ALL Case Managers?"
|
---|
24 | N DIR,DIRUT,Y
|
---|
25 | S DIR("A")=" Select ONE or ALL: ",DIR("B")="ONE",WVMGR=""
|
---|
26 | S DIR(0)="SAM^o:ONE;a:ALL" D HELP1^WVMSTL
|
---|
27 | D ^DIR K DIR
|
---|
28 | I Y=-1!($D(DIRUT)) S WVPOP=1 Q
|
---|
29 | ;---> IF ALL CASE MANAGERS, S WVE=1 AND QUIT.
|
---|
30 | I Y="a" S WVE=1 Q
|
---|
31 | D DIC^WVFMAN(790.01,"QEMA",.Y," Select CASE MANAGER: ")
|
---|
32 | I Y<0 S WVPOP=1 Q
|
---|
33 | ;---> FOR ONE CASE MANAGER, SET WVE=0 AND WVMGR=^VA(200 DFN, QUIT.
|
---|
34 | S WVMGR=+Y,WVE=0
|
---|
35 | Q
|
---|
36 | DEVICE ;EP
|
---|
37 | ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN.
|
---|
38 | S ZTRTN="DEQUEUE^WVMSTL"
|
---|
39 | S ZTDESC="List Sexual Trauma Data"
|
---|
40 | F WVSV="E","MGR" D
|
---|
41 | .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)=""
|
---|
42 | D ZIS^WVUTL2(.WVPOP,1,"HOME")
|
---|
43 | Q
|
---|
44 | START ; Start data gathering
|
---|
45 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
46 | K ^TMP($J)
|
---|
47 | Q:$G(WVE)=""
|
---|
48 | S (WVDFN,WVZSTOP)=0
|
---|
49 | ; all case managers
|
---|
50 | I WVE=1 F S WVDFN=$O(^WV(790,WVDFN)) Q:'WVDFN!($G(ZTSTOP)=1) D SET
|
---|
51 | ; one case manager
|
---|
52 | I WVE=0,WVMGR F S WVDFN=$O(^WV(790,"C",WVMGR,WVDFN)) Q:'WVDFN!($G(ZTSTOP)=1) D SET
|
---|
53 | Q:$G(ZTSTOP)=1
|
---|
54 | D PRINT^WVMSTL1
|
---|
55 | Q
|
---|
56 | SET ; Set temp global
|
---|
57 | S WVZSTOP=WVZSTOP+1
|
---|
58 | ; if a background task, check if user requested to stop the task
|
---|
59 | I $D(ZTQUEUED),WVZSTOP#100=0 D STOPCHK^WVUTL10(0) Q:$G(ZTSTOP)=1
|
---|
60 | Q:$$DECEASED^WVUTL1(WVDFN) ;deceased
|
---|
61 | S WVNODE=$G(^WV(790,WVDFN,0)) Q:WVNODE=""
|
---|
62 | I $P(WVNODE,U,24)>0,$P(WVNODE,U,24)<DT Q ;inactive date before today
|
---|
63 | S WVVET=$$VET^WVUTL1A(WVDFN) ;veterans status
|
---|
64 | S WVEC=$$ELIG^WVUTL9(WVDFN),WVEC=$P(WVEC,U,2) ;primary eligibility code
|
---|
65 | S WVPROV=$$PROVI^WVUTL1A(WVDFN) ;primary provider
|
---|
66 | S WVMGR=$P(WVNODE,U,10) ;case manager ien
|
---|
67 | S WVDGMST="<N/A Not a Veteran>"
|
---|
68 | S WVDGMSTC=""
|
---|
69 | I $E(WVVET)="Y" D
|
---|
70 | .; $$GETSTAT^DGMSTAPI supported API - IA #2716
|
---|
71 | .S WVDGMST=$$GETSTAT^DGMSTAPI(WVDFN) ;get MST value from Registration
|
---|
72 | .S WVDGMSTC=$P(WVDGMST,U,2) ;mst status code
|
---|
73 | .S WVDGMST=$P(WVDGMST,U,6) ;mst status text
|
---|
74 | .S:WVDGMST="" WVDGMST="Unknown, not screened"
|
---|
75 | .Q
|
---|
76 | S WVMSTN=$S(WVDGMSTC="Y":1,WVDGMSTC="N":2,WVDGMSTC="D":3,WVDGMSTC="U":4,1:5)
|
---|
77 | S WVMGRN=$$PERSON^WVUTL1(WVMGR) ;case manager name
|
---|
78 | S WVNAME=$$NAME^WVUTL1(WVDFN) ;patient name
|
---|
79 | S WVSSN=$$SSN^WVUTL1(WVDFN) ;patient ssn
|
---|
80 | S WVCST=$$CST^WVUTL1A(WVDFN) ;Civilian Sexual Trauma
|
---|
81 | S:WVCST="" WVCST="<no value>"
|
---|
82 | S:'$D(WVDG(WVMSTN)) WVDG(WVMSTN)=WVDGMST
|
---|
83 | S ^TMP($J,"WVST",WVMGRN,WVMGR,WVMSTN,WVNAME,WVDFN)=WVSSN_U_WVPROV_U_WVVET_U_WVEC_U_WVCST_U_WVDGMST
|
---|
84 | Q
|
---|
85 | DEQUEUE ; WVE and WVMGR variables must be set.
|
---|
86 | D START,EXIT
|
---|
87 | Q
|
---|
88 | HELP1 ;EP
|
---|
89 | ;;Answer "ONE" to list patients for ONE particular Case Manager.
|
---|
90 | ;;Answer "ALL" to list patients for ALL Case Managers.
|
---|
91 | S WVTAB=5,WVLINL="HELP1" D HELPTX
|
---|
92 | Q
|
---|
93 | HELPTX ;EP
|
---|
94 | ;---> CREATES DIR ARRAY FOR DIR. REQUIRED VARIABLES: WVTAB,WVLINL.
|
---|
95 | N I,T,X S T=$$REPEAT^XLFSTR(" ",WVTAB)
|
---|
96 | F I=1:1 S X=$T(@WVLINL+I) Q:X'[";;" S DIR("?",I)=T_$P(X,";;",2)
|
---|
97 | S DIR("?")=DIR("?",I-1) K DIR("?",I-1)
|
---|
98 | Q
|
---|