{
  "_id": "6a5138c29b92047c28d5024f",
  "Package": "psm3mkv",
  "Title": "Evaluate Partitioned Survival and State Transition Models",
  "Version": "0.3.3",
  "Authors@R": "c(\nperson(\"Dominic\", \"Muston\", , \"dom.muston@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0003-4876-7940\")),\nperson(\"Merck & Co., Inc., Rahway, NJ, USA and its affiliates\", role = c(\"cph\", \"fnd\"))\n)",
  "Description": "Fits and evaluates three-state partitioned survival\nanalyses (PartSAs) and Markov models (clock forward or clock\nreset) to progression and overall survival data typically\ncollected in oncology clinical trials. These model structures\nare typically considered in cost-effectiveness modeling in\nadvanced/metastatic cancer indications. Muston (2024).\n\"Informing structural assumptions for three state oncology\ncost-effectiveness models through model efficiency and fit\".\nApplied Health Economics and Health Policy.",
  "License": "GPL (>= 3)",
  "URL": "https://merck.github.io/psm3mkv/, https://github.com/Merck/psm3mkv",
  "BugReports": "https://github.com/Merck/psm3mkv/issues",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "cmake make libicu-dev libuv1-dev libxml2-dev",
  "Repository": "https://merck.r-universe.dev",
  "Date/Publication": "2026-07-10 17:49:18 UTC",
  "RemoteUrl": "https://github.com/merck/psm3mkv",
  "RemoteRef": "HEAD",
  "RemoteSha": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-10 18:19:43 UTC",
    "User": "root"
  },
  "Author": "Dominic Muston [aut, cre] (ORCID:\n<https://orcid.org/0000-0003-4876-7940>),\nMerck & Co., Inc., Rahway, NJ, USA and its affiliates [cph, fnd]",
  "Maintainer": "Dominic Muston <dom.muston@gmail.com>",
  "_user": "merck",
  "_type": "src",
  "_file": "psm3mkv_0.3.3.tar.gz",
  "_fileid": "https://r2.ropensci.org/f02175786cd12dc6e6b31d1d227b4b96b6273540aa645ca80d437bf2b5d25dd5",
  "_filesize": 922986,
  "_sha256": "f02175786cd12dc6e6b31d1d227b4b96b6273540aa645ca80d437bf2b5d25dd5",
  "_expires": "2026-10-18T18:24:00.000Z",
  "_created": "2026-07-10T18:19:43.000Z",
  "_published": "2026-07-10T18:24:02.335Z",
  "_jobs": [
    {
      "job": 86433359209,
      "time": 219,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8236005187"
    },
    {
      "job": 86433359175,
      "time": 210,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8236002004"
    },
    {
      "job": 86433359236,
      "time": 96,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8235958342"
    },
    {
      "job": 86433359229,
      "time": 153,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8235980273"
    },
    {
      "job": 86432356649,
      "time": 310,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8235920162"
    },
    {
      "job": 86433359142,
      "time": 154,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8235979508"
    },
    {
      "job": 86433359270,
      "time": 193,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8235995134"
    },
    {
      "job": 86433359208,
      "time": 207,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8236001506"
    },
    {
      "job": 86433359230,
      "time": 206,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8236001457"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640",
  "_status": "success",
  "_upstream": "https://github.com/merck/psm3mkv",
  "_commit": {
    "id": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
    "author": "Dominic Muston <127244690+dom-muston@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #58 from dom-muston/main\n\nUpdate documentation code for new roxygen version",
    "time": 1783705758
  },
  "_maintainer": {
    "name": "Dominic Muston",
    "email": "dom.muston@gmail.com",
    "login": "dom-muston",
    "linkedin": "in/dominic-muston-a897517",
    "orcid": "0000-0003-4876-7940",
    "description": "",
    "uuid": 127244690
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "admiral",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "flexsurv",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "pharmaverseadam",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "SimplicialCubature",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "survival",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "admiralonco",
      "role": "Imports"
    },
    {
      "package": "boot",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "ggsci",
      "role": "Suggests"
    },
    {
      "package": "HMDHFDplus",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "merck",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-28",
      "n": 3
    }
  ],
  "_tags": [],
  "_stars": 11,
  "_contributors": [
    {
      "user": "dom-muston",
      "count": 155,
      "uuid": 127244690
    },
    {
      "user": "nanxstats",
      "count": 22,
      "uuid": 199363
    },
    {
      "user": "jdblischak",
      "count": 9,
      "uuid": 1608317
    },
    {
      "user": "reginaimhoff",
      "count": 1,
      "uuid": 112024883
    },
    {
      "user": "xm2325",
      "count": 1,
      "uuid": 135629372
    }
  ],
  "_userbio": {
    "uuid": 7306189,
    "type": "organization",
    "name": "Merck Sharp & Dohme Corp. a subsidiary of Merck & Co., Inc.",
    "followers": 217,
    "description": "This channel is only intended for U.S. and Canadian visitors."
  },
  "_downloads": {
    "count": 306,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/psm3mkv"
  },
  "_devurl": "https://github.com/merck/psm3mkv",
  "_pkgdown": "https://merck.github.io/psm3mkv/",
  "_searchresults": 1,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/psm3mkv.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/merck/psm3mkv",
  "_realowner": "merck",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.3.1",
      "date": "2024-05-07"
    },
    {
      "version": "0.3.2",
      "date": "2024-06-07"
    }
  ],
  "_exports": [
    "calc_allrmds",
    "calc_haz_psm",
    "calc_likes",
    "calc_rmd",
    "calc_surv_psmpps",
    "check_consistent_pfs",
    "compare_psm_likes",
    "constrain_survprob",
    "create_dummydata",
    "create_extrafields",
    "find_bestfit",
    "fit_ends_mods_par",
    "fit_ends_mods_spl",
    "graph_psm_hazards",
    "graph_psm_survs",
    "graph_survs",
    "prob_os_psm",
    "prob_os_stm_cf",
    "prob_os_stm_cr",
    "prob_pd_psm",
    "prob_pd_stm_cf",
    "prob_pd_stm_cr",
    "prob_pf_psm",
    "prob_pf_stm",
    "prob_pps_cf",
    "prob_pps_cr",
    "vlookup"
  ],
  "_help": [
    {
      "page": "calc_allrmds",
      "title": "Calculate restricted mean durations for each health state and all three models",
      "topics": [
        "calc_allrmds"
      ]
    },
    {
      "page": "calc_haz_psm",
      "title": "Derive pre and post-progression hazards of death under PSM",
      "topics": [
        "calc_haz_psm"
      ]
    },
    {
      "page": "calc_likes",
      "title": "Calculate likelihoods for three three-state model structures",
      "topics": [
        "calc_likes"
      ]
    },
    {
      "page": "calc_rmd",
      "title": "Calculate restricted mean durations",
      "topics": [
        "calc_rmd"
      ]
    },
    {
      "page": "calc_surv_psmpps",
      "title": "Derive PPS survival function under a PSM",
      "topics": [
        "calc_surv_psmpps"
      ]
    },
    {
      "page": "check_consistent_pfs",
      "title": "Check consistency of PFS definition Check that PFS is defined consistently with TTP and OS in a dataset. This convenience function compares 'pfs.durn' with the lower of 'ttp.durn' and 'os.durn', and checks that the event field 'pfs.flag' is consistent with 'ttp.flag' and 'os.flag' (is 1 when either 'ttp.flag' or 'os.flag' is one).",
      "topics": [
        "check_consistent_pfs"
      ]
    },
    {
      "page": "compare_psm_likes",
      "title": "Compare likelihoods of PSMs",
      "topics": [
        "compare_psm_likes"
      ]
    },
    {
      "page": "constrain_survprob",
      "title": "Constrain survival probabilities according to hazards in a lifetable Recalculated constrained survival probabilities (by week) as the lower of the original unadjusted survival probability and the survival implied by the given lifetable (assumed indexed as years).",
      "topics": [
        "constrain_survprob"
      ]
    },
    {
      "page": "create_dummydata",
      "title": "Create dummy dataset for illustration",
      "topics": [
        "create_dummydata"
      ]
    },
    {
      "page": "create_extrafields",
      "title": "Create the additional time-to-event endpoints, adjusting for cutpoint",
      "topics": [
        "create_extrafields"
      ]
    },
    {
      "page": "find_bestfit",
      "title": "Find the \"best\" survival regression from a list of model fits",
      "topics": [
        "find_bestfit"
      ]
    },
    {
      "page": "fit_ends_mods_par",
      "title": "Fit multiple parametric survival regressions to the multiple required endpoints",
      "topics": [
        "fit_ends_mods_par"
      ]
    },
    {
      "page": "fit_ends_mods_spl",
      "title": "Fit multiple spline regressions to the multiple required endpoints",
      "topics": [
        "fit_ends_mods_spl"
      ]
    },
    {
      "page": "graph_psm_hazards",
      "title": "Graph the PSM hazard functions",
      "topics": [
        "graph_psm_hazards"
      ]
    },
    {
      "page": "graph_psm_survs",
      "title": "Graph the PSM survival functions",
      "topics": [
        "graph_psm_survs"
      ]
    },
    {
      "page": "graph_survs",
      "title": "Graph the observed and fitted state membership probabilities",
      "topics": [
        "graph_survs"
      ]
    },
    {
      "page": "prob_os_psm",
      "title": "Calculate probability of being alive in a partitioned survival model",
      "topics": [
        "prob_os_psm"
      ]
    },
    {
      "page": "prob_os_stm_cf",
      "title": "Calculate probability of being alive under the state transition clock forward model",
      "topics": [
        "prob_os_stm_cf"
      ]
    },
    {
      "page": "prob_os_stm_cr",
      "title": "Calculate probability of being alive under the state transition clock reset model",
      "topics": [
        "prob_os_stm_cr"
      ]
    },
    {
      "page": "prob_pd_psm",
      "title": "Calculate membership probability of progressed disease state in a partitioned survival model",
      "topics": [
        "prob_pd_psm"
      ]
    },
    {
      "page": "prob_pd_stm_cf",
      "title": "Calculate probability of having progressed disease under the state transition clock forward model",
      "topics": [
        "prob_pd_stm_cf"
      ]
    },
    {
      "page": "prob_pd_stm_cr",
      "title": "Calculate probability of having progressed disease under the state transition clock reset model",
      "topics": [
        "prob_pd_stm_cr"
      ]
    },
    {
      "page": "prob_pf_psm",
      "title": "Calculate probability of being progression free in partitioned survival model",
      "topics": [
        "prob_pf_psm"
      ]
    },
    {
      "page": "prob_pf_stm",
      "title": "Calculate probability of being progression free in either state transition model (clock forward or clock reset)",
      "topics": [
        "prob_pf_stm"
      ]
    },
    {
      "page": "prob_pps_cf",
      "title": "Calculate probability of post progression survival under the state transition clock forward model",
      "topics": [
        "prob_pps_cf"
      ]
    },
    {
      "page": "prob_pps_cr",
      "title": "Calculate probability of post progression survival under the state transition clock reset model",
      "topics": [
        "prob_pps_cr"
      ]
    },
    {
      "page": "vlookup",
      "title": "VLOOKUP function",
      "topics": [
        "vlookup"
      ]
    }
  ],
  "_pkglogo": "https://github.com/merck/psm3mkv/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/merck/psm3mkv/raw/HEAD/README.md",
  "_rundeps": [
    "admiral",
    "admiraldev",
    "admiralonco",
    "assertthat",
    "bbmle",
    "bdsmatrix",
    "brew",
    "callr",
    "cli",
    "commonmark",
    "cpp11",
    "data.table",
    "desc",
    "deSolve",
    "dplyr",
    "evaluate",
    "farver",
    "fastGHQuad",
    "flexsurv",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "highr",
    "hms",
    "isoband",
    "knitr",
    "labeling",
    "lattice",
    "lifecycle",
    "lsoda",
    "lubridate",
    "magrittr",
    "MASS",
    "Matrix",
    "mgcv",
    "mstate",
    "muhaz",
    "mvtnorm",
    "nlme",
    "numDeriv",
    "otel",
    "pharmaverseadam",
    "pillar",
    "pkgbuild",
    "pkgconfig",
    "pkgload",
    "processx",
    "ps",
    "purrr",
    "quadprog",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "rlang",
    "roxygen2",
    "rprojroot",
    "rstpm2",
    "S7",
    "scales",
    "SimplicialCubature",
    "statmod",
    "stringi",
    "stringr",
    "survival",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "xml2",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "example.Rmd",
      "filename": "example.html",
      "title": "Example use of psm3mkv",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Obtaining a suitable dataset",
        "Fit survival curves to the relevant endpoints",
        "Parametric distributions",
        "Royston-Parmar splines models",
        "Combine the best fits",
        "Comparing likelihood values for the three model structures",
        "Comparing the implied (restricted) mean durations",
        "Visual inspection of model fits",
        "References"
      ],
      "created": "2023-09-01 16:15:54",
      "modified": "2024-06-07 19:35:11",
      "commits": 17
    },
    {
      "source": "mortality-adjustments.Rmd",
      "filename": "mortality-adjustments.html",
      "title": "Mortality adjustments",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Notation",
        "Background mortality survival and hazard functions",
        "What does constraining for background mortality mean?",
        "Approach 1 - Constraining only the survival function",
        "Approach 2 - Constraining the hazard function",
        "Approach 3 - Modeling excess hazard in the original dataset",
        "Application to 3-state State Transition Models (STMs)",
        "Application to Partitioned Survival Models (PSM)",
        "Illustration of calculations",
        "Set-up",
        "Creating the life table",
        "Obtaining and fitting distributions to patient-level data",
        "Making the projections",
        "Comparing the results",
        "Possible extensions",
        "References"
      ],
      "created": "2024-04-08 02:58:36",
      "modified": "2024-06-07 19:35:11",
      "commits": 11
    }
  ],
  "_score": 5.643452676486188,
  "_indexed": true,
  "_nocasepkg": "psm3mkv",
  "_universes": [
    "merck",
    "dom-muston"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.3",
      "date": "2026-07-10T18:22:53.000Z",
      "distro": "resolute",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/8c27afba3dd8559f0f0a839bc3301ca54d3c765f10dfedcbdc72d5ea6ef59634",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.3",
      "date": "2026-07-10T18:22:33.000Z",
      "distro": "resolute",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/9ea75c7ad8a1b216e4c5fe8108942f0bb13df4debba4cbc6d2163d4fb5fecab3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.3",
      "date": "2026-07-10T18:21:06.000Z",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/e02d5e354749dc72416d9b94b8bed854536be485c591ef5c6b0fb548987afce4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.3",
      "date": "2026-07-10T18:21:29.000Z",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/6b3830dff631bfe6c9acf829d547f39fc5a8b58a3ff2c7961063a45806552712",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.3",
      "date": "2026-07-10T18:22:34.000Z",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/04548b8350cb62fd41c2d3c538826c902becbaf7b81c4c36f9f1c99c8af1f6e9",
      "status": "success",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.3",
      "date": "2026-07-10T18:22:03.000Z",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/8f212a49dbe8044f3d23a066405deb8dde674e6b957bc39ea54c007a6638f881",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.3",
      "date": "2026-07-10T18:22:21.000Z",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/33cab23d7c02d1b3e201d799bca8b3d3f2bd2a33194550bc712ca6a59e9bc908",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.3",
      "date": "2026-07-10T18:22:13.000Z",
      "commit": "67b652f2e288ba5c6bfaca26f76e8e7a1aaf711a",
      "fileid": "https://r2.ropensci.org/1fb2357f0adb7caacc330aa3e4c57a7166201143e3091ad25797a9403a0a6a9f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/merck/actions/runs/29113836640"
    }
  ]
}