allscripts_unity_client 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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/