source: BMXNET_RPMS_dotNET_UTILITIES-BMX/trunk/doc/bmx0220.n@ 1077

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

BMX 2.2 updated files

File size: 11.8 KB
Line 
1Release notes for BMX 2.2 - released September 7, 2010
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
18
19*** IMPORTANT ***
20BMX 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.
21*****************
22
23Pre-requisites:
24 Fileman v22
25 Kernel v8
26 XB/ZIB v3 or above
27 XWB 1.1 patch 100001 (optional - to enable a unified listener for all brokers)
28
29Pre-requisites are examined by the environment check routine.
30
31Installation Instructions
32=========================
33Installation of BMX.net 2.2 consists of 6 steps.
341. Install BMX in Vista
352. Install Xinetd
363. Configure listener in Xinetd
374. Configure shell script that that is called by Xinetd
385. 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.
396. (optional) Install XWB 1.1 patch 100001
40
411. Install BMX in Vista (example; actual version will differ)
42=========================
43GTM>s DUZ=9 D ^XUP
44
45Setting up programmer environment
46This is a TEST account.
47
48Terminal Type set to: C-VT100
49
50You have 46 new messages.
51Select OPTION NAME: xpd main Kernel Installation & Distribution System
52
53
54 Edits and Distribution ...
55 Utilities ...
56 Installation ...
57 Patch Monitor Main Menu ...
58
59Select Kernel Installation & Distribution System Option: INStallation
60
61
62 1 Load a Distribution
63 2 Verify Checksums in Transport Global
64 3 Print Transport Global
65 4 Compare Transport Global to Current System
66 5 Backup a Transport Global
67 6 Install Package(s)
68 Restart Install of Package(s)
69 Unload a Distribution
70 Checksum/2nd Line Lists
71 Directory Listing to MailMan
72 Find/Delete File in Download Directory
73
74
75Select Installation Option: 1 Load a Distribution
76Enter a Host File: /opt/wv/k/bmx0210.k
77
78KIDS Distribution saved on Jul 22, 2009@13:07:52
79Comment: BMX.net 2.1; add support for GT.M
80
81This Distribution contains Transport Globals for the following Package(s):
82 BMX 2.1
83Distribution OK!
84
85Want to Continue with Load? YES//
86Loading Distribution...
87
88Build BMX 2.1 has an Enviromental Check Routine
89Want to RUN the Environment Check Routine? YES//
90 BMX 2.1
91Will first run the Environment Check Routine, BMXE01
92
93
94Hello, FIVE COORDINATOR
95
96Checking Environment for Install of Version 2.0 of BMX.
97
98Need at least FileMan 22.....FileMan 22.0 Present
99
100Need at least Kernel 8.0.....Kernel 8.0 Present
101
102Need at least XB/ZIB 3.....XB/ZIB 4.0 Present
103Use INSTALL NAME: BMX 2.1 to install this Distribution.
104
105
106
107 1 Load a Distribution
108 2 Verify Checksums in Transport Global
109 3 Print Transport Global
110 4 Compare Transport Global to Current System
111 5 Backup a Transport Global
112 6 Install Package(s)
113 Restart Install of Package(s)
114 Unload a Distribution
115 Checksum/2nd Line Lists
116 Directory Listing to MailMan
117 Find/Delete File in Download Directory
118
119Select Installation Option: 6 Install Package(s)
120Select INSTALL NAME: BMX 2.1 Loaded from Distribution Loaded from Dis
121tribution 7/22/09@13:22:57
122 => BMX.net 2.1; add support for GT.M ;Created on Jul 22, 2009@13:07:52
123
124This Distribution was loaded on Jul 22, 2009@13:22:57 with header of
125 BMX.net 2.1; add support for GT.M ;Created on Jul 22, 2009@13:07:52
126 It consisted of the following Install(s):
127 BMX 2.1
128
129 Checking BMX 2.1 for overlap with VOE 1.0 ...... OK
130 No overlap found
131
132
133 Checking BMX 2.1 for overlap with VOE 1.1 ...... OK
134 No overlap found
135
136
137 Checking BMX 2.1 for overlap with NO HOME 1.0 ...... OK
138 No overlap found
139
140Checking Install for Package BMX 2.1
141Will first run the Environment Check Routine, BMXE01
142
143
144Hello, FIVE COORDINATOR
145
146Checking Environment for Install of Version 2.0 of BMX.
147
148Need at least FileMan 22.....FileMan 22.0 Present
149
150Need at least Kernel 8.0.....Kernel 8.0 Present
151
152Need at least XB/ZIB 3.....XB/ZIB 4.0 Present
153
154Install Questions for BMX 2.1
155
156Incoming Files:
157
158
159 90093.1 BMX USER
160
161
162 90093.2 BMX APPLICATION
163
164
165 90093.5 BMXNET MONITOR
166
167
168 90093.9 BMX GUI REPORT
169
170
171 90093.98 BMX ADO LOG
172
173
174 90093.99 BMX ADO SCHEMA (including data)
175
176Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO//
177
178
179Want KIDS to INHIBIT LOGONs during the install? NO//
180Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//
181
182Enter the Device you want to print the Install messages.
183Enter a '^' to abort the install.
184
185DEVICE: HOME// ;80;999999
186
187<compilation errors pass by -- that's normal>
188
189Install Completed
190
1912. Install Xinetd
192=================
193User is referred to their OS's documentation
194
1953. Configure listener in Xinetd
196===============================
197Create 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)
198
199service BMX10502
200{
201 socket_type = stream
202 type = UNLISTED
203 port = 10502 (that can be whatever you want it to be)
204 protocol = tcp
205 user = xxxxxxxx (that's a unix user who has access to run GT.M)
206 wait = no
207 disable = no
208 server = /bin/sh
209 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)
210}
211
2124. Configure shell script that that is called by Xinetd
213=======================================================
214Create a script that looks like this.
215The 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.
216
217#!/bin/bash
218# BMX Broker started by Xinet.d
219cd /opt/wv2
220date >> /opt/wv2/bmx.log
221
222# Get GT.M profile
223export vista_home="/opt/wv2"
224export gtm_dist="/opt/gtm"
225export gtmgbldir="$vista_home/g/mumps.gld"
226export gtmroutines="$vista_home/o($vista_home/p) $vista_home/o($vista_home/r) $gtm_dist"
227
228# Run
229$gtm_dist/mumps -run XINETD^BMXMON 2>>/opt/wv2/bmx.log
230exit
231
232Note: 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.
233
2345. Add BMXRPC to the user's menu
235================================
236GTM>D P^DI
237
238
239VA FileMan 22.0
240
241
242Select OPTION: ENTER OR EDIT FILE ENTRIES
243
244
245
246INPUT TO WHAT FILE: PACKAGE// 200 NEW PERSON (77 entries)
247EDIT WHICH FIELD: ALL// SECONDARY MENU OPTIONS (multiple)
248 EDIT WHICH SECONDARY MENU OPTIONS SUB-FIELD: ALL// .01 SECONDARY MENU OPTION
249S
250 THEN EDIT SECONDARY MENU OPTIONS SUB-FIELD:
251THEN EDIT FIELD:
252
253
254Select NEW PERSON NAME: CLERK,EIGHT Medical Clerk
255Select SECONDARY MENU OPTIONS: OR CPRS GUI CHART//
256 SECONDARY MENU OPTIONS: OR CPRS GUI CHART//
257Select SECONDARY MENU OPTIONS: BMXRPC BMX Procedure Calls
258 Are you adding 'BMXRPC' as a new SECONDARY MENU OPTIONS (the 2ND for this NEW
259 PERSON)? No// Y (Yes)
260Select SECONDARY MENU OPTIONS:
261
2626. (optional) Install XWB 1.1 patch 100001
263==========================================
264This patch allows you to use the CPRS listener for BMX.
265
266GTM>d ^XPDIL
267
268Enter a Host File: /opt/wv/k/xwb0110_100001.k
269
270KIDS Distribution saved on Jul 22, 2009@13:55:06
271Comment: XWB patch to support BMX.net calls
272
273This Distribution contains Transport Globals for the following Package(s):
274 XWB*1.1*100001
275Distribution OK!
276
277Want to Continue with Load? YES//
278Loading Distribution...
279
280 XWB*1.1*100001
281Use INSTALL NAME: XWB*1.1*100001 to install this Distribution.
282
283GTM>d ^XPDI
284
285Select INSTALL NAME: XWB*1.1*100001 Loaded from Distribution Loaded f
286rom Distribution 7/22/09@13:56:39
287 => XWB patch to support BMX.net calls ;Created on Jul 22, 2009@13:55:06
288
289This Distribution was loaded on Jul 22, 2009@13:56:39 with header of
290 XWB patch to support BMX.net calls ;Created on Jul 22, 2009@13:55:06
291 It consisted of the following Install(s):
292 XWB*1.1*100001
293
294 Checking XWB*1.1*100001 for overlap with VOE 1.0 .. OK
295 No overlap found
296
297Install Completed.
298
299TESTING BMX.net
300===============
301In the package, there is a C# file called bmxTesterForVista_0200.cs and a .Net dll called BMXNet20.dll.
302To 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.
303
304 gmcs /r:BMXNet20.dll,System.Data.dll bmxTesterForVista_0200.cs
305
306Then you can execute it:
307
308mono bmxTesterForVista_0200.exe
309Enter IP Address of Server: 127.0.0.1
310Enter the listener port: 9260
311Enter your Access Code: vistais#1
312Enter your Verify Code: catdog.22
313Connected: True DUZ: 47
314Simple RPC: User Name: CLERK,EIGHT
315CPRS RPC with Parameters:
31614^Administrator,System
31765^Analyst,One^- ANALYST
31866^Analyst,Three^- ANALYST
31969^Analyst,Two^- ANALYST
32047^Clerk,Eight^- Medical Clerk
32150^Clerk,Eleven^- Medical Clerk
32254^Clerk,Fifteen^- Medical Clerk
32344^Clerk,Five^- Medical Clerk
32443^Clerk,Four^- Medical Clerk
32553^Clerk,Fourteen^- Medical Clerk
32648^Clerk,Nine^- Medical Clerk
32746^Clerk,Seven^- Medical Clerk
32845^Clerk,Six^- Medical Clerk
32949^Clerk,Ten^- Medical Clerk
33052^Clerk,Thirteen^- Medical Clerk
33142^Clerk,Three^- Medical Clerk
33251^Clerk,Twelve^- Medical Clerk
33341^Clerk,Two^- Medical Clerk
33458^Coordinator,Clinical^- CLINICAL COORDINATOR
3359^Coordinator,Five^- ANALYST
3363^Coordinator,Four
3372^Coordinator,Nine
33863^Coordinator,One^- ANALYST
33964^Coordinator,Seven
34060^Coordinator,Six^- CLINICAL COORDINATOR
34167^Coordinator,Three^- ANALYST
34268^Coordinator,Two^- ANALYST
34321^Doctor,Eight^- Physician
34424^Doctor,Eleven^- Physician
34518^Doctor,Five^- Physician
34617^Doctor,Four^- Physician
34722^Doctor,Nine^- Physician
34811^Doctor,One^- Physician
34920^Doctor,Seven^- Physician
35019^Doctor,Six^- Physician
35123^Doctor,Ten^- Physician
35216^Doctor,Three^- Physician
35326^Doctor,Twelve^- Physician
35415^Doctor,Two^- Physician
35562^Lab,Superuser^- ANALYST
3568^Manager,System^- System Manager
35733^Nurse,Eight^- Nurse
35836^Nurse,Eleven^- Nurse
35940^Nurse,Fifteen^- Nurse
360
361
362SQL Statement
363ZZ PATIENT,TEST ONE
364FEMALE
3651/24/1945 12:00:00 AM
366ZZ PATIENT,TEST THREE
367MALE
3681/15/1968 12:00:00 AM
369ZZ PATIENT,TEST TWO
370MALE
37112/25/1957 12:00:00 AM
372
373BMX Schema RPC
374
375ZZ PATIENT,TEST ONEF1/24/1945 12:00:00 AM
376ZZ PATIENT,TEST THREEM1/15/1968 12:00:00 AM
377ZZ PATIENT,TEST TWOM12/25/1957 12:00:00 AM
378
379More complicated SQL
380
381NAMESTATEABBRAGE
382ZZ PATIENT,TEST ONENEW YORKNY64
383ZZ PATIENT,TEST THREEINDIANAIN41
384ZZ PATIENT,TEST TWOKANSASKS51
385
386If this doesn't work, you will get error messages like this:
387Unhandled Exception: IndianHealthService.BMXNet.BMXNetException: Connection refused at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remote_end) [0x00000]
388 at System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000]
389 at System.Net.Sockets.TcpClient.Connect (System.Net.IPAddress[] ipAddresses, Int32 port) [0x00000]
390 at IndianHealthService.BMXNet.BMXNetLib.a (System.String A_0) [0x00000]
391
392You 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.
393
Note: See TracBrowser for help on using the repository browser.