Template
92 lines
3.3 KiB
C#
92 lines
3.3 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Strata.ContinuousImprovement.Biz.QualityVariation.QVI;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Strata.ContinuousImprovement.Api.Controllers.JazzQvi
|
|
{
|
|
[ApiController]
|
|
[ApiVersion("1.0")]
|
|
[Route("api/v{api-version:apiVersion}/quality-variation-savings/line-items")]
|
|
public class QviLineItemSavingsController : ControllerBase
|
|
{
|
|
private readonly IQviLineItemSavingsService _qviLineItemSavingsService;
|
|
|
|
public QviLineItemSavingsController(IQviLineItemSavingsService qviLineItemSavingsService)
|
|
{
|
|
_qviLineItemSavingsService = qviLineItemSavingsService;
|
|
}
|
|
|
|
[HttpGet("case-type-families")]
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
|
[ProducesDefaultResponseType]
|
|
public async Task<ActionResult<IEnumerable<QviLineItemCaseTypeFamilyInfo>>> GetCaseTypeFamilies(
|
|
[FromQuery] Guid configurationGuid,
|
|
[FromQuery] bool isBaseline = false,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
if (configurationGuid == Guid.Empty)
|
|
{
|
|
return BadRequest("configurationGuid is required.");
|
|
}
|
|
|
|
var result = await _qviLineItemSavingsService.GetCaseTypeFamilyInfoAsync(
|
|
configurationGuid,
|
|
isBaseline,
|
|
cancellationToken);
|
|
|
|
return Ok(result);
|
|
}
|
|
|
|
[HttpGet("drg-types")]
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
|
[ProducesDefaultResponseType]
|
|
public async Task<ActionResult<IEnumerable<QviLineItemDrgTypeInfo>>> GetDrgTypes(
|
|
[FromQuery] Guid configurationGuid,
|
|
[FromQuery] bool isBaseline = false,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
if (configurationGuid == Guid.Empty)
|
|
{
|
|
return BadRequest("configurationGuid is required.");
|
|
}
|
|
|
|
var result = await _qviLineItemSavingsService.GetDrgTypeInfoAsync(
|
|
configurationGuid,
|
|
isBaseline,
|
|
cancellationToken);
|
|
|
|
return Ok(result);
|
|
}
|
|
|
|
[HttpGet("encounter-savings")]
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
|
[ProducesDefaultResponseType]
|
|
public async Task<ActionResult<IEnumerable<QviLineItemEncounterSavingInfo>>> GetEncounterSavings(
|
|
[FromQuery] Guid configurationGuid,
|
|
[FromQuery] Guid? opportunityGuid = null,
|
|
[FromQuery] bool? isBaseline = null,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
if (configurationGuid == Guid.Empty)
|
|
{
|
|
return BadRequest("configurationGuid is required.");
|
|
}
|
|
|
|
var result = await _qviLineItemSavingsService.GetEncounterSavingInfoAsync(
|
|
configurationGuid,
|
|
opportunityGuid,
|
|
isBaseline,
|
|
cancellationToken);
|
|
|
|
return Ok(result);
|
|
}
|
|
}
|
|
}
|