allscripts_unity_client 1.3.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +66 -66
  3. data/allscripts_unity_client.gemspec +32 -32
  4. data/lib/allscripts_unity_client/client.rb +215 -205
  5. data/lib/allscripts_unity_client/client_driver.rb +15 -42
  6. data/lib/allscripts_unity_client/client_options.rb +68 -0
  7. data/lib/allscripts_unity_client/json_client_driver.rb +46 -50
  8. data/lib/allscripts_unity_client/json_unity_request.rb +20 -20
  9. data/lib/allscripts_unity_client/json_unity_response.rb +1 -1
  10. data/lib/allscripts_unity_client/soap_client_driver.rb +29 -29
  11. data/lib/allscripts_unity_client/timezone.rb +15 -10
  12. data/lib/allscripts_unity_client/unity_request.rb +17 -17
  13. data/lib/allscripts_unity_client/unity_response.rb +3 -3
  14. data/lib/allscripts_unity_client/utilities.rb +5 -5
  15. data/lib/allscripts_unity_client/version.rb +1 -1
  16. data/lib/allscripts_unity_client.rb +21 -25
  17. data/spec/allscripts_unity_client_spec.rb +12 -16
  18. data/spec/client_driver_spec.rb +1 -49
  19. data/spec/client_options_spec.rb +134 -0
  20. data/spec/client_spec.rb +9 -9
  21. data/spec/factories/allscripts_unity_client_parameters_factory.rb +2 -2
  22. data/spec/factories/client_driver_factory.rb +4 -5
  23. data/spec/factories/client_factory.rb +2 -2
  24. data/spec/factories/client_options.rb +13 -0
  25. data/spec/factories/json_client_driver_factory.rb +1 -1
  26. data/spec/factories/json_unity_request_factory.rb +1 -1
  27. data/spec/factories/json_unity_response_factory.rb +1 -1
  28. data/spec/factories/magic_request_factory.rb +4 -4
  29. data/spec/factories/soap_client_driver_factory.rb +1 -1
  30. data/spec/factories/timezone_factory.rb +2 -2
  31. data/spec/factories/unity_request_factory.rb +3 -3
  32. data/spec/factories/unity_response_factory.rb +2 -2
  33. data/spec/json_client_driver_spec.rb +18 -86
  34. data/spec/json_unity_request_spec.rb +7 -7
  35. data/spec/json_unity_response_spec.rb +6 -6
  36. data/spec/soap_client_driver_spec.rb +20 -82
  37. data/spec/spec_helper.rb +5 -9
  38. data/spec/support/shared_examples_for_client_driver.rb +37 -58
  39. data/spec/support/shared_examples_for_unity_request.rb +13 -13
  40. data/spec/support/shared_examples_for_unity_response.rb +4 -4
  41. data/spec/timezone_spec.rb +31 -11
  42. data/spec/unity_request_spec.rb +7 -7
  43. data/spec/unity_response_spec.rb +4 -4
  44. data/spec/utilities_spec.rb +2 -2
  45. metadata +30 -57
@@ -1,15 +1,19 @@
1
- require "nokogiri"
1
+ require 'nokogiri'
2
2
 
3
3
  module AllscriptsUnityClient
4
4
  class Client
5
5
  attr_accessor :client_driver
6
6
 
7
7
  def initialize(client_driver)
8
- raise ArgumentError, "client_driver can not be nil" if client_driver.nil?
8
+ raise ArgumentError, 'client_driver can not be nil' if client_driver.nil?
9
9
 
10
10
  @client_driver = client_driver
11
11
  end
12
12
 
13
+ def options
14
+ @client_driver.options
15
+ end
16
+
13
17
  def magic(parameters = {})
14
18
  @client_driver.magic(parameters)
15
19
  end
@@ -27,79 +31,85 @@ module AllscriptsUnityClient
27
31
  end
28
32
 
29
33
  def client_type
30
- return @client_driver.client_type
34
+ @client_driver.client_type
31
35
  end
32
36
 
33
37
  def commit_charges
34
- raise NotImplementedError, "CommitCharges magic action not implemented"
38
+ raise NotImplementedError, 'CommitCharges magic action not implemented'
35
39
  end
36
40
 
37
41
  def echo(echo_text)
38
42
  magic_parameters = {
39
- :action => "Echo",
40
- :userid => echo_text,
41
- :appname => echo_text,
42
- :patientid => echo_text,
43
- :parameter1 => echo_text,
44
- :parameter2 => echo_text,
45
- :parameter3 => echo_text,
46
- :parameter4 => echo_text,
47
- :parameter5 => echo_text,
48
- :parameter6 => echo_text
43
+ action: 'Echo',
44
+ userid: echo_text,
45
+ appname: echo_text,
46
+ patientid: echo_text,
47
+ parameter1: echo_text,
48
+ parameter2: echo_text,
49
+ parameter3: echo_text,
50
+ parameter4: echo_text,
51
+ parameter5: echo_text,
52
+ parameter6: echo_text
49
53
  }
50
54
  response = magic(magic_parameters)
51
55
  response[:userid]
52
56
  end
53
57
 
54
58
  def get_account
55
- raise NotImplementedError, "GetAccount magic action not implemented"
59
+ raise NotImplementedError, 'GetAccount magic action not implemented'
56
60
  end
57
61
 
58
62
  def get_changed_patients(since = nil)
59
63
  magic_parameters = {
60
- :action => "GetChangedPatients",
61
- :parameter1 => since
64
+ action: 'GetChangedPatients',
65
+ parameter1: since
62
66
  }
63
67
  magic(magic_parameters)
64
68
  end
65
69
 
66
70
  def get_charge_info_by_username
67
- raise NotImplementedError, "GetChargeInfoByUsername magic action not implemented"
71
+ raise NotImplementedError, 'GetChargeInfoByUsername magic action not implemented'
68
72
  end
69
73
 
70
74
  def get_charges
71
- raise NotImplementedError, "GetCharges magic action not implemented"
75
+ raise NotImplementedError, 'GetCharges magic action not implemented'
72
76
  end
73
77
 
74
78
  def get_chart_item_details(userid, patientid, section)
75
79
  magic_parameters = {
76
- :action => "GetChartItemDetails",
77
- :userid => userid,
78
- :patientid => patientid,
79
- :parameter1 => section
80
+ action: 'GetChartItemDetails',
81
+ userid: userid,
82
+ patientid: patientid,
83
+ parameter1: section
80
84
  }
81
85
  magic(magic_parameters)
82
86
  end
83
87
 
84
88
  def get_clinical_summary(userid, patientid)
85
89
  magic_parameters = {
86
- :action => "GetClinicalSummary",
87
- :userid => userid,
88
- :patientid => patientid
90
+ action: 'GetClinicalSummary',
91
+ userid: userid,
92
+ patientid: patientid
89
93
  }
90
- magic(magic_parameters)
94
+ response = magic(magic_parameters)
95
+
96
+ unless response.is_a?(Array)
97
+ response = [ response ]
98
+ end
99
+
100
+ response
91
101
  end
92
102
 
93
103
  def get_delegates
94
- raise NotImplementedError, "GetDelegates magic action not implemented"
104
+ raise NotImplementedError, 'GetDelegates magic action not implemented'
95
105
  end
96
106
 
97
107
  def get_dictionary(dictionary_name, userid = nil, site = nil)
98
108
  magic_parameters = {
99
- :action => "GetDictionary",
100
- :userid => userid,
101
- :parameter1 => dictionary_name,
102
- :parameter2 => site
109
+ action: 'GetDictionary',
110
+ userid: userid,
111
+ parameter1: dictionary_name,
112
+ parameter2: site
103
113
  }
104
114
  response = magic(magic_parameters)
105
115
 
@@ -111,51 +121,51 @@ module AllscriptsUnityClient
111
121
  end
112
122
 
113
123
  def get_dictionary_sets
114
- raise NotImplementedError, "GetDictionarySets magic action not implemented"
124
+ raise NotImplementedError, 'GetDictionarySets magic action not implemented'
115
125
  end
116
126
 
117
127
  def get_doc_template
118
- raise NotImplementedError, "GetDocTemplate magic action not implemented"
128
+ raise NotImplementedError, 'GetDocTemplate magic action not implemented'
119
129
  end
120
130
 
121
131
  def get_document_by_accession
122
- raise NotImplementedError, "GetDocumentByAccession magic action not implemented"
132
+ raise NotImplementedError, 'GetDocumentByAccession magic action not implemented'
123
133
  end
124
134
 
125
135
  def get_document_image
126
- raise NotImplementedError, "GetDocumentImage magic action not implemented"
136
+ raise NotImplementedError, 'GetDocumentImage magic action not implemented'
127
137
  end
128
138
 
129
139
  def get_documents
130
- raise NotImplementedError, "GetDocuments magic action not implemented"
140
+ raise NotImplementedError, 'GetDocuments magic action not implemented'
131
141
  end
132
142
 
133
143
  def get_document_type
134
- raise NotImplementedError, "GetDocumentType magic action not implemented"
144
+ raise NotImplementedError, 'GetDocumentType magic action not implemented'
135
145
  end
136
146
 
137
147
  def get_dur
138
- raise NotImplementedError, "GetDUR magic action not implemented"
148
+ raise NotImplementedError, 'GetDUR magic action not implemented'
139
149
  end
140
150
 
141
151
  def get_encounter
142
- raise NotImplementedError, "GetEncounter magic action not implemented"
152
+ raise NotImplementedError, 'GetEncounter magic action not implemented'
143
153
  end
144
154
 
145
155
  def get_encounter_date
146
- raise NotImplementedError, "GetEncounterDate magic action not implemented"
156
+ raise NotImplementedError, 'GetEncounterDate magic action not implemented'
147
157
  end
148
158
 
149
159
  def get_encounter_list(userid, patientid, encounter_type, when_param = nil, nostradamus = nil, show_past_flag = nil, billing_provider_user_name = nil)
150
160
  magic_parameters = {
151
- :action => "GetEncounterList",
152
- :userid => userid,
153
- :patientid => patientid,
154
- :parameter1 => encounter_type,
155
- :parameter2 => when_param,
156
- :parameter3 => nostradamus,
157
- :parameter4 => show_past_flag,
158
- :parameter5 => billing_provider_user_name
161
+ action: 'GetEncounterList',
162
+ userid: userid,
163
+ patientid: patientid,
164
+ parameter1: encounter_type,
165
+ parameter2: when_param,
166
+ parameter3: nostradamus,
167
+ parameter4: show_past_flag,
168
+ parameter5: billing_provider_user_name
159
169
  }
160
170
  response = magic(magic_parameters)
161
171
 
@@ -165,113 +175,113 @@ module AllscriptsUnityClient
165
175
 
166
176
  # Remove nil encounters
167
177
  response.delete_if do |value|
168
- value[:id] == "0" && value[:patientid] == "0"
178
+ value[:id] == '0' && value[:patientid] == '0'
169
179
  end
170
180
  end
171
181
 
172
182
  def get_hie_document
173
- raise NotImplementedError, "GetHIEDocument magic action not implemented"
183
+ raise NotImplementedError, 'GetHIEDocument magic action not implemented'
174
184
  end
175
185
 
176
186
  def get_last_patient
177
- raise NotImplementedError, "GetLastPatient magic action not implemented"
187
+ raise NotImplementedError, 'GetLastPatient magic action not implemented'
178
188
  end
179
189
 
180
190
  def get_list_of_dictionaries
181
- raise NotImplementedError, "GetListOfDictionaries magic action not implemented"
191
+ raise NotImplementedError, 'GetListOfDictionaries magic action not implemented'
182
192
  end
183
193
 
184
194
  def get_medication_by_trans_id(userid, patientid, transaction_id)
185
195
  magic_parameters = {
186
- :action => "GetMedicationByTransID",
187
- :userid => userid,
188
- :patientid => patientid,
189
- :parameter1 => transaction_id
196
+ action: 'GetMedicationByTransID',
197
+ userid: userid,
198
+ patientid: patientid,
199
+ parameter1: transaction_id
190
200
  }
191
201
  magic(magic_parameters)
192
202
  end
193
203
 
194
204
  def get_medication_info(userid, ddid, patientid = nil)
195
205
  magic_parameters = {
196
- :action => "GetMedicationInfo",
197
- :userid => userid,
198
- :patientid => patientid,
199
- :parameter1 => ddid
206
+ action: 'GetMedicationInfo',
207
+ userid: userid,
208
+ patientid: patientid,
209
+ parameter1: ddid
200
210
  }
201
211
  magic(magic_parameters)
202
212
  end
203
213
 
204
214
  def get_order_history
205
- raise NotImplementedError, "GetOrderHistory magic action not implemented"
215
+ raise NotImplementedError, 'GetOrderHistory magic action not implemented'
206
216
  end
207
217
 
208
218
  def get_organization_id
209
- raise NotImplementedError, "GetOrganizationID magic action not implemented"
219
+ raise NotImplementedError, 'GetOrganizationID magic action not implemented'
210
220
  end
211
221
 
212
222
  def get_packages
213
- raise NotImplementedError, "GetPackages magic action not implemented"
223
+ raise NotImplementedError, 'GetPackages magic action not implemented'
214
224
  end
215
225
 
216
226
  def get_patient(userid, patientid, includepix = nil)
217
227
  magic_parameters = {
218
- :action => "GetPatient",
219
- :userid => userid,
220
- :patientid => patientid,
221
- :parameter1 => includepix
228
+ action: 'GetPatient',
229
+ userid: userid,
230
+ patientid: patientid,
231
+ parameter1: includepix
222
232
  }
223
233
  magic(magic_parameters)
224
234
  end
225
235
 
226
236
  def get_patient_activity(userid, patientid)
227
237
  magic_parameters = {
228
- :action => "GetPatientActivity",
229
- :userid => userid,
230
- :patientid => patientid
238
+ action: 'GetPatientActivity',
239
+ userid: userid,
240
+ patientid: patientid
231
241
  }
232
242
  magic(magic_parameters)
233
243
  end
234
244
 
235
245
  def get_patient_by_mrn
236
- raise NotImplementedError, "GetPatientByMRN magic action not implemented"
246
+ raise NotImplementedError, 'GetPatientByMRN magic action not implemented'
237
247
  end
238
248
 
239
249
  def get_patient_cda
240
- raise NotImplementedError, "GetPatientCDA magic action not implemented"
250
+ raise NotImplementedError, 'GetPatientCDA magic action not implemented'
241
251
  end
242
252
 
243
253
  def get_patient_diagnosis
244
- raise NotImplementedError, "GetPatientDiagnosis magic action not implemented"
254
+ raise NotImplementedError, 'GetPatientDiagnosis magic action not implemented'
245
255
  end
246
256
 
247
257
  def get_patient_full
248
- raise NotImplementedError, "GetPatientFull magic action not implemented"
258
+ raise NotImplementedError, 'GetPatientFull magic action not implemented'
249
259
  end
250
260
 
251
261
  def get_patient_ids
252
- raise NotImplementedError, "GetPatientIDs magic action not implemented"
262
+ raise NotImplementedError, 'GetPatientIDs magic action not implemented'
253
263
  end
254
264
 
255
265
  def get_patient_list
256
- raise NotImplementedError, "GetPatientList magic action not implemented"
266
+ raise NotImplementedError, 'GetPatientList magic action not implemented'
257
267
  end
258
268
 
259
269
  def get_patient_locations
260
- raise NotImplementedError, "GetPatientLocations magic action not implemented"
270
+ raise NotImplementedError, 'GetPatientLocations magic action not implemented'
261
271
  end
262
272
 
263
273
  def get_patient_pharmacies
264
- raise NotImplementedError, "GetPatientPharmacies magic action not implemented"
274
+ raise NotImplementedError, 'GetPatientPharmacies magic action not implemented'
265
275
  end
266
276
 
267
277
  def get_patient_problems(patientid, show_by_encounter_flag = nil, assessed = nil, encounter_id = nil, medcin_id = nil)
268
278
  magic_parameters = {
269
- :action => "GetPatientProblems",
270
- :patientid => patientid,
271
- :parameter1 => show_by_encounter_flag,
272
- :parameter2 => assessed,
273
- :parameter3 => encounter_id,
274
- :parameter4 => medcin_id
279
+ action: 'GetPatientProblems',
280
+ patientid: patientid,
281
+ parameter1: show_by_encounter_flag,
282
+ parameter2: assessed,
283
+ parameter3: encounter_id,
284
+ parameter4: medcin_id
275
285
  }
276
286
  response = magic(magic_parameters)
277
287
 
@@ -284,40 +294,40 @@ module AllscriptsUnityClient
284
294
 
285
295
  def get_patients_by_icd9(icd9, start = nil, end_param = nil)
286
296
  magic_parameters = {
287
- :action => "GetPatientsByICD9",
288
- :parameter1 => icd9,
289
- :parameter2 => start,
290
- :parameter3 => end_param
297
+ action: 'GetPatientsByICD9',
298
+ parameter1: icd9,
299
+ parameter2: start,
300
+ parameter3: end_param
291
301
  }
292
302
  magic(magic_parameters)
293
303
  end
294
304
 
295
305
  def get_patient_sections
296
- raise NotImplementedError, "GetPatientSections magic action not implemented"
306
+ raise NotImplementedError, 'GetPatientSections magic action not implemented'
297
307
  end
298
308
 
299
309
  def get_procedures
300
- raise NotImplementedError, "GetProcedures magic action not implemented"
310
+ raise NotImplementedError, 'GetProcedures magic action not implemented'
301
311
  end
302
312
 
303
313
  def get_provider(provider_id = nil, user_name = nil)
304
314
  if provider_id.nil? && user_name.nil?
305
- raise ArgumentError, "provider_id or user_name must be given"
315
+ raise ArgumentError, 'provider_id or user_name must be given'
306
316
  end
307
317
 
308
318
  magic_parameters = {
309
- :action => "GetProvider",
310
- :parameter1 => provider_id,
311
- :parameter2 => user_name
319
+ action: 'GetProvider',
320
+ parameter1: provider_id,
321
+ parameter2: user_name
312
322
  }
313
323
  magic(magic_parameters)
314
324
  end
315
325
 
316
326
  def get_providers(security_filter = nil, name_filter = nil)
317
327
  magic_parameters = {
318
- :action => "GetProviders",
319
- :parameter1 => security_filter,
320
- :parameter2 => name_filter
328
+ action: 'GetProviders',
329
+ parameter1: security_filter,
330
+ parameter2: name_filter
321
331
  }
322
332
  response = magic(magic_parameters)
323
333
 
@@ -329,50 +339,50 @@ module AllscriptsUnityClient
329
339
  end
330
340
 
331
341
  def get_ref_providers_by_specialty
332
- raise NotImplementedError, "GetRefProvidersBySpecialty magic action not implemented"
342
+ raise NotImplementedError, 'GetRefProvidersBySpecialty magic action not implemented'
333
343
  end
334
344
 
335
345
  def get_rounding_list_entries
336
- raise NotImplementedError, "GetRoundingListEntries magic action not implemented"
346
+ raise NotImplementedError, 'GetRoundingListEntries magic action not implemented'
337
347
  end
338
348
 
339
349
  def get_rounding_lists
340
- raise NotImplementedError, "GetRoundingLists magic action not implemented"
350
+ raise NotImplementedError, 'GetRoundingLists magic action not implemented'
341
351
  end
342
352
 
343
353
  def get_rx_favs
344
- raise NotImplementedError, "GetRXFavs magic action not implemented"
354
+ raise NotImplementedError, 'GetRXFavs magic action not implemented'
345
355
  end
346
356
 
347
357
  def get_schedule
348
- raise NotImplementedError, "GetSchedule magic action not implemented"
358
+ raise NotImplementedError, 'GetSchedule magic action not implemented'
349
359
  end
350
360
 
351
361
  def get_server_info
352
362
  magic_parameters = {
353
- :action => "GetServerInfo"
363
+ action: 'GetServerInfo'
354
364
  }
355
365
  magic(magic_parameters)
356
366
  end
357
367
 
358
368
  def get_sigs
359
- raise NotImplementedError, "GetSigs magic action not implemented"
369
+ raise NotImplementedError, 'GetSigs magic action not implemented'
360
370
  end
361
371
 
362
372
  def get_task(userid, transaction_id)
363
373
  magic_parameters = {
364
- :action => "GetTask",
365
- :userid => userid,
366
- :parameter1 => transaction_id
374
+ action: 'GetTask',
375
+ userid: userid,
376
+ parameter1: transaction_id
367
377
  }
368
378
  magic(magic_parameters)
369
379
  end
370
380
 
371
381
  def get_task_list(userid = nil, since = nil)
372
382
  magic_parameters = {
373
- :action => "GetTaskList",
374
- :userid => userid,
375
- :parameter1 => since
383
+ action: 'GetTaskList',
384
+ userid: userid,
385
+ parameter1: since
376
386
  }
377
387
  response = magic(magic_parameters)
378
388
 
@@ -384,238 +394,238 @@ module AllscriptsUnityClient
384
394
  end
385
395
 
386
396
  def get_user_authentication
387
- raise NotImplementedError, "GetUserAuthentication magic action not implemented"
397
+ raise NotImplementedError, 'GetUserAuthentication magic action not implemented'
388
398
  end
389
399
 
390
400
  def get_user_id
391
- raise NotImplementedError, "GetUserID magic action not implemented"
401
+ raise NotImplementedError, 'GetUserID magic action not implemented'
392
402
  end
393
403
 
394
404
  def get_user_security
395
- raise NotImplementedError, "GetUserSecurity magic action not implemented"
405
+ raise NotImplementedError, 'GetUserSecurity magic action not implemented'
396
406
  end
397
407
 
398
408
  def get_vaccine_manufacturers
399
- raise NotImplementedError, "GetVaccineManufacturers magic action not implemented"
409
+ raise NotImplementedError, 'GetVaccineManufacturers magic action not implemented'
400
410
  end
401
411
 
402
412
  def get_vitals
403
- raise NotImplementedError, "GetVitals magic action not implemented"
413
+ raise NotImplementedError, 'GetVitals magic action not implemented'
404
414
  end
405
415
 
406
416
  def last_logs
407
417
  magic_parameters = {
408
- :action => "LastLogs"
418
+ action: 'LastLogs'
409
419
  }
410
420
  magic(magic_parameters)
411
421
  end
412
422
 
413
423
  def make_task
414
- raise NotImplementedError, "MakeTask magic action not implemented"
424
+ raise NotImplementedError, 'MakeTask magic action not implemented'
415
425
  end
416
426
 
417
427
  def save_admin_task
418
- raise NotImplementedError, "SaveAdminTask magic action not implemented"
428
+ raise NotImplementedError, 'SaveAdminTask magic action not implemented'
419
429
  end
420
430
 
421
431
  def save_allergy
422
- raise NotImplementedError, "SaveAllergy magic action not implemented"
432
+ raise NotImplementedError, 'SaveAllergy magic action not implemented'
423
433
  end
424
434
 
425
435
  def save_ced
426
- raise NotImplementedError, "SaveCED magic action not implemented"
436
+ raise NotImplementedError, 'SaveCED magic action not implemented'
427
437
  end
428
438
 
429
439
  def save_charge
430
- raise NotImplementedError, "SaveCharge magic action not implemented"
440
+ raise NotImplementedError, 'SaveCharge magic action not implemented'
431
441
  end
432
442
 
433
443
  def save_chart_view_audit
434
- raise NotImplementedError, "SaveChartViewAudit magic action not implemented"
444
+ raise NotImplementedError, 'SaveChartViewAudit magic action not implemented'
435
445
  end
436
446
 
437
447
  def save_diagnosis
438
- raise NotImplementedError, "SaveDiagnosis magic action not implemented"
448
+ raise NotImplementedError, 'SaveDiagnosis magic action not implemented'
439
449
  end
440
450
 
441
451
  def save_document_image
442
- raise NotImplementedError, "SaveDocumentImage magic action not implemented"
452
+ raise NotImplementedError, 'SaveDocumentImage magic action not implemented'
443
453
  end
444
454
 
445
455
  def save_er_note
446
- raise NotImplementedError, "SaveERNote magic action not implemented"
456
+ raise NotImplementedError, 'SaveERNote magic action not implemented'
447
457
  end
448
458
 
449
459
  def save_hie_document
450
- raise NotImplementedError, "SaveHIEDocument magic action not implemented"
460
+ raise NotImplementedError, 'SaveHIEDocument magic action not implemented'
451
461
  end
452
462
 
453
463
  def save_history
454
- raise NotImplementedError, "SaveHistory magic action not implemented"
464
+ raise NotImplementedError, 'SaveHistory magic action not implemented'
455
465
  end
456
466
 
457
467
  def save_immunization
458
- raise NotImplementedError, "SaveImmunization magic action not implemented"
468
+ raise NotImplementedError, 'SaveImmunization magic action not implemented'
459
469
  end
460
470
 
461
471
  def save_note
462
- raise NotImplementedError, "SaveNote magic action not implemented"
472
+ raise NotImplementedError, 'SaveNote magic action not implemented'
463
473
  end
464
474
 
465
475
  def save_patient
466
- raise NotImplementedError, "SavePatient magic action not implemented"
476
+ raise NotImplementedError, 'SavePatient magic action not implemented'
467
477
  end
468
478
 
469
479
  def save_patient_location
470
- raise NotImplementedError, "SavePatientLocation magic action not implemented"
480
+ raise NotImplementedError, 'SavePatientLocation magic action not implemented'
471
481
  end
472
482
 
473
483
  def save_problem
474
- raise NotImplementedError, "SaveProblem magic action not implemented"
484
+ raise NotImplementedError, 'SaveProblem magic action not implemented'
475
485
  end
476
486
 
477
487
  def save_problems_data
478
- raise NotImplementedError, "SaveProblemsData magic action not implemented"
488
+ raise NotImplementedError, 'SaveProblemsData magic action not implemented'
479
489
  end
480
490
 
481
491
  def save_ref_provider
482
- raise NotImplementedError, "SaveRefProvider magic action not implemented"
492
+ raise NotImplementedError, 'SaveRefProvider magic action not implemented'
483
493
  end
484
494
 
485
495
  def save_result
486
- raise NotImplementedError, "SaveResult magic action not implemented"
496
+ raise NotImplementedError, 'SaveResult magic action not implemented'
487
497
  end
488
498
 
489
499
  def save_rx(userid, patientid, rxxml)
490
500
  # Generate XML structure for rxxml
491
501
  builder = Nokogiri::XML::Builder.new do |xml|
492
502
  xml.saverx {
493
- xml.field("name" => "transid", "value" => rxxml[:transid]) unless rxxml[:transid].nil?
494
- xml.field("name" => "PharmID", "value" => rxxml[:pharmid]) unless rxxml[:pharmid].nil?
495
- xml.field("name" => "DDI", "value" => rxxml[:ddi]) unless rxxml[:ddi].nil?
496
- xml.field("name" => "GPPCCode", "value" => rxxml[:gppccode]) unless rxxml[:gppccode].nil?
497
- xml.field("name" => "GPPCText", "value" => rxxml[:gppctext]) unless rxxml[:gppctext].nil?
498
- xml.field("name" => "GPPCCustom", "value" => rxxml[:gppccustom]) unless rxxml[:gppccustom].nil?
499
- xml.field("name" => "Sig", "value" => rxxml[:sig]) unless rxxml[:sig].nil?
500
- xml.field("name" => "QuanPresc", "value" => rxxml[:quanpresc]) unless rxxml[:quanpresc].nil?
501
- xml.field("name" => "Refills", "value" => rxxml[:refills]) unless rxxml[:refills].nil?
502
- xml.field("name" => "DAW", "value" => rxxml[:daw]) unless rxxml[:daw].nil?
503
- xml.field("name" => "DaysSupply", "value" => rxxml[:dayssupply]) unless rxxml[:dayssupply].nil?
504
- xml.field("name" => "startdate", "value" => utc_to_local(Date.parse(rxxml[:startdate].to_s))) unless rxxml[:startdate].nil?
505
- xml.field("name" => "historicalflag", "value" => rxxml[:historicalflag]) unless rxxml[:historicalflag].nil?
506
- xml.field("name" => "rxaction", "value" => rxxml[:rxaction]) unless rxxml[:rxaction].nil?
507
- xml.field("name" => "delivery", "value" => rxxml[:delivery]) unless rxxml[:delivery].nil?
508
- xml.field("name" => "ignorepharmzero", "value" => rxxml[:ignorepharmzero]) unless rxxml[:ignorepharmzero].nil?
509
- xml.field("name" => "orderedbyid", "value" => rxxml[:orderedbyid]) unless rxxml[:orderedbyid].nil?
510
- xml.field("name" => "newqty", "value" => rxxml[:newqty]) unless rxxml[:newqty].nil?
511
- xml.field("name" => "newrefills", "value" => rxxml[:newrefills]) unless rxxml[:newrefills].nil?
512
- xml.field("name" => "comments", "value" => rxxml[:comments]) unless rxxml[:comments].nil?
503
+ xml.field('name' => 'transid', 'value' => rxxml[:transid]) unless rxxml[:transid].nil?
504
+ xml.field('name' => 'PharmID', 'value' => rxxml[:pharmid]) unless rxxml[:pharmid].nil?
505
+ xml.field('name' => 'DDI', 'value' => rxxml[:ddi]) unless rxxml[:ddi].nil?
506
+ xml.field('name' => 'GPPCCode', 'value' => rxxml[:gppccode]) unless rxxml[:gppccode].nil?
507
+ xml.field('name' => 'GPPCText', 'value' => rxxml[:gppctext]) unless rxxml[:gppctext].nil?
508
+ xml.field('name' => 'GPPCCustom', 'value' => rxxml[:gppccustom]) unless rxxml[:gppccustom].nil?
509
+ xml.field('name' => 'Sig', 'value' => rxxml[:sig]) unless rxxml[:sig].nil?
510
+ xml.field('name' => 'QuanPresc', 'value' => rxxml[:quanpresc]) unless rxxml[:quanpresc].nil?
511
+ xml.field('name' => 'Refills', 'value' => rxxml[:refills]) unless rxxml[:refills].nil?
512
+ xml.field('name' => 'DAW', 'value' => rxxml[:daw]) unless rxxml[:daw].nil?
513
+ xml.field('name' => 'DaysSupply', 'value' => rxxml[:dayssupply]) unless rxxml[:dayssupply].nil?
514
+ xml.field('name' => 'startdate', 'value' => utc_to_local(Date.parse(rxxml[:startdate].to_s))) unless rxxml[:startdate].nil?
515
+ xml.field('name' => 'historicalflag', 'value' => rxxml[:historicalflag]) unless rxxml[:historicalflag].nil?
516
+ xml.field('name' => 'rxaction', 'value' => rxxml[:rxaction]) unless rxxml[:rxaction].nil?
517
+ xml.field('name' => 'delivery', 'value' => rxxml[:delivery]) unless rxxml[:delivery].nil?
518
+ xml.field('name' => 'ignorepharmzero', 'value' => rxxml[:ignorepharmzero]) unless rxxml[:ignorepharmzero].nil?
519
+ xml.field('name' => 'orderedbyid', 'value' => rxxml[:orderedbyid]) unless rxxml[:orderedbyid].nil?
520
+ xml.field('name' => 'newqty', 'value' => rxxml[:newqty]) unless rxxml[:newqty].nil?
521
+ xml.field('name' => 'newrefills', 'value' => rxxml[:newrefills]) unless rxxml[:newrefills].nil?
522
+ xml.field('name' => 'comments', 'value' => rxxml[:comments]) unless rxxml[:comments].nil?
513
523
  }
514
524
  end
515
525
 
516
526
  magic_parameters = {
517
- :action => "SaveRX",
518
- :userid => userid,
519
- :patientid => patientid,
520
- :parameter1 => nokogiri_to_string(builder)
527
+ action: 'SaveRX',
528
+ userid: userid,
529
+ patientid: patientid,
530
+ parameter1: nokogiri_to_string(builder)
521
531
  }
522
532
  magic(magic_parameters)
523
533
  end
524
534
 
525
535
  def save_simple_encounter
526
- raise NotImplementedError, "SaveSimpleEncounter magic action not implemented"
536
+ raise NotImplementedError, 'SaveSimpleEncounter magic action not implemented'
527
537
  end
528
538
 
529
539
  def save_simple_rx
530
- raise NotImplementedError, "SaveSimpleRX magic action not implemented"
540
+ raise NotImplementedError, 'SaveSimpleRX magic action not implemented'
531
541
  end
532
542
 
533
543
  def save_specialist
534
- raise NotImplementedError, "SaveSpecialist magic action not implemented"
544
+ raise NotImplementedError, 'SaveSpecialist magic action not implemented'
535
545
  end
536
546
 
537
547
  def save_task(userid, patientid, task_type = nil, target_user = nil, work_object_id = nil, comments = nil)
538
548
  if task_type.nil? && target_user.nil? && work_object_id.nil? && comments.nil?
539
- raise ArugmentError, "task_type, target_user, work_object_id, and comments can not all be nil"
549
+ raise ArugmentError, 'task_type, target_user, work_object_id, and comments can not all be nil'
540
550
  end
541
551
 
542
552
  magic_parameters = {
543
- :action => "SaveTask",
544
- :userid => userid,
545
- :patientid => patientid,
546
- :parameter1 => task_type,
547
- :parameter2 => target_user,
548
- :parameter3 => work_object_id,
549
- :parameter4 => comments
553
+ action: 'SaveTask',
554
+ userid: userid,
555
+ patientid: patientid,
556
+ parameter1: task_type,
557
+ parameter2: target_user,
558
+ parameter3: work_object_id,
559
+ parameter4: comments
550
560
  }
551
561
  magic(magic_parameters)
552
562
  end
553
563
 
554
564
  def save_task_status(userid, transaction_id = nil, status = nil, delegate_id = nil, comment = nil, taskchanges = nil)
555
565
  if transaction_id.nil? && param.nil? && delegate_id.nil? && comment.nil?
556
- raise ArugmentError, "task_type, target_user, work_object_id, and comments can not all be nil"
566
+ raise ArugmentError, 'task_type, target_user, work_object_id, and comments can not all be nil'
557
567
  end
558
568
 
559
569
  # Generate XML structure for rxxml
560
570
  builder = Nokogiri::XML::Builder.new do |xml|
561
571
  xml.taskchanges {
562
- xml.refills("value" => taskchanges[:refills]) unless taskchanges.nil? || taskchanges[:refills].nil?
563
- xml.days("value" => taskchanges[:days]) unless taskchanges.nil? || taskchanges[:days].nil?
564
- xml.qty("value" => taskchanges[:qty]) unless taskchanges.nil? || taskchanges[:qty].nil?
565
- xml.tasktype("value" => taskchanges[:tasktype]) unless taskchanges.nil? || taskchanges[:tasktype].nil?
572
+ xml.refills('value' => taskchanges[:refills]) unless taskchanges.nil? || taskchanges[:refills].nil?
573
+ xml.days('value' => taskchanges[:days]) unless taskchanges.nil? || taskchanges[:days].nil?
574
+ xml.qty('value' => taskchanges[:qty]) unless taskchanges.nil? || taskchanges[:qty].nil?
575
+ xml.tasktype('value' => taskchanges[:tasktype]) unless taskchanges.nil? || taskchanges[:tasktype].nil?
566
576
  }
567
577
  end
568
578
 
569
579
  magic_parameters = {
570
- :action => "SaveTaskStatus",
571
- :userid => userid,
572
- :parameter1 => transaction_id,
573
- :parameter2 => status,
574
- :parameter3 => delegate_id,
575
- :parameter4 => comment,
576
- :parameter6 => nokogiri_to_string(builder)
580
+ action: 'SaveTaskStatus',
581
+ userid: userid,
582
+ parameter1: transaction_id,
583
+ parameter2: status,
584
+ parameter3: delegate_id,
585
+ parameter4: comment,
586
+ parameter6: nokogiri_to_string(builder)
577
587
  }
578
588
  magic(magic_parameters)
579
589
  end
580
590
 
581
591
  def save_tiff
582
- raise NotImplementedError, "SaveTiff magic action not implemented"
592
+ raise NotImplementedError, 'SaveTiff magic action not implemented'
583
593
  end
584
594
 
585
595
  def save_unstructured_document
586
- raise NotImplementedError, "SaveUnstructuredDocument magic action not implemented"
596
+ raise NotImplementedError, 'SaveUnstructuredDocument magic action not implemented'
587
597
  end
588
598
 
589
599
  def save_v10_doc_signature
590
- raise NotImplementedError, "SaveV10DocSignature magic action not implemented"
600
+ raise NotImplementedError, 'SaveV10DocSignature magic action not implemented'
591
601
  end
592
602
 
593
603
  def save_v11_note
594
- raise NotImplementedError, "SaveV11Note magic action not implemented"
604
+ raise NotImplementedError, 'SaveV11Note magic action not implemented'
595
605
  end
596
606
 
597
607
  def save_vitals
598
- raise NotImplementedError, "SaveVitals magic action not implemented"
608
+ raise NotImplementedError, 'SaveVitals magic action not implemented'
599
609
  end
600
610
 
601
611
  def save_vitals_data
602
- raise NotImplementedError, "SaveVitalsData magic action not implemented"
612
+ raise NotImplementedError, 'SaveVitalsData magic action not implemented'
603
613
  end
604
614
 
605
615
  def search_charge_codes
606
- raise NotImplementedError, "SearchChargeCodes magic action not implemented"
616
+ raise NotImplementedError, 'SearchChargeCodes magic action not implemented'
607
617
  end
608
618
 
609
619
  def search_diagnosis_codes
610
- raise NotImplementedError, "SearchDiagnosisCodes magic action not implemented"
620
+ raise NotImplementedError, 'SearchDiagnosisCodes magic action not implemented'
611
621
  end
612
622
 
613
623
  def search_meds(userid, patientid, search = nil)
614
624
  magic_parameters = {
615
- :action => "SearchMeds",
616
- :userid => userid,
617
- :patientid => patientid,
618
- :parameter1 => search
625
+ action: 'SearchMeds',
626
+ userid: userid,
627
+ patientid: patientid,
628
+ parameter1: search
619
629
  }
620
630
 
621
631
  response = magic(magic_parameters)
@@ -629,44 +639,44 @@ module AllscriptsUnityClient
629
639
 
630
640
  def search_patients(search)
631
641
  magic_parameters = {
632
- :action => "SearchPatients",
633
- :parameter1 => search
642
+ action: 'SearchPatients',
643
+ parameter1: search
634
644
  }
635
645
  magic(magic_parameters)
636
646
  end
637
647
 
638
648
  def search_patients_rxhub5
639
- raise NotImplementedError, "SearchPatientsRXHub5 magic action not implemented"
649
+ raise NotImplementedError, 'SearchPatientsRXHub5 magic action not implemented'
640
650
  end
641
651
 
642
652
  def search_pharmacies(search)
643
653
  magic_parameters = {
644
- :action => "SearchPharmacies",
645
- :parameter1 => search
654
+ action: 'SearchPharmacies',
655
+ parameter1: search
646
656
  }
647
657
  magic(magic_parameters)
648
658
  end
649
659
 
650
660
  def search_problem_codes
651
- raise NotImplementedError, "SearchProblemCodes magic action not implemented"
661
+ raise NotImplementedError, 'SearchProblemCodes magic action not implemented'
652
662
  end
653
663
 
654
664
  def update_encounter
655
- raise NotImplementedError, "UpdateEncounter magic action not implemented"
665
+ raise NotImplementedError, 'UpdateEncounter magic action not implemented'
656
666
  end
657
667
 
658
668
  def update_order
659
- raise NotImplementedError, "UpdateOrder magic action not implemented"
669
+ raise NotImplementedError, 'UpdateOrder magic action not implemented'
660
670
  end
661
671
 
662
672
  def update_referral_order_status
663
- raise NotImplementedError, "UpdateReferralOrderStatus magic action not implemented"
673
+ raise NotImplementedError, 'UpdateReferralOrderStatus magic action not implemented'
664
674
  end
665
675
 
666
676
  private
667
677
 
668
678
  def nokogiri_to_string(builder)
669
- builder.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION).strip
679
+ builder.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION).strip
670
680
  end
671
681
  end
672
682
  end