Verity Ruby SDK
Official Ruby client for the Verity API: Medicare coverage policies, medical code intelligence, prior authorization checks, claim validation, compliance review, and drug formulary evidence.
Installation
Install from GitHub until the first RubyGems release is indexed:
gem 'verity-sdk', git: 'https://github.com/backworkai/verity-ruby.git'
Then install dependencies:
bundle install
After the first RubyGems release, install it directly:
gem install verity-sdk
Requires Ruby 2.7 or newer.
Quick Start
require 'verity'
client = Verity::Client.new(api_key: 'vrt_live_YOUR_API_KEY')
code = client.codes.lookup('76942', include: ['rvu', 'policies'])
puts code['data']['description']
prior_auth = client.prior_auth.check(
procedure_codes: ['76942'],
diagnosis_codes: ['M54.5'],
state: 'TX',
payer: 'medicare'
)
puts prior_auth['data']['pa_required']
Get an API key from the Verity dashboard.
Core Workflows
Code Lookup
result = client.codes.lookup(
'76942',
include: ['rvu', 'policies'],
jurisdiction: 'JM',
fuzzy: true
)
Policy Search and Retrieval
policies = client.policies.list(
q: 'ultrasound guidance',
mode: 'keyword',
policy_type: 'LCD',
jurisdiction: 'JM',
status: 'active',
limit: 25
)
policy = client.policies.get('L33831', include: ['criteria', 'codes'])
Prior Authorization and Claim Validation
prior_auth = client.prior_auth.check(
procedure_codes: ['76942'],
diagnosis_codes: ['M54.5'],
state: 'TX',
payer: 'medicare'
)
claim = client.claims.validate(
procedure_codes: ['99213'],
diagnosis_codes: ['E11.9'],
payer: 'Medicare',
state: 'TX',
date_of_service: '2026-05-23'
)
puts "#{claim['data']['coverage_status']} #{claim['data']['denial_risk']}"
puts claim['data']['issues']
Coverage, Spending, and Compliance
criteria = client.coverage.search_criteria(
'diabetes',
section: 'indications',
limit: 10
)
puts "#{criteria['data'][0]['policy_id']}: #{criteria['data'][0]['policy_title']}"
spending = client.spending.by_code(codes: ['T1019', 'T1020'], year: 2023)
changes = client.compliance.unreviewed(limit: 10)
stats = client.compliance.stats
Drug Formulary Evidence
formulary = client.drugs.formulary('ozempic', payer: 'all', limit: 5)
Error Handling
begin
result = client.codes.lookup('76942')
rescue Verity::AuthError => e
puts "Invalid API key: #{e.}"
rescue Verity::ValidationError => e
puts "Invalid request: #{e.}"
rescue Verity::NotFoundError => e
puts "Resource not found: #{e.}"
rescue Verity::RateLimitError => e
puts "Rate limit exceeded: #{e.}"
rescue Verity::APIError => e
puts "Verity API error: #{e.}"
end
Configuration
client = Verity::Client.new(
api_key: ENV.fetch('VERITY_API_KEY'),
base_url: 'https://verity.backworkai.com/api/v1',
timeout: 30
)
Development
bundle install
ruby -c lib/verity.rb
gem build verity-sdk.gemspec
bundle exec rake build
Release
The gem publishes to RubyGems.org as verity-sdk.
- Configure a pending RubyGems Trusted Publisher for
backworkai/verity-ruby, workflowrelease.yml, environmentrelease, gem nameverity-sdk. - Update
lib/verity/version.rb. - Push a matching tag, for example
v1.0.0. - The release workflow builds and pushes the gem through RubyGems OIDC trusted publishing.
Support
- Documentation: https://verity.backworkai.com/docs
- Issues: https://github.com/backworkai/verity-ruby/issues
- Email: support@verity.backworkai.com
License
MIT