• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

scarver2 / ehr-portal / 23305376733
77%

Build:
DEFAULT BRANCH: main
Ran 19 Mar 2026 04:29PM UTC
Jobs 1
Files 11
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Mar 2026 04:28PM UTC coverage: 99.248% (+5.6%) from 93.671%
23305376733

push

github

web-flow
feat: Real-Time Eligibility (RTE) insurance verification (#19)

* feat: Real-Time Eligibility (RTE) insurance verification

**Infrastructure**
- Replace Solid Queue with Sidekiq (sidekiq ~> 7.0)
- Add AASM (aasm ~> 5.5) for InsuranceVerification state machine
- Add rails-observers (rails-observers ~> 0.1) for InsuranceProfileObserver
- Add Redis service to compose.yml (local dev)
- Add Redis accessory + worker role to config/deploy.api.yml (Kamal)
- Enable ActionCable (action_cable/engine) and ActiveJob railtie
- Configure config/cable.yml (Redis adapter dev/prod, test adapter in test)
- Configure config/sidekiq.yml (critical / insurance / default queues)
- Configure Redis cache store in production.rb
- Add sidekiq process to both Procfile.dev files
- Update bin/steps/03_kamal.sh and 19_dock_rails.sh

**Models & Migrations**
- Payer — name, payer_code, clearinghouse, api_endpoint, requires_auth,
  active, response_time_ms, metadata; unique index on payer_code
- InsuranceProfile — user:references, member_id, payer_name, status
  (default pending), raw_response, deductible/oop_max/copay (decimal),
  verified_at; payer:references added in separate migration
- InsuranceVerification — full AASM state machine (pending → queued →
  requesting → parsing → verified/failed; verified → expired;
  pending/queued → canceled); request_uuid (auto-generated, unique);
  cents-based financial fields; broadcast! over ActionCable
- User — adds has_one :insurance_profile, has_many :insurance_verifications
- Appointment stub (full implementation pending)

**Observer**
- InsuranceProfileObserver — fires after_create on InsuranceProfile;
  creates InsuranceVerification, enqueues worker, broadcasts status

**Services**
- FakePayerGateway — simulates clearinghouse API with configurable latency
- RteCache — Redis-backed cache (fetch/write/read/invalidate);
  key format: insurance:rte:{payer_code}:{member_id}; TTL 12h

**Worker**
- InsuranceVerificationWorker (queue: insurance, ... (continued)

57 of 58 branches covered (98.28%)

Branch coverage included in aggregate %.

32 of 32 new or added lines in 2 files covered. (100.0%)

75 of 75 relevant lines covered (100.0%)

11.29 hits per line

Jobs
ID Job ID Ran Files Coverage
1 23305376733.1 19 Mar 2026 04:28PM UTC 11
99.25
GitHub Action Run
Source Files on build 23305376733
  • Tree
  • List 11
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #23305376733
  • b62d7a93 on github
  • Prev Build on main (#23283338474)
  • Next Build on main (#23305376755)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc