
data(data_stroke)

nrow=length(data_stroke$systolic_ctrl[,1])
ncol=length(data_stroke$systolic_ctrl[1,])

Estimated_Regular_Pattern = estimate_pattern_long_md(
  data_array=array(c(data_stroke$systolic_ctrl,
                     data_stroke$diastolic_ctrl,
                     data_stroke$cholesterol_ctrl),
                   dim=c(nrow,ncol,3)),
  time_matrix=data_stroke$age_ctrl,
  nobs=rep(ncol,nrow),
  time_unit=1,
  estimation_method="meanvar",
  bw_mean=10,
  bw_var=10)

Monitoring_Results_IC = monitor_long_md(
  data_array_new=array(c(data_stroke$systolic_ctrl,
                         data_stroke$diastolic_ctrl,
                         data_stroke$cholesterol_ctrl),
                       dim=c(nrow,ncol,3)),
  time_matrix_new=data_stroke$age_ctrl,
  nobs_new=rep(ncol,nrow),
  pattern=Estimated_Regular_Pattern,
  side="upward",
  method="multivariate EWMA",
  parameter=0.2)

CL=search_CL(
  chart_matrix=Monitoring_Results_IC$chart_matrix,
  time_matrix=data_stroke$age_ctrl,
  nobs=rep(ncol,nrow),
  starttime=data_stroke$age_ctrl[,1],
  endtime=data_stroke$age_ctrl[,ncol],
  time_unit=1,
  ATS_nominal=15)

nrow_case=dim(data_stroke$systolic_case)[1]
ncol_case=dim(data_stroke$systolic_case)[2]

Monitoring_Results_OC=monitor_long_md(
  data_array_new=array(c(data_stroke$systolic_case,
                         data_stroke$diastolic_case,
                         data_stroke$cholesterol_case),
                       dim=c(nrow_case,ncol_case,3)),
  time_matrix_new=data_stroke$age_case,
  nobs_new=rep(ncol_case,nrow_case),
  pattern=Estimated_Regular_Pattern,
  side="upward",
  method="multivariate EWMA",
  parameter=0.2)

pdf("fig62.pdf",width=7.5,height=4.5)

CCij_OC=Monitoring_Results_OC$chart_matrix
ll_select=CL

par(mfrow=c(3,9),
    oma=c(2.7,2.7,0.2,0.2),
    mar=c(0.05,0.05,1.5,0.05),
    mgp=c(2,1,0),
    tcl=-0.25)

for(ii in 1:27){
  plot(c(1,7),c(min(CCij_OC,na.rm=T),max(CCij_OC,na.rm=T)),
       type="n",xaxt="n",yaxt="n")

  op=par("usr","xpd");par(usr=c(0,1,0,1),xpd=TRUE)########
  lineheight<-strheight("1")
  rect(0,1,1,1+2*lineheight,col="gray80")
  text(0.5,1+lineheight,paste("#",ii))
  par(usr=op$usr,xpd=op$xpd)###############################
  
  have_signal<-max(CCij_OC[ii,])>ll_select
  lines(1:7,CCij_OC[ii,],type="o",pch=16,col=ifelse(have_signal,"black","gray"))
  abline(h=ll_select,lty=3)
  if(ii%in%15:27){
    axis(1,at=1:7,labels=FALSE)
    axis(1,cex.axis=0.8,padj=-1.5)
  }
  if(ii%in%c(1,15)){
    axis(2,cex.axis=0.8,padj=1.5)
  }
}

graphics.off()