using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;

namespace Strata.Code.DataAccess.Models;

[Table("AddProviderSummary", Schema = "fp")]
[Index("SlencounterAdjustmentGuid", "DcvolumeAdjustmentGuid", Name = "IX_AddProviderSummary_LinkedAdjustments")]
public partial class AddProviderSummary
{
    [Key]
    [Column("SummaryID")]
    public int SummaryId { get; set; }

    [Column("SLEncounterAdjustmentGUID")]
    public Guid? SlencounterAdjustmentGuid { get; set; }

    [Column("DCVolumeAdjustmentGUID")]
    public Guid? DcvolumeAdjustmentGuid { get; set; }

    public int EmployeeType { get; set; }

    [Column("EmployeeID")]
    public int? EmployeeId { get; set; }

    [Column("ProviderID")]
    public int? ProviderId { get; set; }

    public int ProviderType { get; set; }

    public int Specialty { get; set; }

    [Column("StartDateUTC", TypeName = "datetime")]
    public DateTime StartDateUtc { get; set; }

    [Column(TypeName = "decimal(18, 0)")]
    public decimal BenchmarkAverage { get; set; }

    [Column(TypeName = "decimal(18, 0)")]
    public decimal ProjectionTotal { get; set; }

    [Column(TypeName = "decimal(18, 0)")]
    public decimal BudgetTotal { get; set; }

    [Column("BenchmarkProvidersJSON")]
    public string BenchmarkProvidersJson { get; set; } = null!;

    public string Comment { get; set; } = null!;

    [Column("ClassificationGroupID")]
    public int ClassificationGroupId { get; set; }

    [Column("ClassificationCategoryID")]
    public int ClassificationCategoryId { get; set; }
}
