import { AppointmentRate, ScreenDataService } from '';
import { NModelState, NModelUnionE } from 'nsn-model-type';
import { IncomeYear, LeaveHospitalTrend, MonthlyHospital, MonthlyOutpatient, OutpatientTrend, SurgicalQuantity, ThatDayInfo, YearlyHospital, YearlyOutpatient } from './entity';

export interface ScreenDataModelState extends NModelState<any> {

  /** 七日预约率 */
  appointmentRate?: Array<AppointmentRate>

  /** 当日值 */
  thatDayInfo?: ThatDayInfo;

  /** 七日手术量 */
  surgicalQuantity?: Array<SurgicalQuantity>;

  /** 年度收入情况 */
  incomeYear?: IncomeYear;

  /** 出院人数趋势 */
  leaveHospitalTrend?: Array<LeaveHospitalTrend>;

  /** 月度住院情况 */
  monthlyHospital?: MonthlyHospital;

  /** 月度门诊情况 */
  monthlyOutpatient?: MonthlyOutpatient;

  /** 门诊量趋势 */
  outpatientTrend?: Array<OutpatientTrend>;

  /** 年度住院情况 */
  yearlyHospital?: YearlyHospital;

  /** 年度门诊情况 */
  yearlyOutpatient?: YearlyOutpatient;
}

export interface ScreenDataModel extends NModelUnionE<ScreenDataModelState, ScreenDataService> {
  namespace: 'screen_data';
}

