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

namespace Strata.Code.DataAccess.Models;

[Table("AddProviderEncountersDataForCharges", Schema = "fp")]
public partial class AddProviderEncountersDataForCharge
{
    [Key]
    [Column("AddProviderEncountersDataForChargesID")]
    public int AddProviderEncountersDataForChargesId { get; set; }

    [Column("AdjustmentGUID")]
    public Guid AdjustmentGuid { get; set; }

    [Column("BudgetConfigID")]
    public int BudgetConfigId { get; set; }

    [Column("EntityID")]
    public int EntityId { get; set; }

    [Column("DepartmentID")]
    public int DepartmentId { get; set; }

    [Column("ServiceLineID")]
    public int ServiceLineId { get; set; }

    [Column("PatientClassID")]
    public int PatientClassId { get; set; }

    [Column("ChargeCodeID")]
    public int ChargeCodeId { get; set; }

    [Column("AgeCohortID")]
    public int AgeCohortId { get; set; }

    [Column("MedicalSurgicalID")]
    public int MedicalSurgicalId { get; set; }

    [Column("UnitTypeID")]
    public int UnitTypeId { get; set; }

    [Column("ServiceEntityID")]
    public int ServiceEntityId { get; set; }

    [Column("MSDRGID")]
    public int Msdrgid { get; set; }

    [Column("UBRevCodeID")]
    public int UbrevCodeId { get; set; }

    [Column("PrimaryCPTID")]
    public int PrimaryCptid { get; set; }

    [Column("ServiceProviderID")]
    public int ServiceProviderId { get; set; }

    [Column("ServiceProviderSpecialtyID")]
    public int ServiceProviderSpecialtyId { get; set; }

    [Column("PerformingProviderID")]
    public int PerformingProviderId { get; set; }

    [Column("PerformingProviderSpecialtyID")]
    public int PerformingProviderSpecialtyId { get; set; }

    [Column("BillingCPTID")]
    public int BillingCptid { get; set; }

    public bool IsProcessed { get; set; }

    [ForeignKey("AdjustmentGuid")]
    [InverseProperty("AddProviderEncountersDataForCharges")]
    public virtual DepartmentChargeVolumeAdjustment Adjustment { get; set; } = null!;
}
