trizetto-api 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,44 @@
1
+ module Trizetto
2
+ module Api
3
+ module PayerList
4
+
5
+ # Ruby wrapper for the PayerList WebService
6
+ #
7
+ # See Also:
8
+ #
9
+ # - Service Documentation: https://mytools.gatewayedi.com/Help/documents/Eligibility/WS%20PayerList%20Vendor%20Toolkit.pdf
10
+ # - WSDL: https://services.gatewayedi.com/PayerList/PayerList.asmx?WSDL
11
+ # - Service Description: https://services.gatewayedi.com/PayerList/PayerList.asmx
12
+ class WebService < Trizetto::Api::WebService
13
+
14
+ def initialize(options = {})
15
+ super(options.merge({
16
+ wsdl: File.join( File.dirname(__FILE__), 'web_service.wsdl' ),
17
+ endpoint: Trizetto::Api.configuration.payer_list_webservice_endpoint,
18
+ }))
19
+ end
20
+
21
+ # Tests to see if the service is up
22
+ #
23
+ # See Also:
24
+ # - Service Description https://services.gatewayedi.com/PayerList/PayerList.asmx?op=Ping
25
+ def ping
26
+ @client.call(:ping, message: {})
27
+ end
28
+
29
+ # Retrieves all Gateway EDI recognized payers along with their supported transaction types and
30
+ # servicing states and links to their enrollment documentation, if it exists.
31
+ #
32
+ # Note: You probably need to set a long timeout to make this call
33
+ def payer_list
34
+ @client.call(:get_xml_payer_list, message: {})
35
+ end
36
+
37
+ # Retrieves the HTTP location of payer enrollment forms for eligibility.
38
+ def doc_links(pid)
39
+ @client.call(:get_doc_links, message: {pid: pid})
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,164 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="https://ws.gatewayedi.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="https://ws.gatewayedi.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3
+ <wsdl:types>
4
+ <s:schema elementFormDefault="qualified" targetNamespace="https://ws.gatewayedi.com/">
5
+ <s:element name="Ping">
6
+ <s:complexType />
7
+ </s:element>
8
+ <s:element name="PingResponse">
9
+ <s:complexType>
10
+ <s:sequence>
11
+ <s:element minOccurs="0" maxOccurs="1" name="PingResult" type="s:string" />
12
+ </s:sequence>
13
+ </s:complexType>
14
+ </s:element>
15
+ <s:element name="AuthSOAPHeader" type="tns:AuthSOAPHeader" />
16
+ <s:complexType name="AuthSOAPHeader">
17
+ <s:sequence>
18
+ <s:element minOccurs="0" maxOccurs="1" name="User" type="s:string" />
19
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
20
+ </s:sequence>
21
+ <s:anyAttribute />
22
+ </s:complexType>
23
+ <s:element name="GetXMLPayerList">
24
+ <s:complexType />
25
+ </s:element>
26
+ <s:element name="GetXMLPayerListResponse">
27
+ <s:complexType>
28
+ <s:sequence>
29
+ <s:element minOccurs="0" maxOccurs="1" name="GetXMLPayerListResult" type="s:string" />
30
+ </s:sequence>
31
+ </s:complexType>
32
+ </s:element>
33
+ <s:element name="getDocLinks">
34
+ <s:complexType>
35
+ <s:sequence>
36
+ <s:element minOccurs="0" maxOccurs="1" name="pid" type="s:string" />
37
+ </s:sequence>
38
+ </s:complexType>
39
+ </s:element>
40
+ <s:element name="getDocLinksResponse">
41
+ <s:complexType>
42
+ <s:sequence>
43
+ <s:element minOccurs="0" maxOccurs="1" name="getDocLinksResult" type="s:string" />
44
+ </s:sequence>
45
+ </s:complexType>
46
+ </s:element>
47
+ </s:schema>
48
+ </wsdl:types>
49
+ <wsdl:message name="PingSoapIn">
50
+ <wsdl:part name="parameters" element="tns:Ping" />
51
+ </wsdl:message>
52
+ <wsdl:message name="PingSoapOut">
53
+ <wsdl:part name="parameters" element="tns:PingResponse" />
54
+ </wsdl:message>
55
+ <wsdl:message name="PingAuthSOAPHeader">
56
+ <wsdl:part name="AuthSOAPHeader" element="tns:AuthSOAPHeader" />
57
+ </wsdl:message>
58
+ <wsdl:message name="GetXMLPayerListSoapIn">
59
+ <wsdl:part name="parameters" element="tns:GetXMLPayerList" />
60
+ </wsdl:message>
61
+ <wsdl:message name="GetXMLPayerListSoapOut">
62
+ <wsdl:part name="parameters" element="tns:GetXMLPayerListResponse" />
63
+ </wsdl:message>
64
+ <wsdl:message name="GetXMLPayerListAuthSOAPHeader">
65
+ <wsdl:part name="AuthSOAPHeader" element="tns:AuthSOAPHeader" />
66
+ </wsdl:message>
67
+ <wsdl:message name="getDocLinksSoapIn">
68
+ <wsdl:part name="parameters" element="tns:getDocLinks" />
69
+ </wsdl:message>
70
+ <wsdl:message name="getDocLinksSoapOut">
71
+ <wsdl:part name="parameters" element="tns:getDocLinksResponse" />
72
+ </wsdl:message>
73
+ <wsdl:message name="getDocLinksAuthSOAPHeader">
74
+ <wsdl:part name="AuthSOAPHeader" element="tns:AuthSOAPHeader" />
75
+ </wsdl:message>
76
+ <wsdl:portType name="PayerListSoap">
77
+ <wsdl:operation name="Ping">
78
+ <wsdl:input message="tns:PingSoapIn" />
79
+ <wsdl:output message="tns:PingSoapOut" />
80
+ </wsdl:operation>
81
+ <wsdl:operation name="GetXMLPayerList">
82
+ <wsdl:input message="tns:GetXMLPayerListSoapIn" />
83
+ <wsdl:output message="tns:GetXMLPayerListSoapOut" />
84
+ </wsdl:operation>
85
+ <wsdl:operation name="getDocLinks">
86
+ <wsdl:input message="tns:getDocLinksSoapIn" />
87
+ <wsdl:output message="tns:getDocLinksSoapOut" />
88
+ </wsdl:operation>
89
+ </wsdl:portType>
90
+ <wsdl:binding name="PayerListSoap" type="tns:PayerListSoap">
91
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
92
+ <wsdl:operation name="Ping">
93
+ <soap:operation soapAction="https://ws.gatewayedi.com/Ping" style="document" />
94
+ <wsdl:input>
95
+ <soap:body use="literal" />
96
+ <soap:header message="tns:PingAuthSOAPHeader" part="AuthSOAPHeader" use="literal" />
97
+ </wsdl:input>
98
+ <wsdl:output>
99
+ <soap:body use="literal" />
100
+ </wsdl:output>
101
+ </wsdl:operation>
102
+ <wsdl:operation name="GetXMLPayerList">
103
+ <soap:operation soapAction="https://ws.gatewayedi.com/GetXMLPayerList" style="document" />
104
+ <wsdl:input>
105
+ <soap:body use="literal" />
106
+ <soap:header message="tns:GetXMLPayerListAuthSOAPHeader" part="AuthSOAPHeader" use="literal" />
107
+ </wsdl:input>
108
+ <wsdl:output>
109
+ <soap:body use="literal" />
110
+ </wsdl:output>
111
+ </wsdl:operation>
112
+ <wsdl:operation name="getDocLinks">
113
+ <soap:operation soapAction="https://ws.gatewayedi.com/getDocLinks" style="document" />
114
+ <wsdl:input>
115
+ <soap:body use="literal" />
116
+ <soap:header message="tns:getDocLinksAuthSOAPHeader" part="AuthSOAPHeader" use="literal" />
117
+ </wsdl:input>
118
+ <wsdl:output>
119
+ <soap:body use="literal" />
120
+ </wsdl:output>
121
+ </wsdl:operation>
122
+ </wsdl:binding>
123
+ <wsdl:binding name="PayerListSoap12" type="tns:PayerListSoap">
124
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
125
+ <wsdl:operation name="Ping">
126
+ <soap12:operation soapAction="https://ws.gatewayedi.com/Ping" style="document" />
127
+ <wsdl:input>
128
+ <soap12:body use="literal" />
129
+ <soap12:header message="tns:PingAuthSOAPHeader" part="AuthSOAPHeader" use="literal" />
130
+ </wsdl:input>
131
+ <wsdl:output>
132
+ <soap12:body use="literal" />
133
+ </wsdl:output>
134
+ </wsdl:operation>
135
+ <wsdl:operation name="GetXMLPayerList">
136
+ <soap12:operation soapAction="https://ws.gatewayedi.com/GetXMLPayerList" style="document" />
137
+ <wsdl:input>
138
+ <soap12:body use="literal" />
139
+ <soap12:header message="tns:GetXMLPayerListAuthSOAPHeader" part="AuthSOAPHeader" use="literal" />
140
+ </wsdl:input>
141
+ <wsdl:output>
142
+ <soap12:body use="literal" />
143
+ </wsdl:output>
144
+ </wsdl:operation>
145
+ <wsdl:operation name="getDocLinks">
146
+ <soap12:operation soapAction="https://ws.gatewayedi.com/getDocLinks" style="document" />
147
+ <wsdl:input>
148
+ <soap12:body use="literal" />
149
+ <soap12:header message="tns:getDocLinksAuthSOAPHeader" part="AuthSOAPHeader" use="literal" />
150
+ </wsdl:input>
151
+ <wsdl:output>
152
+ <soap12:body use="literal" />
153
+ </wsdl:output>
154
+ </wsdl:operation>
155
+ </wsdl:binding>
156
+ <wsdl:service name="PayerList">
157
+ <wsdl:port name="PayerListSoap" binding="tns:PayerListSoap">
158
+ <soap:address location="https://services.gatewayedi.com/PayerList/PayerList.asmx" />
159
+ </wsdl:port>
160
+ <wsdl:port name="PayerListSoap12" binding="tns:PayerListSoap12">
161
+ <soap12:address location="https://services.gatewayedi.com/PayerList/PayerList.asmx" />
162
+ </wsdl:port>
163
+ </wsdl:service>
164
+ </wsdl:definitions>
@@ -0,0 +1,5 @@
1
+ module Trizetto
2
+ module Api
3
+ VERSION = "0.1.1"
4
+ end
5
+ end
@@ -0,0 +1,27 @@
1
+ require 'savon'
2
+
3
+ module Trizetto
4
+ module Api
5
+
6
+ # Base class for WebService API requests
7
+ class WebService # :nodoc:
8
+ def initialize(options = {})
9
+ @client = Savon.client({
10
+ # SOAP Version 1 sends the wrong content type header and you get back a 415 response
11
+ soap_version: 2,
12
+
13
+ soap_header: { "tns:AuthSOAPHeader": {
14
+ "tns:User": Trizetto::Api.configuration.username,
15
+ "tns:Password": Trizetto::Api.configuration.password
16
+ }},
17
+
18
+ # API maybe case sensitive - im not sure
19
+ convert_request_keys_to: :none,
20
+
21
+ # Lots of PHI, so lets not log anything
22
+ log: false,
23
+ }.merge(options))
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,30 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "trizetto/api/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "trizetto-api"
8
+ spec.version = Trizetto::Api::VERSION
9
+ spec.authors = ["John Naegle"]
10
+ spec.email = ["john.naegle@goodmeasures.com"]
11
+
12
+ spec.summary = "Ruby wrapper for the Trizetto APIs"
13
+ spec.description = "Ruby wrapper for the Trizetto APIs"
14
+ spec.homepage = "https://github.com/GoodMeasuresLLC/trizetto-api"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ end
20
+ spec.bindir = "exe"
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ["lib"]
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.16"
25
+ spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "rspec", "~> 3.0"
27
+
28
+ spec.add_dependency "savon", "~> 2.0"
29
+ spec.add_dependency "savon-multipart", "~> 2.0"
30
+ end
metadata ADDED
@@ -0,0 +1,138 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trizetto-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - John Naegle
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-01-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: savon
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: savon-multipart
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
83
+ description: Ruby wrapper for the Trizetto APIs
84
+ email:
85
+ - john.naegle@goodmeasures.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".travis.yml"
93
+ - CHANGELOG.md
94
+ - CODE_OF_CONDUCT.md
95
+ - Gemfile
96
+ - Gemfile.lock
97
+ - LICENSE.txt
98
+ - README.md
99
+ - Rakefile
100
+ - bin/console
101
+ - bin/setup
102
+ - lib/trizetto/api.rb
103
+ - lib/trizetto/api/configuration.rb
104
+ - lib/trizetto/api/eligibility.rb
105
+ - lib/trizetto/api/eligibility/core2.rb
106
+ - lib/trizetto/api/eligibility/core2.wsdl
107
+ - lib/trizetto/api/eligibility/web_service.rb
108
+ - lib/trizetto/api/eligibility/web_service.wsdl
109
+ - lib/trizetto/api/payer_list/web_service.rb
110
+ - lib/trizetto/api/payer_list/web_service.wsdl
111
+ - lib/trizetto/api/version.rb
112
+ - lib/trizetto/api/web_service.rb
113
+ - trizetto-api.gemspec
114
+ homepage: https://github.com/GoodMeasuresLLC/trizetto-api
115
+ licenses:
116
+ - MIT
117
+ metadata: {}
118
+ post_install_message:
119
+ rdoc_options: []
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ requirements: []
133
+ rubyforge_project:
134
+ rubygems_version: 2.6.13
135
+ signing_key:
136
+ specification_version: 4
137
+ summary: Ruby wrapper for the Trizetto APIs
138
+ test_files: []