source: FOIAVistA/trunk/r/WOMENS_HEALTH-WV/WV14PST.m@ 1397

Last change on this file since 1397 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 5.6 KB
Line 
1WV14PST ;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 ;
10DESC ; 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 ;
42EN ; 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
50Q ; Entry point for the background job
51 D REMOVE
52 D START
53 D DELETE
54 D EXIT
55 Q
56EXIT ; 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
63START ; 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
70SET ; 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
105CONVERT(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 ;
111PROVIDER(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 ;
118REMOVE ; 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
125DELETE ; 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
Note: See TracBrowser for help on using the repository browser.