allscripts_unity_client 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. data/.gitignore +20 -0
  2. data/.travis.yml +3 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE +22 -0
  5. data/README.md +180 -0
  6. data/Rakefile +7 -0
  7. data/allscripts_unity_client.gemspec +39 -0
  8. data/lib/allscripts_unity_client.rb +43 -0
  9. data/lib/allscripts_unity_client/client.rb +594 -0
  10. data/lib/allscripts_unity_client/client_driver.rb +95 -0
  11. data/lib/allscripts_unity_client/json_client_driver.rb +110 -0
  12. data/lib/allscripts_unity_client/json_unity_request.rb +33 -0
  13. data/lib/allscripts_unity_client/json_unity_response.rb +27 -0
  14. data/lib/allscripts_unity_client/soap_client_driver.rb +128 -0
  15. data/lib/allscripts_unity_client/timezone.rb +99 -0
  16. data/lib/allscripts_unity_client/unity_request.rb +63 -0
  17. data/lib/allscripts_unity_client/unity_response.rb +110 -0
  18. data/lib/allscripts_unity_client/utilities.rb +66 -0
  19. data/lib/allscripts_unity_client/version.rb +3 -0
  20. data/spec/allscripts_unity_client_spec.rb +57 -0
  21. data/spec/client_driver_spec.rb +71 -0
  22. data/spec/client_spec.rb +406 -0
  23. data/spec/factories/allscripts_unity_client_parameters_factory.rb +13 -0
  24. data/spec/factories/client_driver_factory.rb +14 -0
  25. data/spec/factories/client_factory.rb +7 -0
  26. data/spec/factories/json_client_driver_factory.rb +3 -0
  27. data/spec/factories/json_unity_request_factory.rb +3 -0
  28. data/spec/factories/json_unity_response_factory.rb +3 -0
  29. data/spec/factories/magic_request_factory.rb +33 -0
  30. data/spec/factories/soap_client_driver_factory.rb +3 -0
  31. data/spec/factories/timezone_factory.rb +7 -0
  32. data/spec/factories/unity_request_factory.rb +10 -0
  33. data/spec/factories/unity_response_factory.rb +8 -0
  34. data/spec/fixtures/attributes_hash.yml +15 -0
  35. data/spec/fixtures/date_hash.yml +8 -0
  36. data/spec/fixtures/date_string_hash.yml +8 -0
  37. data/spec/fixtures/error.json +3 -0
  38. data/spec/fixtures/get_providers.json +69 -0
  39. data/spec/fixtures/get_providers.xml +119 -0
  40. data/spec/fixtures/get_providers_json.yml +65 -0
  41. data/spec/fixtures/get_providers_xml.yml +270 -0
  42. data/spec/fixtures/get_security_token.json +1 -0
  43. data/spec/fixtures/get_security_token.xml +7 -0
  44. data/spec/fixtures/get_server_info.json +10 -0
  45. data/spec/fixtures/get_server_info.xml +40 -0
  46. data/spec/fixtures/get_server_info_json.yml +8 -0
  47. data/spec/fixtures/get_server_info_xml.yml +55 -0
  48. data/spec/fixtures/no_attributes_hash.yml +7 -0
  49. data/spec/fixtures/retire_security_token.json +1 -0
  50. data/spec/fixtures/retire_security_token.xml +5 -0
  51. data/spec/fixtures/soap_fault.xml +13 -0
  52. data/spec/fixtures/string_keyed_hash.yml +8 -0
  53. data/spec/fixtures/symbol_keyed_hash.yml +8 -0
  54. data/spec/json_client_driver_spec.rb +209 -0
  55. data/spec/json_unity_request_spec.rb +37 -0
  56. data/spec/json_unity_response_spec.rb +44 -0
  57. data/spec/soap_client_driver_spec.rb +201 -0
  58. data/spec/spec_helper.rb +44 -0
  59. data/spec/support/fixture_loader.rb +22 -0
  60. data/spec/support/shared_examples_for_client_driver.rb +139 -0
  61. data/spec/support/shared_examples_for_unity_request.rb +94 -0
  62. data/spec/support/shared_examples_for_unity_response.rb +26 -0
  63. data/spec/timezone_spec.rb +161 -0
  64. data/spec/unity_request_spec.rb +37 -0
  65. data/spec/unity_response_spec.rb +36 -0
  66. data/spec/utilities_spec.rb +69 -0
  67. metadata +323 -0
@@ -0,0 +1,13 @@
1
+ FactoryGirl.define do
2
+ factory :allscripts_unity_client_parameters, :class => Hash do
3
+ initialize_with { attributes }
4
+
5
+ base_unity_url "http://www.example.com"
6
+ username Faker::Name.name
7
+ password Faker::Internet.password
8
+ appname Faker::Name.name
9
+ mode [:json, :soap].sample
10
+ log false
11
+ logger nil
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :client_driver, :class => AllscriptsUnityClient::ClientDriver do
3
+ initialize_with { new(base_unity_url, username, password, appname, proxy, timezone, logger, log) }
4
+
5
+ base_unity_url "http://www.example.com"
6
+ username Faker::Name.name
7
+ password Faker::Internet.password
8
+ appname Faker::Name.name
9
+ proxy nil
10
+ timezone "America/Phoenix"
11
+ logger nil
12
+ log false
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :client, :class => AllscriptsUnityClient::Client do
3
+ initialize_with { new(client_driver) }
4
+
5
+ client_driver { FactoryGirl.build(:client_driver) }
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ FactoryGirl.define do
2
+ factory :json_client_driver, :parent => :client_driver, :class => AllscriptsUnityClient::JSONClientDriver
3
+ end
@@ -0,0 +1,3 @@
1
+ FactoryGirl.define do
2
+ factory :json_unity_request, :parent => :unity_request, :class => AllscriptsUnityClient::JSONUnityRequest
3
+ end
@@ -0,0 +1,3 @@
1
+ FactoryGirl.define do
2
+ factory :json_unity_response, :parent => :unity_response, :class => AllscriptsUnityClient::JSONUnityResponse
3
+ end
@@ -0,0 +1,33 @@
1
+ FactoryGirl.define do
2
+ factory :magic_request, :class => Hash do
3
+ initialize_with { attributes }
4
+
5
+ action nil
6
+ appname nil
7
+ userid nil
8
+ patientid nil
9
+ token nil
10
+ parameter1 nil
11
+ parameter2 nil
12
+ parameter3 nil
13
+ parameter4 nil
14
+ parameter5 nil
15
+ parameter6 nil
16
+ data nil
17
+ end
18
+
19
+ factory :populated_magic_request, :parent => :magic_request do
20
+ action ["GetServerInfo", "GetProviders"].sample
21
+ appname Faker::Company.name
22
+ userid ["jmedici", "lmccoy"].sample
23
+ patientid Faker::Number.number(3)
24
+ token SecureRandom.uuid
25
+ parameter1 Faker::Internet.domain_word
26
+ parameter2 Faker::Internet.domain_word
27
+ parameter3 Faker::Internet.domain_word
28
+ parameter4 Faker::Internet.domain_word
29
+ parameter5 Faker::Internet.domain_word
30
+ parameter6 Faker::Internet.domain_word
31
+ data Faker::Internet.domain_word
32
+ end
33
+ end
@@ -0,0 +1,3 @@
1
+ FactoryGirl.define do
2
+ factory :soap_client_driver, :parent => :client_driver, :class => AllscriptsUnityClient::SOAPClientDriver
3
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :timezone, :class => AllscriptsUnityClient::Timezone do
3
+ initialize_with { new(zone_identifier) }
4
+
5
+ zone_identifier "America/Phoenix"
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :unity_request, :class => AllscriptsUnityClient::UnityRequest do
3
+ initialize_with { new(parameters, timezone, appname, security_token) }
4
+
5
+ parameters FactoryGirl.build(:magic_request)
6
+ timezone FactoryGirl.build(:timezone)
7
+ appname Faker::Name.name
8
+ security_token SecureRandom.uuid
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :unity_response, :class => AllscriptsUnityClient::UnityResponse do
3
+ initialize_with { new(response, timezone) }
4
+
5
+ response {}
6
+ timezone FactoryGirl.build(:timezone)
7
+ end
8
+ end
@@ -0,0 +1,15 @@
1
+ ---
2
+ :@attribute1:
3
+ :@nested_attribute1: true
4
+ :normal_key: true
5
+ :@attribute2: true
6
+ :normal_key_2: true
7
+ :array_of_attributes:
8
+ - :@attribute: true
9
+ :value:
10
+ :@attribute: true
11
+ :value: true
12
+ - :@attribute: true
13
+ :value: true
14
+ - :@attribute: true
15
+ :value: true
@@ -0,0 +1,8 @@
1
+ ---
2
+ :date_string: 2013-02-15
3
+ :date_string2:
4
+ :value: 2013-02-15
5
+ :date_array:
6
+ - 2013-02-15
7
+ - 2013-02-15
8
+ - 2013-02-15
@@ -0,0 +1,8 @@
1
+ ---
2
+ :date_string: '2013-02-15'
3
+ :date_string2:
4
+ :value: '2013-02-15'
5
+ :date_array:
6
+ - '2013-02-15'
7
+ - '2013-02-15'
8
+ - '2013-02-15'
@@ -0,0 +1,3 @@
1
+ [{
2
+ "Error": "Magic Error - Action: GetProviders - As a Security precaution, you have been logged out due to inactivity."
3
+ }]
@@ -0,0 +1,69 @@
1
+ [{
2
+ "getprovidersinfo": [{
3
+ "Security": "",
4
+ "EntryCode": "ActiveHeal ",
5
+ "Profession": "Physician",
6
+ "DefaultSiteCode": "001 ",
7
+ "supervisingdefaultID": "0",
8
+ "Credentials": "MD",
9
+ "UserInactive": "N",
10
+ "Middle": "",
11
+ "SecSpecialty": " ",
12
+ "ProviderInactive": "N",
13
+ "Username": "ActiveHealth",
14
+ "LastName": "ActiveHealth",
15
+ "DefaultSiteName": "New World Health",
16
+ "rxsupervisionrequired": "N",
17
+ "CanPrescribeFlag": "Y",
18
+ "UserType": "User/Provider",
19
+ "personid": "368",
20
+ "PrimSpecialty": "Internal Medicine",
21
+ "orderingauthority": "8",
22
+ "supervisingdefaultName": "",
23
+ "FirstName": "ActiveHealth"
24
+ }, {
25
+ "Security": "",
26
+ "EntryCode": "AgileMedia ",
27
+ "Profession": "Physician",
28
+ "DefaultSiteCode": "001 ",
29
+ "supervisingdefaultID": "0",
30
+ "Credentials": "MD",
31
+ "UserInactive": "N",
32
+ "Middle": "",
33
+ "SecSpecialty": " ",
34
+ "ProviderInactive": "N",
35
+ "Username": "AgileMedia",
36
+ "LastName": "AgileMedia",
37
+ "DefaultSiteName": "New World Health",
38
+ "rxsupervisionrequired": "N",
39
+ "CanPrescribeFlag": "Y",
40
+ "UserType": "User/Provider",
41
+ "personid": "479",
42
+ "PrimSpecialty": "Internal Medicine",
43
+ "orderingauthority": "8",
44
+ "supervisingdefaultName": "",
45
+ "FirstName": "AgileMedia"
46
+ }, {
47
+ "Security": "",
48
+ "EntryCode": "1TW050 ",
49
+ "Profession": "Physician",
50
+ "DefaultSiteCode": "001 ",
51
+ "supervisingdefaultID": "0",
52
+ "Credentials": "MD",
53
+ "UserInactive": "N",
54
+ "Middle": "M",
55
+ "SecSpecialty": " ",
56
+ "ProviderInactive": "N",
57
+ "Username": "pallbright",
58
+ "LastName": "Allbright",
59
+ "DefaultSiteName": "New World Health",
60
+ "rxsupervisionrequired": "N",
61
+ "CanPrescribeFlag": "Y",
62
+ "UserType": "User/Provider",
63
+ "personid": "963",
64
+ "PrimSpecialty": "Allergy/Immunology",
65
+ "orderingauthority": "8",
66
+ "supervisingdefaultName": "",
67
+ "FirstName": "Peter"
68
+ }]
69
+ }]
@@ -0,0 +1,119 @@
1
+ <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
2
+ <s:Body>
3
+ <MagicResponse xmlns="http://www.allscripts.com/Unity">
4
+ <MagicResult>
5
+ <xs:schema id="getprovidersresponse" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
6
+ <xs:element name="getprovidersresponse" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
7
+ <xs:complexType>
8
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
9
+ <xs:element name="getprovidersinfo">
10
+ <xs:complexType>
11
+ <xs:sequence>
12
+ <xs:element name="personid" type="xs:decimal" minOccurs="0" />
13
+ <xs:element name="Username" type="xs:string" minOccurs="0" />
14
+ <xs:element name="UserType" type="xs:string" minOccurs="0" />
15
+ <xs:element name="LastName" type="xs:string" minOccurs="0" />
16
+ <xs:element name="FirstName" type="xs:string" minOccurs="0" />
17
+ <xs:element name="Middle" type="xs:string" minOccurs="0" />
18
+ <xs:element name="Profession" type="xs:string" minOccurs="0" />
19
+ <xs:element name="Credentials" type="xs:string" minOccurs="0" />
20
+ <xs:element name="PrimSpecialty" type="xs:string" minOccurs="0" />
21
+ <xs:element name="SecSpecialty" type="xs:string" minOccurs="0" />
22
+ <xs:element name="Security" type="xs:string" minOccurs="0" />
23
+ <xs:element name="DefaultSiteCode" type="xs:string" minOccurs="0" />
24
+ <xs:element name="DefaultSiteName" type="xs:string" minOccurs="0" />
25
+ <xs:element name="ProviderInactive" type="xs:string" minOccurs="0" />
26
+ <xs:element name="UserInactive" type="xs:string" minOccurs="0" />
27
+ <xs:element name="EntryCode" type="xs:string" minOccurs="0" />
28
+ <xs:element name="CanPrescribeFlag" type="xs:string" minOccurs="0" />
29
+ <xs:element name="rxsupervisionrequired" type="xs:string" minOccurs="0" />
30
+ <xs:element name="supervisingdefaultID" type="xs:string" minOccurs="0" />
31
+ <xs:element name="supervisingdefaultName" type="xs:string" minOccurs="0" />
32
+ <xs:element name="orderingauthority" type="xs:int" minOccurs="0" />
33
+ </xs:sequence>
34
+ </xs:complexType>
35
+ </xs:element>
36
+ </xs:choice>
37
+ </xs:complexType>
38
+ </xs:element>
39
+ </xs:schema>
40
+ <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
41
+ <getprovidersresponse xmlns="">
42
+ <getprovidersinfo diffgr:id="getprovidersinfo1" msdata:rowOrder="0">
43
+ <personid>368</personid>
44
+ <Username>ActiveHealth</Username>
45
+ <UserType>User/Provider</UserType>
46
+ <LastName>ActiveHealth</LastName>
47
+ <FirstName>ActiveHealth</FirstName>
48
+ <Middle />
49
+ <Profession>Physician</Profession>
50
+ <Credentials>MD</Credentials>
51
+ <PrimSpecialty>Internal Medicine</PrimSpecialty>
52
+ <SecSpecialty xml:space="preserve">
53
+ </SecSpecialty>
54
+ <Security />
55
+ <DefaultSiteCode>001</DefaultSiteCode>
56
+ <DefaultSiteName>New World Health</DefaultSiteName>
57
+ <ProviderInactive>N</ProviderInactive>
58
+ <UserInactive>N</UserInactive>
59
+ <EntryCode>ActiveHeal</EntryCode>
60
+ <CanPrescribeFlag>Y</CanPrescribeFlag>
61
+ <rxsupervisionrequired>N</rxsupervisionrequired>
62
+ <supervisingdefaultID>0</supervisingdefaultID>
63
+ <supervisingdefaultName />
64
+ <orderingauthority>8</orderingauthority>
65
+ </getprovidersinfo>
66
+ <getprovidersinfo diffgr:id="getprovidersinfo2" msdata:rowOrder="1">
67
+ <personid>479</personid>
68
+ <Username>AgileMedia</Username>
69
+ <UserType>User/Provider</UserType>
70
+ <LastName>AgileMedia</LastName>
71
+ <FirstName>AgileMedia</FirstName>
72
+ <Middle />
73
+ <Profession>Physician</Profession>
74
+ <Credentials>MD</Credentials>
75
+ <PrimSpecialty>Internal Medicine</PrimSpecialty>
76
+ <SecSpecialty xml:space="preserve">
77
+ </SecSpecialty>
78
+ <Security />
79
+ <DefaultSiteCode>001</DefaultSiteCode>
80
+ <DefaultSiteName>New World Health</DefaultSiteName>
81
+ <ProviderInactive>N</ProviderInactive>
82
+ <UserInactive>N</UserInactive>
83
+ <EntryCode>AgileMedia</EntryCode>
84
+ <CanPrescribeFlag>Y</CanPrescribeFlag>
85
+ <rxsupervisionrequired>N</rxsupervisionrequired>
86
+ <supervisingdefaultID>0</supervisingdefaultID>
87
+ <supervisingdefaultName />
88
+ <orderingauthority>8</orderingauthority>
89
+ </getprovidersinfo>
90
+ <getprovidersinfo diffgr:id="getprovidersinfo3" msdata:rowOrder="2">
91
+ <personid>963</personid>
92
+ <Username>pallbright</Username>
93
+ <UserType>User/Provider</UserType>
94
+ <LastName>Allbright</LastName>
95
+ <FirstName>Peter</FirstName>
96
+ <Middle>M</Middle>
97
+ <Profession>Physician</Profession>
98
+ <Credentials>MD</Credentials>
99
+ <PrimSpecialty>Allergy/Immunology</PrimSpecialty>
100
+ <SecSpecialty xml:space="preserve">
101
+ </SecSpecialty>
102
+ <Security />
103
+ <DefaultSiteCode>001</DefaultSiteCode>
104
+ <DefaultSiteName>New World Health</DefaultSiteName>
105
+ <ProviderInactive>N</ProviderInactive>
106
+ <UserInactive>N</UserInactive>
107
+ <EntryCode>1TW050</EntryCode>
108
+ <CanPrescribeFlag>Y</CanPrescribeFlag>
109
+ <rxsupervisionrequired>N</rxsupervisionrequired>
110
+ <supervisingdefaultID>0</supervisingdefaultID>
111
+ <supervisingdefaultName />
112
+ <orderingauthority>8</orderingauthority>
113
+ </getprovidersinfo>
114
+ </getprovidersresponse>
115
+ </diffgr:diffgram>
116
+ </MagicResult>
117
+ </MagicResponse>
118
+ </s:Body>
119
+ </s:Envelope>
@@ -0,0 +1,65 @@
1
+ ---
2
+ - getprovidersinfo:
3
+ - Security: ''
4
+ EntryCode: ! 'ActiveHeal '
5
+ Profession: Physician
6
+ DefaultSiteCode: '001 '
7
+ supervisingdefaultID: '0'
8
+ Credentials: MD
9
+ UserInactive: N
10
+ Middle: ''
11
+ SecSpecialty: ! ' '
12
+ ProviderInactive: N
13
+ Username: ActiveHealth
14
+ LastName: ActiveHealth
15
+ DefaultSiteName: New World Health
16
+ rxsupervisionrequired: N
17
+ CanPrescribeFlag: Y
18
+ UserType: User/Provider
19
+ personid: '368'
20
+ PrimSpecialty: Internal Medicine
21
+ orderingauthority: '8'
22
+ supervisingdefaultName: ''
23
+ FirstName: ActiveHealth
24
+ - Security: ''
25
+ EntryCode: ! 'AgileMedia '
26
+ Profession: Physician
27
+ DefaultSiteCode: '001 '
28
+ supervisingdefaultID: '0'
29
+ Credentials: MD
30
+ UserInactive: N
31
+ Middle: ''
32
+ SecSpecialty: ! ' '
33
+ ProviderInactive: N
34
+ Username: AgileMedia
35
+ LastName: AgileMedia
36
+ DefaultSiteName: New World Health
37
+ rxsupervisionrequired: N
38
+ CanPrescribeFlag: Y
39
+ UserType: User/Provider
40
+ personid: '479'
41
+ PrimSpecialty: Internal Medicine
42
+ orderingauthority: '8'
43
+ supervisingdefaultName: ''
44
+ FirstName: AgileMedia
45
+ - Security: ''
46
+ EntryCode: ! '1TW050 '
47
+ Profession: Physician
48
+ DefaultSiteCode: '001 '
49
+ supervisingdefaultID: '0'
50
+ Credentials: MD
51
+ UserInactive: N
52
+ Middle: M
53
+ SecSpecialty: ! ' '
54
+ ProviderInactive: N
55
+ Username: pallbright
56
+ LastName: Allbright
57
+ DefaultSiteName: New World Health
58
+ rxsupervisionrequired: N
59
+ CanPrescribeFlag: Y
60
+ UserType: User/Provider
61
+ personid: '963'
62
+ PrimSpecialty: Allergy/Immunology
63
+ orderingauthority: '8'
64
+ supervisingdefaultName: ''
65
+ FirstName: Peter
@@ -0,0 +1,270 @@
1
+ ---
2
+ :envelope:
3
+ :body:
4
+ :magic_response:
5
+ :magic_result:
6
+ :schema:
7
+ :element:
8
+ :complex_type:
9
+ :choice:
10
+ :element:
11
+ :complex_type:
12
+ :sequence:
13
+ :element:
14
+ - :@name: personid
15
+ :@type: xs:decimal
16
+ :@min_occurs: '0'
17
+ - :@name: Username
18
+ :@type: xs:string
19
+ :@min_occurs: '0'
20
+ - :@name: UserType
21
+ :@type: xs:string
22
+ :@min_occurs: '0'
23
+ - :@name: LastName
24
+ :@type: xs:string
25
+ :@min_occurs: '0'
26
+ - :@name: FirstName
27
+ :@type: xs:string
28
+ :@min_occurs: '0'
29
+ - :@name: Middle
30
+ :@type: xs:string
31
+ :@min_occurs: '0'
32
+ - :@name: Profession
33
+ :@type: xs:string
34
+ :@min_occurs: '0'
35
+ - :@name: Credentials
36
+ :@type: xs:string
37
+ :@min_occurs: '0'
38
+ - :@name: PrimSpecialty
39
+ :@type: xs:string
40
+ :@min_occurs: '0'
41
+ - :@name: SecSpecialty
42
+ :@type: xs:string
43
+ :@min_occurs: '0'
44
+ - :@name: Security
45
+ :@type: xs:string
46
+ :@min_occurs: '0'
47
+ - :@name: DefaultSiteCode
48
+ :@type: xs:string
49
+ :@min_occurs: '0'
50
+ - :@name: DefaultSiteName
51
+ :@type: xs:string
52
+ :@min_occurs: '0'
53
+ - :@name: ProviderInactive
54
+ :@type: xs:string
55
+ :@min_occurs: '0'
56
+ - :@name: UserInactive
57
+ :@type: xs:string
58
+ :@min_occurs: '0'
59
+ - :@name: EntryCode
60
+ :@type: xs:string
61
+ :@min_occurs: '0'
62
+ - :@name: CanPrescribeFlag
63
+ :@type: xs:string
64
+ :@min_occurs: '0'
65
+ - :@name: rxsupervisionrequired
66
+ :@type: xs:string
67
+ :@min_occurs: '0'
68
+ - :@name: supervisingdefaultID
69
+ :@type: xs:string
70
+ :@min_occurs: '0'
71
+ - :@name: supervisingdefaultName
72
+ :@type: xs:string
73
+ :@min_occurs: '0'
74
+ - :@name: orderingauthority
75
+ :@type: xs:int
76
+ :@min_occurs: '0'
77
+ :@name: getprovidersinfo
78
+ :@min_occurs: '0'
79
+ :@max_occurs: unbounded
80
+ :@name: getprovidersresponse
81
+ :@msdata:is_data_set: 'true'
82
+ :@msdata:use_current_locale: 'true'
83
+ :@xmlns:xs: http://www.w3.org/2001/XMLSchema
84
+ :@xmlns: ''
85
+ :@xmlns:msdata: urn:schemas-microsoft-com:xml-msdata
86
+ :@id: getprovidersresponse
87
+ :diffgram:
88
+ :getprovidersresponse:
89
+ :getprovidersinfo:
90
+ - :personid: !ruby/string:Nori::StringWithAttributes
91
+ str: '368'
92
+ attributes: {}
93
+ :username: !ruby/string:Nori::StringWithAttributes
94
+ str: ActiveHealth
95
+ attributes: {}
96
+ :user_type: !ruby/string:Nori::StringWithAttributes
97
+ str: User/Provider
98
+ attributes: {}
99
+ :last_name: !ruby/string:Nori::StringWithAttributes
100
+ str: ActiveHealth
101
+ attributes: {}
102
+ :first_name: !ruby/string:Nori::StringWithAttributes
103
+ str: ActiveHealth
104
+ attributes: {}
105
+ :middle:
106
+ :profession: !ruby/string:Nori::StringWithAttributes
107
+ str: Physician
108
+ attributes: {}
109
+ :credentials: !ruby/string:Nori::StringWithAttributes
110
+ str: MD
111
+ attributes: {}
112
+ :prim_specialty: !ruby/string:Nori::StringWithAttributes
113
+ str: Internal Medicine
114
+ attributes: {}
115
+ :sec_specialty:
116
+ :@xml:space: preserve
117
+ :security:
118
+ :default_site_code: !ruby/string:Nori::StringWithAttributes
119
+ str: '001'
120
+ attributes: {}
121
+ :default_site_name: !ruby/string:Nori::StringWithAttributes
122
+ str: New World Health
123
+ attributes: {}
124
+ :provider_inactive: !ruby/string:Nori::StringWithAttributes
125
+ str: N
126
+ attributes: {}
127
+ :user_inactive: !ruby/string:Nori::StringWithAttributes
128
+ str: N
129
+ attributes: {}
130
+ :entry_code: !ruby/string:Nori::StringWithAttributes
131
+ str: ActiveHeal
132
+ attributes: {}
133
+ :can_prescribe_flag: !ruby/string:Nori::StringWithAttributes
134
+ str: Y
135
+ attributes: {}
136
+ :rxsupervisionrequired: !ruby/string:Nori::StringWithAttributes
137
+ str: N
138
+ attributes: {}
139
+ :supervisingdefault_id: !ruby/string:Nori::StringWithAttributes
140
+ str: '0'
141
+ attributes: {}
142
+ :supervisingdefault_name:
143
+ :orderingauthority: !ruby/string:Nori::StringWithAttributes
144
+ str: '8'
145
+ attributes: {}
146
+ :@diffgr:id: getprovidersinfo1
147
+ :@msdata:row_order: '0'
148
+ - :personid: !ruby/string:Nori::StringWithAttributes
149
+ str: '479'
150
+ attributes: {}
151
+ :username: !ruby/string:Nori::StringWithAttributes
152
+ str: AgileMedia
153
+ attributes: {}
154
+ :user_type: !ruby/string:Nori::StringWithAttributes
155
+ str: User/Provider
156
+ attributes: {}
157
+ :last_name: !ruby/string:Nori::StringWithAttributes
158
+ str: AgileMedia
159
+ attributes: {}
160
+ :first_name: !ruby/string:Nori::StringWithAttributes
161
+ str: AgileMedia
162
+ attributes: {}
163
+ :middle:
164
+ :profession: !ruby/string:Nori::StringWithAttributes
165
+ str: Physician
166
+ attributes: {}
167
+ :credentials: !ruby/string:Nori::StringWithAttributes
168
+ str: MD
169
+ attributes: {}
170
+ :prim_specialty: !ruby/string:Nori::StringWithAttributes
171
+ str: Internal Medicine
172
+ attributes: {}
173
+ :sec_specialty:
174
+ :@xml:space: preserve
175
+ :security:
176
+ :default_site_code: !ruby/string:Nori::StringWithAttributes
177
+ str: '001'
178
+ attributes: {}
179
+ :default_site_name: !ruby/string:Nori::StringWithAttributes
180
+ str: New World Health
181
+ attributes: {}
182
+ :provider_inactive: !ruby/string:Nori::StringWithAttributes
183
+ str: N
184
+ attributes: {}
185
+ :user_inactive: !ruby/string:Nori::StringWithAttributes
186
+ str: N
187
+ attributes: {}
188
+ :entry_code: !ruby/string:Nori::StringWithAttributes
189
+ str: AgileMedia
190
+ attributes: {}
191
+ :can_prescribe_flag: !ruby/string:Nori::StringWithAttributes
192
+ str: Y
193
+ attributes: {}
194
+ :rxsupervisionrequired: !ruby/string:Nori::StringWithAttributes
195
+ str: N
196
+ attributes: {}
197
+ :supervisingdefault_id: !ruby/string:Nori::StringWithAttributes
198
+ str: '0'
199
+ attributes: {}
200
+ :supervisingdefault_name:
201
+ :orderingauthority: !ruby/string:Nori::StringWithAttributes
202
+ str: '8'
203
+ attributes: {}
204
+ :@diffgr:id: getprovidersinfo2
205
+ :@msdata:row_order: '1'
206
+ - :personid: !ruby/string:Nori::StringWithAttributes
207
+ str: '963'
208
+ attributes: {}
209
+ :username: !ruby/string:Nori::StringWithAttributes
210
+ str: pallbright
211
+ attributes: {}
212
+ :user_type: !ruby/string:Nori::StringWithAttributes
213
+ str: User/Provider
214
+ attributes: {}
215
+ :last_name: !ruby/string:Nori::StringWithAttributes
216
+ str: Allbright
217
+ attributes: {}
218
+ :first_name: !ruby/string:Nori::StringWithAttributes
219
+ str: Peter
220
+ attributes: {}
221
+ :middle: !ruby/string:Nori::StringWithAttributes
222
+ str: M
223
+ attributes: {}
224
+ :profession: !ruby/string:Nori::StringWithAttributes
225
+ str: Physician
226
+ attributes: {}
227
+ :credentials: !ruby/string:Nori::StringWithAttributes
228
+ str: MD
229
+ attributes: {}
230
+ :prim_specialty: !ruby/string:Nori::StringWithAttributes
231
+ str: Allergy/Immunology
232
+ attributes: {}
233
+ :sec_specialty:
234
+ :@xml:space: preserve
235
+ :security:
236
+ :default_site_code: !ruby/string:Nori::StringWithAttributes
237
+ str: '001'
238
+ attributes: {}
239
+ :default_site_name: !ruby/string:Nori::StringWithAttributes
240
+ str: New World Health
241
+ attributes: {}
242
+ :provider_inactive: !ruby/string:Nori::StringWithAttributes
243
+ str: N
244
+ attributes: {}
245
+ :user_inactive: !ruby/string:Nori::StringWithAttributes
246
+ str: N
247
+ attributes: {}
248
+ :entry_code: !ruby/string:Nori::StringWithAttributes
249
+ str: 1TW050
250
+ attributes: {}
251
+ :can_prescribe_flag: !ruby/string:Nori::StringWithAttributes
252
+ str: Y
253
+ attributes: {}
254
+ :rxsupervisionrequired: !ruby/string:Nori::StringWithAttributes
255
+ str: N
256
+ attributes: {}
257
+ :supervisingdefault_id: !ruby/string:Nori::StringWithAttributes
258
+ str: '0'
259
+ attributes: {}
260
+ :supervisingdefault_name:
261
+ :orderingauthority: !ruby/string:Nori::StringWithAttributes
262
+ str: '8'
263
+ attributes: {}
264
+ :@diffgr:id: getprovidersinfo3
265
+ :@msdata:row_order: '2'
266
+ :@xmlns: ''
267
+ :@xmlns:diffgr: urn:schemas-microsoft-com:xml-diffgram-v1
268
+ :@xmlns:msdata: urn:schemas-microsoft-com:xml-msdata
269
+ :@xmlns: http://www.allscripts.com/Unity
270
+ :@xmlns:s: http://schemas.xmlsoap.org/soap/envelope/