1 | WV14PST ;HCIOFO/FT-WV*1*14 POST INSTALL/Transfer Sexual Trauma Data to DG MST Module ;4/4/01 11:41
|
---|
2 | ;;1.0;WOMEN'S HEALTH;**14**;Sep 30, 1998
|
---|
3 | ;
|
---|
4 | ; This routine uses the following IAs:
|
---|
5 | ; #1625 - $$GET^XUA4A72 (supported)
|
---|
6 | ; #2716 - $$GETSTAT^DGMSTAPI (supported)
|
---|
7 | ; #2716 - $$NEWSTAT^DGMSTAPI (supported)
|
---|
8 | ; #1157 - $$DELETE^XPDMENU (supported)
|
---|
9 | ;
|
---|
10 | DESC ; Description of post install
|
---|
11 | ; This post install converts the WH Sexual Trauma data (File 790,
|
---|
12 | ; Field .27) into a Military Sexual Trauma (MST) value and a Civilian
|
---|
13 | ; Sexual Trauma (CST) value. The MST value is then transferred to the
|
---|
14 | ; Registration package. The CST value is stored in the Women's Health
|
---|
15 | ; package. The MST module tracks data for veterans only. Data for
|
---|
16 | ; non-veterans is not added to the MST module. WH patients whose Sexual
|
---|
17 | ; Trauma value is 'Military', 'Civilian', 'Both' or 'None' will have
|
---|
18 | ; that value translated into a MST value and added to the MST module.
|
---|
19 | ; WH value MST value CST value
|
---|
20 | ; -------- --------- ---------
|
---|
21 | ; Military Yes No
|
---|
22 | ; Civilian No Yes
|
---|
23 | ; Both Yes Yes
|
---|
24 | ; None No No
|
---|
25 | ; <null> no transfer Unknown
|
---|
26 | ;
|
---|
27 | ; NOTE: If a WH patient is already in the MST module with a value of
|
---|
28 | ; 'Yes' then no additional MST entry is made. Also, if a WH patient
|
---|
29 | ; is already in the MST module with a value of 'No' and the WH Sexual
|
---|
30 | ; Trauma value is 'None' or 'Civilian' then no additional MST entry
|
---|
31 | ; is made.
|
---|
32 | ; The provider who determined the value must be stored in the MST
|
---|
33 | ; module. If the case manager associated with the patient or the user
|
---|
34 | ; running this option is a provider, then the case manager or the user
|
---|
35 | ; is identified as the provider who did the screening. If neither is
|
---|
36 | ; a provider, then that patient's data is not added to the MST module.
|
---|
37 | ; This option will display a list of WH patients whose data was added
|
---|
38 | ; to the MST module. It will also display a list of WH patients whose
|
---|
39 | ; data could not be added to the MST module. These lists are then sent
|
---|
40 | ; to the case managers in a MailMan message.
|
---|
41 | ;
|
---|
42 | EN ; Run in the background
|
---|
43 | N WVMESAGE,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
|
---|
44 | S ZTRTN="Q^WV14PST",ZTDESC="WV*1*14 INSTALLED"
|
---|
45 | S ZTIO="",ZTDTH=$H
|
---|
46 | D ^%ZTLOAD
|
---|
47 | S WVMESAGE="The post-installation will run as background job #"_$G(ZTSK)
|
---|
48 | D MES^XPDUTL(WVMESAGE)
|
---|
49 | Q
|
---|
50 | Q ; Entry point for the background job
|
---|
51 | D REMOVE
|
---|
52 | D START
|
---|
53 | D DELETE
|
---|
54 | D EXIT
|
---|
55 | Q
|
---|
56 | EXIT ; Exit and clean up
|
---|
57 | K ^TMP($J)
|
---|
58 | K WVCST,WVDASHES,WVDATE,WVDFN,WVDGMST,WVDUZ,WVFLAG,WVLINE,WVMGR,WVMGRN
|
---|
59 | K WVMGRO,WVMSG,WVNAME,WVNODE,WVPROV,WVREASON,WVSPACES,WVSSN,WVST
|
---|
60 | K WVTITLEN,WVTITLEY,WVUSER,WVX
|
---|
61 | K X,XMDUN,XMDUZ,XMSUB,XMTEXT,XMY,XMZ,Y
|
---|
62 | Q
|
---|
63 | START ; Loop through FILE 790
|
---|
64 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
65 | K ^TMP($J)
|
---|
66 | S WVDFN=0
|
---|
67 | F S WVDFN=$O(^WV(790,WVDFN)) Q:'WVDFN D SET
|
---|
68 | D EMAIL^WV14PST1 ;send email to case manager(s).
|
---|
69 | Q
|
---|
70 | SET ; Set tmp global
|
---|
71 | S WVNODE=$G(^WV(790,WVDFN,0)) Q:WVNODE=""
|
---|
72 | S WVST=$P(WVNODE,U,27) ;WH sexual trauma value
|
---|
73 | ; determine CST value
|
---|
74 | S WVCST=$S(WVST="C":"Y",WVST="B":"Y",WVST="N":"N",WVST="M":"N",1:"U")
|
---|
75 | S:$P(WVNODE,U,28)="" $P(^WV(790,WVDFN,0),U,28)=WVCST ;set CST value
|
---|
76 | S $P(^WV(790,WVDFN,0),U,27)="" ;null out (new) MST field
|
---|
77 | Q:WVST="" ;no value to transfer to Registration
|
---|
78 | Q:$$VET^WVUTL1A(WVDFN)'="Yes" ;veterans only
|
---|
79 | S WVMGR=$P(WVNODE,U,10) ;case manager ien
|
---|
80 | I '$D(XMY(WVMGR)) S XMY(WVMGR)="" ;send message to these case mgrs
|
---|
81 | ; $$GETSTAT^DGMSTAPI supported API - IA #2716
|
---|
82 | S WVDGMST=$$GETSTAT^DGMSTAPI(WVDFN) ;get MST value from Registration
|
---|
83 | Q:+WVDGMST=-1 ;couldn't retrieve MST status (i.e., DFN is null)
|
---|
84 | S WVDGMST=$E($P(WVDGMST,U,2),1)
|
---|
85 | Q:WVDGMST="Y" ;MST already set to YES
|
---|
86 | I WVST="N",WVDGMST="N" Q ;both are NO, don't update MST
|
---|
87 | I WVST="C",WVDGMST="N" Q ;Civilian & No, don't update MST
|
---|
88 | S WVDGMST=$$CONVERT(WVST)
|
---|
89 | Q:WVDGMST="" ;not an MST value
|
---|
90 | S WVMGRN=$$PERSON^WVUTL1(WVMGR) ;case manager name
|
---|
91 | S WVPROV=$$PROVIDER(DUZ,WVMGR)
|
---|
92 | S WVNAME=$$NAME^WVUTL1(WVDFN) ;patient name
|
---|
93 | S WVSSN=$$SSN^WVUTL1(WVDFN) ;patient ssn
|
---|
94 | S WVST=$S(WVST="M":"Military",WVST="C":"Civilian",WVST="B":"Both",WVST="N":"None",1:"<no value>")
|
---|
95 | I WVPROV="" S ^TMP($J,"WVNO",WVMGRN,WVMGR,WVNAME,WVDFN)=WVST_U_U_U_WVSSN_U_"Determining Provider Unknown" Q
|
---|
96 | ; $$NEWSTAT^DGMSTAPI supported API - IA 2716
|
---|
97 | ; parameters(dfn,mst status,date/time,provider ien). A null d/t=NOW.
|
---|
98 | S WVFLAG=$$NEWSTAT^DGMSTAPI(WVDFN,WVDGMST,"",WVPROV)
|
---|
99 | ; +WVFLAG will be the ien of the MST entry, if successful
|
---|
100 | I +WVFLAG=-1 S ^TMP($J,"WVNO",WVMGRN,WVMGR,WVNAME,WVDFN)=WVST_U_U_U_WVSSN_U_$P(WVFLAG,U,2) Q ;no entry made in Registration
|
---|
101 | S WVDGMST=$S(WVDGMST="Y":"Yes",WVDGMST="N":"No",WVDGMST="D":"Declined",WVDGMST="U":"Undefined",1:"<no value>")
|
---|
102 | I WVPROV S WVPROV=$$PERSON^WVUTL1(WVPROV) ;get provider name
|
---|
103 | I +WVFLAG S ^TMP($J,"WVYES",WVMGRN,WVMGR,WVNAME,WVDFN)=WVST_U_WVDGMST_U_WVPROV_U_WVSSN
|
---|
104 | Q
|
---|
105 | CONVERT(WVST) ; Convert WH code to MST code
|
---|
106 | ; Convert Military or Both to Yes.
|
---|
107 | ; " Civilian or None to No.
|
---|
108 | ; Ignore null.
|
---|
109 | Q $S(WVST="M":"Y",WVST="C":"N",WVST="B":"Y",WVST="N":"N",1:"")
|
---|
110 | ;
|
---|
111 | PROVIDER(WVDUZ,WVMGR) ; Determine provider.
|
---|
112 | ; Try case manager first, then try user (i.e., DUZ).
|
---|
113 | ; $$GET^XUA4A72 supported API - IA #1625
|
---|
114 | I WVMGR I +$$GET^XUA4A72(WVMGR)>0 Q WVMGR
|
---|
115 | I WVDUZ I +$$GET^XUA4A72(WVDUZ)>0 Q WVDUZ
|
---|
116 | Q ""
|
---|
117 | ;
|
---|
118 | REMOVE ; Remove [WV ADD TO MST] option from File Maintenance Menu
|
---|
119 | ; Remove [DGMST ENTER NEW MST] option from Patient Management menu
|
---|
120 | N WVFLAG,WVMENU,WVOPTION
|
---|
121 | S WVMENU="WV MENU-PATIENT MANAGEMENT"
|
---|
122 | S WVOPTION="DGMST ENTER NEW MST"
|
---|
123 | S WVFLAG=$$DELETE^XPDMENU(WVMENU,WVOPTION)
|
---|
124 | Q
|
---|
125 | DELETE ; Delete the SEXUAL TRAUMA field (FILE 790, Field #.27)
|
---|
126 | N DA,DIK
|
---|
127 | S DIK="^DD(790,",DA=.27,DA(1)=790
|
---|
128 | D ^DIK
|
---|
129 | Q
|
---|