Class: AllscriptsUnityClient::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/allscripts_unity_client/client.rb

Overview

Providers an interface to access Unity endpoints.

Build using a dependency injection pattern. A Client instances takes an instance of ClientDriver and delegates Unity endpoint methods to the ClientDriver.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_driver) ⇒ Client

Constructor.

client_driver

An instance of a ClientDriver. Currently only SoapClientDriver and JsonClientDriver

are supported.

Raises:

  • (ArgumentError)


16
17
18
19
20
# File 'lib/allscripts_unity_client/client.rb', line 16

def initialize(client_driver)
  raise ArgumentError, 'client_driver can not be nil' if client_driver.nil?

  @client_driver = client_driver
end

Instance Attribute Details

#client_driverObject

Returns the value of attribute client_driver.



10
11
12
# File 'lib/allscripts_unity_client/client.rb', line 10

def client_driver
  @client_driver
end

Instance Method Details

#client_typeObject

Return the client type, either :json or :soap.



87
88
89
# File 'lib/allscripts_unity_client/client.rb', line 87

def client_type
  @client_driver.client_type
end

#commit_chargesObject

Raises:

  • (NotImplementedError)


91
92
93
# File 'lib/allscripts_unity_client/client.rb', line 91

def commit_charges
  raise NotImplementedError, 'CommitCharges magic action not implemented'
end

#echo(echo_text) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/allscripts_unity_client/client.rb', line 95

def echo(echo_text)
  magic_parameters = {
    action: 'Echo',
    userid: echo_text,
    appname: echo_text,
    patientid: echo_text,
    parameter1: echo_text,
    parameter2: echo_text,
    parameter3: echo_text,
    parameter4: echo_text,
    parameter5: echo_text,
    parameter6: echo_text
  }
  response = magic(magic_parameters)
  response[:userid]
end

#get_accountObject



112
113
114
115
116
117
# File 'lib/allscripts_unity_client/client.rb', line 112

def 
  magic_parameters = {
      action: 'GetAccount'
  }
  magic(magic_parameters)
end

#get_changed_patients(since = nil) ⇒ Object



119
120
121
122
123
124
125
# File 'lib/allscripts_unity_client/client.rb', line 119

def get_changed_patients(since = nil)
  magic_parameters = {
    action: 'GetChangedPatients',
    parameter1: since
  }
  magic(magic_parameters)
end

#get_charge_info_by_usernameObject

Raises:

  • (NotImplementedError)


127
128
129
# File 'lib/allscripts_unity_client/client.rb', line 127

def get_charge_info_by_username
  raise NotImplementedError, 'GetChargeInfoByUsername magic action not implemented'
end

#get_chargesObject

Raises:

  • (NotImplementedError)


131
132
133
# File 'lib/allscripts_unity_client/client.rb', line 131

def get_charges
  raise NotImplementedError, 'GetCharges magic action not implemented'
end

#get_chart_item_details(userid, patientid, section) ⇒ Object



135
136
137
138
139
140
141
142
143
# File 'lib/allscripts_unity_client/client.rb', line 135

def get_chart_item_details(userid, patientid, section)
  magic_parameters = {
    action: 'GetChartItemDetails',
    userid: userid,
    patientid: patientid,
    parameter1: section
  }
  magic(magic_parameters)
end

#get_clinical_summary(userid, patientid, extra_med_data = false) ⇒ Object



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/allscripts_unity_client/client.rb', line 145

def get_clinical_summary(userid, patientid, extra_med_data = false)
  magic_parameters = {
    action: 'GetClinicalSummary',
    userid: userid,
    patientid: patientid,
    parameter3: extra_med_data ? 'Y' : nil
  }
  response = magic(magic_parameters)

  unless response.is_a?(Array)
    response = [ response ]
  end

  response
end

#get_delegatesObject

Raises:

  • (NotImplementedError)


161
162
163
# File 'lib/allscripts_unity_client/client.rb', line 161

def get_delegates
  raise NotImplementedError, 'GetDelegates magic action not implemented'
end

#get_dictionary(dictionary_name, userid = nil, site = nil) ⇒ Object



165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# File 'lib/allscripts_unity_client/client.rb', line 165

def get_dictionary(dictionary_name, userid = nil, site = nil)
  magic_parameters = {
    action: 'GetDictionary',
    userid: userid,
    parameter1: dictionary_name,
    parameter2: site
  }
  response = magic(magic_parameters)

  unless response.is_a?(Array)
    response = [ response ]
  end

  response
end

#get_dictionary_setsObject

Raises:

  • (NotImplementedError)


181
182
183
# File 'lib/allscripts_unity_client/client.rb', line 181

def get_dictionary_sets
  raise NotImplementedError, 'GetDictionarySets magic action not implemented'
end

#get_doc_templateObject

Raises:

  • (NotImplementedError)


185
186
187
# File 'lib/allscripts_unity_client/client.rb', line 185

def get_doc_template
  raise NotImplementedError, 'GetDocTemplate magic action not implemented'
end

#get_document_by_accessionObject

Raises:

  • (NotImplementedError)


189
190
191
# File 'lib/allscripts_unity_client/client.rb', line 189

def get_document_by_accession
  raise NotImplementedError, 'GetDocumentByAccession magic action not implemented'
end

#get_document_imageObject

Raises:

  • (NotImplementedError)


193
194
195
# File 'lib/allscripts_unity_client/client.rb', line 193

def get_document_image
  raise NotImplementedError, 'GetDocumentImage magic action not implemented'
end

#get_document_typeObject

Raises:

  • (NotImplementedError)


201
202
203
# File 'lib/allscripts_unity_client/client.rb', line 201

def get_document_type
  raise NotImplementedError, 'GetDocumentType magic action not implemented'
end

#get_documentsObject

Raises:

  • (NotImplementedError)


197
198
199
# File 'lib/allscripts_unity_client/client.rb', line 197

def get_documents
  raise NotImplementedError, 'GetDocuments magic action not implemented'
end

#get_durObject

Raises:

  • (NotImplementedError)


205
206
207
# File 'lib/allscripts_unity_client/client.rb', line 205

def get_dur
  raise NotImplementedError, 'GetDUR magic action not implemented'
end

#get_encounterObject

Raises:

  • (NotImplementedError)


209
210
211
# File 'lib/allscripts_unity_client/client.rb', line 209

def get_encounter
  raise NotImplementedError, 'GetEncounter magic action not implemented'
end

#get_encounter_dateObject

Raises:

  • (NotImplementedError)


213
214
215
# File 'lib/allscripts_unity_client/client.rb', line 213

def get_encounter_date
  raise NotImplementedError, 'GetEncounterDate magic action not implemented'
end

#get_encounter_list(userid, patientid, encounter_type = nil, when_param = nil, nostradamus = 0, show_past_flag = true, billing_provider_user_name = nil, show_all = false) ⇒ Array<Hash>

GetEncounterList helper method.

Parameters:

  • userid (Object)
  • patientid (Object)
  • encounter_type (String, nil) (defaults to: nil)

    encounter type to filter on. A value of nil filters nothing. Defaults to nil.

  • when_param (Object) (defaults to: nil)
  • nostradamus (Fixnum, nil) (defaults to: 0)

    how many days to look into the future. Defaults to 0.

  • show_past_flag (Object) (defaults to: true)

    whether to show previous encounters. All truthy values aside from the string ‘“N”` are considered to be true (or `“Y”`) all other values are considered to be false (or `“N”`). Defaults to true.

  • billing_provider_user_name (Object) (defaults to: nil)

    filter by user name. Defaults to nil.

  • show_all (Object) (defaults to: false)

Returns:

  • (Array<Hash>)

    the filtered encounter list.



233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
# File 'lib/allscripts_unity_client/client.rb', line 233

def get_encounter_list(
    userid,
    patientid,
    encounter_type = nil,
    when_param = nil,
    nostradamus = 0,
    show_past_flag = true,
    billing_provider_user_name = nil,
    show_all = false)
  magic_parameters = {
    action: 'GetEncounterList',
    userid: userid,
    patientid: patientid,
    parameter1: encounter_type,
    parameter2: when_param,
    parameter3: nostradamus,
    parameter4: show_past_flag && show_past_flag != 'N' ? 'Y' : 'N',
    parameter5: billing_provider_user_name,
    # According to the developer guide this parameter is no longer
    # used.
    parameter6: show_all ? 'all' : nil
  }

  response = magic(magic_parameters)

  unless response.is_a?(Array)
    response = [ response ]
  end

  # Remove nil encounters
  response.delete_if do |value|
    value[:id] == '0' && value[:patientid] == '0'
  end
end

#get_hie_documentObject

Raises:

  • (NotImplementedError)


268
269
270
# File 'lib/allscripts_unity_client/client.rb', line 268

def get_hie_document
  raise NotImplementedError, 'GetHIEDocument magic action not implemented'
end

#get_last_patientObject

Raises:

  • (NotImplementedError)


272
273
274
# File 'lib/allscripts_unity_client/client.rb', line 272

def get_last_patient
  raise NotImplementedError, 'GetLastPatient magic action not implemented'
end

#get_list_of_dictionariesObject

Raises:

  • (NotImplementedError)


276
277
278
# File 'lib/allscripts_unity_client/client.rb', line 276

def get_list_of_dictionaries
  raise NotImplementedError, 'GetListOfDictionaries magic action not implemented'
end

#get_medication_by_trans_id(userid, patientid, transaction_id) ⇒ Object



280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
# File 'lib/allscripts_unity_client/client.rb', line 280

def get_medication_by_trans_id(userid, patientid, transaction_id)
  magic_parameters = {
    action: 'GetMedicationByTransID',
    userid: userid,
    patientid: patientid,
    parameter1: transaction_id
  }
  result = magic(magic_parameters)

  if transaction_id == 0 || transaction_id == '0'
    # When transaction_id is 0 all medications should be
    # returned and the result should always be an array.
    if !result.is_a?(Array) && !result.empty?
      result = [ result ]
    elsif result.empty?
      result = []
    end
  end

  result
end

#get_medication_info(userid, ddid, patientid = nil) ⇒ Object



302
303
304
305
306
307
308
309
310
# File 'lib/allscripts_unity_client/client.rb', line 302

def get_medication_info(userid, ddid, patientid = nil)
  magic_parameters = {
    action: 'GetMedicationInfo',
    userid: userid,
    patientid: patientid,
    parameter1: ddid
  }
  magic(magic_parameters)
end

#get_order_historyObject

Raises:

  • (NotImplementedError)


312
313
314
# File 'lib/allscripts_unity_client/client.rb', line 312

def get_order_history
  raise NotImplementedError, 'GetOrderHistory magic action not implemented'
end

#get_organization_idObject

Raises:

  • (NotImplementedError)


316
317
318
# File 'lib/allscripts_unity_client/client.rb', line 316

def get_organization_id
  raise NotImplementedError, 'GetOrganizationID magic action not implemented'
end

#get_packagesObject

Raises:

  • (NotImplementedError)


320
321
322
# File 'lib/allscripts_unity_client/client.rb', line 320

def get_packages
  raise NotImplementedError, 'GetPackages magic action not implemented'
end

#get_patient(userid, patientid, includepix = nil) ⇒ Object



324
325
326
327
328
329
330
331
332
# File 'lib/allscripts_unity_client/client.rb', line 324

def get_patient(userid, patientid, includepix = nil)
  magic_parameters = {
    action: 'GetPatient',
    userid: userid,
    patientid: patientid,
    parameter1: includepix
  }
  magic(magic_parameters)
end

#get_patient_activity(userid, patientid) ⇒ Object



334
335
336
337
338
339
340
341
# File 'lib/allscripts_unity_client/client.rb', line 334

def get_patient_activity(userid, patientid)
  magic_parameters = {
    action: 'GetPatientActivity',
    userid: userid,
    patientid: patientid
  }
  magic(magic_parameters)
end

#get_patient_by_mrn(userid, mrn) ⇒ Object



343
344
345
346
347
348
349
350
# File 'lib/allscripts_unity_client/client.rb', line 343

def get_patient_by_mrn(userid, mrn)
  magic_parameters = {
    action: 'GetPatientByMRN',
    userid: userid,
    parameter1: mrn
  }
  magic(magic_parameters)
end

#get_patient_cdaObject

Raises:

  • (NotImplementedError)


352
353
354
# File 'lib/allscripts_unity_client/client.rb', line 352

def get_patient_cda
  raise NotImplementedError, 'GetPatientCDA magic action not implemented'
end

#get_patient_diagnosis(userid, patientid, encounter_date = nil, encounter_type = nil, encounter_date_range = nil, encounter_id = nil) ⇒ Object



356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
# File 'lib/allscripts_unity_client/client.rb', line 356

def get_patient_diagnosis(userid, patientid, encounter_date = nil, encounter_type = nil, encounter_date_range = nil, encounter_id = nil)
  magic_params = {
    action: 'GetPatientDiagnosis',
    userid: userid,
    patientid: patientid,
    parameter1: encounter_date,
    parameter2: encounter_type,
    parameter3: encounter_date_range,
    parameter4: encounter_id
  }

  results = magic(magic_params)

  if !results.is_a? Array
    if results.empty?
      results = []
    else
      results = [results]
    end
  end

  results
end

#get_patient_fullObject

Raises:

  • (NotImplementedError)


380
381
382
# File 'lib/allscripts_unity_client/client.rb', line 380

def get_patient_full
  raise NotImplementedError, 'GetPatientFull magic action not implemented'
end

#get_patient_idsObject

Raises:

  • (NotImplementedError)


384
385
386
# File 'lib/allscripts_unity_client/client.rb', line 384

def get_patient_ids
  raise NotImplementedError, 'GetPatientIDs magic action not implemented'
end

#get_patient_listObject

Raises:

  • (NotImplementedError)


388
389
390
# File 'lib/allscripts_unity_client/client.rb', line 388

def get_patient_list
  raise NotImplementedError, 'GetPatientList magic action not implemented'
end

#get_patient_locationsObject

Raises:

  • (NotImplementedError)


392
393
394
# File 'lib/allscripts_unity_client/client.rb', line 392

def get_patient_locations
  raise NotImplementedError, 'GetPatientLocations magic action not implemented'
end

#get_patient_pharmaciesObject

Raises:

  • (NotImplementedError)


396
397
398
# File 'lib/allscripts_unity_client/client.rb', line 396

def get_patient_pharmacies
  raise NotImplementedError, 'GetPatientPharmacies magic action not implemented'
end

#get_patient_problems(patientid, show_by_encounter_flag = nil, assessed = nil, encounter_id = nil, medcin_id = nil) ⇒ Object



400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
# File 'lib/allscripts_unity_client/client.rb', line 400

def get_patient_problems(patientid, show_by_encounter_flag = nil, assessed = nil, encounter_id = nil, medcin_id = nil)
  magic_parameters = {
    action: 'GetPatientProblems',
    patientid: patientid,
    parameter1: show_by_encounter_flag,
    parameter2: assessed,
    parameter3: encounter_id,
    parameter4: medcin_id
  }
  response = magic(magic_parameters)

  unless response.is_a?(Array)
    response = [ response ]
  end

  response
end

#get_patient_sectionsObject

Raises:

  • (NotImplementedError)


428
429
430
# File 'lib/allscripts_unity_client/client.rb', line 428

def get_patient_sections
  raise NotImplementedError, 'GetPatientSections magic action not implemented'
end

#get_patients_by_icd9(icd9, start = nil, end_param = nil) ⇒ Object



418
419
420
421
422
423
424
425
426
# File 'lib/allscripts_unity_client/client.rb', line 418

def get_patients_by_icd9(icd9, start = nil, end_param = nil)
  magic_parameters = {
    action: 'GetPatientsByICD9',
    parameter1: icd9,
    parameter2: start,
    parameter3: end_param
  }
  magic(magic_parameters)
end

#get_proceduresObject

Raises:

  • (NotImplementedError)


432
433
434
# File 'lib/allscripts_unity_client/client.rb', line 432

def get_procedures
  raise NotImplementedError, 'GetProcedures magic action not implemented'
end

#get_provider(provider_id = nil, user_name = nil) ⇒ Object



436
437
438
439
440
441
442
443
444
445
446
447
# File 'lib/allscripts_unity_client/client.rb', line 436

def get_provider(provider_id = nil, user_name = nil)
  if provider_id.nil? && user_name.nil?
    raise ArgumentError, 'provider_id or user_name must be given'
  end

  magic_parameters = {
    action: 'GetProvider',
    parameter1: provider_id,
    parameter2: user_name
  }
  magic(magic_parameters)
end

#get_providers(security_filter = nil, name_filter = nil) ⇒ Object



449
450
451
452
453
454
455
456
457
458
459
460
461
462
# File 'lib/allscripts_unity_client/client.rb', line 449

def get_providers(security_filter = nil, name_filter = nil)
  magic_parameters = {
    action: 'GetProviders',
    parameter1: security_filter,
    parameter2: name_filter
  }
  response = magic(magic_parameters)

  unless response.is_a?(Array)
    response = [ response ]
  end

  response
end

#get_ref_providers_by_specialtyObject

Raises:

  • (NotImplementedError)


464
465
466
# File 'lib/allscripts_unity_client/client.rb', line 464

def get_ref_providers_by_specialty
  raise NotImplementedError, 'GetRefProvidersBySpecialty magic action not implemented'
end

#get_rounding_list_entriesObject

Raises:

  • (NotImplementedError)


468
469
470
# File 'lib/allscripts_unity_client/client.rb', line 468

def get_rounding_list_entries
  raise NotImplementedError, 'GetRoundingListEntries magic action not implemented'
end

#get_rounding_listsObject

Raises:

  • (NotImplementedError)


472
473
474
# File 'lib/allscripts_unity_client/client.rb', line 472

def get_rounding_lists
  raise NotImplementedError, 'GetRoundingLists magic action not implemented'
end

#get_rx_favsObject

Raises:

  • (NotImplementedError)


476
477
478
# File 'lib/allscripts_unity_client/client.rb', line 476

def get_rx_favs
  raise NotImplementedError, 'GetRXFavs magic action not implemented'
end

#get_scheduleObject

Raises:

  • (NotImplementedError)


480
481
482
# File 'lib/allscripts_unity_client/client.rb', line 480

def get_schedule
  raise NotImplementedError, 'GetSchedule magic action not implemented'
end

#get_security_token!(parameters = {}) ⇒ Object

Implement Unity’s GetSecurityToken endpoint.

Stores the results in @security_token.

parameters

A hash of Unity parameters for GetSecurityToken:

{
  :username => ...,
  :password => ...,
  :appname => ...
}

Returns the security token.



64
65
66
# File 'lib/allscripts_unity_client/client.rb', line 64

def get_security_token!(parameters = {})
  @client_driver.get_security_token!(parameters)
end

#get_server_infoObject



484
485
486
487
488
489
# File 'lib/allscripts_unity_client/client.rb', line 484

def get_server_info
  magic_parameters = {
    action: 'GetServerInfo'
  }
  magic(magic_parameters)
end

#get_sigsObject

Raises:

  • (NotImplementedError)


491
492
493
# File 'lib/allscripts_unity_client/client.rb', line 491

def get_sigs
  raise NotImplementedError, 'GetSigs magic action not implemented'
end

#get_task(userid, transaction_id) ⇒ Object



495
496
497
498
499
500
501
502
# File 'lib/allscripts_unity_client/client.rb', line 495

def get_task(userid, transaction_id)
  magic_parameters = {
    action: 'GetTask',
    userid: userid,
    parameter1: transaction_id
  }
  magic(magic_parameters)
end

#get_task_list(userid = nil, since = nil, delegated = nil, task_types = nil, task_statuses = nil) ⇒ Object

delegated is an undocumented parameter



505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
# File 'lib/allscripts_unity_client/client.rb', line 505

def get_task_list(userid = nil, since = nil, delegated = nil, task_types = nil, task_statuses = nil)
  magic_parameters = {
    action: 'GetTaskList',
    userid: userid,
    parameter1: since,
    parameter2: task_types,
    parameter3: task_statuses,
    parameter4: delegated
  }
  response = magic(magic_parameters)

  unless response.is_a?(Array)
    response = [ response ]
  end

  response
end

#get_user_authenticationObject

Raises:

  • (NotImplementedError)


523
524
525
# File 'lib/allscripts_unity_client/client.rb', line 523

def get_user_authentication
  raise NotImplementedError, 'GetUserAuthentication magic action not implemented'
end

#get_user_idObject

Raises:

  • (NotImplementedError)


527
528
529
# File 'lib/allscripts_unity_client/client.rb', line 527

def get_user_id
  raise NotImplementedError, 'GetUserID magic action not implemented'
end

#get_user_securityObject

Raises:

  • (NotImplementedError)


531
532
533
# File 'lib/allscripts_unity_client/client.rb', line 531

def get_user_security
  raise NotImplementedError, 'GetUserSecurity magic action not implemented'
end

#get_vaccine_manufacturersObject

Raises:

  • (NotImplementedError)


535
536
537
# File 'lib/allscripts_unity_client/client.rb', line 535

def get_vaccine_manufacturers
  raise NotImplementedError, 'GetVaccineManufacturers magic action not implemented'
end

#get_vitalsObject

Raises:

  • (NotImplementedError)


539
540
541
# File 'lib/allscripts_unity_client/client.rb', line 539

def get_vitals
  raise NotImplementedError, 'GetVitals magic action not implemented'
end

#last_logsObject



543
544
545
546
547
548
# File 'lib/allscripts_unity_client/client.rb', line 543

def last_logs
  magic_parameters = {
    action: 'LastLogs'
  }
  magic(magic_parameters)
end

#magic(parameters = {}) ⇒ Object

Implement Unity’s Magic endpoint

parameters

A Hash of Unity parameters. Takes this form:

{
  :action => ...,
  :userid => ...,
  :appname => ...,
  :patientid => ...,
  :token => ...,
  :parameter1 => ...,
  :parameter2 => ...,
  :parameter3 => ...,
  :parameter4 => ...,
  :parameter5 => ...,
  :parameter6 => ...,
  :data => ...
}

Returns the result of the Magic endpoint as a Hash.



47
48
49
# File 'lib/allscripts_unity_client/client.rb', line 47

def magic(parameters = {})
  @client_driver.magic(parameters)
end

#make_taskObject

Raises:

  • (NotImplementedError)


550
551
552
# File 'lib/allscripts_unity_client/client.rb', line 550

def make_task
  raise NotImplementedError, 'MakeTask magic action not implemented'
end

#optionsObject

Access client’s options. See ClientOptions.



23
24
25
# File 'lib/allscripts_unity_client/client.rb', line 23

def options
  @client_driver.options
end

#retire_security_token!(parameters = {}) ⇒ Object

Implement Unity’s RetireSecurityToken endpoint using Savon.

parameters

A hash of Unity parameters for RetireSecurityToken. If not given then defaults to

@security_token:

{
  :token => ...,
  :appname => ...
}


77
78
79
# File 'lib/allscripts_unity_client/client.rb', line 77

def retire_security_token!(parameters = {})
  @client_driver.retire_security_token!(parameters)
end

#save_admin_taskObject

Raises:

  • (NotImplementedError)


554
555
556
# File 'lib/allscripts_unity_client/client.rb', line 554

def save_admin_task
  raise NotImplementedError, 'SaveAdminTask magic action not implemented'
end

#save_allergyObject

Raises:

  • (NotImplementedError)


558
559
560
# File 'lib/allscripts_unity_client/client.rb', line 558

def save_allergy
  raise NotImplementedError, 'SaveAllergy magic action not implemented'
end

#save_cedObject

Raises:

  • (NotImplementedError)


562
563
564
# File 'lib/allscripts_unity_client/client.rb', line 562

def save_ced
  raise NotImplementedError, 'SaveCED magic action not implemented'
end

#save_chargeObject

Raises:

  • (NotImplementedError)


566
567
568
# File 'lib/allscripts_unity_client/client.rb', line 566

def save_charge
  raise NotImplementedError, 'SaveCharge magic action not implemented'
end

#save_chart_view_auditObject

Raises:

  • (NotImplementedError)


570
571
572
# File 'lib/allscripts_unity_client/client.rb', line 570

def save_chart_view_audit
  raise NotImplementedError, 'SaveChartViewAudit magic action not implemented'
end

#save_diagnosisObject

Raises:

  • (NotImplementedError)


574
575
576
# File 'lib/allscripts_unity_client/client.rb', line 574

def save_diagnosis
  raise NotImplementedError, 'SaveDiagnosis magic action not implemented'
end

#save_document_imageObject

Raises:

  • (NotImplementedError)


578
579
580
# File 'lib/allscripts_unity_client/client.rb', line 578

def save_document_image
  raise NotImplementedError, 'SaveDocumentImage magic action not implemented'
end

#save_er_noteObject

Raises:

  • (NotImplementedError)


582
583
584
# File 'lib/allscripts_unity_client/client.rb', line 582

def save_er_note
  raise NotImplementedError, 'SaveERNote magic action not implemented'
end

#save_hie_documentObject

Raises:

  • (NotImplementedError)


586
587
588
# File 'lib/allscripts_unity_client/client.rb', line 586

def save_hie_document
  raise NotImplementedError, 'SaveHIEDocument magic action not implemented'
end

#save_historyObject

Raises:

  • (NotImplementedError)


590
591
592
# File 'lib/allscripts_unity_client/client.rb', line 590

def save_history
  raise NotImplementedError, 'SaveHistory magic action not implemented'
end

#save_immunizationObject

Raises:

  • (NotImplementedError)


594
595
596
# File 'lib/allscripts_unity_client/client.rb', line 594

def save_immunization
  raise NotImplementedError, 'SaveImmunization magic action not implemented'
end

#save_noteObject

Raises:

  • (NotImplementedError)


598
599
600
# File 'lib/allscripts_unity_client/client.rb', line 598

def save_note
  raise NotImplementedError, 'SaveNote magic action not implemented'
end

#save_patientObject

Raises:

  • (NotImplementedError)


602
603
604
# File 'lib/allscripts_unity_client/client.rb', line 602

def save_patient
  raise NotImplementedError, 'SavePatient magic action not implemented'
end

#save_patient_locationObject

Raises:

  • (NotImplementedError)


606
607
608
# File 'lib/allscripts_unity_client/client.rb', line 606

def save_patient_location
  raise NotImplementedError, 'SavePatientLocation magic action not implemented'
end

#save_problemObject

Raises:

  • (NotImplementedError)


610
611
612
# File 'lib/allscripts_unity_client/client.rb', line 610

def save_problem
  raise NotImplementedError, 'SaveProblem magic action not implemented'
end

#save_problems_dataObject

Raises:

  • (NotImplementedError)


614
615
616
# File 'lib/allscripts_unity_client/client.rb', line 614

def save_problems_data
  raise NotImplementedError, 'SaveProblemsData magic action not implemented'
end

#save_ref_providerObject

Raises:

  • (NotImplementedError)


618
619
620
# File 'lib/allscripts_unity_client/client.rb', line 618

def save_ref_provider
  raise NotImplementedError, 'SaveRefProvider magic action not implemented'
end

#save_resultObject

Raises:

  • (NotImplementedError)


622
623
624
# File 'lib/allscripts_unity_client/client.rb', line 622

def save_result
  raise NotImplementedError, 'SaveResult magic action not implemented'
end

#save_rx(userid, patientid, rxxml) ⇒ Object



626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
# File 'lib/allscripts_unity_client/client.rb', line 626

def save_rx(userid, patientid, rxxml)
  # Generate XML structure for rxxml
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.saverx {
      xml.field('name' => 'transid', 'value' => rxxml[:transid]) unless rxxml[:transid]
      xml.field('name' => 'PharmID', 'value' => rxxml[:pharmid]) unless rxxml[:pharmid]
      xml.field('name' => 'DDI', 'value' => rxxml[:ddi]) unless rxxml[:ddi]
      xml.field('name' => 'GPPCCode', 'value' => rxxml[:gppccode]) unless rxxml[:gppccode]
      xml.field('name' => 'GPPCText', 'value' => rxxml[:gppctext]) unless rxxml[:gppctext]
      xml.field('name' => 'GPPCCustom', 'value' => rxxml[:gppccustom]) unless rxxml[:gppccustom]
      xml.field('name' => 'Sig', 'value' => rxxml[:sig]) unless rxxml[:sig]
      xml.field('name' => 'QuanPresc', 'value' => rxxml[:quanpresc]) unless rxxml[:quanpresc]
      xml.field('name' => 'Refills', 'value' => rxxml[:refills]) unless rxxml[:refills]
      xml.field('name' => 'DAW', 'value' => rxxml[:daw]) unless rxxml[:daw]
      xml.field('name' => 'DaysSupply', 'value' => rxxml[:dayssupply]) unless rxxml[:dayssupply]
      xml.field('name' => 'startdate', 'value' => utc_to_local(Date.parse(rxxml[:startdate].to_s))) unless rxxml[:startdate]
      xml.field('name' => 'historicalflag', 'value' => rxxml[:historicalflag]) unless rxxml[:historicalflag]
      xml.field('name' => 'rxaction', 'value' => rxxml[:rxaction]) unless rxxml[:rxaction]
      xml.field('name' => 'delivery', 'value' => rxxml[:delivery]) unless rxxml[:delivery]
      xml.field('name' => 'ignorepharmzero', 'value' => rxxml[:ignorepharmzero]) unless rxxml[:ignorepharmzero]
      xml.field('name' => 'orderedbyid', 'value' => rxxml[:orderedbyid]) unless rxxml[:orderedbyid]
      xml.field('name' => 'newqty', 'value' => rxxml[:newqty]) unless rxxml[:newqty]
      xml.field('name' => 'newrefills', 'value' => rxxml[:newrefills]) unless rxxml[:newrefills]
      xml.field('name' => 'comments', 'value' => rxxml[:comments]) unless rxxml[:comments]
      xml.field('name' => 'orderstatus', 'value' => rxxml[:order_status]) unless rxxml[:order_status]

      if rxxml[:problems]
        rxxml[:problems].each do |problem|
          xml.field('name' => 'Problem', 'value' => problem)
        end
      end
    }
  end

  magic_parameters = {
    action: 'SaveRX',
    userid: userid,
    patientid: patientid,
    parameter1: nokogiri_to_string(builder)
  }
  magic(magic_parameters)
end

#save_simple_encounterObject

Raises:

  • (NotImplementedError)


669
670
671
# File 'lib/allscripts_unity_client/client.rb', line 669

def save_simple_encounter
  raise NotImplementedError, 'SaveSimpleEncounter magic action not implemented'
end

#save_simple_rxObject

Raises:

  • (NotImplementedError)


673
674
675
# File 'lib/allscripts_unity_client/client.rb', line 673

def save_simple_rx
  raise NotImplementedError, 'SaveSimpleRX magic action not implemented'
end

#save_specialistObject

Raises:

  • (NotImplementedError)


677
678
679
# File 'lib/allscripts_unity_client/client.rb', line 677

def save_specialist
  raise NotImplementedError, 'SaveSpecialist magic action not implemented'
end

#save_task(userid, patientid, task_type = nil, target_user = nil, work_object_id = nil, comments = nil) ⇒ Object



681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
# File 'lib/allscripts_unity_client/client.rb', line 681

def save_task(userid, patientid, task_type = nil, target_user = nil, work_object_id = nil, comments = nil)
  if task_type.nil? && target_user.nil? && work_object_id.nil? && comments.nil?
    raise ArugmentError, 'task_type, target_user, work_object_id, and comments can not all be nil'
  end

  magic_parameters = {
    action: 'SaveTask',
    userid: userid,
    patientid: patientid,
    parameter1: task_type,
    parameter2: target_user,
    parameter3: work_object_id,
    parameter4: comments
  }
  magic(magic_parameters)
end

#save_task_status(userid, transaction_id = nil, status = nil, delegate_id = nil, comment = nil, taskchanges = nil, patient_id = nil) ⇒ Object



698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
# File 'lib/allscripts_unity_client/client.rb', line 698

def save_task_status(userid, transaction_id = nil, status = nil, delegate_id = nil, comment = nil, taskchanges = nil, patient_id = nil)
  if transaction_id.nil? && delegate_id.nil? && comment.nil?
    raise ArugmentError, 'transaction_id, delegate_id, and comment can not all be nil'
  end

  # Generate XML structure for rxxml
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.taskchanges {
      xml.refills('value' => taskchanges[:refills]) unless taskchanges.nil? || taskchanges[:refills].nil?
      xml.days('value' => taskchanges[:days]) unless taskchanges.nil? || taskchanges[:days].nil?
      xml.qty('value' => taskchanges[:qty]) unless taskchanges.nil? || taskchanges[:qty].nil?
      xml.tasktype('value' => taskchanges[:tasktype]) unless taskchanges.nil? || taskchanges[:tasktype].nil?
      xml.delegated('value' => taskchanges[:delegated]) unless taskchanges.nil? || taskchanges[:delegated].nil?
      xml.taskstatus('value' => taskchanges[:taskstatus]) unless taskchanges.nil? || taskchanges[:taskstatus].nil?
      xml.removereason('value' => taskchanges[:removereason]) unless taskchanges.nil? || taskchanges[:removereason].nil?
      xml.denyreason('value' => taskchanges[:denyreason]) unless taskchanges.nil? || taskchanges[:denyreason].nil?
    }
  end

  magic_parameters = {
    action: 'SaveTaskStatus',
    userid: userid,
    parameter1: transaction_id,
    parameter2: status,
    parameter3: delegate_id,
    parameter4: comment,
    parameter6: nokogiri_to_string(builder)
  }

  if patient_id
    magic_parameters.update(patientid: patient_id)
  end

  magic(magic_parameters)
end

#save_tiffObject

Raises:

  • (NotImplementedError)


734
735
736
# File 'lib/allscripts_unity_client/client.rb', line 734

def save_tiff
  raise NotImplementedError, 'SaveTiff magic action not implemented'
end

#save_unstructured_documentObject

Raises:

  • (NotImplementedError)


738
739
740
# File 'lib/allscripts_unity_client/client.rb', line 738

def save_unstructured_document
  raise NotImplementedError, 'SaveUnstructuredDocument magic action not implemented'
end

#save_v10_doc_signatureObject

Raises:

  • (NotImplementedError)


742
743
744
# File 'lib/allscripts_unity_client/client.rb', line 742

def save_v10_doc_signature
  raise NotImplementedError, 'SaveV10DocSignature magic action not implemented'
end

#save_v11_noteObject

Raises:

  • (NotImplementedError)


746
747
748
# File 'lib/allscripts_unity_client/client.rb', line 746

def save_v11_note
  raise NotImplementedError, 'SaveV11Note magic action not implemented'
end

#save_vitalsObject

Raises:

  • (NotImplementedError)


750
751
752
# File 'lib/allscripts_unity_client/client.rb', line 750

def save_vitals
  raise NotImplementedError, 'SaveVitals magic action not implemented'
end

#save_vitals_dataObject

Raises:

  • (NotImplementedError)


754
755
756
# File 'lib/allscripts_unity_client/client.rb', line 754

def save_vitals_data
  raise NotImplementedError, 'SaveVitalsData magic action not implemented'
end

#search_charge_codesObject

Raises:

  • (NotImplementedError)


758
759
760
# File 'lib/allscripts_unity_client/client.rb', line 758

def search_charge_codes
  raise NotImplementedError, 'SearchChargeCodes magic action not implemented'
end

#search_diagnosis_codesObject

Raises:

  • (NotImplementedError)


762
763
764
# File 'lib/allscripts_unity_client/client.rb', line 762

def search_diagnosis_codes
  raise NotImplementedError, 'SearchDiagnosisCodes magic action not implemented'
end

#search_meds(userid, patientid, search = nil) ⇒ Object



766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
# File 'lib/allscripts_unity_client/client.rb', line 766

def search_meds(userid, patientid, search = nil)
  magic_parameters = {
    action: 'SearchMeds',
    userid: userid,
    patientid: patientid,
    parameter1: search
  }

  response = magic(magic_parameters)

  unless response.is_a?(Array)
    response = [ response ]
  end

  response
end

#search_patients(search) ⇒ Object



783
784
785
786
787
788
789
# File 'lib/allscripts_unity_client/client.rb', line 783

def search_patients(search)
  magic_parameters = {
    action: 'SearchPatients',
    parameter1: search
  }
  magic(magic_parameters)
end

#search_patients_rxhub5Object

Raises:

  • (NotImplementedError)


791
792
793
# File 'lib/allscripts_unity_client/client.rb', line 791

def search_patients_rxhub5
  raise NotImplementedError, 'SearchPatientsRXHub5 magic action not implemented'
end

#search_pharmacies(search) ⇒ Object



795
796
797
798
799
800
801
# File 'lib/allscripts_unity_client/client.rb', line 795

def search_pharmacies(search)
  magic_parameters = {
    action: 'SearchPharmacies',
    parameter1: search
  }
  magic(magic_parameters)
end

#search_problem_codesObject

Raises:

  • (NotImplementedError)


803
804
805
# File 'lib/allscripts_unity_client/client.rb', line 803

def search_problem_codes
  raise NotImplementedError, 'SearchProblemCodes magic action not implemented'
end

#security_token?Boolean

Return true if a Unity security token has been fetched and saved.

Returns:

  • (Boolean)


82
83
84
# File 'lib/allscripts_unity_client/client.rb', line 82

def security_token?
  @client_driver.security_token?
end

#update_encounterObject

Raises:

  • (NotImplementedError)


807
808
809
# File 'lib/allscripts_unity_client/client.rb', line 807

def update_encounter
  raise NotImplementedError, 'UpdateEncounter magic action not implemented'
end

#update_orderObject

Raises:

  • (NotImplementedError)


811
812
813
# File 'lib/allscripts_unity_client/client.rb', line 811

def update_order
  raise NotImplementedError, 'UpdateOrder magic action not implemented'
end

#update_referral_order_statusObject

Raises:

  • (NotImplementedError)


815
816
817
# File 'lib/allscripts_unity_client/client.rb', line 815

def update_referral_order_status
  raise NotImplementedError, 'UpdateReferralOrderStatus magic action not implemented'
end