2005-01-07 Chris Jackson   <chris.jackson@imperial.ac.uk>	
	
	* DESCRIPTION: Version 0.4 released. 
		
2005-01-06 Chris Jackson   <chris.jackson@imperial.ac.uk>	
		
	* msm/R/msm.process.covs: Bug fix - covariates were not being
	centered. Thanks to Andrew Titman. 

2004-12-29  Chris Jackson  <chris.jackson@imperial.ac.uk>

	Support added for censored observations. 

	* src/lik.c: Bug fix. Don't ignore exacttimes for
	misclassification models.
	
	Fixes in documentation. Thanks to Ross Boylan. 

2004-09-18 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* man: Rd syntax errors fixed to pass R CMD CHECK under 2.0.0 *

	* msm-manual: Reference to the PDF manual for msm made more
	prominent.
		
	* DESCRIPTION: Version 0.3.3 released. 

2004-06-23 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* msm.R(msm.process.covs): Bug fix, constraints were not being
	calculated properly when some covariates were constrained and some
	were not.  Thanks to Mike Sweeting. 

2004-06-01 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* msm-manual: Correction - heartmiscsex.msm is actually run using
	default Nelder-Mead optimization, not BFGS.

2004-05-13 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* R/outputs.R: plot.msm now plots survival curves in different
	colours as well as different line types. 

2004-05-11 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* R/simul.R: simmulti.msm now sensibly returns a data frame
	instrad of a matrix.
	
2004-04-23 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* R/simul.R New argument "start" in simmulti.msm to give the
	starting state for each individual. Thanks to Stephan Lenz for the
	suggestion.

2004-03-25 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* NEWS file moved to inst directory, so that it ends up in the
	root directory of binary installs. Leave ChangeLog in the source
	package. 
		
	* DESCRIPTION: Version 0.3.2 released. 
	
2004-03-24 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* R/outputs.R(print.msm): Bug fix - only say "covariates set to
	their means" in the output if there actually are any covariates.

	* msm-manual.pdf: Hidden Markov model theory moved to straight
	after general model theory, general cleanups. 
	
2004-03-23 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* msm-manual.pdf: R code examples rewritten using Sweave.
	Examples run again with different death assumption, most estimates
	are negligibly different.  Misclassification model examples
	corrected to include death.  Example of plot.msm added. This is
	not distributed as a vignette, as the msm model examples take a
	long time to fit.
		
2004-03-22 Chris Jackson   <chris.jackson@imperial.ac.uk>	

	* R/simul.R(simmulti.msm, getobs.msm): tunit argument abolished
	and death times assumed to be known exactly.

	* src/lik.c(fillparvec): Bug fix. Bounds checking on vector of
	indices of fixed parameters. Thanks to Ross Boylan.
		
2004-03-21 Chris Jackson   <chris.jackson@imperial.ac.uk>	
	
	* R/msm.R, src/lik.c: tunit argument is now abolished (with
	warning given).  Death states are assumed to have exact entry
	times, not within one day.  This is cleaner and more logical, as
	in longitudinal studies all observations are usually accurate to
	one basic time unit, not just deaths. 

	* R/msm.R, src/lik.c: More than one death state is now supported.
	A death state has exact entry time, with an unknown transient
	state at the previous instant. Thanks to Jean-Luc Bulliard for
	suggesting this.

	* R/msm.R(msm.check.times): Just give a warning if a subject only
	has one observation, no need to die.
	
	* R/msm.R(lik.msm): Bug fix. set diagonal to 0 when calculating
	number of misclassified states nms, in case user has given non
	zero diagonal entries in ematrix.

	* (various) Changes made so that R CMD CHECK passes with R 1.9.0
	alpha: codoc mismatches and PACKAGE argument in .C() 
	
2003-10-14 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* src/pijt.c(MatrixExpSeries): Bug fix. Don't overwrite the matrix
	A, as it is needed after the function exits. This had led to wrong
	results when exacttimes = TRUE and the intensity matrix had
	repeated eigenvalues.

	* src/lik.c(liksimple, liksimple_fromto, UpdateLik): Don't ignore
	death argument when exacttimes = TRUE.
	
	* R/msm.R(msm.check.times): Use table instead of tapply to count
	the number of observations per subject. Fixes further problems
	with running out of memory. 

	* DESCRIPTION: Version 0.3.1 released. 

2003-09-29 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* R/outputs.R: Debugging print statements removed from
	pmatrix.piecewise.msm

	* msm-manual.pdf: Version number added.

	* DESCRIPTION: Version 0.3 released. 
	
2003-09-26 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* src/lik.c, src/pijt.c: Allocate memory using S_alloc, not
	Calloc. Solves the problem of running out of memory for large
	datasets.

	* R/outputs.R(observed.msm): Fixed a bug with looping over a
	factor patient ID, which caused prevalence.msm to fail.
	
2003-09-25 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* R/outputs.R(print.msm) Don't draw ASCII underlines under
	"Multi-state Markov models" banner - looks ugly in proportional
	font.
	
	* R/msm.R: nmiscs model attribute (number of misclassification
	probabilities) changed to nmisc for compatibility with C code. 
	
	* src/lik.c(liksimple, liksimple_fromto): Bug fixed in the
	likelhood calculation for non-misclassified reversible models with
	death time known within one day.  The error assumed the unobserved
	states on the day before death could only be states greater or
	equal than the previously observed state. This is not true for
	reversible models.

	* man/summary.msm.Rd: usage and argument lists made consistent,
	satisfying new R CMD CHECK.

2003-09-24 Chris Jackson   <chris.jackson@imperial.ac.uk>
	
	* R/msm.R, R/outputs.R, src/lik.c: A new argument "qconstraint" to
	msm now allow equality constraints between baseline transition
	intensities. A similar argument "econstraint" allows equality
	constraints between misclassification probabilities. Thanks to
	Mike Sweeting and Ross Boylan for suggesting this.

2003-09-23 Chris Jackson   <chris.jackson@imperial.ac.uk>
	
	* src/pijt.c(pijt): Bug fixed in the likelihood calculation for
	exact transition times with reversible models.  The error assumed
	Prr(t) was always equal to exp(-qrr t), when this is only
	satisfied for a state r which is only visited once.
 	
2003-06-30 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* R/outputs.R(qematrix.msm): Didn't work when the baseline rates
	or probabilities were fixed to zero, bug fixed (now uses
	x$model$qvector to test whether a transition is allowed, not
	x$Qmatrices$logbaseline). 
	
	* R/outputs.R: New function - pmatrix.piecewise.msm, for
	calculating P-matrices for processes with non-homogeneous but
	piecewise-constant intensities. Thanks to Mike Sweeting for
	suggesting this.

	* DESCRIPTION: Version 0.2.2 released
	
2003-06-25 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* R/msm.R (msm.check.model): Bug fix - was reporting the wrong
	subject numbers when there were disallowed transitions in the
	data. Thanks to Stephan Lenz for spotting this. 
 
2003-06-20 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* R/outputs.R: Covariates argument is now checked that it is a
	list, to avoid ugly warnings in R 1.7.0
 
2003-06-16 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* R/msm.R (msm.form.output): Died when only one parameter in the
	model, fixed by coercing covmat to matrix. 
 
2003-06-03 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* inst/doc/msm-manual.pdf: Edits to manual, e.g. correction of
	covariates formulae to include baseline intensity, lots of typos
	corrected.

	* DESCRIPTION: Version 0.2.1 released
	
2003-04-29 Chris Jackson   <chris.jackson@imperial.ac.uk>

	* R/simul.R: Bug fix in simmulti.msm: didn't work for one
	covariate. Thanks to Mike Sweeting for spotting this.

	* R/msm.R: Subject identification variable is now allowed to be
	factor or character. Thanks to Pablo Emilio Verde for the
	suggestion.

	* R/msm.R: msm.check.times also checks whether all the
	observations on a subject are adjacent in the data set. 

2003-03-20  Chris Jackson  <chris.jackson@imperial.ac.uk>

	* R/R: Bug fix in msm.check.times. Thanks to Pablo Emilio Verde
	for helping to find this.

2003-02-20  Chris Jackson  <chris.jackson@imperial.ac.uk>

	* R/simul.R: Bug fix in getobs.msm: exact death times were
	ignored. (obstimes[i] replaced by sim$times[j+1]).

2003-01-05  Chris Jackson  <chris.jackson@ic.ac.uk>

	* DESCRIPTION: Version 0.2 released. 
	
	* inst/doc/msm-manual.pdf: PDF manual completed. 

2003-01-03  Chris Jackson  <chris.jackson@ic.ac.uk>

	* man: Heart transplant data added as an example data set

	* man: Aesthetic cleanups of all help pages

	* R/msm.R: New function crudeinits.msm to estimate a set of
	initial values for transition rates by assuming data represent
	the only transition times. 
 
	* R/msm.R: New function statetable.msm to calculate frequencies of
	successive state pairs in data

	* R/outputs.R: Methodology changed for prevalencemisc.msm to make
	it more similar to prevalence.msm, avoiding confusion.  Observed
	counts now common to both, and separated out into a new function
	observed.msm. Then prevalencemisc.msm (and the internal C onestep)
	was removed and prevalence.msm was made general to both
	misclassification and non-misclassification models.

2002-12-18  Chris Jackson  <chris.jackson@ic.ac.uk>

	* src/lik.c: Bugfix. nms changed to nst in likelihood-calculating
	functions.  Fixes failure to calculate the likelihood where some
	states where some states are observed without error, but are not
	death states (Thanks to Martyn Plummer).

	* R/simul.R: Bugfix in getobs.msm, which led to the entrance to
	not being observed for models with absorbing states,
	
2002-12-09  Chris Jackson  <chris.jackson@ic.ac.uk>

	* R/outputs.R: new function odds.msm to calculate odds ratios for
	misclassification probabilities.

	* R/outputs.R: new function ematrix.msm. Calls new internal
	functions, including qematrix.msm. 

2002-12-03  Chris Jackson  <chris.jackson@ic.ac.uk>

	* R/outputs.R: new function qratio.msm for estimating ratios of
	intensities and (via new function qratio.se.msm) their standard
	errors. Documentation in man/qratio.msm.Rd.
	
2002-12-02  Chris Jackson  <chris.jackson@ic.ac.uk>

	* R/outputs.R: new internal function qmatrix.diagse.msm 
	
	* R/msm.R  Null components of msm objects removed, e.g. 
	misclassification parameters for non-misclassification models. 

2002-11-27  Chris Jackson  <chris.jackson@ic.ac.uk>

	* R:  File msm.R split into msm.R, outputs.R and utils.R. 
	
	* R/msm.R. New functions absorbing.msm and transient.msm which 
	give the indices of the absorbing or transient states of the model. 

	* R/msm.R. (plot.msm) Now accepts a "covariates" argument for
	covariates at which to evaluate the survival probabilities. 

	* R/msm.R. Functions which operate on msm objects now have the
	msm object argument named "x", instead of "msm", for consistency.

	* man/qmatrix.msm.Rd, man/pmatrix.msm.Rd, man/sojourn.msm.Rd. Updated
	documentation.

	* R/msm.R (msm). The contents of msm objects has been
	reorganised. The first component of Qmatrices is now called
	"logbaseline" and gives the estimates of the log intensites as
	returned from the optimisation.  Components "qcenter" and
	"ecenter" are removed, as they were named confusingly. The
	component 'Pmatrix' is also removed, as it is obsoleted by the
	function 'pmatrix.msm'.  New component 'foundse' is a logical
	indicating whether the Hessian is positive definite, i.e. whether
	standard errors are available.
	
	* R/msm.R (sojourn.msm) Function rewritten to allow a given set of
	covariate values, using the new qmatrix.msm.  Now takes a fitted
	msm model as its argument, and the component "mean" in the return
	is changed to "estimate".

	* R/msm.R (qmatrix.msm). New function to compute transition
	intensity matrix at given covariate values.

	* R/msm.R (pmatrix.msm). New function to compute transition
	probability matrix at given covariate values.

	* R/simul.R (simmulti.msm): Check for ordered patient IDs, and
	sort input data if not ordered.  Also check for duplicated
	observation times and remove them. Default for 'death' argument
	changed to FALSE for consistency with msm(). Give column names to
	the simulated data.

2002-11-13  Chris Jackson  <chris.jackson@ic.ac.uk>

	* R/msm.R: New function msm.check.qmatrix to test for consistency
	of Markov chain intensity matrices.

	* R/msm.R, man/totlos.Rd: New function totlos.msm to estimate total length of stay in a 
	state, with documentation.

	* src/lik.c, src/pijt.c: Unused and uninitialised variables fixed so the library builds
	cleanly with -Wall.		

2002-11-08  Chris Jackson  <chris.jackson@ic.ac.uk>

	* src/lik.c: Debugging print statements removed from onestep

	* msm_0.1.tar.gz: First release 


