Project

verity-sdk

0.0
The project is in a healthy, maintained state
Ruby client library for the Verity API - Medicare coverage policies, prior authorization requirements, and medical code lookups
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 13.0

Runtime

 Project Readme

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

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.message}"
rescue Verity::ValidationError => e
  puts "Invalid request: #{e.message}"
rescue Verity::NotFoundError => e
  puts "Resource not found: #{e.message}"
rescue Verity::RateLimitError => e
  puts "Rate limit exceeded: #{e.message}"
rescue Verity::APIError => e
  puts "Verity API error: #{e.message}"
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.

  1. Configure a RubyGems Trusted Publisher for backworkai/verity-ruby, workflow release.yml, environment release, gem name verity-sdk.
  2. Update lib/verity/version.rb.
  3. Push a matching tag, for example v1.0.0.
  4. The release workflow builds and pushes the gem through RubyGems OIDC trusted publishing.

Support

License

MIT