[1146] | 1 | <?xml version="1.0"?>
|
---|
| 2 | <doc>
|
---|
| 3 | <assembly>
|
---|
| 4 | <name>BMXNET40</name>
|
---|
| 5 | </assembly>
|
---|
| 6 | <members>
|
---|
| 7 | <member name="T:IndianHealthService.BMXNet.Ado.DataTableFuture">
|
---|
| 8 | <summary>
|
---|
| 9 | DataTableFutures are created synchrounously when Async calls are made on a RemoteSession.
|
---|
| 10 | A DataTabelFuture is used to manage each async call and has a variety of methods to support
|
---|
| 11 | the relativelty long and dynamic lifecycle and an Async call.
|
---|
| 12 | </summary>
|
---|
| 13 | <remarks>
|
---|
| 14 | Beware that all return communications are not on the UI thread unless an InvokedControl
|
---|
| 15 | is specify.
|
---|
| 16 | </remarks>
|
---|
| 17 | </member>
|
---|
| 18 | <member name="M:IndianHealthService.BMXNet.Ado.DataTableFuture.Cancel">
|
---|
| 19 | <summary>
|
---|
| 20 | Method to cancel the Async call. This does not stop the server-side processing. The Aborted event
|
---|
| 21 | will be called immediately.
|
---|
| 22 | </summary>
|
---|
| 23 | </member>
|
---|
| 24 | <member name="M:IndianHealthService.BMXNet.Ado.DataTableFuture.PostFetch">
|
---|
| 25 | <summary>
|
---|
| 26 | If IsAutoFetchEnabled is false, then the results must be fetched synchrounously useding PostFetch().
|
---|
| 27 | Call PostFetch() once and check if HasData is true. If not true, there is was error related to the
|
---|
| 28 | async call.
|
---|
| 29 | </summary>
|
---|
| 30 | </member>
|
---|
| 31 | <member name="E:IndianHealthService.BMXNet.Ado.DataTableFuture.Returned">
|
---|
| 32 | <summary>
|
---|
| 33 | Triggered with the async returns, see DataTableFutureEventArgs to know if there
|
---|
| 34 | is a result waiting. It's very common to hook the Returned event after each Async call and
|
---|
| 35 | then unhook it when the Returned or Aborted calls return.
|
---|
| 36 | </summary>
|
---|
| 37 | </member>
|
---|
| 38 | <!-- Badly formed XML comment ignored for member "E:IndianHealthService.BMXNet.Ado.DataTableFuture.Aborted" -->
|
---|
| 39 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.InvokedControl">
|
---|
| 40 | If the InvokedControl is set to a valid Form or Control object (non-displosed), the
|
---|
| 41 | DataTabletFuture will trigger events on the UI thread using Invoke()
|
---|
| 42 | </member>
|
---|
| 43 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.IsAutoFetchEnabled">
|
---|
| 44 | <summary>
|
---|
| 45 | If set to true the result will be fetched before the Returned event is called, otherwise
|
---|
| 46 | the Returned event will be triggered and the application code needs to call PostFetch() to retrieve
|
---|
| 47 | the result. True by default.
|
---|
| 48 | </summary>
|
---|
| 49 | </member>
|
---|
| 50 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.ErrorException">
|
---|
| 51 | <summary>
|
---|
| 52 | Access to any exceptions that occur during Async call.
|
---|
| 53 | </summary>
|
---|
| 54 | </member>
|
---|
| 55 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.Result">
|
---|
| 56 | <summary>
|
---|
| 57 | The result table if any, or null.
|
---|
| 58 | </summary>
|
---|
| 59 | </member>
|
---|
| 60 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.WasCancelled">
|
---|
| 61 | <summary>
|
---|
| 62 | Answer true if canceled. It's common that a dialog would allow the user to cancel the
|
---|
| 63 | Async call and the Dialog that is holding on the the Future will cancel the Future. Cancelling
|
---|
| 64 | the Future does not stop the server-side processing but when the server returns nothing will happen.
|
---|
| 65 | </summary>
|
---|
| 66 | </member>
|
---|
| 67 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.HasTimedOut">
|
---|
| 68 | <summary>
|
---|
| 69 | Answer true if the Async call has timeed-out (a time-based version of Cancel)
|
---|
| 70 | </summary>
|
---|
| 71 | </member>
|
---|
| 72 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.HasReturned">
|
---|
| 73 | <summary>
|
---|
| 74 | Answer true if the Async call has completed on the server and that a result is ready.
|
---|
| 75 | </summary>
|
---|
| 76 | </member>
|
---|
| 77 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.HasData">
|
---|
| 78 | <summary>
|
---|
| 79 | Answer true if the data has been fetched from the server and is ready to be used by the application.
|
---|
| 80 | </summary>
|
---|
| 81 | </member>
|
---|
| 82 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.PresentTime">
|
---|
| 83 | <summary>
|
---|
| 84 | The time the Future was created.
|
---|
| 85 | </summary>
|
---|
| 86 | </member>
|
---|
| 87 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.FutureTime">
|
---|
| 88 | <summary>
|
---|
| 89 | The time the async call returned (the future)
|
---|
| 90 | </summary>
|
---|
| 91 | </member>
|
---|
| 92 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.WaitTime">
|
---|
| 93 | <summary>
|
---|
| 94 | How long in milliseconds the Async call took to complete.
|
---|
| 95 | </summary>
|
---|
| 96 | </member>
|
---|
| 97 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.MaxWaitTime">
|
---|
| 98 | <summary>
|
---|
| 99 | Number of seconds to wait for an async response before returning without a response.
|
---|
| 100 | </summary>
|
---|
| 101 | </member>
|
---|
| 102 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.ResultDataSet">
|
---|
| 103 | <summary>
|
---|
| 104 | The data set the result data table is in.
|
---|
| 105 | </summary>
|
---|
| 106 | </member>
|
---|
| 107 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFuture.ResultAppContext">
|
---|
| 108 | <summary>
|
---|
| 109 | The AppContext that the async call was made with
|
---|
| 110 | </summary>
|
---|
| 111 | </member>
|
---|
| 112 | <member name="T:IndianHealthService.BMXNet.Services.BMXNetSessionConnectionOverAnotherSessionConnection">
|
---|
| 113 | <summary>
|
---|
| 114 | To test the BMXNetBroker class, we can use one instance of BMXNetBroker
|
---|
| 115 | to be the authenicated transport and use the receiver to be the
|
---|
| 116 | encapsulated BMX interaction.
|
---|
| 117 | </summary>
|
---|
| 118 | </member>
|
---|
| 119 | <member name="T:IndianHealthService.BMXNet.BMXNetSessionConnection">
|
---|
| 120 | <summary>
|
---|
| 121 | BMXNetSessionConnection implements low-level connectivity to RPMS databases.
|
---|
| 122 | </summary>
|
---|
| 123 | </member>
|
---|
| 124 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.ADEBLDPadString(System.String)">
|
---|
| 125 | <summary>
|
---|
| 126 | Given strInput = "13" builds "013" if nLength = 3. Default for nLength is 3.
|
---|
| 127 | </summary>
|
---|
| 128 | <param name="strInput"></param>
|
---|
| 129 | <returns></returns>
|
---|
| 130 | </member>
|
---|
| 131 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.ADEBLDPadString(System.String,System.Int32)">
|
---|
| 132 | <summary>
|
---|
| 133 | Given strInput = "13" builds "013" if nLength = 3 Default for nLength is 3.
|
---|
| 134 | </summary>
|
---|
| 135 | <param name="strInput"></param>
|
---|
| 136 | <param name="nLength">Default = 3</param>
|
---|
| 137 | <returns></returns>
|
---|
| 138 | </member>
|
---|
| 139 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.ADEBLDB(System.String)">
|
---|
| 140 | <summary>
|
---|
| 141 | Concatenates zero-padded length of sInput to sInput
|
---|
| 142 | Given "Hello" returns "004Hello"
|
---|
| 143 | If nSize = 5, returns "00004Hello"
|
---|
| 144 | Default for nSize is 3.
|
---|
| 145 | </summary>
|
---|
| 146 | <param name="sInput"></param>
|
---|
| 147 | <returns></returns>
|
---|
| 148 | </member>
|
---|
| 149 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.ADEBLDB(System.String,System.Int32)">
|
---|
| 150 | <summary>
|
---|
| 151 | Concatenates zero-padded length of sInput to sInput
|
---|
| 152 | Given "Hello" returns "004Hello"
|
---|
| 153 | If nSize = 5, returns "00004Hello"
|
---|
| 154 | Default for nSize is 3.
|
---|
| 155 | </summary>
|
---|
| 156 | <param name="sInput"></param>
|
---|
| 157 | <param name="nSize"></param>
|
---|
| 158 | <returns></returns>
|
---|
| 159 | </member>
|
---|
| 160 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.ADEBHDR(System.String,System.String,System.String,System.String)">
|
---|
| 161 | <summary>
|
---|
| 162 | Build protocol header
|
---|
| 163 | </summary>
|
---|
| 164 | <param name="sWKID"></param>
|
---|
| 165 | <param name="sWINH"></param>
|
---|
| 166 | <param name="sPRCH"></param>
|
---|
| 167 | <param name="sWISH"></param>
|
---|
| 168 | <returns></returns>
|
---|
| 169 | </member>
|
---|
| 170 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.FindSubString(System.String,System.String)">
|
---|
| 171 | <summary>
|
---|
| 172 | Returns index of first instance of sSubString in sString.
|
---|
| 173 | If sSubString not found, returns -1.
|
---|
| 174 | </summary>
|
---|
| 175 | <param name="sString"></param>
|
---|
| 176 | <param name="sSubString"></param>
|
---|
| 177 | <returns></returns>
|
---|
| 178 | </member>
|
---|
| 179 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.Lock(System.String,System.String,System.String)">
|
---|
| 180 | <summary>
|
---|
| 181 | Lock a local or global M variable
|
---|
| 182 | Returns true if lock is obtained during TimeOut seconds
|
---|
| 183 | Use + to increment, - to decrement lock.
|
---|
| 184 | </summary>
|
---|
| 185 | <param name="Variable"></param>
|
---|
| 186 | <param name="Increment"></param>
|
---|
| 187 | <param name="TimeOut"></param>
|
---|
| 188 | <returns></returns>
|
---|
| 189 | </member>
|
---|
| 190 | <member name="M:IndianHealthService.BMXNet.BMXNetSessionConnection.TransmitRPC(System.String,System.String)">
|
---|
| 191 | <remarks>
|
---|
| 192 | AppContext is managed an client and server with c/s calls to change
|
---|
| 193 | appContext on the server. There is no use for AppContext on the client
|
---|
| 194 | so recommend integrated AppContext into BMX Protocol so always passing
|
---|
| 195 | it and managing switching it on the server.
|
---|
| 196 | </remarks>
|
---|
| 197 | </member>
|
---|
| 198 | <member name="P:IndianHealthService.BMXNet.BMXNetSessionConnection.BMXRWL">
|
---|
| 199 | <summary>
|
---|
| 200 | Returns a reference to the internal ReaderWriterLock member.
|
---|
| 201 | </summary>
|
---|
| 202 | </member>
|
---|
| 203 | <member name="P:IndianHealthService.BMXNet.BMXNetSessionConnection.AppContext">
|
---|
| 204 | <summary>
|
---|
| 205 | Gets/sets the Kernel Application context
|
---|
| 206 | Throws an exception if unable to set the context.
|
---|
| 207 | </summary>
|
---|
| 208 | </member>
|
---|
| 209 | <member name="T:IndianHealthService.BMXNet.Net.BMXAdeCrypto">
|
---|
| 210 | <summary>
|
---|
| 211 | This implementation EncryptionProvider is the crypto used for the standard Indian Health Service socket-based BMXNET Broker.
|
---|
| 212 | </summary>
|
---|
| 213 | </member>
|
---|
| 214 | <member name="T:IndianHealthService.BMXNet.Net.EncryptionProvider">
|
---|
| 215 | <summary>
|
---|
| 216 | The crypto used to implement the socket-based BMXNET Broker. Any crypto can be used if a new
|
---|
| 217 | .NET EncryptionProvider is written and a corresponding modification to the RPMS-side is done.
|
---|
| 218 | </summary>
|
---|
| 219 | <remarks>
|
---|
| 220 | An quick experiment can be done by implementing the following ClearText EncryptionProvider and
|
---|
| 221 | modifying the RPMS-side encryption routines to do nothing.
|
---|
| 222 | <code>
|
---|
| 223 | public class ClearText : EncryptionProvider
|
---|
| 224 | {
|
---|
| 225 | public string Encrypt(string aString)
|
---|
| 226 | {
|
---|
| 227 | return aString;
|
---|
| 228 | }
|
---|
| 229 |
|
---|
| 230 | public string Decrypt(string aString)
|
---|
| 231 | {
|
---|
| 232 | return aString;
|
---|
| 233 | }
|
---|
| 234 | }
|
---|
| 235 | </code>
|
---|
| 236 | </remarks>
|
---|
| 237 | </member>
|
---|
| 238 | <member name="M:IndianHealthService.BMXNet.Net.EncryptionProvider.Encrypt(System.String)">
|
---|
| 239 | <summary>
|
---|
| 240 | Encrypt aString
|
---|
| 241 | </summary>
|
---|
| 242 | <param name="aString">The string to be encrypted</param>
|
---|
| 243 | <returns>An ASCII encrypted string</returns>
|
---|
| 244 | </member>
|
---|
| 245 | <member name="M:IndianHealthService.BMXNet.Net.EncryptionProvider.Decrypt(System.String)">
|
---|
| 246 | <summary>
|
---|
| 247 | Decrypt aString
|
---|
| 248 | </summary>
|
---|
| 249 | <param name="aString">The ASCII string to be decrypted</param>
|
---|
| 250 | <returns>An ASCII decrypted string</returns>
|
---|
| 251 | </member>
|
---|
| 252 | <member name="M:IndianHealthService.BMXNet.Net.BMXAdeCrypto.SetKey(System.String[])">
|
---|
| 253 | <summary>
|
---|
| 254 | Set a site specific key
|
---|
| 255 | </summary>
|
---|
| 256 | <param name="aKey">The required key for BMX Ade</param>
|
---|
| 257 | </member>
|
---|
| 258 | <member name="M:IndianHealthService.BMXNet.Net.BMXAdeCrypto.Encrypt(System.String)">
|
---|
| 259 | <summary>
|
---|
| 260 | BMXAde Implementation
|
---|
| 261 | </summary>
|
---|
| 262 | <param name="aString">String to encrypt</param>
|
---|
| 263 | <returns>Encrypt string</returns>
|
---|
| 264 | </member>
|
---|
| 265 | <member name="M:IndianHealthService.BMXNet.Net.BMXAdeCrypto.Decrypt(System.String)">
|
---|
| 266 | <summary>
|
---|
| 267 | BMXAde Implementation
|
---|
| 268 | </summary>
|
---|
| 269 | <param name="aString">String to decrypt</param>
|
---|
| 270 | <returns>Decrypted string</returns>
|
---|
| 271 | </member>
|
---|
| 272 | <member name="T:IndianHealthService.BMXNet.M">
|
---|
| 273 | <summary>
|
---|
| 274 | Common M[umps] related function libraries implemented with static members.
|
---|
| 275 | </summary>
|
---|
| 276 | </member>
|
---|
| 277 | <member name="M:IndianHealthService.BMXNet.M.PieceLength(System.String,System.String)">
|
---|
| 278 | <summary>
|
---|
| 279 | M-like utility method to answer the number of pieces limited by aDelimiter. Corresponds to M's $L(STRING,DELIMITER)
|
---|
| 280 | </summary>
|
---|
| 281 | <param name="thePieces">Delimited input string e.g. one^two^three</param>
|
---|
| 282 | <param name="aDelimiter">Delimiter character or string, commonly ~ ^ or |</param>
|
---|
| 283 | <returns>Count of pieces in thePieces delimited by aDelimiter</returns>
|
---|
| 284 | <example>
|
---|
| 285 | <code>
|
---|
| 286 | String team="DOE,JOHN^SMITH, PETER^JONES, SALLY";
|
---|
| 287 | if (M.PieceLength(team,"~") >=5 ) {
|
---|
| 288 | this.PlayBasketBall();
|
---|
| 289 | }
|
---|
| 290 | else
|
---|
| 291 | {
|
---|
| 292 | this.PlayTrackAndField();
|
---|
| 293 | }
|
---|
| 294 | </code>
|
---|
| 295 | </example>
|
---|
| 296 | </member>
|
---|
| 297 | <member name="M:IndianHealthService.BMXNet.M.Piece(System.String,System.String,System.Int32)">
|
---|
| 298 | <summary>
|
---|
| 299 | M-like utility method to answer the piece at a 1-based offset. Corresponds to M's $$Piece function
|
---|
| 300 | </summary>
|
---|
| 301 | <param name="thePieces">Delimited input string e.g. one^two^three</param>
|
---|
| 302 | <param name="aDelimiter">Delimiter character or string, commonly ~ ^ or |</param>
|
---|
| 303 | <param name="nthPiece">The 1-based index of the piece</param>
|
---|
| 304 | <returns>The piece at the index, or an empty string if the index is higher than the explicit number of pieces</returns>
|
---|
| 305 | <example>
|
---|
| 306 | <code>
|
---|
| 307 | String demographics="DOE,JOHN~555-55-5555~34~M";
|
---|
| 308 | int age=0;
|
---|
| 309 | if (int.TryParse(M.Piece(demographics,"~",3), out age)) {
|
---|
| 310 | System.Console.Writeln(M.Piece(demographics,"~",1)+" is "+ (age >= 18 ) ? "an adult" : "a child");
|
---|
| 311 | }
|
---|
| 312 | </code>
|
---|
| 313 | </example>
|
---|
| 314 | </member>
|
---|
| 315 | <member name="M:IndianHealthService.BMXNet.M.Piece(System.String,System.String,System.Int32,System.Int32)">
|
---|
| 316 | <summary>
|
---|
| 317 | M-like utility method to answer a delimited string of pieces between two 1-based offsets
|
---|
| 318 | </summary>
|
---|
| 319 | <param name="thePieces">Delimited input string e.g. one^two^three</param>
|
---|
| 320 | <param name="aDelimiter">Delimiter character or string, commonly ~ ^ or |</param>
|
---|
| 321 | <param name="nthStart">Starting 1-based index of the pieces to copy from</param>
|
---|
| 322 | <param name="mthEnd">Ending 1-based index of the pieces to copy to</param>
|
---|
| 323 | <returns>The delimited string from start to end, including delimitered blanks for indexes higher than the explicit number of pieces</returns>
|
---|
| 324 | </member>
|
---|
| 325 | <member name="M:IndianHealthService.BMXNet.M.DateToFileMan(System.DateTime)">
|
---|
| 326 | <summary>
|
---|
| 327 | M-like utility method to convert from a DateTime to the FileMan data/time format
|
---|
| 328 | </summary>
|
---|
| 329 | <param name="aDateTime">DateTime to convert</param>
|
---|
| 330 | <returns>String representing aDateTime in FileMan format</returns>
|
---|
| 331 | <exception cref="T:System.Exception">Exception thrown in conversion fails</exception>
|
---|
| 332 | </member>
|
---|
| 333 | <member name="M:IndianHealthService.BMXNet.M.DateFromFileMan(System.String)">
|
---|
| 334 | <summary>
|
---|
| 335 | M-like utility method to convert from a FileMan date/time formatted String to a .NET DateTime
|
---|
| 336 | </summary>
|
---|
| 337 | <param name="aString">date/time formated FileMan string</param>
|
---|
| 338 | <returns>.NET DateTime object from parsing input FileMan string</returns>
|
---|
| 339 | <exception cref="T:System.Exception">Exception thrown in conversion fails</exception>
|
---|
| 340 | </member>
|
---|
| 341 | <member name="T:IndianHealthService.BMXNet.Model.ContextChangingArgs">
|
---|
| 342 | <summary>
|
---|
| 343 | An instance of these args are included with the ContextChanging event and this event
|
---|
| 344 | is a CancelEventArgs subclass. The Cancel property being set to True represents the desire
|
---|
| 345 | to Veto the change so the patient (and potentially visit) does not change. The Veto can be
|
---|
| 346 | overriden by the framework so be prepared for the context to change even if you don't want it
|
---|
| 347 | to.
|
---|
| 348 | </summary>
|
---|
| 349 | </member>
|
---|
| 350 | <member name="P:IndianHealthService.BMXNet.Model.ContextChangingArgs.IsVisitChange">
|
---|
| 351 | <summary>
|
---|
| 352 | Answer True if the visit is about to be changed.
|
---|
| 353 | </summary>
|
---|
| 354 | </member>
|
---|
| 355 | <member name="P:IndianHealthService.BMXNet.Model.ContextChangingArgs.IsPatientChange">
|
---|
| 356 | <summary>
|
---|
| 357 | Answer True if the visit is about to be changed.
|
---|
| 358 | </summary>
|
---|
| 359 | </member>
|
---|
| 360 | <member name="P:IndianHealthService.BMXNet.Model.ContextChangingArgs.BeforeContext">
|
---|
| 361 | <summary>
|
---|
| 362 | The current state of the Context.
|
---|
| 363 | </summary>
|
---|
| 364 | </member>
|
---|
| 365 | <member name="T:IndianHealthService.BMXNet.Model.ContextChangedArgs">
|
---|
| 366 | <summary>
|
---|
| 367 | The argument to the ContextChanged method. This event has methods that allow you
|
---|
| 368 | to detect which aspects of the context have changed and what the new context is.
|
---|
| 369 | </summary>
|
---|
| 370 | </member>
|
---|
| 371 | <member name="P:IndianHealthService.BMXNet.Model.ContextChangedArgs.IsVisitChange">
|
---|
| 372 | <summary>
|
---|
| 373 | Answer if the visit had changed. When the patient changes and a visit had been selected, the
|
---|
| 374 | visit will change to null.
|
---|
| 375 | </summary>
|
---|
| 376 | <example>
|
---|
| 377 | In the following example, the first tab of a notebook is selected whenever the patient changes.
|
---|
| 378 | <code>
|
---|
| 379 | void Context_Changed(object sender, ContextChangedArgs e)
|
---|
| 380 | {
|
---|
| 381 | if (e.IsPatientChange)
|
---|
| 382 | {
|
---|
| 383 | this.SelectedIndex = 1;
|
---|
| 384 | this.RefreshAll();
|
---|
| 385 | }
|
---|
| 386 | }
|
---|
| 387 | </code>
|
---|
| 388 | </example>
|
---|
| 389 | </member>
|
---|
| 390 | <member name="P:IndianHealthService.BMXNet.Model.ContextChangedArgs.IsPatientChange">
|
---|
| 391 | <summary>
|
---|
| 392 | Answer if the patient had changed.
|
---|
| 393 | </summary>
|
---|
| 394 | </member>
|
---|
| 395 | <member name="P:IndianHealthService.BMXNet.Model.ContextChangedArgs.AfterContext">
|
---|
| 396 | <summary>
|
---|
| 397 | The current state of the context. This context object is that same instance used for the
|
---|
| 398 | life of the LocalSession
|
---|
| 399 | </summary>
|
---|
| 400 | </member>
|
---|
| 401 | <member name="T:IndianHealthService.BMXNet.Util.EntryAssemblyInfo">
|
---|
| 402 | <summary>
|
---|
| 403 | Convienence class to provide information from the AssembleInfo
|
---|
| 404 | <code>
|
---|
| 405 | [assembly: AssemblyTitle("IndianHealthService.BMXNet.Test")]
|
---|
| 406 | [assembly: AssemblyDescription("A test application")]
|
---|
| 407 | [assembly: AssemblyCompany("IHS")]
|
---|
| 408 | [assembly: AssemblyProduct("IndianHealthService.BMXNet.Test")]
|
---|
| 409 | [assembly: AssemblyCopyright("IHS 2009")]
|
---|
| 410 | [assembly: AssemblyVersion("2.0.0.0")]
|
---|
| 411 | </code>
|
---|
| 412 | </summary>
|
---|
| 413 | </member>
|
---|
| 414 | <member name="P:IndianHealthService.BMXNet.Util.EntryAssemblyInfo.AssemblyTitle">
|
---|
| 415 | <summary>
|
---|
| 416 | Convienence method to provide information from the AssembleInfo
|
---|
| 417 | <code>
|
---|
| 418 | [assembly: AssemblyTitle("IndianHealthService.BMXNet.Test")]
|
---|
| 419 | </code>
|
---|
| 420 | </summary>
|
---|
| 421 | </member>
|
---|
| 422 | <member name="P:IndianHealthService.BMXNet.Util.EntryAssemblyInfo.AssemblyVersion">
|
---|
| 423 | <summary>
|
---|
| 424 | Convienence method to provide information from the AssembleInfo
|
---|
| 425 | <code>
|
---|
| 426 | [assembly: AssemblyVersion("2.0.0.0")]
|
---|
| 427 | </code>
|
---|
| 428 | </summary>
|
---|
| 429 | </member>
|
---|
| 430 | <member name="P:IndianHealthService.BMXNet.Util.EntryAssemblyInfo.AssemblyDescription">
|
---|
| 431 | <summary>
|
---|
| 432 | Convienence method to provide information from the AssembleInfo
|
---|
| 433 | <code>
|
---|
| 434 | [assembly: AssemblyDescription("A test application")]
|
---|
| 435 | </code>
|
---|
| 436 | </summary>
|
---|
| 437 | </member>
|
---|
| 438 | <member name="P:IndianHealthService.BMXNet.Util.EntryAssemblyInfo.AssemblyProduct">
|
---|
| 439 | <summary>
|
---|
| 440 | Convienence method to provide information from the AssembleInfo
|
---|
| 441 | <code>
|
---|
| 442 | [assembly: AssemblyProduct("IndianHealthService.BMXNet.Test")]
|
---|
| 443 | </code>
|
---|
| 444 | </summary>
|
---|
| 445 | </member>
|
---|
| 446 | <member name="P:IndianHealthService.BMXNet.Util.EntryAssemblyInfo.AssemblyCopyright">
|
---|
| 447 | <summary>
|
---|
| 448 | Convienence method to provide information from the AssembleInfo
|
---|
| 449 | <code>
|
---|
| 450 | [assembly: AssemblyCopyright("IHS 2009")]
|
---|
| 451 | </code>
|
---|
| 452 | </summary>
|
---|
| 453 | </member>
|
---|
| 454 | <member name="P:IndianHealthService.BMXNet.Util.EntryAssemblyInfo.AssemblyCompany">
|
---|
| 455 | <summary>
|
---|
| 456 | Convienence method to provide information from the AssembleInfo
|
---|
| 457 | <code>
|
---|
| 458 | [assembly: AssemblyCompany("IHS")]
|
---|
| 459 | </code>
|
---|
| 460 | </summary>
|
---|
| 461 | </member>
|
---|
| 462 | <member name="T:IndianHealthService.BMXNet.RemoteSession">
|
---|
| 463 | <summary>
|
---|
| 464 | All server-side RPMS RPC calls are performed through this interface. Each instance of RemoteSession corresponds to a single job (e.g. Cache process) on RPMS. There is always one primary RemoteSession and potentially more when using RemoteSessionPool. When the primary RemoteSession is closed all secondary pooled sessions are also closed and the server broker connection is terminated.
|
---|
| 465 | </summary>
|
---|
| 466 | </member>
|
---|
| 467 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TransmitRPC(System.String,System.String)">
|
---|
| 468 | <summary>
|
---|
| 469 | Calls a remote procedure on the RPMS server and returns the result as a String.
|
---|
| 470 | </summary>
|
---|
| 471 | <remarks>
|
---|
| 472 | Presumes that the AppContext was set prior to the call.
|
---|
| 473 | </remarks>
|
---|
| 474 | <example>
|
---|
| 475 | <code>
|
---|
| 476 | ...
|
---|
| 477 | this.RemoteSession.AppContext="VEN RPC";
|
---|
| 478 | ...
|
---|
| 479 | String asqThreadholds= this.RemoteSession.TransmitRPC("VEN ASQ GET DATA", this.Context.Patient.Ien);
|
---|
| 480 | </code>
|
---|
| 481 | </example>
|
---|
| 482 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 483 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 484 | <returns>The result of the RPC call</returns>
|
---|
| 485 | </member>
|
---|
| 486 | <!-- Badly formed XML comment ignored for member "M:IndianHealthService.BMXNet.RemoteSession.TransmitRPC(System.String,System.String,System.String)" -->
|
---|
| 487 | <member name="M:IndianHealthService.BMXNet.RemoteSession.SafelyTransmitRPC(System.String,System.String)">
|
---|
| 488 | <summary>
|
---|
| 489 | Calls a remote procedure on the RPMS server and returns the result as a String. If there are any exceptions a
|
---|
| 490 | colon delimited string in the format Exception:Message is returned.
|
---|
| 491 | </summary>
|
---|
| 492 | <remarks>
|
---|
| 493 | Presumes that the AppContext was set prior to the call.
|
---|
| 494 | </remarks>
|
---|
| 495 | <example>
|
---|
| 496 | <code>
|
---|
| 497 | ...
|
---|
| 498 | this.RemoteSession.AppContext="VEN RPC";
|
---|
| 499 | ...
|
---|
| 500 | String asqThreadholds= this.RemoteSession.SafelyTransmitRPC("VEN ASQ GET DATA", this.Context.Patient.Ien);
|
---|
| 501 | </code>
|
---|
| 502 | </example>
|
---|
| 503 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 504 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 505 | <returns>The result of the RPC call. If there are any exceptions a colon delimited string in the format Exception:Message is returned.</returns>
|
---|
| 506 | </member>
|
---|
| 507 | <member name="M:IndianHealthService.BMXNet.RemoteSession.SafelyTransmitRPC(System.String,System.String,System.String)">
|
---|
| 508 | <summary>
|
---|
| 509 | Calls a remote procedure on the RPMS server and returns the result as a String. If there are any exceptions a
|
---|
| 510 | colon delimited string in the format Exception:Message is returned.
|
---|
| 511 | </summary>
|
---|
| 512 | <remarks>
|
---|
| 513 | Presumes that the AppContext was set prior to the call.
|
---|
| 514 | </remarks>
|
---|
| 515 | <example>
|
---|
| 516 | <code>
|
---|
| 517 | ...
|
---|
| 518 | this.RemoteSession.AppContext="VEN RPC";
|
---|
| 519 | ...
|
---|
| 520 | String asqThreadholds= this.RemoteSession.SafelyTransmitRPC("VEN ASQ GET DATA", this.Context.Patient.Ien);
|
---|
| 521 | </code>
|
---|
| 522 | </example>
|
---|
| 523 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 524 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 525 | <param name="aContext">The AppContext (OPTION) to be set prior to the call(</param>
|
---|
| 526 | <returns>The result of the RPC call. If there are any exceptions a colon delimited string in the format Exception:Message is returned.</returns>
|
---|
| 527 | </member>
|
---|
| 528 | <member name="M:IndianHealthService.BMXNet.RemoteSession.SaveChanges(System.Data.DataTable)">
|
---|
| 529 | <summary>
|
---|
| 530 |
|
---|
| 531 | <example>
|
---|
| 532 |
|
---|
| 533 | <code>
|
---|
| 534 |
|
---|
| 535 | this.Context.Visit.Create();
|
---|
| 536 | if (this.Context.Visit.IsStub)
|
---|
| 537 | {
|
---|
| 538 | if (!this.Context.Visit.Create())
|
---|
| 539 | {
|
---|
| 540 | return false;
|
---|
| 541 | }
|
---|
| 542 | }
|
---|
| 543 | this.RemoteSession.SaveChanges(this.ScoreTable);
|
---|
| 544 | </code>
|
---|
| 545 | </example>
|
---|
| 546 | </summary>
|
---|
| 547 | <param name="aDataTable"></param>
|
---|
| 548 | <returns></returns>
|
---|
| 549 | </member>
|
---|
| 550 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromCommand(System.String)">
|
---|
| 551 | <summary>
|
---|
| 552 | Calling a Custom Remote Procedure call (RPC) registered in VA FileMan’s REMOTE PROCEDURE file that results in a DataTable. You must design your remote procedure’s M routine to build its result its data in the specific format described later in this document.
|
---|
| 553 | </summary>
|
---|
| 554 | <param name="aCommand">The co /// </param>
|
---|
| 555 | <remarks>
|
---|
| 556 | Normally the AppContext is set once, after logging into the BMX, with a
|
---|
| 557 | single AppContext for the current applications or specified in every RPC call.
|
---|
| 558 | </remarks>
|
---|
| 559 | <example>
|
---|
| 560 | The VEN namespace is for PCC+ and the example below would be used at the beginning
|
---|
| 561 | of a PCC+ application.
|
---|
| 562 | <code>
|
---|
| 563 | aRemoteSession.AppContext = "VEN RPC";
|
---|
| 564 | </code>
|
---|
| 565 | The M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 566 | <code>
|
---|
| 567 | Figure 5 2 shows the M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 568 | PDEMO(BMXY,BMXPAT,BMXCOUNT) ;EP
|
---|
| 569 | ;This simple RPC demonstrates how to format data
|
---|
| 570 | ;for the BMXNet ADO.NET data provider
|
---|
| 571 | ;
|
---|
| 572 | ;Returns a maximum of BMXCOUNT records from the
|
---|
| 573 | ;VA PATIENT file whose names begin with BMXPAT
|
---|
| 574 | ;
|
---|
| 575 | N BMXI,BMXD,BMXC,BMXNODE,BMXDOB
|
---|
| 576 | ;
|
---|
| 577 | ; BMXY is passed in by reference. Set it to
|
---|
| 578 | ;the value of the variable in which we will return our data:
|
---|
| 579 | S BMXY="^TMP(BMX,"_$J_")"
|
---|
| 580 | ;
|
---|
| 581 | ;The first subnode of the data global contains the column header information
|
---|
| 582 | ;in the form "txxxxxCOLUMN1NAME^txxxxxCOLUMN2NAME"_$C(30)
|
---|
| 583 | ;where t is the column data type:
|
---|
| 584 | ; T for text
|
---|
| 585 | ; I for integer
|
---|
| 586 | ; N for floating point number
|
---|
| 587 | ; D for date/time.
|
---|
| 588 | ;xxxxx is the length of the column in characters.
|
---|
| 589 | ;
|
---|
| 590 | S BMXI=0,BMXC=0
|
---|
| 591 | S ^ TMP(BMX,$J,BMXI)="T00030NAME^T00010SEX^D00020DOB"_$C(30)
|
---|
| 592 | ;
|
---|
| 593 | ;You MUST set an error trap:
|
---|
| 594 | S X="PDERR^BMXRPC6",@^%ZOSF("TRAP")
|
---|
| 595 | ;
|
---|
| 596 | ;Strip CR, LF, TAB from BMXCOUNT parameter
|
---|
| 597 | S BMXCOUNT=$TR(BMXCOUNT,$C(13),"")
|
---|
| 598 | S BMXCOUNT=$TR(BMXCOUNT,$C(10),"")
|
---|
| 599 | S BMXCOUNT=$TR(BMXCOUNT,$C(9),"")
|
---|
| 600 | ;
|
---|
| 601 | ;Iterate through the global and set the data nodes:
|
---|
| 602 | S:BMXPAT="" BMXPAT="A"
|
---|
| 603 | S BMXPAT=$O(^DPT("B",BMXPAT),-1)
|
---|
| 604 | S BMXD=0
|
---|
| 605 | F S BMXPAT=$O(^DPT("B",BMXPAT)) Q:BMXPAT="" S BMXD=$O(^DPT("B",BMXPAT,0)) I +BMXD S BMXC=BMXC+1 Q:(BMXCOUNT)BMXC BMXCOUNT) D
|
---|
| 606 | . Q:'$D(^DPT(BMXD,0))
|
---|
| 607 | . S BMXI=BMXI+1
|
---|
| 608 | . S BMXNODE=^DPT(BMXD,0)
|
---|
| 609 | . ;Convert the DOB from FM date to external form
|
---|
| 610 | . S Y=$P(BMXNODE,U,3)
|
---|
| 611 | . I +Y X ^DD("DD")
|
---|
| 612 | . S BMXDOB=Y
|
---|
| 613 | . ;The data node fields are in the same order as the column header, i.e. NAME^SEX^DOB
|
---|
| 614 | . ;and terminated with a $C(30)
|
---|
| 615 | . S ^ TMP(BMX,$J,BMXI)=$P(BMXNODE,U)_U_$P(BMXNODE,U,2)_U_BMXDOB_$C(30)
|
---|
| 616 | ;
|
---|
| 617 | ;After all the data nodes have been set, set the final node to $C(31) to indicate
|
---|
| 618 | ;the end of the recordset
|
---|
| 619 | S BMXI=BMXI+1
|
---|
| 620 | S ^ TMP(BMX,$J,BMXI)=$C(31)
|
---|
| 621 | Q
|
---|
| 622 | ;
|
---|
| 623 | PDERR ;Error trap for PDEMO
|
---|
| 624 | ;
|
---|
| 625 | S ^ TMP(BMX,$J,BMXI+1)=$C(31)
|
---|
| 626 | Q
|
---|
| 627 | </code>
|
---|
| 628 | Register as an RPC
|
---|
| 629 | <para>
|
---|
| 630 | NAME: BMX DEMO TAG: PDEMO
|
---|
| 631 | ROUTINE: BMXRPC6 RETURN VALUE TYPE: GLOBAL ARRAY
|
---|
| 632 | </para>
|
---|
| 633 | Call using a RemoteSession
|
---|
| 634 | <code>
|
---|
| 635 | DataTable demoTable=aRemoteSession.TableFromCommand("BMX DEMO^S^10");
|
---|
| 636 | </code>
|
---|
| 637 | </example>
|
---|
| 638 | <param name="aCommand">The name of the RPC </param>
|
---|
| 639 | <returns>The resulting DataTable</returns>
|
---|
| 640 | </member>
|
---|
| 641 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromCommand(System.String,System.String)">
|
---|
| 642 | <summary>
|
---|
| 643 | Calling a Custom Remote Procedure call (RPC) registered in VA FileMan’s REMOTE PROCEDURE file that results in a DataTable. You must design your remote procedure’s M routine to build its result its data in the specific format described later in this document.
|
---|
| 644 | </summary>
|
---|
| 645 | <param name="aCommand">The co /// </param>
|
---|
| 646 | <remarks>
|
---|
| 647 | Normally the AppContext is set once, after logging into the BMX, with a
|
---|
| 648 | single AppContext for the current applications or specified in every RPC call.
|
---|
| 649 | </remarks>
|
---|
| 650 | <example>
|
---|
| 651 | The VEN namespace is for PCC+ and the example below would be used at the beginning
|
---|
| 652 | of a PCC+ application.
|
---|
| 653 | <code>
|
---|
| 654 | aRemoteSession.AppContext = "VEN RPC";
|
---|
| 655 | </code>
|
---|
| 656 | The M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 657 | <code>
|
---|
| 658 | Figure 5 2 shows the M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 659 | PDEMO(BMXY,BMXPAT,BMXCOUNT) ;EP
|
---|
| 660 | ;This simple RPC demonstrates how to format data
|
---|
| 661 | ;for the BMXNet ADO.NET data provider
|
---|
| 662 | ;
|
---|
| 663 | ;Returns a maximum of BMXCOUNT records from the
|
---|
| 664 | ;VA PATIENT file whose names begin with BMXPAT
|
---|
| 665 | ;
|
---|
| 666 | N BMXI,BMXD,BMXC,BMXNODE,BMXDOB
|
---|
| 667 | ;
|
---|
| 668 | ; BMXY is passed in by reference. Set it to
|
---|
| 669 | ;the value of the variable in which we will return our data:
|
---|
| 670 | S BMXY="^TMP(BMX,"_$J_")"
|
---|
| 671 | ;
|
---|
| 672 | ;The first subnode of the data global contains the column header information
|
---|
| 673 | ;in the form "txxxxxCOLUMN1NAME^txxxxxCOLUMN2NAME"_$C(30)
|
---|
| 674 | ;where t is the column data type:
|
---|
| 675 | ; T for text
|
---|
| 676 | ; I for integer
|
---|
| 677 | ; N for floating point number
|
---|
| 678 | ; D for date/time.
|
---|
| 679 | ;xxxxx is the length of the column in characters.
|
---|
| 680 | ;
|
---|
| 681 | S BMXI=0,BMXC=0
|
---|
| 682 | S ^ TMP(BMX,$J,BMXI)="T00030NAME^T00010SEX^D00020DOB"_$C(30)
|
---|
| 683 | ;
|
---|
| 684 | ;You MUST set an error trap:
|
---|
| 685 | S X="PDERR^BMXRPC6",@^%ZOSF("TRAP")
|
---|
| 686 | ;
|
---|
| 687 | ;Strip CR, LF, TAB from BMXCOUNT parameter
|
---|
| 688 | S BMXCOUNT=$TR(BMXCOUNT,$C(13),"")
|
---|
| 689 | S BMXCOUNT=$TR(BMXCOUNT,$C(10),"")
|
---|
| 690 | S BMXCOUNT=$TR(BMXCOUNT,$C(9),"")
|
---|
| 691 | ;
|
---|
| 692 | ;Iterate through the global and set the data nodes:
|
---|
| 693 | S:BMXPAT="" BMXPAT="A"
|
---|
| 694 | S BMXPAT=$O(^DPT("B",BMXPAT),-1)
|
---|
| 695 | S BMXD=0
|
---|
| 696 | F S BMXPAT=$O(^DPT("B",BMXPAT)) Q:BMXPAT="" S BMXD=$O(^DPT("B",BMXPAT,0)) I +BMXD S BMXC=BMXC+1 Q:(BMXCOUNT)BMXC BMXCOUNT) D
|
---|
| 697 | . Q:'$D(^DPT(BMXD,0))
|
---|
| 698 | . S BMXI=BMXI+1
|
---|
| 699 | . S BMXNODE=^DPT(BMXD,0)
|
---|
| 700 | . ;Convert the DOB from FM date to external form
|
---|
| 701 | . S Y=$P(BMXNODE,U,3)
|
---|
| 702 | . I +Y X ^DD("DD")
|
---|
| 703 | . S BMXDOB=Y
|
---|
| 704 | . ;The data node fields are in the same order as the column header, i.e. NAME^SEX^DOB
|
---|
| 705 | . ;and terminated with a $C(30)
|
---|
| 706 | . S ^ TMP(BMX,$J,BMXI)=$P(BMXNODE,U)_U_$P(BMXNODE,U,2)_U_BMXDOB_$C(30)
|
---|
| 707 | ;
|
---|
| 708 | ;After all the data nodes have been set, set the final node to $C(31) to indicate
|
---|
| 709 | ;the end of the recordset
|
---|
| 710 | S BMXI=BMXI+1
|
---|
| 711 | S ^ TMP(BMX,$J,BMXI)=$C(31)
|
---|
| 712 | Q
|
---|
| 713 | ;
|
---|
| 714 | PDERR ;Error trap for PDEMO
|
---|
| 715 | ;
|
---|
| 716 | S ^ TMP(BMX,$J,BMXI+1)=$C(31)
|
---|
| 717 | Q
|
---|
| 718 | </code>
|
---|
| 719 | Register as an RPC
|
---|
| 720 | <para>
|
---|
| 721 | NAME: BMX DEMO TAG: PDEMO
|
---|
| 722 | ROUTINE: BMXRPC6 RETURN VALUE TYPE: GLOBAL ARRAY
|
---|
| 723 | </para>
|
---|
| 724 | Call using a RemoteSession
|
---|
| 725 | <code>
|
---|
| 726 | DataTable demoTable=aRemoteSession.TableFromCommand("BMX DEMO^S^10");
|
---|
| 727 | </code>
|
---|
| 728 | </example>
|
---|
| 729 | <param name="aCommand">The name of the RPC </param>
|
---|
| 730 | <param name="aContext">The AppContext to set prior to the call</param>
|
---|
| 731 | <returns>The resulting DataTable</returns>
|
---|
| 732 | </member>
|
---|
| 733 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromCommand(System.String,System.Data.DataSet,System.String)">
|
---|
| 734 | <summary>
|
---|
| 735 | Calling a Custom Remote Procedure call (RPC) registered in VA FileMan’s REMOTE PROCEDURE file that results in a DataTable. You must design your remote procedure’s M routine to build its result its data in the specific format described later in this document.
|
---|
| 736 | </summary>
|
---|
| 737 | <param name="aCommand">The co /// </param>
|
---|
| 738 | <remarks>
|
---|
| 739 | Normally the AppContext is set once, after logging into the BMX, with a
|
---|
| 740 | single AppContext for the current applications or specified in every RPC call.
|
---|
| 741 | </remarks>
|
---|
| 742 | <example>
|
---|
| 743 | The VEN namespace is for PCC+ and the example below would be used at the beginning
|
---|
| 744 | of a PCC+ application.
|
---|
| 745 | <code>
|
---|
| 746 | aRemoteSession.AppContext = "VEN RPC";
|
---|
| 747 | </code>
|
---|
| 748 | The M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 749 | <code>
|
---|
| 750 | Figure 5 2 shows the M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 751 | PDEMO(BMXY,BMXPAT,BMXCOUNT) ;EP
|
---|
| 752 | ;This simple RPC demonstrates how to format data
|
---|
| 753 | ;for the BMXNet ADO.NET data provider
|
---|
| 754 | ;
|
---|
| 755 | ;Returns a maximum of BMXCOUNT records from the
|
---|
| 756 | ;VA PATIENT file whose names begin with BMXPAT
|
---|
| 757 | ;
|
---|
| 758 | N BMXI,BMXD,BMXC,BMXNODE,BMXDOB
|
---|
| 759 | ;
|
---|
| 760 | ; BMXY is passed in by reference. Set it to
|
---|
| 761 | ;the value of the variable in which we will return our data:
|
---|
| 762 | S BMXY="^TMP(BMX,"_$J_")"
|
---|
| 763 | ;
|
---|
| 764 | ;The first subnode of the data global contains the column header information
|
---|
| 765 | ;in the form "txxxxxCOLUMN1NAME^txxxxxCOLUMN2NAME"_$C(30)
|
---|
| 766 | ;where t is the column data type:
|
---|
| 767 | ; T for text
|
---|
| 768 | ; I for integer
|
---|
| 769 | ; N for floating point number
|
---|
| 770 | ; D for date/time.
|
---|
| 771 | ;xxxxx is the length of the column in characters.
|
---|
| 772 | ;
|
---|
| 773 | S BMXI=0,BMXC=0
|
---|
| 774 | S ^ TMP(BMX,$J,BMXI)="T00030NAME^T00010SEX^D00020DOB"_$C(30)
|
---|
| 775 | ;
|
---|
| 776 | ;You MUST set an error trap:
|
---|
| 777 | S X="PDERR^BMXRPC6",@^%ZOSF("TRAP")
|
---|
| 778 | ;
|
---|
| 779 | ;Strip CR, LF, TAB from BMXCOUNT parameter
|
---|
| 780 | S BMXCOUNT=$TR(BMXCOUNT,$C(13),"")
|
---|
| 781 | S BMXCOUNT=$TR(BMXCOUNT,$C(10),"")
|
---|
| 782 | S BMXCOUNT=$TR(BMXCOUNT,$C(9),"")
|
---|
| 783 | ;
|
---|
| 784 | ;Iterate through the global and set the data nodes:
|
---|
| 785 | S:BMXPAT="" BMXPAT="A"
|
---|
| 786 | S BMXPAT=$O(^DPT("B",BMXPAT),-1)
|
---|
| 787 | S BMXD=0
|
---|
| 788 | F S BMXPAT=$O(^DPT("B",BMXPAT)) Q:BMXPAT="" S BMXD=$O(^DPT("B",BMXPAT,0)) I +BMXD S BMXC=BMXC+1 Q:(BMXCOUNT)BMXC BMXCOUNT) D
|
---|
| 789 | . Q:'$D(^DPT(BMXD,0))
|
---|
| 790 | . S BMXI=BMXI+1
|
---|
| 791 | . S BMXNODE=^DPT(BMXD,0)
|
---|
| 792 | . ;Convert the DOB from FM date to external form
|
---|
| 793 | . S Y=$P(BMXNODE,U,3)
|
---|
| 794 | . I +Y X ^DD("DD")
|
---|
| 795 | . S BMXDOB=Y
|
---|
| 796 | . ;The data node fields are in the same order as the column header, i.e. NAME^SEX^DOB
|
---|
| 797 | . ;and terminated with a $C(30)
|
---|
| 798 | . S ^ TMP(BMX,$J,BMXI)=$P(BMXNODE,U)_U_$P(BMXNODE,U,2)_U_BMXDOB_$C(30)
|
---|
| 799 | ;
|
---|
| 800 | ;After all the data nodes have been set, set the final node to $C(31) to indicate
|
---|
| 801 | ;the end of the recordset
|
---|
| 802 | S BMXI=BMXI+1
|
---|
| 803 | S ^ TMP(BMX,$J,BMXI)=$C(31)
|
---|
| 804 | Q
|
---|
| 805 | ;
|
---|
| 806 | PDERR ;Error trap for PDEMO
|
---|
| 807 | ;
|
---|
| 808 | S ^ TMP(BMX,$J,BMXI+1)=$C(31)
|
---|
| 809 | Q
|
---|
| 810 | </code>
|
---|
| 811 | Register as an RPC
|
---|
| 812 | <para>
|
---|
| 813 | NAME: BMX DEMO TAG: PDEMO
|
---|
| 814 | ROUTINE: BMXRPC6 RETURN VALUE TYPE: GLOBAL ARRAY
|
---|
| 815 | </para>
|
---|
| 816 | Call using a RemoteSession
|
---|
| 817 | <code>
|
---|
| 818 | DataTable demoTable=aRemoteSession.TableFromCommand("BMX DEMO^S^10");
|
---|
| 819 | </code>
|
---|
| 820 | </example>
|
---|
| 821 | <param name="aCommand">The name of the RPC </param>
|
---|
| 822 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 823 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 824 | <returns>The resulting DataTable</returns>
|
---|
| 825 | </member>
|
---|
| 826 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromCommand(System.String,System.Data.DataSet,System.String,System.String)">
|
---|
| 827 | <summary>
|
---|
| 828 | Calling a Custom Remote Procedure call (RPC) registered in VA FileMan’s REMOTE PROCEDURE file that results in a DataTable. You must design your remote procedure’s M routine to build its result its data in the specific format described later in this document.
|
---|
| 829 | </summary>
|
---|
| 830 | <param name="aCommand">The co /// </param>
|
---|
| 831 | <remarks>
|
---|
| 832 | Normally the AppContext is set once, after logging into the BMX, with a
|
---|
| 833 | single AppContext for the current applications or specified in every RPC call.
|
---|
| 834 | </remarks>
|
---|
| 835 | <example>
|
---|
| 836 | The VEN namespace is for PCC+ and the example below would be used at the beginning
|
---|
| 837 | of a PCC+ application.
|
---|
| 838 | <code>
|
---|
| 839 | aRemoteSession.AppContext = "VEN RPC";
|
---|
| 840 | </code>
|
---|
| 841 | The M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 842 | <code>
|
---|
| 843 | Figure 5 2 shows the M code for a simple remote procedure call (BMX PATIENT DEMO) with two parameters to return a list of patients. See the following example. Note the inclusion of an error trap in the routine; BMXNet RPC routines must contain a functional error trap.
|
---|
| 844 | PDEMO(BMXY,BMXPAT,BMXCOUNT) ;EP
|
---|
| 845 | ;This simple RPC demonstrates how to format data
|
---|
| 846 | ;for the BMXNet ADO.NET data provider
|
---|
| 847 | ;
|
---|
| 848 | ;Returns a maximum of BMXCOUNT records from the
|
---|
| 849 | ;VA PATIENT file whose names begin with BMXPAT
|
---|
| 850 | ;
|
---|
| 851 | N BMXI,BMXD,BMXC,BMXNODE,BMXDOB
|
---|
| 852 | ;
|
---|
| 853 | ; BMXY is passed in by reference. Set it to
|
---|
| 854 | ;the value of the variable in which we will return our data:
|
---|
| 855 | S BMXY="^TMP(BMX,"_$J_")"
|
---|
| 856 | ;
|
---|
| 857 | ;The first subnode of the data global contains the column header information
|
---|
| 858 | ;in the form "txxxxxCOLUMN1NAME^txxxxxCOLUMN2NAME"_$C(30)
|
---|
| 859 | ;where t is the column data type:
|
---|
| 860 | ; T for text
|
---|
| 861 | ; I for integer
|
---|
| 862 | ; N for floating point number
|
---|
| 863 | ; D for date/time.
|
---|
| 864 | ;xxxxx is the length of the column in characters.
|
---|
| 865 | ;
|
---|
| 866 | S BMXI=0,BMXC=0
|
---|
| 867 | S ^ TMP(BMX,$J,BMXI)="T00030NAME^T00010SEX^D00020DOB"_$C(30)
|
---|
| 868 | ;
|
---|
| 869 | ;You MUST set an error trap:
|
---|
| 870 | S X="PDERR^BMXRPC6",@^%ZOSF("TRAP")
|
---|
| 871 | ;
|
---|
| 872 | ;Strip CR, LF, TAB from BMXCOUNT parameter
|
---|
| 873 | S BMXCOUNT=$TR(BMXCOUNT,$C(13),"")
|
---|
| 874 | S BMXCOUNT=$TR(BMXCOUNT,$C(10),"")
|
---|
| 875 | S BMXCOUNT=$TR(BMXCOUNT,$C(9),"")
|
---|
| 876 | ;
|
---|
| 877 | ;Iterate through the global and set the data nodes:
|
---|
| 878 | S:BMXPAT="" BMXPAT="A"
|
---|
| 879 | S BMXPAT=$O(^DPT("B",BMXPAT),-1)
|
---|
| 880 | S BMXD=0
|
---|
| 881 | F S BMXPAT=$O(^DPT("B",BMXPAT)) Q:BMXPAT="" S BMXD=$O(^DPT("B",BMXPAT,0)) I +BMXD S BMXC=BMXC+1 Q:(BMXCOUNT)BMXC BMXCOUNT) D
|
---|
| 882 | . Q:'$D(^DPT(BMXD,0))
|
---|
| 883 | . S BMXI=BMXI+1
|
---|
| 884 | . S BMXNODE=^DPT(BMXD,0)
|
---|
| 885 | . ;Convert the DOB from FM date to external form
|
---|
| 886 | . S Y=$P(BMXNODE,U,3)
|
---|
| 887 | . I +Y X ^DD("DD")
|
---|
| 888 | . S BMXDOB=Y
|
---|
| 889 | . ;The data node fields are in the same order as the column header, i.e. NAME^SEX^DOB
|
---|
| 890 | . ;and terminated with a $C(30)
|
---|
| 891 | . S ^ TMP(BMX,$J,BMXI)=$P(BMXNODE,U)_U_$P(BMXNODE,U,2)_U_BMXDOB_$C(30)
|
---|
| 892 | ;
|
---|
| 893 | ;After all the data nodes have been set, set the final node to $C(31) to indicate
|
---|
| 894 | ;the end of the recordset
|
---|
| 895 | S BMXI=BMXI+1
|
---|
| 896 | S ^ TMP(BMX,$J,BMXI)=$C(31)
|
---|
| 897 | Q
|
---|
| 898 | ;
|
---|
| 899 | PDERR ;Error trap for PDEMO
|
---|
| 900 | ;
|
---|
| 901 | S ^ TMP(BMX,$J,BMXI+1)=$C(31)
|
---|
| 902 | Q
|
---|
| 903 | </code>
|
---|
| 904 | Register as an RPC
|
---|
| 905 | <para>
|
---|
| 906 | NAME: BMX DEMO TAG: PDEMO
|
---|
| 907 | ROUTINE: BMXRPC6 RETURN VALUE TYPE: GLOBAL ARRAY
|
---|
| 908 | </para>
|
---|
| 909 | Call using a RemoteSession
|
---|
| 910 | <code>
|
---|
| 911 | DataTable demoTable=aRemoteSession.TableFromCommand("BMX DEMO^S^10");
|
---|
| 912 | </code>
|
---|
| 913 | </example>
|
---|
| 914 | <param name="aCommand">The name of the RPC </param>
|
---|
| 915 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 916 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 917 | <param name="aContext">The AppContext to set prior to the call</param>
|
---|
| 918 | <returns>The resulting DataTable</returns>
|
---|
| 919 | </member>
|
---|
| 920 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromSQL(System.String,System.Data.DataSet,System.String,System.String)">
|
---|
| 921 | <summary>
|
---|
| 922 | SELECT VA_PATIENT.NAME, VA_PATIENT.SSN, PATIENT.CURRENT_COMMUNITY FROM VA_PATIENT, PATIENT WHERE VA_PATIENT.BMXIEN =* INTERNAL[PATIENT.NAME] AND VA_PATIENT.NAME LIKE 'DEMO%' AND VA_PATIENT.AGE BETWEEN 15 AND 24 SHOWPLAN
|
---|
| 923 | </summary>
|
---|
| 924 | <param name="anSqlStatement"></param>
|
---|
| 925 | <param name="aDataSet"></param>
|
---|
| 926 | <param name="aTableName"></param>
|
---|
| 927 | <param name="aContext"></param>
|
---|
| 928 | <returns></returns>
|
---|
| 929 | </member>
|
---|
| 930 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromRPC(System.String,System.String)">
|
---|
| 931 | <summary>
|
---|
| 932 | TabletFromRpc is a double-dispatch method that is used by some developers. Developers create an RPC
|
---|
| 933 | call the returns a properly format BMX command (custom or BMX SS ADO) that is then transmitted back to RPMS to retrieve the Data Table.
|
---|
| 934 | </summary>
|
---|
| 935 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 936 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 937 | <returns>The resulting DataTable</returns>
|
---|
| 938 | </member>
|
---|
| 939 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromRPC(System.String,System.String,System.String)">
|
---|
| 940 | <summary>
|
---|
| 941 | TabletFromRpc is a double-dispatch method that is used by some developers. Developers create an RPC
|
---|
| 942 | call the returns a properly format BMX command (custom or BMX SS ADO) that is then transmitted back to RPMS to retrieve the Data Table.
|
---|
| 943 | </summary>
|
---|
| 944 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 945 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 946 | <param name="aContext">The AppContext to set prior to the call</param>
|
---|
| 947 | <returns>The resulting DataTable</returns>
|
---|
| 948 | </member>
|
---|
| 949 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromRPC(System.String,System.String,System.Data.DataSet,System.String)">
|
---|
| 950 | <summary>
|
---|
| 951 | TabletFromRpc is a double-dispatch method that is used by some developers. Developers create an RPC
|
---|
| 952 | call the returns a properly format BMX command (custom or BMX SS ADO) that is then transmitted back to RPMS to retrieve the Data Table.
|
---|
| 953 | </summary>
|
---|
| 954 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 955 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 956 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 957 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 958 | <returns>The resulting DataTable</returns>
|
---|
| 959 | </member>
|
---|
| 960 | <member name="M:IndianHealthService.BMXNet.RemoteSession.TableFromRPC(System.String,System.String,System.Data.DataSet,System.String,System.String)">
|
---|
| 961 | <summary>
|
---|
| 962 | TabletFromRpc is a double-dispatch method that is used by some developers. Developers create an RPC
|
---|
| 963 | call the returns a properly format BMX command (custom or BMX SS ADO) that is then transmitted back to RPMS to retrieve the Data Table.
|
---|
| 964 | </summary>
|
---|
| 965 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 966 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 967 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 968 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 969 | <param name="aContext">The AppContext to set prior to the call</param>
|
---|
| 970 | <returns>The resulting DataTable</returns>
|
---|
| 971 | </member>
|
---|
| 972 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromCommand(System.String)">
|
---|
| 973 | <summary>
|
---|
| 974 | Same as the corresponding TableFromCommand call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 975 | </summary>
|
---|
| 976 | <param name="aCommand">The name of the RPC </param>
|
---|
| 977 | <returns>A DataTableFuture</returns>
|
---|
| 978 | </member>
|
---|
| 979 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromCommand(System.String,System.String)">
|
---|
| 980 | <summary>
|
---|
| 981 | Same as the corresponding TableFromCommand call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 982 | </summary>
|
---|
| 983 | <param name="aCommand">The name of the RPC </param>
|
---|
| 984 | <param name="aContext">The AppContext to set prior to the call</param>
|
---|
| 985 | <returns>A DataTableFuture</returns>
|
---|
| 986 | </member>
|
---|
| 987 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromCommand(System.String,System.Data.DataSet,System.String)">
|
---|
| 988 | <summary>
|
---|
| 989 | Same as the corresponding TableFromCommand call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 990 | </summary>
|
---|
| 991 | <param name="aCommand">The name of the RPC </param>
|
---|
| 992 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 993 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 994 | <returns>A DataTableFuture</returns>
|
---|
| 995 | </member>
|
---|
| 996 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromCommand(System.String,System.Data.DataSet,System.String,System.String)">
|
---|
| 997 | <summary>
|
---|
| 998 | Same as the corresponding TableFromCommand call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 999 | </summary>
|
---|
| 1000 | <param name="aCommand">The name of the RPC </param>
|
---|
| 1001 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 1002 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 1003 | <param name="aContext">The AppContext to set prior to the call</param>
|
---|
| 1004 | <returns>A DataTableFuture</returns>
|
---|
| 1005 | </member>
|
---|
| 1006 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromRPC(System.String,System.String)">
|
---|
| 1007 | <summary>
|
---|
| 1008 | Same as the corresponding TableFromRPC call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 1009 | </summary>
|
---|
| 1010 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 1011 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 1012 | <returns>A DataTableFuture</returns>
|
---|
| 1013 | </member>
|
---|
| 1014 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromRPC(System.String,System.String,System.String)">
|
---|
| 1015 | <summary>
|
---|
| 1016 | Same as the corresponding TableFromRPC call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 1017 | </summary>
|
---|
| 1018 | <param name="rpcCommand"></param>
|
---|
| 1019 | <param name="rpcParameter"></param>
|
---|
| 1020 | <param name="aContext"></param>
|
---|
| 1021 | <returns>A DataTableFuture</returns>
|
---|
| 1022 | </member>
|
---|
| 1023 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromRPC(System.String,System.String,System.Data.DataSet,System.String)">
|
---|
| 1024 | <summary>
|
---|
| 1025 | Same as the corresponding TableFromRPC call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 1026 | </summary>
|
---|
| 1027 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 1028 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 1029 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 1030 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 1031 | <returns>A DataTableFuture</returns>
|
---|
| 1032 | </member>
|
---|
| 1033 | <member name="M:IndianHealthService.BMXNet.RemoteSession.AsyncTableFromRPC(System.String,System.String,System.Data.DataSet,System.String,System.String)">
|
---|
| 1034 | <summary>
|
---|
| 1035 | Same as the corresponding TableFromRPC call except a DataTableFuture is returned. See <see cref="T:IndianHealthService.BMXNet.Ado.DataTableFuture"/> on how to use a 'Future
|
---|
| 1036 | </summary>
|
---|
| 1037 | <param name="rpcCommand">The remote procedure call name </param>
|
---|
| 1038 | <param name="rpcParameter">A carrot ^ delimited string of input parameters</param>
|
---|
| 1039 | <param name="aDataSet">The DataSet to be populated with a resulting DataTable named aTableNAme</param>
|
---|
| 1040 | <param name="aTableName">The name of the DataTable in the DataSet to populate or to create</param>
|
---|
| 1041 | <param name="aContext">The AppContext to set prior to the call</param>
|
---|
| 1042 | <returns>A DataTableFuture</returns>
|
---|
| 1043 | </member>
|
---|
| 1044 | <member name="M:IndianHealthService.BMXNet.RemoteSession.IsBmxAdoCommand(System.String)">
|
---|
| 1045 | <summary>
|
---|
| 1046 | Answer True if aString is a standard BMX ADO SS command that uses the BMX ADO SCHEMA files
|
---|
| 1047 | </summary>
|
---|
| 1048 | <remarks>
|
---|
| 1049 | This is mostly used by the framework but exposed for potential use.
|
---|
| 1050 | </remarks>
|
---|
| 1051 | <param name="aString">The command to be examined</param>
|
---|
| 1052 | <returns>True if it complied, otherwise false</returns>
|
---|
| 1053 | </member>
|
---|
[1180] | 1054 | <member name="M:IndianHealthService.BMXNet.RemoteSession.Lock(System.String,System.String)">
|
---|
| 1055 | <summary>
|
---|
| 1056 | Locks a Name on the Mumps Database
|
---|
| 1057 | </summary>
|
---|
| 1058 | <param name="g/lvnToLock">Global or Local Name to Lock</param>
|
---|
| 1059 | <param name="addOrSubstract">+ or - to increment or decrement the lock</param>
|
---|
| 1060 | <returns>true for success; false for failure</returns>
|
---|
| 1061 | </member>
|
---|
[1146] | 1062 | <member name="M:IndianHealthService.BMXNet.RemoteSession.Close">
|
---|
| 1063 | <summary>
|
---|
| 1064 | When done with session it should be closed. Once closed it is unusable.
|
---|
| 1065 | </summary>
|
---|
| 1066 | <remarks>Internally the session is a lightweight object and when using multiple sessions internal RPMS connections are pooled . Close sessions when finished</remarks>
|
---|
| 1067 | <remarks>Closing the primary session closes all sessions and shuts down the RPMS connection</remarks>
|
---|
| 1068 | </member>
|
---|
| 1069 | <member name="P:IndianHealthService.BMXNet.RemoteSession.HostAddress">
|
---|
| 1070 | <summary>
|
---|
| 1071 | BMX Broker's host address name or IP Address
|
---|
| 1072 | </summary>
|
---|
| 1073 | </member>
|
---|
| 1074 | <member name="P:IndianHealthService.BMXNet.RemoteSession.User">
|
---|
| 1075 | <summary>
|
---|
| 1076 | Authenticated user associated with this remote session
|
---|
| 1077 | </summary>
|
---|
| 1078 | <example>
|
---|
| 1079 | this.StatusLabel.Text="Logged in: "+ aRemoteSession.User.Name;
|
---|
| 1080 | </example>
|
---|
| 1081 | /// <remarks>
|
---|
| 1082 | If there is a remoteSession user, it will be the same as the localSession User object
|
---|
| 1083 | </remarks>
|
---|
| 1084 | </member>
|
---|
| 1085 | <member name="P:IndianHealthService.BMXNet.RemoteSession.AppContext">
|
---|
| 1086 | <summary>
|
---|
| 1087 | The active AppContext (OPTION) of this remote session.
|
---|
| 1088 | </summary>
|
---|
| 1089 | <remarks>
|
---|
| 1090 | Normally the AppContext is set once, after logging into the BMX, with a
|
---|
| 1091 | single AppContext for the current applications. The AppContext can also be set in every RPC call. If the AppContext
|
---|
| 1092 | is the same as the currently set AppContext, the AppContext will not be re-set.
|
---|
| 1093 | </remarks>
|
---|
| 1094 | <example>
|
---|
| 1095 | The VEN namespace is for PCC+ and the example below would be used at the beginning
|
---|
| 1096 | of a PCC+ application.
|
---|
| 1097 | <code>
|
---|
| 1098 | aRemoteSession.AppContext = "VEN RPC";
|
---|
| 1099 | </code>
|
---|
| 1100 | </example>
|
---|
| 1101 | </member>
|
---|
| 1102 | <member name="P:IndianHealthService.BMXNet.RemoteSession.EventServices">
|
---|
| 1103 | <summary>
|
---|
| 1104 | Access the session's RemoteEventServices service provider to configure receiving
|
---|
| 1105 | remote events and to source new events.
|
---|
| 1106 | </summary>
|
---|
| 1107 | </member>
|
---|
| 1108 | <member name="P:IndianHealthService.BMXNet.RemoteSession.Job">
|
---|
| 1109 | <summary>
|
---|
| 1110 | Job number of server-side Cache/MDB process. Very useful for debugging.
|
---|
| 1111 | </summary>
|
---|
| 1112 | </member>
|
---|
| 1113 | <member name="P:IndianHealthService.BMXNet.RemoteSession.DebugLastRpcSignature">
|
---|
| 1114 | <summary>
|
---|
| 1115 | String describing RPC call and input parameters of last non-DataTable RPC call
|
---|
| 1116 | </summary>
|
---|
| 1117 | </member>
|
---|
| 1118 | <member name="P:IndianHealthService.BMXNet.RemoteSession.RpcResult">
|
---|
| 1119 | <summary>
|
---|
| 1120 | String value of last successful non-DataTable RPC call
|
---|
| 1121 | </summary>
|
---|
| 1122 | </member>
|
---|
| 1123 | <member name="P:IndianHealthService.BMXNet.RemoteSession.DebugLastRpcResult">
|
---|
| 1124 | <summary>
|
---|
| 1125 | String value of last successful non-DataTable RPC call
|
---|
| 1126 | </summary>
|
---|
| 1127 | </member>
|
---|
| 1128 | <member name="P:IndianHealthService.BMXNet.RemoteSession.DebugLastTableResult">
|
---|
| 1129 | <summary>
|
---|
| 1130 | Last DataTable retrieved by non-async calls
|
---|
| 1131 | </summary>
|
---|
| 1132 | </member>
|
---|
| 1133 | <member name="P:IndianHealthService.BMXNet.RemoteSession.ReceiveTimeout">
|
---|
| 1134 | <summary>
|
---|
| 1135 | The networking data receive timeout (in milliseconds). This value can be changed if the developer finds it neccessary
|
---|
| 1136 | to extend the time after login.
|
---|
| 1137 | </summary>
|
---|
| 1138 | <remarks>
|
---|
| 1139 | Only applicable for the WinFramework
|
---|
| 1140 | </remarks>
|
---|
| 1141 | </member>
|
---|
| 1142 | <member name="P:IndianHealthService.BMXNet.RemoteSession.SendTimeout">
|
---|
| 1143 | <summary>
|
---|
| 1144 | The networking data send timeout (in milliseconds). This value can be changed if the developer finds it neccessary
|
---|
| 1145 | to extend the time after login but normally the send timeout should be kept short unless network conditions are poor.
|
---|
| 1146 | </summary>
|
---|
| 1147 | <remarks>
|
---|
| 1148 | Only applicable for the WinFramework
|
---|
| 1149 | </remarks>
|
---|
| 1150 | </member>
|
---|
| 1151 | <member name="P:IndianHealthService.BMXNet.RemoteSession.IsPrimary">
|
---|
| 1152 | <summary>
|
---|
| 1153 | The primary session has the unique in that it holds the authenication privileges for all sessions. If you close the primary session, then all will close.
|
---|
| 1154 | </summary>
|
---|
| 1155 | </member>
|
---|
| 1156 | <member name="T:IndianHealthService.BMXNet.Model.Division">
|
---|
| 1157 | <summary>
|
---|
| 1158 | This object represents the RPMS Division.
|
---|
| 1159 | </summary>
|
---|
| 1160 | <remarks>
|
---|
| 1161 | All BMX Broker connections must have an estalibshed Division</remarks>
|
---|
| 1162 | </member>
|
---|
| 1163 | <member name="T:IndianHealthService.BMXNet.RemoteEventService">
|
---|
| 1164 | <summary>
|
---|
| 1165 | All async communications with RPMS is performed through the RemoteEventService which
|
---|
| 1166 | is found by calling aRemoteSession.EventServices.
|
---|
| 1167 | </summary>
|
---|
| 1168 | <remarks>
|
---|
| 1169 | <list>
|
---|
| 1170 | <para>By default remote events are asynchronous and are not on the UI thread. The development
|
---|
| 1171 | must handed the events propertly and if interacting with a user interface control must use
|
---|
| 1172 | Invoke(). As a convinenence, InvokedControl can be set to any non-disposed Control and the
|
---|
| 1173 | event service is use Invoke() so that the event is triggered on the UI thread</para>
|
---|
| 1174 | <para>The Event timer, IsEventPollingEnabled and EventPollingInterval, is used by the Async RPC calls
|
---|
| 1175 | and is automattically turned on with IsEventPollingEnabled. If the developer turns on polling or
|
---|
| 1176 | changes the EventPollingInterval to be a long period, then the Async RPC calls will not respond in
|
---|
| 1177 | a timely manner if at all.
|
---|
| 1178 | </para>
|
---|
| 1179 | </list>
|
---|
| 1180 | </remarks>
|
---|
| 1181 | </member>
|
---|
| 1182 | <member name="M:IndianHealthService.BMXNet.RemoteEventService.Subscribe(System.String)">
|
---|
| 1183 | <summary>
|
---|
| 1184 | Subscribe to an event named anEventType. These events are trigger exclusivley by other BMXNet remote services and
|
---|
| 1185 | travel from client-to-server-to-client. Once subscribed, the RemoteSession will poll based on the EventPollingInterval to
|
---|
| 1186 | see if a server-side event is waiting to be triggered on the client.
|
---|
| 1187 | </summary>
|
---|
| 1188 | <param name="anEventType">The name of the event to subscribe to</param>
|
---|
| 1189 | <returns>1 if successful, otherwise it's an error. Refer to KIDS source for error codes.</returns>
|
---|
| 1190 | </member>
|
---|
| 1191 | <member name="M:IndianHealthService.BMXNet.RemoteEventService.Unsubscribe(System.String)">
|
---|
| 1192 | <summary>
|
---|
| 1193 | Unsubscribe from an event named anEventType. Once unsubscribed, published events named anEventType will no longer
|
---|
| 1194 | trigger an event for this RemoteSession.
|
---|
| 1195 | </summary>
|
---|
| 1196 | <param name="anEventType">The name of the event to unsubscribe from</param>
|
---|
| 1197 | <returns>1 if successful, otherwise it's an error. Refer to KIDS source for error codes.</returns>
|
---|
| 1198 | </member>
|
---|
| 1199 | <member name="M:IndianHealthService.BMXNet.RemoteEventService.TriggerEvent(System.String,System.String,System.Boolean)">
|
---|
| 1200 | <summary>
|
---|
| 1201 | Access to a RemoteEventService also allows you to publish your own events. Publishing is done through design and
|
---|
| 1202 | documentation to notify other developers what events you will trigger. An event is published, or triggered, by using TriggerEvent
|
---|
| 1203 | with the name of the event, an optional event specific string with data, and whether or not the publisher, if subsubscribed,
|
---|
| 1204 | wants the event published to them.
|
---|
| 1205 | </summary>
|
---|
| 1206 | <param name="anEventType">Name of the event to publish</param>
|
---|
| 1207 | <param name="aParameter">An optional string with event specific data</param>
|
---|
| 1208 | <param name="raiseBack">Set to True if the publisher of anEventType, that is also a subscriber to anEventType,
|
---|
| 1209 | also wants the event to be triggered back to them</param>
|
---|
| 1210 | <returns></returns>
|
---|
| 1211 | </member>
|
---|
| 1212 | <member name="E:IndianHealthService.BMXNet.RemoteEventService.RpmsEvent">
|
---|
| 1213 | <summary>
|
---|
| 1214 | This event is triggered when an event named anEventType is published and the
|
---|
| 1215 | receiver has a subscription. Remember that this event is not on the UI-thread unless InvokedControl is properly set.
|
---|
| 1216 | </summary>
|
---|
| 1217 | </member>
|
---|
| 1218 | <member name="E:IndianHealthService.BMXNet.RemoteEventService.TimerEvent">
|
---|
| 1219 | <summary>
|
---|
| 1220 | This event is triggered every time the event timer is triggered, based on the EventPollingInterval.
|
---|
| 1221 | Remember that this event is not on the UI-thread unless InvokedControl is properly set.
|
---|
| 1222 | </summary>
|
---|
| 1223 | <remarks>
|
---|
| 1224 | Respond quickly to this event.
|
---|
| 1225 | </remarks>
|
---|
| 1226 | </member>
|
---|
| 1227 | <member name="P:IndianHealthService.BMXNet.RemoteEventService.InvokedControl">
|
---|
| 1228 | <summary>
|
---|
| 1229 | Set InvokedControl to a form or control of your WinForm application or EHR/VueCentric component that
|
---|
| 1230 | will live the lifetime of your RemoteSession. The RemoteEventServices will Invoke() on the InvokedControl
|
---|
| 1231 | to ensure all events are triggered on the UI thread.
|
---|
| 1232 | </summary>
|
---|
| 1233 | </member>
|
---|
| 1234 | <member name="P:IndianHealthService.BMXNet.RemoteEventService.IsEventPollingEnabled">
|
---|
| 1235 | <summary>
|
---|
| 1236 | EventPolling is used for RemoteService events and Async RPC calls. IsEventPollingEnabled is used
|
---|
| 1237 | to turn polling on and off: True for on and False for off. The Async RPC framework and remote event service
|
---|
| 1238 | needs polling to be turned on.
|
---|
| 1239 | </summary>
|
---|
| 1240 | <remarks>
|
---|
| 1241 | If Async RPC's or remote events are not working debug the RemoteEventService to verify polling is enabled
|
---|
| 1242 | and configured.
|
---|
| 1243 | </remarks>
|
---|
| 1244 | <example>
|
---|
| 1245 | If using Async RPC or remote service events activate and configure the timer when your applications starts
|
---|
| 1246 | <code>
|
---|
| 1247 | ... //Poll every 10000 ms, or 10 seconds
|
---|
| 1248 | this.RemoteSession.EventServices.EventPollingInterval=10000;
|
---|
| 1249 | this.RemoteSession.EventServices.IsEventPollingEnabled=True;
|
---|
| 1250 | ...
|
---|
| 1251 | ... //Perhaps in another part of your application you have a small active Chat Window
|
---|
| 1252 | ... //Increase the frequency of polling by decreasing the EventPollingInterval to every 2 seconds
|
---|
| 1253 | this.RemoteSession.EventServices.EventPollingInterval=2000;
|
---|
| 1254 | </code>
|
---|
| 1255 | </example>
|
---|
| 1256 | </member>
|
---|
| 1257 | <member name="P:IndianHealthService.BMXNet.RemoteEventService.EventPollingInterval">
|
---|
| 1258 | <summary>
|
---|
| 1259 | The number of milliseconds (ms) to wait before polling. If a polling event is currently being processed
|
---|
| 1260 | when a second event is trigger, the second event is skipped. It's recommended to keep this interval at
|
---|
| 1261 | 5000 (5 seconds) or higher.
|
---|
| 1262 | </summary>
|
---|
| 1263 | </member>
|
---|
| 1264 | <member name="T:IndianHealthService.BMXNet.RemoteSessionPool">
|
---|
| 1265 | <summary>
|
---|
| 1266 | <para>
|
---|
| 1267 | Each BMX connection to RPMS contains a single RemoteSessionPool with at least
|
---|
| 1268 | one Session, the primary session. Applications that need additional server processes
|
---|
| 1269 | beyond what can be done with async commands can used the RemoteSessionPool.
|
---|
| 1270 | </para>
|
---|
| 1271 | <para>
|
---|
| 1272 | Access to the RemoteSessionPool is accomplished by implementing the RemoteSessionPoolConsumer
|
---|
| 1273 | interface on your component/control. Secondary sessions can be opened and closed as they
|
---|
| 1274 | are needed. If the AvailableSessionCount is zero then a null RemoteSession is returned so it
|
---|
| 1275 | is recommend to first check the if a pool HasAvailableSessions before an OpenSession() request.
|
---|
| 1276 | </para>
|
---|
| 1277 | <para>
|
---|
| 1278 | RemoteSessionPool high-performance can be achieved by keeping RPMS server jobs alive even after
|
---|
| 1279 | secondary sessions are closed. The pool will maintain MaxSessions - 1 number of jobs alive on the
|
---|
| 1280 | server. If the application is finished for awhile needing IdleSessionCount idle jobs, then
|
---|
| 1281 | TerminateIdleSessions() will release those resources on the server. New jobs will then be created
|
---|
| 1282 | on demand.
|
---|
| 1283 | </para>
|
---|
| 1284 |
|
---|
| 1285 | </summary>
|
---|
| 1286 | </member>
|
---|
| 1287 | <member name="M:IndianHealthService.BMXNet.RemoteSessionPool.OpenSession">
|
---|
| 1288 | <summary>
|
---|
| 1289 | Open a RemoteSession and answer it. If an idle Session exists, it will be recycled
|
---|
| 1290 | and answered. Use Close() on the RemoteSession to release this secondary RemoteSession
|
---|
| 1291 | back to the pool.
|
---|
| 1292 | </summary>
|
---|
| 1293 | <returns>A newly created or recycled RemoteSession or null if the number of RemoteSessions has reach the MaxSessions count</returns>
|
---|
| 1294 | </member>
|
---|
| 1295 | <member name="M:IndianHealthService.BMXNet.RemoteSessionPool.OpenSession(IndianHealthService.BMXNet.Log)">
|
---|
| 1296 | <summary>
|
---|
| 1297 | Open a new RemoteSession and answer it. If an idle Session exists, it will be recycled
|
---|
| 1298 | and answered. Use Close() on the RemoteSession to release this secondary RemoteSession
|
---|
| 1299 | back to the pool. An implementation of Log can be included to trace RPC execution.
|
---|
| 1300 | </summary>
|
---|
| 1301 | <remarks>
|
---|
| 1302 | Logging is not heavily used in BMXNET40
|
---|
| 1303 | </remarks>
|
---|
| 1304 | <returns>A newly created or recycled RemoteSession or null if the number of RemoteSessions has reach the MaxSessions count</returns>
|
---|
| 1305 | </member>
|
---|
| 1306 | <member name="P:IndianHealthService.BMXNet.RemoteSessionPool.HasAvailableSession">
|
---|
| 1307 | <summary>
|
---|
| 1308 | True if another secondary session can be opened.
|
---|
| 1309 | </summary>
|
---|
| 1310 | <remarks>
|
---|
| 1311 | For this version of BMX, the EHR does not support secondary RemoteSessions and this
|
---|
| 1312 | method always returns false. If possible, develop your software using the API so when
|
---|
| 1313 | secondary RemoteSessions are supported your application will work.
|
---|
| 1314 | </remarks>
|
---|
| 1315 | </member>
|
---|
| 1316 | <member name="P:IndianHealthService.BMXNet.RemoteSessionPool.AvailableSessionCount">
|
---|
| 1317 | <summary>
|
---|
| 1318 | The number of additional secondary RemoteSessions that can be opened.
|
---|
| 1319 | </summary>
|
---|
| 1320 | </member>
|
---|
| 1321 | <member name="P:IndianHealthService.BMXNet.RemoteSessionPool.MaxSessions">
|
---|
| 1322 | <summary>
|
---|
| 1323 | The maximum number of RemoteSessions than can be opened
|
---|
| 1324 | </summary>
|
---|
| 1325 | </member>
|
---|
| 1326 | <member name="T:IndianHealthService.BMXNet.Services.BMXNetRemoteSession">
|
---|
| 1327 | <summary>
|
---|
| 1328 | Extends BMX functionality for easier development and debugging.
|
---|
| 1329 | Copied from Component Framework project IndianHealthService.Xo.Framework.Rpms
|
---|
| 1330 | </summary>
|
---|
| 1331 | </member>
|
---|
| 1332 | <member name="T:IndianHealthService.BMXNet.Net.BMXNetSocketBroker">
|
---|
| 1333 | <summary>
|
---|
| 1334 | BMXNetBroker implements low-level socket connectivity to RPMS databases.
|
---|
| 1335 | The VA RPC Broker must be running on the RPMS server in order for
|
---|
| 1336 | BMXNetBroker to connect.
|
---|
| 1337 | </summary>
|
---|
| 1338 | </member>
|
---|
| 1339 | <member name="T:IndianHealthService.BMXNet.BMXNetBroker">
|
---|
| 1340 | <summary>
|
---|
| 1341 | BMXNetBroker implements low-level socket connectivity to RPMS databases.
|
---|
| 1342 | The VA RPC Broker must be running on the RPMS server in order for
|
---|
| 1343 | BMXNetBroker to connect.
|
---|
| 1344 | </summary>
|
---|
| 1345 | </member>
|
---|
| 1346 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.PieceLength(System.String,System.String)">
|
---|
| 1347 | <summary>
|
---|
| 1348 | Corresponds to M's $L(STRING,DELIMITER)
|
---|
| 1349 | </summary>
|
---|
| 1350 | <param name="sInput"></param>
|
---|
| 1351 | <param name="sDelim"></param>
|
---|
| 1352 | <returns></returns>
|
---|
| 1353 | </member>
|
---|
| 1354 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.Piece(System.String,System.String,System.Int32)">
|
---|
| 1355 | <summary>
|
---|
| 1356 | Corresponds to M's $$Piece function
|
---|
| 1357 | </summary>
|
---|
| 1358 | <param name="sInput"></param>
|
---|
| 1359 | <param name="sDelim"></param>
|
---|
| 1360 | <param name="nNumber"></param>
|
---|
| 1361 | <returns></returns>
|
---|
| 1362 | </member>
|
---|
| 1363 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.ADEBLDPadString(System.String)">
|
---|
| 1364 | <summary>
|
---|
| 1365 | Given strInput = "13" builds "013" if nLength = 3. Default for nLength is 3.
|
---|
| 1366 | </summary>
|
---|
| 1367 | <param name="strInput"></param>
|
---|
| 1368 | <returns></returns>
|
---|
| 1369 | </member>
|
---|
| 1370 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.ADEBLDPadString(System.String,System.Int32)">
|
---|
| 1371 | <summary>
|
---|
| 1372 | Given strInput = "13" builds "013" if nLength = 3 Default for nLength is 3.
|
---|
| 1373 | </summary>
|
---|
| 1374 | <param name="strInput"></param>
|
---|
| 1375 | <param name="nLength">Default = 3</param>
|
---|
| 1376 | <returns></returns>
|
---|
| 1377 | </member>
|
---|
| 1378 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.ADEBLDB(System.String)">
|
---|
| 1379 | <summary>
|
---|
| 1380 | Concatenates zero-padded length of sInput to sInput
|
---|
| 1381 | Given "Hello" returns "004Hello"
|
---|
| 1382 | If nSize = 5, returns "00004Hello"
|
---|
| 1383 | Default for nSize is 3.
|
---|
| 1384 | </summary>
|
---|
| 1385 | <param name="sInput"></param>
|
---|
| 1386 | <returns></returns>
|
---|
| 1387 | </member>
|
---|
| 1388 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.ADEBLDB(System.String,System.Int32)">
|
---|
| 1389 | <summary>
|
---|
| 1390 | Concatenates zero-padded length of sInput to sInput
|
---|
| 1391 | Given "Hello" returns "004Hello"
|
---|
| 1392 | If nSize = 5, returns "00004Hello"
|
---|
| 1393 | Default for nSize is 3.
|
---|
| 1394 | </summary>
|
---|
| 1395 | <param name="sInput"></param>
|
---|
| 1396 | <param name="nSize"></param>
|
---|
| 1397 | <returns></returns>
|
---|
| 1398 | </member>
|
---|
| 1399 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.ADEBHDR(System.String,System.String,System.String,System.String)">
|
---|
| 1400 | <summary>
|
---|
| 1401 | Build protocol header
|
---|
| 1402 | </summary>
|
---|
| 1403 | <param name="sWKID"></param>
|
---|
| 1404 | <param name="sWINH"></param>
|
---|
| 1405 | <param name="sPRCH"></param>
|
---|
| 1406 | <param name="sWISH"></param>
|
---|
| 1407 | <returns></returns>
|
---|
| 1408 | </member>
|
---|
| 1409 | <member name="M:IndianHealthService.BMXNet.BMXNetBroker.FindSubString(System.String,System.String)">
|
---|
| 1410 | <summary>
|
---|
| 1411 | Returns index of first instance of sSubString in sString.
|
---|
| 1412 | If sSubString not found, returns -1.
|
---|
| 1413 | </summary>
|
---|
| 1414 | <param name="sString"></param>
|
---|
| 1415 | <param name="sSubString"></param>
|
---|
| 1416 | <returns></returns>
|
---|
| 1417 | </member>
|
---|
| 1418 | <member name="T:IndianHealthService.BMXNet.LocalSession">
|
---|
| 1419 | <summary>
|
---|
| 1420 | The LocalSession is scoped to the client, whether EHR/VueCentric or a WinForm application.
|
---|
| 1421 | User management, patient/visit context, and local events are the key services. Components/controls that are programmed
|
---|
| 1422 | against this API will work within both the EhrFramework and WinFramework environments.
|
---|
| 1423 | </summary>
|
---|
| 1424 | </member>
|
---|
| 1425 | <member name="T:IndianHealthService.BMXNet.Log">
|
---|
| 1426 | <summary>
|
---|
| 1427 | Current Logging facility for BMXNet. This facility conforms to the EHR/VueCentric
|
---|
| 1428 | method of logging. Logging is either on or off, there is no scale from Info to Fatal to
|
---|
| 1429 | turn off and on.
|
---|
| 1430 | </summary>
|
---|
| 1431 | <remarks>
|
---|
| 1432 | Logging is not heavily used in BMXNET40. In the EHR/VueCentric, the VIM.exe can be
|
---|
| 1433 | started on the command-line with the /trace option to see RPC calls.
|
---|
| 1434 | </remarks>
|
---|
| 1435 | </member>
|
---|
| 1436 | <member name="M:IndianHealthService.BMXNet.Log.Log(System.String,System.String,System.String[])">
|
---|
| 1437 | <summary>
|
---|
| 1438 | Call to send information to the log.
|
---|
| 1439 | </summary>
|
---|
| 1440 | <param name="aClass">A grouping of log entries</param>
|
---|
| 1441 | <param name="aCategory">A sub-grouping of log entries</param>
|
---|
| 1442 | <param name="lines">Lines of text to write to the log</param>
|
---|
| 1443 | </member>
|
---|
| 1444 | <member name="M:IndianHealthService.BMXNet.Log.Log(System.String,System.String,System.Exception,System.String[])">
|
---|
| 1445 | <summary>
|
---|
| 1446 | Call to send information to the log where an exception occured.
|
---|
| 1447 | </summary>
|
---|
| 1448 | <param name="aClass">A grouping of log entries</param>
|
---|
| 1449 | <param name="aCategory">A sub-grouping of log entries</param>
|
---|
| 1450 | <param name="anException">An exception to write to the log</param>
|
---|
| 1451 | <param name="lines">Lines of text to write to the log</param>
|
---|
| 1452 | </member>
|
---|
| 1453 | <member name="P:IndianHealthService.BMXNet.Log.IsLogging">
|
---|
| 1454 | <summary>
|
---|
| 1455 | True if logging is currently enabled. It's recommend to turn logging off
|
---|
| 1456 | except for diagnositics.
|
---|
| 1457 | </summary>
|
---|
| 1458 | </member>
|
---|
| 1459 | <member name="M:IndianHealthService.BMXNet.LocalSession.NewUser(System.String,System.String,IndianHealthService.BMXNet.Model.Division)">
|
---|
| 1460 | <summary>
|
---|
| 1461 | Create a new user object.
|
---|
| 1462 | </summary>
|
---|
| 1463 | <remarks>
|
---|
| 1464 | Instances of user are used by Frameworks or for configuration/comparisons.
|
---|
| 1465 | </remarks>
|
---|
| 1466 | <param name="aName">Display name of the user</param>
|
---|
| 1467 | <param name="anIen">IEN or DUZ of the User</param>
|
---|
| 1468 | <param name="aDivision">Currently set division of the user</param>
|
---|
| 1469 | <returns></returns>
|
---|
| 1470 | </member>
|
---|
| 1471 | <member name="M:IndianHealthService.BMXNet.LocalSession.Notify(System.String,System.Exception)">
|
---|
| 1472 | <summary>
|
---|
| 1473 | Simple uniform call for local notifications to the user when an exception occurs.
|
---|
| 1474 | </summary>
|
---|
| 1475 | <remarks>
|
---|
| 1476 | API is not commonly used
|
---|
| 1477 | </remarks>
|
---|
| 1478 | <param name="aTitle">Title of the dialog</param>
|
---|
| 1479 | <param name="anException">Exception to be displayed</param>
|
---|
| 1480 | </member>
|
---|
| 1481 | <member name="M:IndianHealthService.BMXNet.LocalSession.Notify(System.String,System.String)">
|
---|
| 1482 | <summary>
|
---|
| 1483 | Simple uniform call for local notifications to the user.
|
---|
| 1484 | </summary>
|
---|
| 1485 | <remarks>
|
---|
| 1486 | API is not commonly used.
|
---|
| 1487 | </remarks>
|
---|
| 1488 | <param name="aTitle">Title of the dialog</param>
|
---|
| 1489 | <param name="aMessage">Message to be displayed</param>
|
---|
| 1490 | </member>
|
---|
| 1491 | <member name="M:IndianHealthService.BMXNet.LocalSession.Close">
|
---|
| 1492 | <summary>
|
---|
| 1493 | Call to close the LocalSession which is the last action to take when
|
---|
| 1494 | shutdown down your application.
|
---|
| 1495 | </summary>
|
---|
| 1496 | <remarks>
|
---|
| 1497 | In the EHR this call does nothing because each instance of BMX EhrFramework manages
|
---|
| 1498 | a single component within the greater EHR/VueCentric framework.
|
---|
| 1499 | In a WinForm application this call shuts down the WinFramework, closes all RemoteSessions,
|
---|
| 1500 | and closes the LocalSession and disconnects from RPMS.
|
---|
| 1501 | </remarks>
|
---|
| 1502 | </member>
|
---|
| 1503 | <member name="P:IndianHealthService.BMXNet.LocalSession.Context">
|
---|
| 1504 | <summary>
|
---|
| 1505 | The current patient and visit context.
|
---|
| 1506 | </summary>
|
---|
| 1507 | <example>
|
---|
| 1508 | The context object is access exclusively through the LocalSession and LocalSession
|
---|
| 1509 | events. The context can be obtained if your control or component is a LocalSessionConsumer and if so then
|
---|
| 1510 | define the Context property as follows:
|
---|
| 1511 | <code>
|
---|
| 1512 | public Context Context
|
---|
| 1513 | {
|
---|
| 1514 | get { return this.LocalSession == null ? null : this.LocalSession.Context; }
|
---|
| 1515 | }
|
---|
| 1516 | </code>
|
---|
| 1517 | </example>
|
---|
| 1518 | </member>
|
---|
| 1519 | <member name="P:IndianHealthService.BMXNet.LocalSession.User">
|
---|
| 1520 | <summary>
|
---|
| 1521 | Authenticated user associated with LocalSession
|
---|
| 1522 | </summary>
|
---|
| 1523 | <remarks>
|
---|
| 1524 | If there are also RemoteSessions, the RemoteSessions will have the same User object
|
---|
| 1525 | </remarks>
|
---|
| 1526 | <example>
|
---|
| 1527 | <code>
|
---|
| 1528 | this.StatusLabel.Text= aLocalSession.User == null ? "No user" : aLocalSession.User.Name;
|
---|
| 1529 | </code>
|
---|
| 1530 | </example>
|
---|
| 1531 | </member>
|
---|
| 1532 | <member name="P:IndianHealthService.BMXNet.LocalSession.EventServices">
|
---|
| 1533 | <summary>
|
---|
| 1534 | Access to the LocalSessions EventServices
|
---|
| 1535 | </summary>
|
---|
| 1536 | </member>
|
---|
| 1537 | <member name="T:IndianHealthService.BMXNet.Net.EncryptionKeyProvider">
|
---|
| 1538 | <summary>
|
---|
| 1539 | A provider of the BMX Ade encryption key
|
---|
| 1540 | </summary>
|
---|
| 1541 | </member>
|
---|
| 1542 | <member name="T:IndianHealthService.BMXNet.Ado.BMXNetCommand">
|
---|
| 1543 | <summary>
|
---|
| 1544 | BMXNET implementaiton of DbCommand. This class can be used like
|
---|
| 1545 | any ADO.NET DbCommand implementation or the suggested RemoteSession API's can
|
---|
| 1546 | be used.
|
---|
| 1547 |
|
---|
| 1548 | See ADO.NET documentation for details of this class.
|
---|
| 1549 | </summary>
|
---|
| 1550 | </member>
|
---|
| 1551 | <member name="T:IndianHealthService.BMXNet.Ado.BMXNetDataAdapter">
|
---|
| 1552 | <summary>
|
---|
| 1553 | BMXNET implementaiton of DbDataAdaptor. This class can be used like
|
---|
| 1554 | any ADO.NET DbDataAdaptor implementation or the suggested RemoteSession API's can
|
---|
| 1555 | be used.
|
---|
| 1556 |
|
---|
| 1557 | See ADO.NET documentation for details of this class.
|
---|
| 1558 | </summary>
|
---|
| 1559 | </member>
|
---|
| 1560 | <member name="T:IndianHealthService.BMXNet.Model.Visit">
|
---|
| 1561 | <summary>
|
---|
| 1562 | The visit object is used to determine the current context of the application. The key wrinkle in the visit
|
---|
| 1563 | class relates to create a common interface for EHR/VueCentric and WinForm applications. The EHR/VueCentric supports
|
---|
| 1564 | visit stubs by default and the WinFramework does not. If the consumer of the visit object is going to use
|
---|
| 1565 | it to make changes to RPMS then the visit can not be a stub and must the visit must be created.
|
---|
| 1566 | <example>
|
---|
| 1567 | In either EHR or WinForm applications, always check for a stub before you call RPC's to update RPMS. If you
|
---|
| 1568 | do not, the visit may not have been created on RPMS and the visit id will be null.
|
---|
| 1569 | <code>
|
---|
| 1570 | if (this.Context.HasVisit)
|
---|
| 1571 | {
|
---|
| 1572 | if (this.Context.Visit.IsStub && !this.Context.Visit.Create())
|
---|
| 1573 | {
|
---|
| 1574 | MessageBox.Show("Unable to establish visit.","Editing Disabled");
|
---|
| 1575 | return;
|
---|
| 1576 | }
|
---|
| 1577 |
|
---|
| 1578 | //Call RPC to update RPMS with current visit ien
|
---|
| 1579 | }
|
---|
| 1580 | </code>
|
---|
| 1581 | </example>
|
---|
| 1582 | </summary>
|
---|
| 1583 | </member>
|
---|
| 1584 | <member name="M:IndianHealthService.BMXNet.Model.Visit.Create">
|
---|
| 1585 | <summary>
|
---|
| 1586 | If the receiver is a stub, then call Create() to create a visit in RPMS and
|
---|
| 1587 | then new data can be added in the context of a created visit. In the WinForm
|
---|
| 1588 | edition, this all Visits are created to the method will do nothing yet you should
|
---|
| 1589 | call it to be consistent.
|
---|
| 1590 | </summary>
|
---|
| 1591 | <returns>True if the visit has been created (always True for WinForm)</returns>
|
---|
| 1592 | </member>
|
---|
| 1593 | <member name="M:IndianHealthService.BMXNet.Model.Visit.Create(System.Boolean)">
|
---|
| 1594 | <summary>
|
---|
| 1595 | In the EHR some visits need user interaction to change from a stub to a created visit.
|
---|
| 1596 | </summary>
|
---|
| 1597 | <param name="showGuiToCreateVisit"></param>
|
---|
| 1598 | <returns></returns>
|
---|
| 1599 | </member>
|
---|
| 1600 | <member name="P:IndianHealthService.BMXNet.Model.Visit.Ien">
|
---|
| 1601 | <summary>
|
---|
| 1602 | This will be non-null if the visit has been created in RPMS, otherwise
|
---|
| 1603 | it is null and the receiver in considered a stub.
|
---|
| 1604 | </summary>
|
---|
| 1605 | </member>
|
---|
| 1606 | <member name="P:IndianHealthService.BMXNet.Model.Visit.ProviderName">
|
---|
| 1607 | <summary>
|
---|
| 1608 | Primary provider of the visit
|
---|
| 1609 | </summary>
|
---|
| 1610 | </member>
|
---|
| 1611 | <member name="P:IndianHealthService.BMXNet.Model.Visit.LocationName">
|
---|
| 1612 | <summary>
|
---|
| 1613 | Hospital Location of the visit
|
---|
| 1614 | </summary>
|
---|
| 1615 | </member>
|
---|
| 1616 | <member name="P:IndianHealthService.BMXNet.Model.Visit.DateTime">
|
---|
| 1617 | <summary>
|
---|
| 1618 | Official timetamp of the visit
|
---|
| 1619 | </summary>
|
---|
| 1620 | </member>
|
---|
| 1621 | <member name="P:IndianHealthService.BMXNet.Model.Visit.IsStub">
|
---|
| 1622 | <summary>
|
---|
| 1623 | If a visit is transient in the client memory space, it is a stub.
|
---|
| 1624 | In the EHR visits are often created as stubs (Create New is not checked)
|
---|
| 1625 | Once data is entered, the visit is created.
|
---|
| 1626 | The WinForm only supports full created visits therefore IsStub is always false
|
---|
| 1627 | </summary>
|
---|
| 1628 | </member>
|
---|
| 1629 | <member name="P:IndianHealthService.BMXNet.Model.Visit.IsFutureAppointment">
|
---|
| 1630 | <summary>
|
---|
| 1631 | Answer true if a future appointment.
|
---|
| 1632 | </summary>
|
---|
| 1633 | </member>
|
---|
| 1634 | <member name="P:IndianHealthService.BMXNet.Model.Visit.IsLocked">
|
---|
| 1635 | <summary>
|
---|
| 1636 | If a visit can not be added to if it is locked. In the WinForm edition, all
|
---|
| 1637 | visits answered by BMX FIND VISIT are considered unlocked.
|
---|
| 1638 | </summary>
|
---|
| 1639 | </member>
|
---|
| 1640 | <member name="T:IndianHealthService.BMXNet.RemoteEventArgs">
|
---|
| 1641 | <summary>
|
---|
| 1642 | The event args used by the RemoteEventService
|
---|
| 1643 | </summary>
|
---|
| 1644 | </member>
|
---|
| 1645 | <member name="P:IndianHealthService.BMXNet.RemoteEventArgs.EventType">
|
---|
| 1646 | <summary>
|
---|
| 1647 | This string corresponds to well-known/shared EventTypes used to identify
|
---|
| 1648 | different events published and subscribed between BMX implementations using RemoteSessions.
|
---|
| 1649 | </summary>
|
---|
| 1650 | </member>
|
---|
| 1651 | <member name="P:IndianHealthService.BMXNet.RemoteEventArgs.Details">
|
---|
| 1652 | <summary>
|
---|
| 1653 | This is an optional peice of data with some event-specific details.
|
---|
| 1654 | </summary>
|
---|
| 1655 | </member>
|
---|
| 1656 | <member name="T:IndianHealthService.BMXNet.Ado.BMXNetTransaction">
|
---|
| 1657 | <summary>
|
---|
| 1658 | BMXNET implementaiton of IDbTransaction. This class can be used like
|
---|
| 1659 | any ADO.NET IDbTransaction implementation or the suggested RemoteSession API's can
|
---|
| 1660 | be used.
|
---|
| 1661 |
|
---|
| 1662 | See ADO.NET documentation for details of this class.
|
---|
| 1663 | </summary>
|
---|
| 1664 | </member>
|
---|
| 1665 | <member name="M:IndianHealthService.BMXNet.Services.BMXRemoteSessionPool.TerminateIdleSessions">
|
---|
| 1666 | <summary>
|
---|
| 1667 | Note: idle session connections are really being terminated. We
|
---|
| 1668 | do not re-use BMXNetRemoteSession objects that wrap the session connection
|
---|
| 1669 | </summary>
|
---|
| 1670 | </member>
|
---|
| 1671 | <member name="T:IndianHealthService.BMXNet.Model.Patient">
|
---|
| 1672 | <summary>
|
---|
| 1673 | The Patient object is a read-only object used for patient context.
|
---|
| 1674 | </summary>
|
---|
| 1675 | </member>
|
---|
| 1676 | <member name="P:IndianHealthService.BMXNet.Model.Patient.Ien">
|
---|
| 1677 | <summary>
|
---|
| 1678 | The RPMS intenal entry number for the patient
|
---|
| 1679 | </summary>
|
---|
| 1680 | </member>
|
---|
| 1681 | <member name="P:IndianHealthService.BMXNet.Model.Patient.HealthRecordNumber">
|
---|
| 1682 | <summary>
|
---|
| 1683 | The RPMS HRN or chart number
|
---|
| 1684 | </summary>
|
---|
| 1685 | </member>
|
---|
| 1686 | <member name="P:IndianHealthService.BMXNet.Model.Patient.PatientName">
|
---|
| 1687 | <summary>
|
---|
| 1688 | The default displayable version of the patient's name
|
---|
| 1689 | </summary>
|
---|
| 1690 | </member>
|
---|
| 1691 | <member name="P:IndianHealthService.BMXNet.Model.Patient.AdmitDate">
|
---|
| 1692 | <summary>
|
---|
| 1693 | The current admission date of the user. This is a nullable bool for the cases that
|
---|
| 1694 | the patient is not currently admitted.
|
---|
| 1695 | </summary>
|
---|
| 1696 | </member>
|
---|
| 1697 | <member name="P:IndianHealthService.BMXNet.Model.Patient.Age">
|
---|
| 1698 | <summary>
|
---|
| 1699 | The current age of the patient.
|
---|
| 1700 | </summary>
|
---|
| 1701 | </member>
|
---|
| 1702 | <member name="P:IndianHealthService.BMXNet.Model.Patient.Dob">
|
---|
| 1703 | <summary>
|
---|
| 1704 | If knownn, the DOB of the patient
|
---|
| 1705 | </summary>
|
---|
| 1706 | </member>
|
---|
| 1707 | <member name="P:IndianHealthService.BMXNet.Model.Patient.PrimaryProvider">
|
---|
| 1708 | <summary>
|
---|
| 1709 | The displayable name (external value) of the patient's primary provider.
|
---|
| 1710 | </summary>
|
---|
| 1711 | </member>
|
---|
| 1712 | <member name="P:IndianHealthService.BMXNet.Model.Patient.Sex">
|
---|
| 1713 | <summary>
|
---|
| 1714 | The sex of the patient
|
---|
| 1715 | </summary>
|
---|
| 1716 | </member>
|
---|
| 1717 | <member name="P:IndianHealthService.BMXNet.Model.Patient.Ssn">
|
---|
| 1718 | <summary>
|
---|
| 1719 | The patient's SSN or an abbrievation of the SSN
|
---|
| 1720 | </summary>
|
---|
| 1721 | </member>
|
---|
| 1722 | <member name="T:IndianHealthService.BMXNet.BMXNetException">
|
---|
| 1723 | <summary>
|
---|
| 1724 | This simple exception wrapper is used for Exceptions thrown by umknown sources and
|
---|
| 1725 | by the BMX library. Check the InnerException for details.
|
---|
| 1726 | </summary>
|
---|
| 1727 | </member>
|
---|
| 1728 | <member name="T:IndianHealthService.BMXNet.Ado.BMXNetConnection">
|
---|
| 1729 | <summary>
|
---|
| 1730 | BMXNET implementaiton of DbConnection. This class can be used like
|
---|
| 1731 | any ADO.NET DbConnection implementation or the suggested RemoteSession API's can
|
---|
| 1732 | be used.
|
---|
| 1733 |
|
---|
| 1734 | See ADO.NET documentation for details of this class.
|
---|
| 1735 | </summary>
|
---|
| 1736 | </member>
|
---|
| 1737 | <member name="T:IndianHealthService.BMXNet.Model.User">
|
---|
| 1738 | <summary>
|
---|
| 1739 | The user that established the connection to BMX either through the WinFramework dialogs or access/verify codes, or
|
---|
| 1740 | a user established through attach tho the EHR/VueCentric with the EhrFramework.
|
---|
| 1741 | <para>The user breaks down into who is it and what can they do with some identify and security key checing.</para>
|
---|
| 1742 | </summary>
|
---|
| 1743 | </member>
|
---|
| 1744 | <member name="M:IndianHealthService.BMXNet.Model.User.HasSecurityKey(System.String)">
|
---|
| 1745 | <summary>
|
---|
| 1746 | Check aKey against the active RPMS keys for the user. If the user has the PROGMODE key this
|
---|
| 1747 | method will always return true.
|
---|
| 1748 | </summary>
|
---|
| 1749 | <param name="aKey">The key name that is compared against the keys on the server</param>
|
---|
| 1750 | <returns>Return true if the user has the key</returns>
|
---|
| 1751 | </member>
|
---|
| 1752 | <member name="M:IndianHealthService.BMXNet.Model.User.RequestKeys">
|
---|
| 1753 | <summary>
|
---|
| 1754 | Fetch from RPMS the user's current keys. The user's
|
---|
| 1755 | division must be set before calling this metohd.
|
---|
| 1756 | </summary>
|
---|
| 1757 | <returns></returns>
|
---|
| 1758 | </member>
|
---|
| 1759 | <member name="M:IndianHealthService.BMXNet.Model.User.HasSecurityKeys(System.String[])">
|
---|
| 1760 | <summary>
|
---|
| 1761 | Return a list of keys that the user does NOT have. If the user has all of
|
---|
| 1762 | the keys then an empty list is returned
|
---|
| 1763 | </summary>
|
---|
| 1764 | <example>
|
---|
| 1765 | List<String> missingKeys=aUser.HasSecurityKeys(new string[] { "Key1","Key2" });
|
---|
| 1766 | if (missingKeys.Count==0) {
|
---|
| 1767 | //Take a secured path
|
---|
| 1768 | } else {
|
---|
| 1769 | MessageBox.Show(missingKeys);
|
---|
| 1770 | }
|
---|
| 1771 | </example>
|
---|
| 1772 | <remarks>
|
---|
| 1773 | The HasSecurityKeys appraoch does not give those with PROGMODE a free-pass since it compares
|
---|
| 1774 | the actual keys. HasSecurityKeys uses RequestKeys
|
---|
| 1775 | </remarks>
|
---|
| 1776 | <param name="keys">a list of keys to compare against the user's keys</param>
|
---|
| 1777 | <returns>A list of keys the user does not have, empty of the user has them all</returns>
|
---|
| 1778 | </member>
|
---|
| 1779 | <member name="P:IndianHealthService.BMXNet.Model.User.Duz">
|
---|
| 1780 | <summary>
|
---|
| 1781 | The DUZ aka IEN of the NEW Person File of this user
|
---|
| 1782 | </summary>
|
---|
| 1783 | </member>
|
---|
| 1784 | <member name="P:IndianHealthService.BMXNet.Model.User.Name">
|
---|
| 1785 | <summary>
|
---|
| 1786 | A displayable name of the user
|
---|
| 1787 | </summary>
|
---|
| 1788 | </member>
|
---|
| 1789 | <member name="P:IndianHealthService.BMXNet.Model.User.Division">
|
---|
| 1790 | <summary>
|
---|
| 1791 | The division that this user to currently operating within
|
---|
| 1792 | </summary>
|
---|
| 1793 | </member>
|
---|
| 1794 | <member name="T:IndianHealthService.BMXNet.RemoteSessionConsumer">
|
---|
| 1795 | <summary>
|
---|
| 1796 | This interface is used on an UserControl-based components that are designed to work both inside
|
---|
| 1797 | the EHR and inside a WinForm application. The "Consumer" interfaces basically tell Frameworks
|
---|
| 1798 | that "Consumer" implementating objects need an specific service.
|
---|
| 1799 | </summary>
|
---|
| 1800 | <remarks>
|
---|
| 1801 | If your component doesn't implement RemoteConsumer you can still user your component. Implementing
|
---|
| 1802 | RemoteConsumer is very common and is essential for communicating with the RPMS server.
|
---|
| 1803 | </remarks>
|
---|
| 1804 | </member>
|
---|
| 1805 | <member name="P:IndianHealthService.BMXNet.RemoteSessionConsumer.RemoteSession">
|
---|
| 1806 | <summary>
|
---|
| 1807 | This property will be set with the primary RemoteSession that the interface implementer can use for communicating
|
---|
| 1808 | with the RPMS server.
|
---|
| 1809 | </summary>
|
---|
| 1810 | <remarks>
|
---|
| 1811 | If also using a RemoteSessionPool, it's important to realize the if the primary RemoteSession that is set through
|
---|
| 1812 | this interface is closed then every session in the RemoteSessionPool is also clsoed as well as the broker connection
|
---|
| 1813 | to RPMS.
|
---|
| 1814 | </remarks>
|
---|
| 1815 | </member>
|
---|
| 1816 | <member name="T:IndianHealthService.BMXNet.Model.Context">
|
---|
| 1817 | <summary>
|
---|
| 1818 | Context interface provides the current status and related events of the
|
---|
| 1819 | patient/visit context within an application, or the EHR.
|
---|
| 1820 | </summary>
|
---|
| 1821 | <remarks>
|
---|
| 1822 | Application developers use the WinFramework and ChangableContext to modify the context. Within
|
---|
| 1823 | the EHR/VueCentric framework, the Context interface is a basic wrapper of some of the EHR facilties.
|
---|
| 1824 | </remarks>
|
---|
| 1825 | </member>
|
---|
| 1826 | <member name="E:IndianHealthService.BMXNet.Model.Context.Changed">
|
---|
| 1827 | <summary>
|
---|
| 1828 | The most important aspect of the Context interface is the Changed event that allows
|
---|
| 1829 | the receiver of the event know when the user is changing patient and visit. Applications
|
---|
| 1830 | need to change the data displayed to represent the currnet Patient and optional visit. The
|
---|
| 1831 | Changed event occurs after there is confirmation that the change has not been vetoed or the
|
---|
| 1832 | veto has been overridden. See Changing event.
|
---|
| 1833 | </summary>
|
---|
| 1834 | <example>
|
---|
| 1835 | Users of the Context object should hook the event ASAP. The
|
---|
| 1836 | <code>
|
---|
| 1837 | public void Startup()
|
---|
| 1838 | {
|
---|
| 1839 | if (this.Context != null)
|
---|
| 1840 | {
|
---|
| 1841 | this.Context.Changed += new EventHandler<ContextChangedArgs>(Context_Changed);
|
---|
| 1842 | }
|
---|
| 1843 | </code>
|
---|
| 1844 | The context can be obtained if your control or component is a LocalSessionConsumer and if so then
|
---|
| 1845 | define the Context property as follows:
|
---|
| 1846 | <code>
|
---|
| 1847 | public Context Context
|
---|
| 1848 | {
|
---|
| 1849 | get { return this.LocalSession == null ? null : this.LocalSession.Context; }
|
---|
| 1850 | }
|
---|
| 1851 | </code>
|
---|
| 1852 | </example>
|
---|
| 1853 | </member>
|
---|
| 1854 | <member name="E:IndianHealthService.BMXNet.Model.Context.Changing">
|
---|
| 1855 | <summary>
|
---|
| 1856 | When the current patient or visit is being changed by the user, every subscriber to the
|
---|
| 1857 | Changing method has the option to "Veto" the event by Cancelling it:
|
---|
| 1858 | <code>
|
---|
| 1859 | public void Startup()
|
---|
| 1860 | {
|
---|
| 1861 | if (this.Context != null)
|
---|
| 1862 | {
|
---|
| 1863 | this.Context.Changed += new EventHandler<ContextChangedArgs>(Context_Changed);
|
---|
| 1864 | this.Context.Changing += new EventHandler<ContextChangedArgs>(Context_Changing);
|
---|
| 1865 | }
|
---|
| 1866 |
|
---|
| 1867 | void Context_Changing(object sender, ContextChangingArgs e)
|
---|
| 1868 | {
|
---|
| 1869 | e.Cancel = needToFinishSomethingElseBeforeChangingContext;
|
---|
| 1870 | }
|
---|
| 1871 | </code>
|
---|
| 1872 | However, a Veto is like a U.S. presential Veto and that it can be overridden. The WinFramework
|
---|
| 1873 | or EHR can override any Veto so all components (even if they veto changes) must be prepared to
|
---|
| 1874 | have the context changed at anytime.
|
---|
| 1875 | </summary>
|
---|
| 1876 | </member>
|
---|
| 1877 | <member name="P:IndianHealthService.BMXNet.Model.Context.Patient">
|
---|
| 1878 | <summary>
|
---|
| 1879 | The currently selected patient, or null. The value of the current patient is also in <seealso cref="T:IndianHealthService.BMXNet.Model.ContextChangedArgs"/>.
|
---|
| 1880 | The concept is that the context is set by external forces, ususally the user. Therefore there is no
|
---|
| 1881 | way to set the patient here.
|
---|
| 1882 | </summary>
|
---|
| 1883 | <remarks>
|
---|
| 1884 | Remember to refresh your user interface based on the new selection to the information your application displays
|
---|
| 1885 | or edits is that same as the current context.
|
---|
| 1886 | </remarks>
|
---|
| 1887 | </member>
|
---|
| 1888 | <member name="P:IndianHealthService.BMXNet.Model.Context.Visit">
|
---|
| 1889 | <summary>
|
---|
| 1890 | The currently selected visit, or null. The value of the current visit is also in ContextChangedArgs.
|
---|
| 1891 | The concept is that the context is set by external forces, ususally the user. Therefore there is no
|
---|
| 1892 | way to set the visit here.
|
---|
| 1893 | </summary>
|
---|
| 1894 | <remarks>
|
---|
| 1895 | In the EHR, a visit stub can be created. A visit stub does not create a visit in RPMS until some data
|
---|
| 1896 | is entered. IsVisit will return true for a visit stub but is it your responbilty to use HasUnlockedVisit or IsStub
|
---|
| 1897 | on the Visit to make sure you have a visit to edit with.
|
---|
| 1898 | Remember to refresh your user interface based on the new selection to the information your application displays
|
---|
| 1899 | or edits is that same as the current context.
|
---|
| 1900 | </remarks>
|
---|
| 1901 | </member>
|
---|
| 1902 | <member name="P:IndianHealthService.BMXNet.Model.Context.HasPatient">
|
---|
| 1903 | <summary>
|
---|
| 1904 | Answer true/false if there is a patient currently selected. This is a convenience method.
|
---|
| 1905 | </summary>
|
---|
| 1906 | </member>
|
---|
| 1907 | <member name="P:IndianHealthService.BMXNet.Model.Context.HasVisit">
|
---|
| 1908 | <summary>
|
---|
| 1909 | Answer true/false if there is a patient currently selected. This is a convenience method.
|
---|
| 1910 | </summary>
|
---|
| 1911 | </member>
|
---|
| 1912 | <member name="P:IndianHealthService.BMXNet.Model.Context.HasUnlockedVisit">
|
---|
| 1913 | <summary>
|
---|
| 1914 | Answer true if there is a visit and if it is unlocked. The EHR/VueCentric has a notion of the
|
---|
| 1915 | locked visit, a visit that can no longer be visited. The EHR/VueCetnric has has a visit stub, a visit that
|
---|
| 1916 | has been create on the desktop but not in RPMS. If a visit is a visit stub, it is not considered unlocked.
|
---|
| 1917 | </summary>
|
---|
| 1918 | </member>
|
---|
| 1919 | <member name="P:IndianHealthService.BMXNet.Model.Context.User">
|
---|
| 1920 | <summary>
|
---|
| 1921 | The user that established the connection to BMX either through the WinFramework dialogs or access/verify codes, or
|
---|
| 1922 | a user established through attach tho the EHR/VueCentric with the EhrFramework.
|
---|
| 1923 | </summary>
|
---|
| 1924 | </member>
|
---|
| 1925 | <member name="P:IndianHealthService.BMXNet.Ado.RPMSDb.ResultSets">
|
---|
| 1926 | <summary>
|
---|
| 1927 | Returns the array of RMPSResultSets retrieved from RPMS
|
---|
| 1928 | </summary>
|
---|
| 1929 | </member>
|
---|
| 1930 | <member name="P:IndianHealthService.BMXNet.Ado.RPMSDb.CurrentRecordSet">
|
---|
| 1931 | <summary>
|
---|
| 1932 | Sets and Returns the current recordset
|
---|
| 1933 | </summary>
|
---|
| 1934 | </member>
|
---|
| 1935 | <member name="T:IndianHealthService.BMXNet.Ado.DataTableFutureEventArgs">
|
---|
| 1936 | <summary>
|
---|
| 1937 | The event args for all DataTableFuture events.
|
---|
| 1938 | </summary>
|
---|
| 1939 | <remarks>
|
---|
| 1940 | The DataTableFuture events are trigger in the non-UI thread and will break any application that is not managing it's
|
---|
| 1941 | UI calls properly. If implementing a basic GUI-based application, it's recommended to set the InvokedControl on
|
---|
| 1942 | every DataTableFuture you created.
|
---|
| 1943 | This EventArgs provides the future, which is the same instance created when the Async call was made.
|
---|
| 1944 | </remarks>
|
---|
| 1945 | </member>
|
---|
| 1946 | <member name="P:IndianHealthService.BMXNet.Ado.DataTableFutureEventArgs.Future">
|
---|
| 1947 | <summary>
|
---|
| 1948 | The future object that can be used to determine the state of the future, cancel the future, and perform
|
---|
| 1949 | some post future processing.
|
---|
| 1950 | </summary>
|
---|
| 1951 | </member>
|
---|
| 1952 | <member name="T:IndianHealthService.BMXNet.RemoteSessionPoolConsumer">
|
---|
| 1953 | <summary>
|
---|
| 1954 | This interface is used on an UserControl-based components that are designed to work both inside
|
---|
| 1955 | the EHR and inside a WinForm application. The "Consumer" interfaces basically tell Frameworks
|
---|
| 1956 | that "Consumer" implementating objects need an specific service.
|
---|
| 1957 | </summary>
|
---|
| 1958 | <remarks>
|
---|
| 1959 | This interface is rarely used but is essential for application needing multiple server-side
|
---|
| 1960 | jobs.
|
---|
| 1961 | </remarks>
|
---|
| 1962 | </member>
|
---|
| 1963 | <member name="P:IndianHealthService.BMXNet.RemoteSessionPoolConsumer.RemoteSessionPool">
|
---|
| 1964 | <summary>
|
---|
| 1965 | This property will be set with the RemoteSessionPool that is used by the Framework.
|
---|
| 1966 | </summary>
|
---|
| 1967 | <remarks>
|
---|
| 1968 | If you only need one RemoteSession, the most common usage pattern, you do not need the RemoteSessionPoolConsumer
|
---|
| 1969 | and should use <see cref="T:IndianHealthService.BMXNet.RemoteSessionConsumer"/>.
|
---|
| 1970 | </remarks>
|
---|
| 1971 | </member>
|
---|
| 1972 | <member name="T:IndianHealthService.BMXNet.LocalEventArgs">
|
---|
| 1973 | <summary>
|
---|
| 1974 | The event args used by the LocalEventService.
|
---|
| 1975 | </summary>
|
---|
| 1976 | </member>
|
---|
| 1977 | <member name="P:IndianHealthService.BMXNet.LocalEventArgs.EventType">
|
---|
| 1978 | <summary>
|
---|
| 1979 | This string corresponds to well-known/shared EventTypes used to identify
|
---|
| 1980 | different events published and subscribed within a local desktop application (WinFramework)
|
---|
| 1981 | or in the EHR.
|
---|
| 1982 | </summary>
|
---|
| 1983 | <example>
|
---|
| 1984 | The framewrk implements LocalSession.EventServices.RefreshRequested by sending or receiving
|
---|
| 1985 | the LocalEvent with the EventType=="REFRESH".
|
---|
| 1986 | </example>
|
---|
| 1987 | <example>
|
---|
| 1988 | The Well Child Module growth chart displays Height and Weight. When the EHR vitals component adds
|
---|
| 1989 | new Heights and Weights it publishes a LocalEvent with an EventType PCC*MSR. If the growth chart detects
|
---|
| 1990 | the Vitals update event it then refreshes the growth chart:
|
---|
| 1991 | <code>
|
---|
| 1992 | void Session_ApplicationEvent(object sender, LocalEventArgs e)
|
---|
| 1993 | {
|
---|
| 1994 | if (this.IsVitalsUpdatedEvent(e))
|
---|
| 1995 | {
|
---|
| 1996 | this.RefreshAll();
|
---|
| 1997 | }
|
---|
| 1998 | }
|
---|
| 1999 |
|
---|
| 2000 | protected bool IsVitalsUpdatedEvent(LocalEventArgs anEvent)
|
---|
| 2001 | {
|
---|
| 2002 | return anEvent.EventType.StartsWith("PCC") && anEvent.EventType.EndsWith("MSR");
|
---|
| 2003 | }
|
---|
| 2004 | </code>
|
---|
| 2005 | </example>
|
---|
| 2006 | </member>
|
---|
| 2007 | <member name="P:IndianHealthService.BMXNet.LocalEventArgs.Details">
|
---|
| 2008 | <summary>
|
---|
| 2009 | This is an optional peice of data with some event-specific details.
|
---|
| 2010 | </summary>
|
---|
| 2011 | </member>
|
---|
| 2012 | <member name="T:IndianHealthService.BMXNet.LocalConsumer">
|
---|
| 2013 | <summary>
|
---|
| 2014 | This interface is used on UserControl-based components which are designed to work both inside
|
---|
| 2015 | the EHR and inside a WinForm application. "Consumer" interfaces basically tell Frameworks
|
---|
| 2016 | that a "Consumer"-implementating object need a specific service, versus the service being queried.
|
---|
| 2017 | </summary>
|
---|
| 2018 | <remarks>
|
---|
| 2019 | If your component doesn't implement LocalConsumer you can still have a user-control. However, implementing
|
---|
| 2020 | LocalConsumer is very common because of exclusive access to the patient/visit Context.
|
---|
| 2021 | </remarks>
|
---|
| 2022 | </member>
|
---|
| 2023 | <member name="P:IndianHealthService.BMXNet.LocalConsumer.LocalSession">
|
---|
| 2024 | <summary>
|
---|
| 2025 | This property is set with a LocalSession by the framework. The receiver uses it for Context,
|
---|
| 2026 | local Events, and other services.
|
---|
| 2027 | </summary>
|
---|
| 2028 | </member>
|
---|
| 2029 | <member name="T:IndianHealthService.BMXNet.LocalEventService">
|
---|
| 2030 | <summary>
|
---|
| 2031 | Access to local services are access through this interface.
|
---|
| 2032 | </summary>
|
---|
| 2033 | </member>
|
---|
| 2034 | <member name="M:IndianHealthService.BMXNet.LocalEventService.Subscribe(System.String)">
|
---|
| 2035 | <summary>
|
---|
| 2036 | Subscribe to the local event named anEventName.
|
---|
| 2037 | </summary>
|
---|
| 2038 | <remarks>
|
---|
| 2039 | To receive published events, handle the ApplicationEvent. If you explicity subscript
|
---|
| 2040 | to the "REFRESH" event then both RefreshRequested and ApplicationEvent will be triggers.
|
---|
| 2041 | </remarks>
|
---|
| 2042 | <param name="anEventName">The name of the event. This name should be shared and wellknown between many components.</param>
|
---|
| 2043 | </member>
|
---|
| 2044 | <member name="M:IndianHealthService.BMXNet.LocalEventService.HasSubscribers(System.String)">
|
---|
| 2045 | <summary>
|
---|
| 2046 | Checks to see there are any subscriptions for this event.
|
---|
| 2047 | </summary>
|
---|
| 2048 | <remarks>
|
---|
| 2049 | If publishing an event, there is no need to first check if there are subscribers unless there is a
|
---|
| 2050 | performance hit for the application to Trigger the event.
|
---|
| 2051 | </remarks>
|
---|
| 2052 | <param name="anEventName">The name of the event checking to see if it's been subscribed already.</param>
|
---|
| 2053 | <returns></returns>
|
---|
| 2054 | </member>
|
---|
| 2055 | <member name="M:IndianHealthService.BMXNet.LocalEventService.Unsubscribe(System.String)">
|
---|
| 2056 | <summary>
|
---|
| 2057 | Unscribe scribes from the event. It is not mandatory to unsubscribe from this event at the end of
|
---|
| 2058 | your object's lifecycle but you should either subsubscribe or remote the event handler.
|
---|
| 2059 | </summary>
|
---|
| 2060 | <param name="anEventName">The name of the event unsubscribing from.</param>
|
---|
| 2061 | <returns></returns>
|
---|
| 2062 | </member>
|
---|
| 2063 | <member name="M:IndianHealthService.BMXNet.LocalEventService.TriggerEvent(System.String,System.String)">
|
---|
| 2064 | <summary>
|
---|
| 2065 | To publish an event call TriggerEvent with the event name and optional details. There is no
|
---|
| 2066 | restriction on what local events that can be triggered. A "REFRESH" event can be broadcast as
|
---|
| 2067 | well as any other application specific or well-known loal event.
|
---|
| 2068 | </summary>
|
---|
| 2069 | <param name="anEventName">The event name. This is normally a well-known event that multiple components used for event-driven communications.</param>
|
---|
| 2070 | <param name="someDetails">An arbitrary string containing event specific data</param>
|
---|
| 2071 | </member>
|
---|
| 2072 | <member name="E:IndianHealthService.BMXNet.LocalEventService.RefreshRequested">
|
---|
| 2073 | <summary>
|
---|
| 2074 | This commonly broadcasted event is request to refresh content.
|
---|
| 2075 | </summary>
|
---|
| 2076 | <remarks>
|
---|
| 2077 | In the EHR, this is equivalent to the "REFRESH" event. The WinFramework also uses "REFRESH" as the
|
---|
| 2078 | event name for triggering a refresh request.
|
---|
| 2079 | </remarks>
|
---|
| 2080 | <example>
|
---|
| 2081 | The following code from Well Child Module's Growth Chart shows registering for the Refresh event
|
---|
| 2082 | at startup:
|
---|
| 2083 | <code>
|
---|
| 2084 | public void Startup()
|
---|
| 2085 | {
|
---|
| 2086 | this.LocalSession.EventServices.RefreshRequested += new EventHandler(Session_RefreshRequested);
|
---|
| 2087 | }
|
---|
| 2088 |
|
---|
| 2089 | void Session_RefreshRequested(object sender, EventArgs e)
|
---|
| 2090 | {
|
---|
| 2091 | this.RefreshAll();
|
---|
| 2092 | }
|
---|
| 2093 | </code>
|
---|
| 2094 |
|
---|
| 2095 | </example>
|
---|
| 2096 | </member>
|
---|
| 2097 | <member name="E:IndianHealthService.BMXNet.LocalEventService.ApplicationEvent">
|
---|
| 2098 | <summary>
|
---|
| 2099 | Local event subscribers will have this event triggered.
|
---|
| 2100 | </summary>
|
---|
| 2101 | <remarks>
|
---|
| 2102 | The "REFRESH" event is filtered out and is triggered using the RefreshRequested event
|
---|
| 2103 | </remarks>
|
---|
| 2104 | <example>
|
---|
| 2105 | The Well Child Module growth chart displays Height and Weight. When the EHR vitals component adds
|
---|
| 2106 | new Heights and Weights it publishes a LocalEvent with an EventType PCC*MSR. If the growth chart detects
|
---|
| 2107 | the Vitals update event it then refreshes the growth chart:
|
---|
| 2108 | <code>
|
---|
| 2109 | public void Startup()
|
---|
| 2110 | {
|
---|
| 2111 | this.LocalSession.EventServices.ApplicationEvent+= new EventHandler<LocalEventArgs>(Session_ApplicationEvent);
|
---|
| 2112 | }
|
---|
| 2113 |
|
---|
| 2114 |
|
---|
| 2115 | void Session_ApplicationEvent(object sender, LocalEventArgs e)
|
---|
| 2116 | {
|
---|
| 2117 | if (this.IsVitalsUpdatedEvent(e))
|
---|
| 2118 | {
|
---|
| 2119 | this.RefreshAll();
|
---|
| 2120 | }
|
---|
| 2121 | }
|
---|
| 2122 |
|
---|
| 2123 | protected bool IsVitalsUpdatedEvent(LocalEventArgs anEvent)
|
---|
| 2124 | {
|
---|
| 2125 | return anEvent.EventType.StartsWith("PCC") && anEvent.EventType.EndsWith("MSR");
|
---|
| 2126 | }
|
---|
| 2127 | </code>
|
---|
| 2128 | </example>
|
---|
| 2129 | </member>
|
---|
| 2130 | <member name="T:IndianHealthService.BMXNet.Net.BMXNetSessionSocketConnection">
|
---|
| 2131 | <summary>
|
---|
| 2132 | BMXNetBroker implements low-level socket connectivity to RPMS databases.
|
---|
| 2133 | The VA RPC Broker must be running on the RPMS server in order for
|
---|
| 2134 | BMXNetBroker to connect.
|
---|
| 2135 | </summary>
|
---|
| 2136 | </member>
|
---|
| 2137 | <member name="M:IndianHealthService.BMXNet.Net.BMXNetSessionSocketConnection.OpenConnectionCommon">
|
---|
| 2138 | <summary>
|
---|
| 2139 | Returns index of first instance of sSubString in sString.
|
---|
| 2140 | If sSubString not found, returns -1.
|
---|
| 2141 | </summary>
|
---|
| 2142 | <returns></returns>
|
---|
| 2143 | </member>
|
---|
| 2144 | <member name="M:IndianHealthService.BMXNet.Net.BMXNetSessionSocketConnection.ImHereServer">
|
---|
| 2145 | <summary>
|
---|
| 2146 | Ping the server, will reset read-timeout
|
---|
| 2147 | </summary>
|
---|
| 2148 | <returns>Answer the #milliseconds to run or -1 if theres an issue</returns>
|
---|
| 2149 | </member>
|
---|
| 2150 | <member name="P:IndianHealthService.BMXNet.Net.BMXNetSessionSocketConnection.ReceiveTimeout">
|
---|
| 2151 | <summary>
|
---|
| 2152 | Set and retrieve the timeout, in milliseconds, to receive a response from the RPMS server.
|
---|
| 2153 | If the retrieve time exceeds the timeout, an exception will be thrown and the connection will be closed.
|
---|
| 2154 | The default is 30 seconds.
|
---|
| 2155 | </summary>
|
---|
| 2156 | </member>
|
---|
| 2157 | <member name="T:IndianHealthService.BMXNet.Ado.BMXNetDataReader">
|
---|
| 2158 | <summary>
|
---|
| 2159 | BMXNET implementaiton of IDataReader. This class can be used like
|
---|
| 2160 | any ADO.NET IDataReader implementation or the suggested RemoteSession API's can
|
---|
| 2161 | be used.
|
---|
| 2162 |
|
---|
| 2163 | See ADO.NET documentation for details of this class.
|
---|
| 2164 | </summary>
|
---|
| 2165 | </member>
|
---|
| 2166 | </members>
|
---|
| 2167 | </doc>
|
---|