source: BMXNET_RPMS_dotNET_UTILITIES-BMX/trunk/doc/bmx0210.n@ 738

Last change on this file since 738 was 645, checked in by Sam Habiel, 15 years ago

Initial Import of BMX.net code

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