Documentation
¶
Index ¶
- type Handler
- func (h *Handler) CheckEligibility(c *gin.Context)
- func (h *Handler) ClearCache(c *gin.Context)
- func (h *Handler) Close() error
- func (h *Handler) CreateClaim(c *gin.Context)
- func (h *Handler) CreateCoverage(c *gin.Context)
- func (h *Handler) CreatePatient(c *gin.Context)
- func (h *Handler) CreatePriorAuthorization(c *gin.Context)
- func (h *Handler) DeleteClaim(c *gin.Context)
- func (h *Handler) DeleteCoverage(c *gin.Context)
- func (h *Handler) DeletePatient(c *gin.Context)
- func (h *Handler) GetAuditLogs(c *gin.Context)
- func (h *Handler) GetClaim(c *gin.Context)
- func (h *Handler) GetClaimResponse(c *gin.Context)
- func (h *Handler) GetClaimStatus(c *gin.Context)
- func (h *Handler) GetCodeSystems(c *gin.Context)
- func (h *Handler) GetCoverage(c *gin.Context)
- func (h *Handler) GetMemberCoverage(c *gin.Context)
- func (h *Handler) GetPatient(c *gin.Context)
- func (h *Handler) GetPriorAuthorization(c *gin.Context)
- func (h *Handler) GetSystemStats(c *gin.Context)
- func (h *Handler) GetToken(c *gin.Context)
- func (h *Handler) HealthCheck(c *gin.Context)
- func (h *Handler) LookupCode(c *gin.Context)
- func (h *Handler) MetricsHandler(c *gin.Context)
- func (h *Handler) ReadinessCheck(c *gin.Context)
- func (h *Handler) RefreshToken(c *gin.Context)
- func (h *Handler) ReprocessClaim(c *gin.Context)
- func (h *Handler) SearchClaimResponses(c *gin.Context)
- func (h *Handler) SearchClaims(c *gin.Context)
- func (h *Handler) SearchCoverage(c *gin.Context)
- func (h *Handler) SearchPatients(c *gin.Context)
- func (h *Handler) SearchPriorAuthorizations(c *gin.Context)
- func (h *Handler) SubmitClaim(c *gin.Context)
- func (h *Handler) UpdateClaim(c *gin.Context)
- func (h *Handler) UpdateCoverage(c *gin.Context)
- func (h *Handler) UpdatePatient(c *gin.Context)
- func (h *Handler) UpdatePriorAuthorization(c *gin.Context)
- func (h *Handler) ValidateCode(c *gin.Context)
- type MetricsCollector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
NewHandler creates a new handler instance
func (*Handler) CheckEligibility ¶
CheckEligibility godoc @Summary Check eligibility @Description Check member eligibility and coverage @Tags eligibility @Security OAuth2Application @Accept json @Produce json @Param request body models.EligibilityRequest true "Eligibility check request" @Success 200 {object} models.EligibilityResponse @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/eligibility/check [post]
func (*Handler) ClearCache ¶
ClearCache godoc @Summary Clear cache @Description Clear Redis cache @Tags admin @Security OAuth2Application @Accept json @Produce json @Success 200 {object} map[string]string @Failure 401 {object} models.ErrorResponse @Failure 403 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/admin/cache/clear [post]
func (*Handler) CreateClaim ¶
func (*Handler) CreateCoverage ¶
func (*Handler) CreatePatient ¶
CreatePatient godoc @Summary Create a new patient @Description Create a new patient resource @Tags fhir @Security OAuth2Application @Accept json @Produce json @Param patient body fhir.Patient true "Patient resource" @Success 201 {object} fhir.Patient @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/fhir/Patient [post]
func (*Handler) CreatePriorAuthorization ¶
func (*Handler) DeleteClaim ¶
func (*Handler) DeleteCoverage ¶
func (*Handler) DeletePatient ¶
DeletePatient godoc @Summary Delete patient @Description Delete a patient resource @Tags fhir @Security OAuth2Application @Accept json @Produce json @Param id path string true "Patient ID" @Success 204 @Failure 404 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/fhir/Patient/{id} [delete]
func (*Handler) GetAuditLogs ¶
GetAuditLogs godoc @Summary Get audit logs @Description Retrieve audit logs for compliance @Tags admin @Security OAuth2Application @Accept json @Produce json @Param from query string false "Start date (ISO 8601)" @Param to query string false "End date (ISO 8601)" @Param limit query int false "Maximum number of records" default(100) @Success 200 {object} models.AuditLogResponse @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 403 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/admin/audit [get]
func (*Handler) GetClaimResponse ¶
func (*Handler) GetClaimStatus ¶
GetClaimStatus godoc @Summary Get claim status @Description Get the processing status of a claim @Tags claims @Security OAuth2Application @Accept json @Produce json @Param id path string true "Claim ID" @Success 200 {object} models.ClaimStatusResponse @Failure 404 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/claims/{id}/status [get]
func (*Handler) GetCodeSystems ¶
GetCodeSystems godoc @Summary Get code systems @Description Retrieve available code systems @Tags terminology @Security OAuth2Application @Accept json @Produce json @Success 200 {array} models.CodeSystem @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/terminology/codesystems [get]
func (*Handler) GetCoverage ¶
func (*Handler) GetMemberCoverage ¶
GetMemberCoverage godoc @Summary Get member coverage @Description Get coverage information for a specific member @Tags eligibility @Security OAuth2Application @Accept json @Produce json @Param id path string true "Member ID" @Success 200 {object} models.CoverageResponse @Failure 404 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/eligibility/member/{id}/coverage [get]
func (*Handler) GetPatient ¶
GetPatient godoc @Summary Get patient by ID @Description Retrieve a patient resource by ID @Tags fhir @Security OAuth2Application @Accept json @Produce json @Param id path string true "Patient ID" @Success 200 {object} fhir.Patient @Failure 404 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/fhir/Patient/{id} [get]
func (*Handler) GetPriorAuthorization ¶
func (*Handler) GetSystemStats ¶
GetSystemStats godoc @Summary Get system statistics @Description Get overall system statistics and metrics @Tags admin @Security OAuth2Application @Accept json @Produce json @Success 200 {object} models.SystemStats @Failure 401 {object} models.ErrorResponse @Failure 403 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/admin/stats [get]
func (*Handler) GetToken ¶
Authentication endpoints GetToken godoc @Summary Get authentication token @Description Authenticate user and return JWT token @Tags auth @Accept json @Produce json @Param credentials body models.LoginRequest true "User credentials" @Success 200 {object} models.TokenResponse @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Router /api/v1/auth/token [post]
func (*Handler) HealthCheck ¶
Health check endpoints HealthCheck godoc @Summary Health check @Description Check if the service is healthy @Tags health @Accept json @Produce json @Success 200 {object} map[string]string @Router /health [get]
func (*Handler) LookupCode ¶
LookupCode godoc @Summary Lookup a code @Description Look up a specific code in a code system @Tags terminology @Security OAuth2Application @Accept json @Produce json @Param system path string true "Code system" @Param code path string true "Code value" @Success 200 {object} models.CodeLookupResponse @Failure 404 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/terminology/codesystems/{system}/codes/{code} [get]
func (*Handler) MetricsHandler ¶
MetricsHandler serves Prometheus metrics
func (*Handler) ReadinessCheck ¶
ReadinessCheck godoc @Summary Readiness check @Description Check if the service is ready to serve requests @Tags health @Accept json @Produce json @Success 200 {object} map[string]string @Router /ready [get]
func (*Handler) RefreshToken ¶
RefreshToken godoc @Summary Refresh authentication token @Description Refresh an existing JWT token @Tags auth @Accept json @Produce json @Param token body models.RefreshTokenRequest true "Refresh token" @Success 200 {object} models.TokenResponse @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Router /api/v1/auth/refresh [post]
func (*Handler) ReprocessClaim ¶
ReprocessClaim godoc @Summary Reprocess a claim @Description Trigger reprocessing of a claim @Tags claims @Security OAuth2Application @Accept json @Produce json @Param id path string true "Claim ID" @Success 202 {object} models.ClaimReprocessResponse @Failure 404 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/claims/{id}/reprocess [post]
func (*Handler) SearchClaimResponses ¶
func (*Handler) SearchClaims ¶
func (*Handler) SearchCoverage ¶
func (*Handler) SearchPatients ¶
SearchPatients godoc @Summary Search patients @Description Search for patients using FHIR parameters @Tags fhir @Security OAuth2Application @Accept json @Produce json @Param name query string false "Patient name" @Param identifier query string false "Patient identifier" @Param birthdate query string false "Patient birth date" @Param _count query int false "Number of results to return" default(20) @Param _offset query int false "Offset for pagination" default(0) @Success 200 {object} fhir.Bundle @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/fhir/Patient [get]
func (*Handler) SearchPriorAuthorizations ¶
func (*Handler) SubmitClaim ¶
SubmitClaim godoc @Summary Submit a claim @Description Submit a claim for processing @Tags claims @Security OAuth2Application @Accept json @Produce json @Param claim body models.ClaimSubmission true "Claim submission" @Success 202 {object} models.ClaimSubmissionResponse @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/claims/submit [post]
func (*Handler) UpdateClaim ¶
func (*Handler) UpdateCoverage ¶
func (*Handler) UpdatePatient ¶
UpdatePatient godoc @Summary Update patient @Description Update an existing patient resource @Tags fhir @Security OAuth2Application @Accept json @Produce json @Param id path string true "Patient ID" @Param patient body fhir.Patient true "Updated patient resource" @Success 200 {object} fhir.Patient @Failure 400 {object} models.ErrorResponse @Failure 404 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/fhir/Patient/{id} [put]
func (*Handler) UpdatePriorAuthorization ¶
func (*Handler) ValidateCode ¶
ValidateCode godoc @Summary Validate a code @Description Validate if a code exists in a code system @Tags terminology @Security OAuth2Application @Accept json @Produce json @Param system path string true "Code system" @Param request body models.CodeValidationRequest true "Code validation request" @Success 200 {object} models.CodeValidationResponse @Failure 400 {object} models.ErrorResponse @Failure 401 {object} models.ErrorResponse @Failure 500 {object} models.ErrorResponse @Router /api/v1/terminology/codesystems/{system}/validate [post]
type MetricsCollector ¶
type MetricsCollector struct { RequestsTotal *prometheus.CounterVec RequestDuration *prometheus.HistogramVec ActiveRequests prometheus.Gauge }