1 | RGPOC ;BIR/PTD-ADD/EDIT POINT OF CONTACT OPTION ;8/22/01
|
---|
2 | ;;1.0;CLINICAL INFO RESOURCE NETWORK;**21,24**;30 Apr 99
|
---|
3 | ;
|
---|
4 | ;Reference to ^VA(200, supported by IA #2589
|
---|
5 | ;Reference to LINK^HLUTIL3 and $$GET1^DIQ(870 supported by IA #3335
|
---|
6 | ;Reference to DOMAIN (#4.2) file supported by IA #3452
|
---|
7 | ;
|
---|
8 | INTRO ;Introduction to Option
|
---|
9 | W @IOF,!,"This option allows you to transmit information to the MPI/PD Data"
|
---|
10 | W !,"Management team so that the Point of Contact website can be updated."
|
---|
11 | W !!,"To obtain a list of MPI/PD Points of Contact for each facility,"
|
---|
12 | W !,"look for the POC web link on the MPI/PD Home Page."
|
---|
13 | W !!,"The COMMERCIAL PHONE (#.135) field in the NEW PERSON (#200) file"
|
---|
14 | W !,"will only accept numbers and punctuation, 4-20 characters."
|
---|
15 | W !!,"Please include the entire phone number:",!,"area code, 7 digit number and extension (e.g., AAA NNN NNNN XXXX)"
|
---|
16 | W !!,"A contact name without a phone number will NOT be transmitted."
|
---|
17 | W !," ==="
|
---|
18 | ;
|
---|
19 | ASK ;Select POC to add/edit.
|
---|
20 | W ! K DIR S DIR(0)="LA^1:7"
|
---|
21 | S DIR("A")="Which Point of Contact information do you wish to update? "
|
---|
22 | S DIR("A",1)="Select one or more of the following:"
|
---|
23 | S DIR("A",2)="(A list or range of numbers can be entered, e.g., 1,3 or 2-4,6.)"
|
---|
24 | S DIR("A",3)=""
|
---|
25 | S DIR("A",4)=" 1 - Admin POC 2 - Alt Admin POC 3 - IRM POC 4 - Alt IRM POC"
|
---|
26 | S DIR("A",5)=" 5 - HL7 POC 6 - Alt HL7 POC 7 - ALL POCs"
|
---|
27 | S DIR("A",6)=""
|
---|
28 | S DIR("B")="7"
|
---|
29 | S DIR("?",1)="Enter:"
|
---|
30 | S DIR("?",2)=" ""1"" to add/edit Administrative Point of Contact."
|
---|
31 | S DIR("?",3)=" ""2"" to add/edit Alternate Administrative Point of Contact."
|
---|
32 | S DIR("?",4)=" ""3"" to add/edit IRM Point of Contact."
|
---|
33 | S DIR("?",5)=" ""4"" to add/edit Alternate IRM Point of Contact."
|
---|
34 | S DIR("?",6)=" ""5"" to add/edit Health Level Seven Point of Contact."
|
---|
35 | S DIR("?",7)=" ""6"" to add/edit Alternate Health Level Seven Point of Contact."
|
---|
36 | S DIR("?",8)=" ""7"" to add/edit ALL Points of Contact."
|
---|
37 | S DIR("?")=" You can enter a list or range of numbers, e.g., 1,3,5 or 1-3,6."
|
---|
38 | D ^DIR G:$D(DIRUT) END S RGANS=$S(Y[7:7,1:Y)
|
---|
39 | ;
|
---|
40 | MAIN ;Direct flow based on variable RGANS.
|
---|
41 | S RGQUIT=0
|
---|
42 | I RGANS["1" D POC1^RGPOC1
|
---|
43 | I RGANS["2" D POC2^RGPOC1
|
---|
44 | I RGANS["3" D POC3^RGPOC1
|
---|
45 | I RGANS["4" D POC4^RGPOC1
|
---|
46 | I RGANS["5" D POC5^RGPOC1
|
---|
47 | I RGANS["6" D POC6^RGPOC1
|
---|
48 | I RGANS="7" S (RGADMOFN,RGAD2OFN,RGIRMOFN,RGIR2OFN,RGHL7OFN)="" D
|
---|
49 | .D POC1^RGPOC1 Q:RGADMONM=-1 Q:RGADMOFN=-1
|
---|
50 | .D POC2^RGPOC1 Q:RGAD2ONM=-1 Q:RGAD2OFN=-1
|
---|
51 | .D POC3^RGPOC1 Q:RGIRMONM=-1 Q:RGIRMOFN=-1
|
---|
52 | .D POC4^RGPOC1 Q:RGIR2ONM=-1 Q:RGIR2OFN=-1
|
---|
53 | .D POC5^RGPOC1 Q:RGHL7ONM=-1 Q:RGHL7OFN=-1
|
---|
54 | .D POC6^RGPOC1
|
---|
55 | D SEND
|
---|
56 | AGAIN ;Return to selection prompt?
|
---|
57 | I RGQUIT=1 D END Q
|
---|
58 | W ! K DIR S DIR(0)="Y",DIR("B")="NO",DIR("A")="Do you want to add/edit another contact"
|
---|
59 | D ^DIR I +Y=1 D END W @IOF G ASK
|
---|
60 | D END
|
---|
61 | Q
|
---|
62 | ;
|
---|
63 | SEND ;Send message to Data Management Team
|
---|
64 | Q:'$O(RGARRAY(0))
|
---|
65 | ;Display changed fields.
|
---|
66 | W @IOF,!,"The following data will be transmitted to the MPI/PD Data Management team.",!
|
---|
67 | S RGNUM=0
|
---|
68 | F S RGNUM=$O(RGARRAY(RGNUM)) Q:'RGNUM W !,RGARRAY(RGNUM)
|
---|
69 | ;
|
---|
70 | DOMAIN ;Determine test or production account (production must have
|
---|
71 | ;"MPI-AUSTIN.VA.GOV" domain for logical link "MPIVA").
|
---|
72 | ;Get logical link IEN for "MPIVA".
|
---|
73 | ;Get domain for "MPIVA" logical link in HL LOGICAL LINK (#870) file.
|
---|
74 | N RGDOMAIN,RGDMNC S RGDOMAIN=""
|
---|
75 | D LINK^HLUTIL3("200M",.HLL,"I")
|
---|
76 | S IEN=$O(HLL(0)) I +IEN>0 S RGDOMAIN=$$GET1^DIQ(870,+IEN_",",.03)
|
---|
77 | S RGDMNC=$$FIND1^DIC(4.2,"","MQ","MPI-AUSTIN.VA.GOV") I RGDMNC>0 S RGDMNC=$$GET1^DIQ(4.2,RGDMNC_",",.01)
|
---|
78 | I RGDOMAIN="" Q
|
---|
79 | I RGDOMAIN'=RGDMNC W !!,"No data will be transmitted from a TEST account." Q ;Not production; quit SEND.
|
---|
80 | ;
|
---|
81 | ;Transmit e-mail message.
|
---|
82 | S XMSUB="POINT OF CONTACT CHANGE - SITE "_$P($$SITE^VASITE(),"^",3)
|
---|
83 | S XMDUZ=DUZ ;name of person editing the option
|
---|
84 | S XMY("G.MPI/PD POC UPDATE@MPI-AUSTIN.MED.VA.GOV")=""
|
---|
85 | S XMTEXT="RGARRAY("
|
---|
86 | ;
|
---|
87 | S RGARRAY(1)="There has been a change in the point of contact information from"
|
---|
88 | S RGARRAY(2)=$P($$SITE^VASITE(),"^",2)_" (station number "_$P($$SITE^VASITE(),"^",3)_")."
|
---|
89 | S RGARRAY(3)=""
|
---|
90 | D ^XMD
|
---|
91 | W !!,"Sending information to the MPI/PD Data Management team now.",!
|
---|
92 | Q
|
---|
93 | ;
|
---|
94 | END ;Kill variables
|
---|
95 | K DA,DIC,DIE,DIR,DIRUT,DR,DTOUT,HLL,IEN,RGAD2NFN,RGAD2NNM,RGAD2OFN,RGAD2ONM,RGADMNFN
|
---|
96 | K RGADMNNM,RGADMOFN,RGADMONM,RGANS,RGARRAY,RGDATA,RGDOMAIN,RGHL2NFN,RGHL2NNM,RGHL2OFN
|
---|
97 | K RGHL2ONM,RGHL7NFN,RGHL7NNM,RGHL7OFN,RGHL7ONM,RGIR2NFN,RGIR2NNM,RGIR2OFN,RGIR2ONM
|
---|
98 | K RGIRMNFN,RGIRMNNM,RGIRMOFN,RGIRMONM,RGNUM,RGQUIT,X,XMDUZ,XMSUB,XMTEXT,XMY,Y
|
---|
99 | Q
|
---|
100 | ;
|
---|
101 | NAME(RGPC,RGFLD) ;Edit IEN of POC from CIRN SITE PARAMETER (#991.8) file.
|
---|
102 | ;RGPC - piece number of POC on the ^RGSITE(991.8,1,"POC" node
|
---|
103 | ;RGFLD - field number of POC to be used in the DR string
|
---|
104 | ;Returns POC IEN before edit^POC IEN after edit OR -1^error message
|
---|
105 | ;
|
---|
106 | N RGOLDNAM,RGNEWNAM
|
---|
107 | S RGOLDNAM=$P($G(^RGSITE(991.8,1,"POC")),"^",RGPC)
|
---|
108 | L +^RGSITE(991.8):10
|
---|
109 | S DIE="^RGSITE(991.8,",DA=1,DR=RGFLD
|
---|
110 | D ^DIE K DA,DIE,DR
|
---|
111 | L -^RGSITE(991.8)
|
---|
112 | I $D(DTOUT)&(RGOLDNAM="") Q "-1^USER TIMED OUT"
|
---|
113 | I $D(Y) Q "-1^USER UP-ARROWED OUT"
|
---|
114 | S RGNEWNAM=$P($G(^RGSITE(991.8,1,"POC")),"^",RGPC)
|
---|
115 | Q RGOLDNAM_"^"_RGNEWNAM
|
---|
116 | ;
|
---|
117 | PHONE(RGIEN) ;Edit POC COMMERCIAL PHONE (#.135) from NEW PERSON (#200) file.
|
---|
118 | ;Supported IA #10060 allows read/FileMan for all fields in ^VA(200
|
---|
119 | ;RGIEN - IEN for NEW PERSON for whom phone number is needed
|
---|
120 | ;Returns POC COMMERCIAL PHONE before edit^POC COMMERCIAL PHONE after edit
|
---|
121 | ;
|
---|
122 | N RGOLDFON,RGNEWFON
|
---|
123 | S RGOLDFON=$$GET1^DIQ(200,RGIEN,.135)
|
---|
124 | S RGOLDFON=$TR(RGOLDFON,",./<>?;:'[]\{}|`~!@#$%^&*-_=+"," ")
|
---|
125 | S RGOLDFON=$TR(RGOLDFON,"()","")
|
---|
126 | ;Edit COMMERCIAL PHONE (#.135), NEW PERSON (#200) file
|
---|
127 | ;IA #2589 allows write/FileMan to field .135 in ^VA(200,
|
---|
128 | L +^VA(200,RGIEN):10
|
---|
129 | S DIE="^VA(200,",DA=RGIEN,DR=.135
|
---|
130 | D ^DIE K DA,DIE,DR
|
---|
131 | L -^VA(200,RGIEN)
|
---|
132 | I $D(DTOUT)&(RGOLDFON="") Q "-1^USER TIMED OUT"
|
---|
133 | I $D(Y) Q "-1^USER UP-ARROWED OUT"
|
---|
134 | S RGNEWFON=$$GET1^DIQ(200,RGIEN,.135)
|
---|
135 | S RGNEWFON=$TR(RGNEWFON,",./<>?;:'[]\{}|`~!@#$%^&*-_=+"," ")
|
---|
136 | S RGNEWFON=$TR(RGNEWFON,"()","")
|
---|
137 | Q RGOLDFON_"^"_RGNEWFON
|
---|
138 | ;
|
---|
139 | CNVRTNM(NAME) ;Convert IEN from NEW PERSON (#200) to printable name
|
---|
140 | ;NAME - ien for POC
|
---|
141 | N RGNAME
|
---|
142 | I NAME="" Q "<NULL>"
|
---|
143 | S RGNAME=$$GET1^DIQ(200,NAME,.01)
|
---|
144 | Q RGNAME
|
---|
145 | ;
|
---|
146 | ERROR1(RGPOC) ;Write error message 1 for type POC.
|
---|
147 | W !!,"No "_RGPOC_" Point of Contact identified."
|
---|
148 | Q
|
---|
149 | ;
|
---|
150 | ERROR2(RGPOC,RGFLD,RGOLDNAM,RGNEWNAM) ;Write error message 2 for type POC.
|
---|
151 | W !!,"No "_RGPOC_" Point of Contact phone number identified."
|
---|
152 | ;User timed out or up-arrowed out on phone number.
|
---|
153 | ;Restore name value to original value, if value changed.
|
---|
154 | I RGOLDNAM=RGNEWNAM K RGFLD,RGOLDNAM,RGNEWNAM,RGPOC Q
|
---|
155 | L +^RGSITE(991.8):10
|
---|
156 | S DIE="^RGSITE(991.8,",DA=1,DR=RGFLD_"///^S X=$S(RGOLDNAM="""":""@"",1:RGOLDNAM)"
|
---|
157 | D ^DIE
|
---|
158 | L -^RGSITE(991.8)
|
---|
159 | K DA,DIE,DR,RGFLD,RGOLDNAM
|
---|
160 | W !,RGPOC_" Point of Contact restored to original value."
|
---|
161 | Q
|
---|
162 | ;
|
---|