https://github.com/copyleftdev/payer-status-io

https://github.com/copyleftdev/payer-status-io

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: copyleftdev
  • Language: HTML
  • Default Branch: main
  • Size: 13.8 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 9 months ago
Metadata Files
Readme

README.md

Payer Status IO - WebSocket Health Monitor

Go Report Card Docker Pulls License

A high-performance WebSocket-based health monitoring system for tracking the status of healthcare payer endpoints in real-time.

🚀 Features

  • Real-time Monitoring: WebSocket-based push notifications for instant updates
  • Multi-payer Support: Monitor 25+ insurance payers simultaneously
  • Comprehensive Metrics: Track response times, status codes, and errors
  • Configurable Probes: Customize check intervals and endpoints per payer
  • Prometheus Integration: Built-in metrics endpoint for monitoring
  • Docker & Kubernetes Ready: Containerized deployment with health checks
  • REST API: Manage and query status programmatically

📦 Quick Start

Prerequisites

  • Go 1.21+
  • Docker 20.10+
  • Make (optional, but recommended)

Using Docker (Recommended)

```bash

Start the service

docker-compose up -d

View logs

docker-compose logs -f ```

Local Development

```bash

Build and run

go build -o bin/server ./cmd/server ./bin/server --config ./docs/payer_status.yaml

Or run with hot-reloading (requires air)

make dev ```

🔌 API Endpoints

  • GET /health - Health check endpoint
  • GET /metrics - Prometheus metrics
  • GET /status - Current status of all payers
  • GET /status/{payer} - Status for a specific payer
  • WS /ws - WebSocket endpoint for real-time updates

🔧 Configuration

Configuration is done via YAML. See docs/configuration.md for details.

```yaml server: port: 8080 metricsport: 9090 loglevel: info

probes: - name: Aetna endpoints: - type: login url: https://aetna.com/login interval: 5m timeout: 10s ```

📊 Monitoring

Prometheus metrics are exposed on port 9090 by default:

  • probe_duration_seconds - Duration of HTTP probes
  • probe_status_code - Status code of the last probe
  • websocket_connections - Number of active WebSocket connections

🛠 Development

Building

bash make build

Testing

bash make test

Linting

bash make lint

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please read our contributing guidelines to get started.

Owner

  • Name: Donald Johnson
  • Login: copyleftdev
  • Kind: user
  • Location: Los Angeles

GitHub Events

Total
  • Push event: 1
  • Create event: 2
Last Year
  • Push event: 1
  • Create event: 2

Dependencies

Dockerfile docker
  • alpine 3.19 build
  • golang 1.21-alpine build
docker-compose.yml docker
go.mod go
  • github.com/beorn7/perks v1.0.1
  • github.com/cespare/xxhash/v2 v2.2.0
  • github.com/golang/protobuf v1.5.3
  • github.com/matttproud/golang_protobuf_extensions v1.0.4
  • github.com/prometheus/client_golang v1.17.0
  • github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16
  • github.com/prometheus/common v0.44.0
  • github.com/prometheus/procfs v0.11.1
  • go.uber.org/multierr v1.10.0
  • go.uber.org/zap v1.26.0
  • golang.org/x/sync v0.5.0
  • golang.org/x/sys v0.11.0
  • golang.org/x/time v0.5.0
  • google.golang.org/protobuf v1.31.0
  • gopkg.in/yaml.v3 v3.0.1
  • nhooyr.io/websocket v1.8.10
go.sum go
  • github.com/beorn7/perks v1.0.1
  • github.com/cespare/xxhash/v2 v2.2.0
  • github.com/davecgh/go-spew v1.1.1
  • github.com/golang/protobuf v1.2.0
  • github.com/golang/protobuf v1.5.0
  • github.com/golang/protobuf v1.5.3
  • github.com/google/go-cmp v0.5.5
  • github.com/google/go-cmp v0.5.9
  • github.com/kr/pretty v0.3.1
  • github.com/kr/text v0.2.0
  • github.com/matttproud/golang_protobuf_extensions v1.0.4
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/prometheus/client_golang v1.17.0
  • github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16
  • github.com/prometheus/common v0.44.0
  • github.com/prometheus/procfs v0.11.1
  • github.com/rogpeppe/go-internal v1.10.0
  • github.com/stretchr/testify v1.8.1
  • go.uber.org/goleak v1.2.0
  • go.uber.org/multierr v1.10.0
  • go.uber.org/zap v1.26.0
  • golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4
  • golang.org/x/sync v0.5.0
  • golang.org/x/sys v0.11.0
  • golang.org/x/time v0.5.0
  • golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
  • google.golang.org/protobuf v1.26.0-rc.1
  • google.golang.org/protobuf v1.26.0
  • google.golang.org/protobuf v1.31.0
  • gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
  • gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
  • gopkg.in/yaml.v3 v3.0.1
  • nhooyr.io/websocket v1.8.10