source: BMXNET_RPMS_dotNET_UTILITIES-BMX/trunk/doc/bmx0221.n@ 1305

Last change on this file since 1305 was 1092, checked in by Sam Habiel, 14 years ago

Updated BMX.net notes file 2.21

File size: 11.9 KB
RevLine 
[1092]1Release notes for BMX 2.21 - released December 10th 2010
[934]2
3*** IMPORTANT ***
4DO NOT INSTALL ON RPMS. THIS RELEASE IS FOR VISTA SYSTEMS!
5*****************
6
7BMX.net is a broker and a software library that allows programs in .net to communicate with Vista. BMX.net support regular RPC's, SQL statements, and ADO.net updatable datasets. The user is referred to Indian Health Service's documentation for BMX:
8
9 - Installation manual for Cache 5.x and above: http://www.ihs.gov/Cio/RPMS/PackageDocs/bmx/bmx_020i.pdf
10 - Programming manual: http://www.ihs.gov/Cio/RPMS/PackageDocs/bmx/bmx_020u.pdf
11 - Technical manual: http://www.ihs.gov/Cio/RPMS/PackageDocs/bmx/bmx_020t.pdf
12
13Release 2.1 adds support for GT.M.
14Release 2.2 fixes several bugs:
15 - Selection of division works properly now with BMXNet22.dll
16 - Timeouts are better now so it won't leave processes hanging
17 - Process name is now set upon connection
[1092]18Release 2.21 screens errors to log in the trap. It also makes a small fix that broke compatibility with Cache.
[934]19
20*** IMPORTANT ***
21BMX support for GT.M uses xinetd listeners; not listeners managed by the Mumps environment. As such, the installation instructions provided by IHS won't work for GT.M.
22*****************
23
24Pre-requisites:
25 Fileman v22
26 Kernel v8
27 XB/ZIB v3 or above
28 XWB 1.1 patch 100001 (optional - to enable a unified listener for all brokers)
29
30Pre-requisites are examined by the environment check routine.
31
32Installation Instructions
33=========================
34Installation of BMX.net 2.2 consists of 6 steps.
351. Install BMX in Vista
362. Install Xinetd
373. Configure listener in Xinetd
384. Configure shell script that that is called by Xinetd
395. Users who don't hold XUPROGMODE will need BMXPRC assigned as an option. If you assign it as part of their primary menu, make sure to rebuild the menu before proceeding.
406. (optional) Install XWB 1.1 patch 100001
41
421. Install BMX in Vista (example; actual version will differ)
43=========================
44GTM>s DUZ=9 D ^XUP
45
46Setting up programmer environment
47This is a TEST account.
48
49Terminal Type set to: C-VT100
50
51You have 46 new messages.
52Select OPTION NAME: xpd main Kernel Installation & Distribution System
53
54
55 Edits and Distribution ...
56 Utilities ...
57 Installation ...
58 Patch Monitor Main Menu ...
59
60Select Kernel Installation & Distribution System Option: INStallation
61
62
63 1 Load a Distribution
64 2 Verify Checksums in Transport Global
65 3 Print Transport Global
66 4 Compare Transport Global to Current System
67 5 Backup a Transport Global
68 6 Install Package(s)
69 Restart Install of Package(s)
70 Unload a Distribution
71 Checksum/2nd Line Lists
72 Directory Listing to MailMan
73 Find/Delete File in Download Directory
74
75
76Select Installation Option: 1 Load a Distribution
77Enter a Host File: /opt/wv/k/bmx0210.k
78
79KIDS Distribution saved on Jul 22, 2009@13:07:52
80Comment: BMX.net 2.1; add support for GT.M
81
82This Distribution contains Transport Globals for the following Package(s):
83 BMX 2.1
84Distribution OK!
85
86Want to Continue with Load? YES//
87Loading Distribution...
88
89Build BMX 2.1 has an Enviromental Check Routine
90Want to RUN the Environment Check Routine? YES//
91 BMX 2.1
92Will first run the Environment Check Routine, BMXE01
93
94
95Hello, FIVE COORDINATOR
96
97Checking Environment for Install of Version 2.0 of BMX.
98
99Need at least FileMan 22.....FileMan 22.0 Present
100
101Need at least Kernel 8.0.....Kernel 8.0 Present
102
103Need at least XB/ZIB 3.....XB/ZIB 4.0 Present
104Use INSTALL NAME: BMX 2.1 to install this Distribution.
105
106
107
108 1 Load a Distribution
109 2 Verify Checksums in Transport Global
110 3 Print Transport Global
111 4 Compare Transport Global to Current System
112 5 Backup a Transport Global
113 6 Install Package(s)
114 Restart Install of Package(s)
115 Unload a Distribution
116 Checksum/2nd Line Lists
117 Directory Listing to MailMan
118 Find/Delete File in Download Directory
119
120Select Installation Option: 6 Install Package(s)
121Select INSTALL NAME: BMX 2.1 Loaded from Distribution Loaded from Dis
122tribution 7/22/09@13:22:57
123 => BMX.net 2.1; add support for GT.M ;Created on Jul 22, 2009@13:07:52
124
125This Distribution was loaded on Jul 22, 2009@13:22:57 with header of
126 BMX.net 2.1; add support for GT.M ;Created on Jul 22, 2009@13:07:52
127 It consisted of the following Install(s):
128 BMX 2.1
129
130 Checking BMX 2.1 for overlap with VOE 1.0 ...... OK
131 No overlap found
132
133
134 Checking BMX 2.1 for overlap with VOE 1.1 ...... OK
135 No overlap found
136
137
138 Checking BMX 2.1 for overlap with NO HOME 1.0 ...... OK
139 No overlap found
140
141Checking Install for Package BMX 2.1
142Will first run the Environment Check Routine, BMXE01
143
144
145Hello, FIVE COORDINATOR
146
147Checking Environment for Install of Version 2.0 of BMX.
148
149Need at least FileMan 22.....FileMan 22.0 Present
150
151Need at least Kernel 8.0.....Kernel 8.0 Present
152
153Need at least XB/ZIB 3.....XB/ZIB 4.0 Present
154
155Install Questions for BMX 2.1
156
157Incoming Files:
158
159
160 90093.1 BMX USER
161
162
163 90093.2 BMX APPLICATION
164
165
166 90093.5 BMXNET MONITOR
167
168
169 90093.9 BMX GUI REPORT
170
171
172 90093.98 BMX ADO LOG
173
174
175 90093.99 BMX ADO SCHEMA (including data)
176
177Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO//
178
179
180Want KIDS to INHIBIT LOGONs during the install? NO//
181Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//
182
183Enter the Device you want to print the Install messages.
184Enter a '^' to abort the install.
185
186DEVICE: HOME// ;80;999999
187
188<compilation errors pass by -- that's normal>
189
190Install Completed
191
1922. Install Xinetd
193=================
194User is referred to their OS's documentation
195
1963. Configure listener in Xinetd
197===============================
198Create a file in /etc/xinetd.d, with whatever name you like. I called mine BMX10502, because that's the port I am going to use. Here are the contents (don't include my comments)
199
200service BMX10502
201{
202 socket_type = stream
203 type = UNLISTED
204 port = 10502 (that can be whatever you want it to be)
205 protocol = tcp
206 user = xxxxxxxx (that's a unix user who has access to run GT.M)
207 wait = no
208 disable = no
209 server = /bin/sh
210 server_args = /opt/wv2/BMX10502 (that's the location of the script that this listener will launch when it gets a TCP call on 10502)
211}
212
2134. Configure shell script that that is called by Xinetd
214=======================================================
215Create a script that looks like this.
216The essential lines are the ones defining gtm_dist, gtmgbldir, gtmroutines, and $gtm_dist/mumps - run XINETD^BMXMON. XINETD^BMXMON is the entry point responsible for receiving TCP calls from XINETD.
217
218#!/bin/bash
219# BMX Broker started by Xinet.d
220cd /opt/wv2
221date >> /opt/wv2/bmx.log
222
223# Get GT.M profile
224export vista_home="/opt/wv2"
225export gtm_dist="/opt/gtm"
226export gtmgbldir="$vista_home/g/mumps.gld"
227export gtmroutines="$vista_home/o($vista_home/p) $vista_home/o($vista_home/r) $gtm_dist"
228
229# Run
230$gtm_dist/mumps -run XINETD^BMXMON 2>>/opt/wv2/bmx.log
231exit
232
233Note: If you install XWB 1.1 patch 100001, you can use the CPRS listener. XWBTCPM will decide which protocol it is and route it accordingly.
234
2355. Add BMXRPC to the user's menu
236================================
237GTM>D P^DI
238
239
240VA FileMan 22.0
241
242
243Select OPTION: ENTER OR EDIT FILE ENTRIES
244
245
246
247INPUT TO WHAT FILE: PACKAGE// 200 NEW PERSON (77 entries)
248EDIT WHICH FIELD: ALL// SECONDARY MENU OPTIONS (multiple)
249 EDIT WHICH SECONDARY MENU OPTIONS SUB-FIELD: ALL// .01 SECONDARY MENU OPTION
250S
251 THEN EDIT SECONDARY MENU OPTIONS SUB-FIELD:
252THEN EDIT FIELD:
253
254
255Select NEW PERSON NAME: CLERK,EIGHT Medical Clerk
256Select SECONDARY MENU OPTIONS: OR CPRS GUI CHART//
257 SECONDARY MENU OPTIONS: OR CPRS GUI CHART//
258Select SECONDARY MENU OPTIONS: BMXRPC BMX Procedure Calls
259 Are you adding 'BMXRPC' as a new SECONDARY MENU OPTIONS (the 2ND for this NEW
260 PERSON)? No// Y (Yes)
261Select SECONDARY MENU OPTIONS:
262
2636. (optional) Install XWB 1.1 patch 100001
264==========================================
265This patch allows you to use the CPRS listener for BMX.
266
267GTM>d ^XPDIL
268
269Enter a Host File: /opt/wv/k/xwb0110_100001.k
270
271KIDS Distribution saved on Jul 22, 2009@13:55:06
272Comment: XWB patch to support BMX.net calls
273
274This Distribution contains Transport Globals for the following Package(s):
275 XWB*1.1*100001
276Distribution OK!
277
278Want to Continue with Load? YES//
279Loading Distribution...
280
281 XWB*1.1*100001
282Use INSTALL NAME: XWB*1.1*100001 to install this Distribution.
283
284GTM>d ^XPDI
285
286Select INSTALL NAME: XWB*1.1*100001 Loaded from Distribution Loaded f
287rom Distribution 7/22/09@13:56:39
288 => XWB patch to support BMX.net calls ;Created on Jul 22, 2009@13:55:06
289
290This Distribution was loaded on Jul 22, 2009@13:56:39 with header of
291 XWB patch to support BMX.net calls ;Created on Jul 22, 2009@13:55:06
292 It consisted of the following Install(s):
293 XWB*1.1*100001
294
295 Checking XWB*1.1*100001 for overlap with VOE 1.0 .. OK
296 No overlap found
297
298Install Completed.
299
300TESTING BMX.net
301===============
302In the package, there is a C# file called bmxTesterForVista_0200.cs and a .Net dll called BMXNet20.dll.
303To compile the file on Mono, use the generics Mono C# compiler (gmcs), referencing BMXNet20.dll and System.Data.dll. To compile on Windows, use csc with the same arguments.
304
305 gmcs /r:BMXNet20.dll,System.Data.dll bmxTesterForVista_0200.cs
306
307Then you can execute it:
308
309mono bmxTesterForVista_0200.exe
310Enter IP Address of Server: 127.0.0.1
311Enter the listener port: 9260
312Enter your Access Code: vistais#1
313Enter your Verify Code: catdog.22
314Connected: True DUZ: 47
315Simple RPC: User Name: CLERK,EIGHT
316CPRS RPC with Parameters:
31714^Administrator,System
31865^Analyst,One^- ANALYST
31966^Analyst,Three^- ANALYST
32069^Analyst,Two^- ANALYST
32147^Clerk,Eight^- Medical Clerk
32250^Clerk,Eleven^- Medical Clerk
32354^Clerk,Fifteen^- Medical Clerk
32444^Clerk,Five^- Medical Clerk
32543^Clerk,Four^- Medical Clerk
32653^Clerk,Fourteen^- Medical Clerk
32748^Clerk,Nine^- Medical Clerk
32846^Clerk,Seven^- Medical Clerk
32945^Clerk,Six^- Medical Clerk
33049^Clerk,Ten^- Medical Clerk
33152^Clerk,Thirteen^- Medical Clerk
33242^Clerk,Three^- Medical Clerk
33351^Clerk,Twelve^- Medical Clerk
33441^Clerk,Two^- Medical Clerk
33558^Coordinator,Clinical^- CLINICAL COORDINATOR
3369^Coordinator,Five^- ANALYST
3373^Coordinator,Four
3382^Coordinator,Nine
33963^Coordinator,One^- ANALYST
34064^Coordinator,Seven
34160^Coordinator,Six^- CLINICAL COORDINATOR
34267^Coordinator,Three^- ANALYST
34368^Coordinator,Two^- ANALYST
34421^Doctor,Eight^- Physician
34524^Doctor,Eleven^- Physician
34618^Doctor,Five^- Physician
34717^Doctor,Four^- Physician
34822^Doctor,Nine^- Physician
34911^Doctor,One^- Physician
35020^Doctor,Seven^- Physician
35119^Doctor,Six^- Physician
35223^Doctor,Ten^- Physician
35316^Doctor,Three^- Physician
35426^Doctor,Twelve^- Physician
35515^Doctor,Two^- Physician
35662^Lab,Superuser^- ANALYST
3578^Manager,System^- System Manager
35833^Nurse,Eight^- Nurse
35936^Nurse,Eleven^- Nurse
36040^Nurse,Fifteen^- Nurse
361
362
363SQL Statement
364ZZ PATIENT,TEST ONE
365FEMALE
3661/24/1945 12:00:00 AM
367ZZ PATIENT,TEST THREE
368MALE
3691/15/1968 12:00:00 AM
370ZZ PATIENT,TEST TWO
371MALE
37212/25/1957 12:00:00 AM
373
374BMX Schema RPC
375
376ZZ PATIENT,TEST ONEF1/24/1945 12:00:00 AM
377ZZ PATIENT,TEST THREEM1/15/1968 12:00:00 AM
378ZZ PATIENT,TEST TWOM12/25/1957 12:00:00 AM
379
380More complicated SQL
381
382NAMESTATEABBRAGE
383ZZ PATIENT,TEST ONENEW YORKNY64
384ZZ PATIENT,TEST THREEINDIANAIN41
385ZZ PATIENT,TEST TWOKANSASKS51
386
387If this doesn't work, you will get error messages like this:
388Unhandled Exception: IndianHealthService.BMXNet.BMXNetException: Connection refused at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remote_end) [0x00000]
389 at System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000]
390 at System.Net.Sockets.TcpClient.Connect (System.Net.IPAddress[] ipAddresses, Int32 port) [0x00000]
391 at IndianHealthService.BMXNet.BMXNetLib.a (System.String A_0) [0x00000]
392
393You may get Connection refused; connection timed out, not a valid access/verify code, verify code must be changed now, and User doesn't have access to Context BMXRPC, etc.
394
Note: See TracBrowser for help on using the repository browser.