{
  "_id": "6a281e7ba476d7de6d3c7bad",
  "Package": "junco",
  "Title": "Create Common Tables and Listings Used in Clinical Trials",
  "Version": "0.1.6",
  "Date": "2026-05-06",
  "Authors@R": "c(\nperson(\"Gabriel\", \"Becker\", , \"gabembecker@gmail.com\", role = c(\"cre\", \"aut\"),\ncomment = \"Original creator of the package, and author of included rtables functions\"),\nperson(\"Ilse\", \"Augustyns\", , \"iaugusty@its.jnj.com\", role = c(\"aut\")),\nperson(\"Paul\", \"Jenkins\", , \"pjenkin2@its.jnj.com\", role = c(\"aut\")),\nperson(\"Daniel\", \"Hofstaedter\", , \"dhofstae@its.jnj.com\", role = c(\"aut\")),\nperson(\"Joseph\", \"Kovach\", , \"jkovach2@its.jnj.com\", role = c(\"aut\")),\nperson(\"David\", \"Munoz Tord\", , \"david.munoztord@mailbox.org\", role = c(\"aut\")),\nperson(\"Daniel\", \"Sabanes Bove\", , \"daniel@rconis.com\", role = c(\"aut\")),\nperson(\"Ezequiel\", \"Anokian\", , \"eanokia1@its.jnj.com\", role = c(\"ctb\")),\nperson(\"Renfei\", \"Mao\", , \"rmao6@its.jnj.com\", role = c(\"ctb\")),\nperson(\"Mrinal\", \"Das\", , \"mdas35@its.jnj.com\", role = c(\"ctb\")),\nperson(\"Wojciech\", \"Wójciak\", , \"wwojciak@its.jnj.com\", role = c(\"ctb\")),\nperson(\"Johnson & Johnson Innovative Medicine\", role = c(\"cph\", \"fnd\"))\n)",
  "Description": "Structure and formatting requirements for clinical trial\ntable and listing outputs vary between pharmaceutical\ncompanies. 'junco' provides additional tooling for use\nalongside the 'rtables', 'rlistings' and 'tern' packages when\ncreating table and listing outputs. While motivated by the\nspecifics of Johnson and Johnson Clinical and Statistical\nProgramming's table and listing shells, 'junco' provides\nfunctionality that is general and reusable. Major features\ninclude a) alternative and extended statistical analyses beyond\nwhat 'tern' supports for use in standard safety and efficacy\ntables, b) a robust production-grade Rich Text Format (RTF) and\nDOCX exporter for tables, listings and graphs, c) structural\nsupport for spanning column headers and risk difference columns\nin tables, and d) robust font-aware automatic column width\nalgorithms for both listings and tables.",
  "License": "Apache License (>= 2)",
  "URL": "https://github.com/johnsonandjohnson/junco,\nhttps://johnsonandjohnson.github.io/junco/",
  "BugReports": "https://github.com/johnsonandjohnson/junco/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libcairo2-dev chromium cmake libfontconfig1-dev\nlibfreetype6-dev libfribidi-dev libglpk-dev make\nlibharfbuzz-dev texlive libicu-dev libjpeg-dev libpng-dev\nlibtiff-dev libuv1-dev libwebp-dev libxml2-dev libssl-dev\nlibnode-dev",
  "Repository": "https://johnsonandjohnson.r-universe.dev",
  "Date/Publication": "2026-06-09 12:38:07 UTC",
  "RemoteUrl": "https://github.com/johnsonandjohnson/junco",
  "RemoteRef": "HEAD",
  "RemoteSha": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-09 13:57:59 UTC",
    "User": "root"
  },
  "Author": "Gabriel Becker [cre, aut] (Original creator of the package, and author\nof included rtables functions),\nIlse Augustyns [aut],\nPaul Jenkins [aut],\nDaniel Hofstaedter [aut],\nJoseph Kovach [aut],\nDavid Munoz Tord [aut],\nDaniel Sabanes Bove [aut],\nEzequiel Anokian [ctb],\nRenfei Mao [ctb],\nMrinal Das [ctb],\nWojciech Wójciak [ctb],\nJohnson & Johnson Innovative Medicine [cph, fnd]",
  "Maintainer": "Gabriel Becker <gabembecker@gmail.com>",
  "MD5sum": "f6bd7c6f578d5fdd0574e703af484433",
  "_user": "johnsonandjohnson",
  "_type": "src",
  "_file": "junco_0.1.6.tar.gz",
  "_fileid": "1b8e0873fd3f34f0e5d0311b3192588253416586c44ee2123d6220e88bba39b3",
  "_filesize": 1468708,
  "_sha256": "1b8e0873fd3f34f0e5d0311b3192588253416586c44ee2123d6220e88bba39b3",
  "_created": "2026-06-09T13:57:59.000Z",
  "_published": "2026-06-09T14:08:59.315Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80340994745,
      "time": 307,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7510041018"
    },
    {
      "job": 80340994621,
      "time": 405,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7510084881"
    },
    {
      "job": 80340994782,
      "time": 230,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7510159146"
    },
    {
      "job": 80340994476,
      "time": 272,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7510171437"
    },
    {
      "job": 80339449505,
      "time": 408,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7509900453"
    },
    {
      "job": 80340994462,
      "time": 241,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7510010399"
    },
    {
      "job": 80340994792,
      "time": 303,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7510039963"
    },
    {
      "job": 80340994761,
      "time": 276,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7510028162"
    },
    {
      "job": 80340994962,
      "time": 337,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7510054599"
    }
  ],
  "_buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/johnsonandjohnson/junco",
  "_commit": {
    "id": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
    "author": "David Muñoz Tord <david.munoz@mailbox.org>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Update README.md (#379)\n\nupdate coverage badge",
    "time": 1781008687
  },
  "_maintainer": {
    "name": "Gabriel Becker",
    "email": "gabembecker@gmail.com",
    "login": "gmbecker",
    "twitter": "@groundwalkergmb",
    "description": "",
    "uuid": 908721
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.4",
      "role": "Depends"
    },
    {
      "package": "formatters",
      "version": ">= 0.5.12",
      "role": "Depends"
    },
    {
      "package": "rtables",
      "version": ">= 0.6.16",
      "role": "Depends"
    },
    {
      "package": "tidytlg",
      "version": ">= 0.12.0",
      "role": "Imports"
    },
    {
      "package": "tern",
      "version": ">= 0.9.10",
      "role": "Imports"
    },
    {
      "package": "rlistings",
      "version": ">= 0.2.13",
      "role": "Imports"
    },
    {
      "package": "checkmate",
      "version": ">= 2.1.0",
      "role": "Imports"
    },
    {
      "package": "rbmi",
      "version": ">= 1.6.0",
      "role": "Imports"
    },
    {
      "package": "broom",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "generics",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "survival",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "emmeans",
      "role": "Imports"
    },
    {
      "package": "mmrm",
      "role": "Imports"
    },
    {
      "package": "assertthat",
      "role": "Imports"
    },
    {
      "package": "vcdExtra",
      "version": ">= 0.8.7",
      "role": "Imports"
    },
    {
      "package": "rtables.officer",
      "version": ">= 0.1.0",
      "role": "Imports"
    },
    {
      "package": "flextable",
      "version": ">= 0.9.11",
      "role": "Imports"
    },
    {
      "package": "officer",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "forcats",
      "version": ">= 1.0.0",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "mockery",
      "role": "Suggests"
    },
    {
      "package": "mvtnorm",
      "role": "Suggests"
    },
    {
      "package": "parallel",
      "role": "Suggests"
    },
    {
      "package": "readxl",
      "role": "Suggests"
    },
    {
      "package": "rlang",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "pharmaverseadamjnj",
      "version": ">= 0.0.4",
      "role": "Suggests"
    },
    {
      "package": "multcomp",
      "role": "Suggests"
    },
    {
      "package": "lifecycle",
      "role": "Suggests"
    }
  ],
  "_owner": "johnsonandjohnson",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-27",
      "n": 12
    },
    {
      "week": "2025-28",
      "n": 1
    },
    {
      "week": "2025-29",
      "n": 1
    },
    {
      "week": "2025-33",
      "n": 1
    },
    {
      "week": "2025-34",
      "n": 1
    },
    {
      "week": "2025-36",
      "n": 1
    },
    {
      "week": "2025-38",
      "n": 2
    },
    {
      "week": "2025-41",
      "n": 2
    },
    {
      "week": "2025-46",
      "n": 1
    },
    {
      "week": "2026-03",
      "n": 1
    },
    {
      "week": "2026-04",
      "n": 1
    },
    {
      "week": "2026-06",
      "n": 1
    },
    {
      "week": "2026-07",
      "n": 1
    },
    {
      "week": "2026-20",
      "n": 1
    },
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-23",
      "n": 2
    },
    {
      "week": "2026-24",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2025-07-17"
    },
    {
      "name": "v0.1.1",
      "date": "2025-09-03"
    },
    {
      "name": "v0.1.1.1",
      "date": "2025-09-18"
    },
    {
      "name": "v0.1.2-rc1",
      "date": "2025-12-18"
    },
    {
      "name": "v0.1.3",
      "date": "2026-01-15"
    },
    {
      "name": "0.1.4",
      "date": "2026-02-11"
    },
    {
      "name": "v-0.1.5",
      "date": "2026-04-08"
    },
    {
      "name": "v0.1.6-rc",
      "date": "2026-05-09"
    }
  ],
  "_stars": 9,
  "_contributors": [
    {
      "user": "munoztd0",
      "count": 64,
      "uuid": 43644805
    },
    {
      "user": "gmbecker",
      "count": 13,
      "uuid": 908721
    },
    {
      "user": "eanokian",
      "count": 5,
      "uuid": 4982139
    },
    {
      "user": "nicholas-masel",
      "count": 2,
      "uuid": 61123199
    },
    {
      "user": "iaugusty",
      "count": 2,
      "uuid": 55379552
    },
    {
      "user": "danielinteractive",
      "count": 1,
      "uuid": 1071227
    },
    {
      "user": "rmao6",
      "count": 1,
      "uuid": 208966637
    }
  ],
  "_userbio": {
    "uuid": 13038032,
    "type": "organization",
    "name": "Johnson & Johnson"
  },
  "_downloads": {
    "count": 770,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/junco"
  },
  "_devurl": "https://github.com/johnsonandjohnson/junco",
  "_pkgdown": "https://johnsonandjohnson.github.io/junco/",
  "_searchresults": 303,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/junco.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/johnsonandjohnson/junco",
  "_realowner": "johnsonandjohnson",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2025-07-11"
    },
    {
      "version": "0.1.2",
      "date": "2025-12-20"
    },
    {
      "version": "0.1.3",
      "date": "2026-01-15"
    },
    {
      "version": "0.1.4",
      "date": "2026-02-16"
    },
    {
      "version": "0.1.6",
      "date": "2026-05-10"
    }
  ],
  "_exports": [
    "a_cmhrms_j",
    "a_cmhrms_j_with_exclude",
    "a_coxph_hr",
    "a_eair100_j",
    "a_event_free",
    "a_freq_combos_j",
    "a_freq_j",
    "a_freq_j_with_exclude",
    "a_freq_resp_var_j",
    "a_freq_subcol_j",
    "a_kaplan_meier",
    "a_lsmeans",
    "a_maxlev",
    "a_odds_ratio_j",
    "a_patyrs_j",
    "a_proportion_ci_factor",
    "a_proportion_ci_logical",
    "a_proportion_diff_j",
    "a_rbmi_lsmeans",
    "a_relative_risk",
    "a_summarize_ancova_j",
    "a_summarize_aval_chg_diff_j",
    "a_summarize_ex_j",
    "a_summarize_mmrm",
    "a_summary_diff_mvars",
    "a_summary_diff_mvars_label",
    "a_summary_j",
    "a_test_proportion_diff",
    "a_two_tier",
    "ac_blank_line",
    "analyze_values",
    "bspt_pruner",
    "build_formula",
    "c_proportion_logical",
    "c_summary_subset_label",
    "check_wrap_nobreak",
    "cmp_cfun",
    "cmp_split_fun",
    "column_stats",
    "cond_rm_facets",
    "count_pruner",
    "create_colspan_map",
    "create_colspan_var",
    "def_colwidths",
    "default_str_map",
    "do_exclude_split",
    "export_TLG_as_docx",
    "filter_df_prior_afun",
    "find_missing_chg_after_avisit",
    "fit_ancova",
    "fit_mmrm_j",
    "format_stats",
    "get_mmrm_lsmeans",
    "get_ref_info",
    "get_titles_from_file",
    "get_visit_levels",
    "grouped_cols_w_diffs",
    "h_extract_coxreg_multivar",
    "h_get_design_mat",
    "h_get_trtvar_refpath",
    "h_tidy_pool",
    "inches_to_spaces",
    "insert_blank_line",
    "jj_complex_scorefun",
    "jjcs_num_formats",
    "jjcsformat_cnt_den_fract_fct",
    "jjcsformat_count_denom_fraction",
    "jjcsformat_count_fraction",
    "jjcsformat_fraction_count_denom",
    "jjcsformat_pval_fct",
    "jjcsformat_range_fct",
    "jjcsformat_xx",
    "junco_default_formats",
    "junco_default_indents",
    "junco_default_labels",
    "junco_default_stats",
    "junco_get_formats_from_stats",
    "junco_get_indents_from_stats",
    "junco_get_labels_from_stats",
    "junco_get_stats",
    "keep_non_null_rows",
    "leftside",
    "listing_column_widths",
    "lsmeans_wide_cfun",
    "lsmeans_wide_first_split_fun_fct",
    "lsmeans_wide_second_split_fun_fct",
    "make_combo_splitfun",
    "make_dflt_comp_map",
    "make_multicomp_splfun",
    "make_rbmi_cluster",
    "no_data_to_report_str",
    "or_clogit_j",
    "or_cmh",
    "or_glm_j",
    "postfun_eq5d",
    "prepend_label_cell",
    "prop_ratio_cmh",
    "prop_split_fun",
    "prop_table_afun",
    "rbmi_analyse",
    "rbmi_ancova",
    "rbmi_ancova_single",
    "rbmi_mmrm",
    "rbmi_pool",
    "real_add_overall_facet",
    "remove_col_count",
    "remove_rows",
    "resp01_a_comp_stat_factor",
    "resp01_a_comp_stat_logical",
    "resp01_acfun",
    "resp01_counts_cfun",
    "resp01_split_fun_fct",
    "response_by_var",
    "rm_levels",
    "s_ancova_j",
    "s_cmhrms_j",
    "s_coxph_hr",
    "s_diff_mean_ci",
    "s_event_free",
    "s_freq_j",
    "s_lsmeans",
    "s_odds_ratio_j",
    "s_proportion_diff_j",
    "s_proportion_factor",
    "s_proportion_logical",
    "s_rbmi_lsmeans",
    "s_relative_risk",
    "s_summarize_ancova_j",
    "s_summarize_mmrm",
    "s_summary_diff",
    "safe_prune_table",
    "safe_t_test",
    "set_titles",
    "string_to_title",
    "summarize_coxreg_multivar",
    "summarize_lsmeans_wide",
    "summarize_row_counts",
    "theme_docx_default_j",
    "tt_to_flextable_j",
    "tt_to_tbldf",
    "tt_to_tlgrtf",
    "var_relabel_list"
  ],
  "_help": [
    {
      "page": "a_eair100_j",
      "title": "Exposure-Adjusted Incidence Rate",
      "topics": [
        "a_eair100_j"
      ]
    },
    {
      "page": "a_freq_combos_j",
      "title": "Analysis function count and percentage in column design controlled by combosdf",
      "topics": [
        "a_freq_combos_j"
      ]
    },
    {
      "page": "a_freq_j",
      "title": "Analysis/statistical function for count and percentage in core columns and (optional) relative risk columns",
      "topics": [
        "a_freq_j",
        "a_freq_j_with_exclude",
        "s_freq_j"
      ]
    },
    {
      "page": "a_freq_resp_var_j",
      "title": "Analysis Function for Response Variables",
      "topics": [
        "a_freq_resp_var_j"
      ]
    },
    {
      "page": "a_freq_subcol_j",
      "title": "Analysis function count and percentage with extra column-subsetting in selected columns (controlled by subcol_* arguments)",
      "topics": [
        "a_freq_subcol_j"
      ]
    },
    {
      "page": "a_maxlev",
      "title": "Calculate Count and Percentage of the Maximum Level of an Ordered Factor per Subject.",
      "topics": [
        "a_maxlev"
      ]
    },
    {
      "page": "a_proportion_ci_factor",
      "title": "Formatted Analysis Function For Proportion Confidence Interval for Factor",
      "topics": [
        "a_proportion_ci_factor"
      ]
    },
    {
      "page": "a_proportion_ci_logical",
      "title": "Formatted Analysis Function For Proportion Confidence Interval for Logical",
      "topics": [
        "a_proportion_ci_logical"
      ]
    },
    {
      "page": "relative_risk",
      "title": "Relative risk estimation",
      "topics": [
        "a_relative_risk",
        "relative_risk",
        "s_relative_risk"
      ]
    },
    {
      "page": "s_summarize_ancova_j",
      "title": "ANCOVA Summary Function",
      "concept": [
        "Inclusion of ANCOVA Functions"
      ],
      "topics": [
        "a_summarize_ancova_j",
        "s_summarize_ancova_j"
      ]
    },
    {
      "page": "a_summarize_aval_chg_diff_j",
      "title": "Analysis function 3-column presentation",
      "concept": [
        "Inclusion of ANCOVA Functions"
      ],
      "topics": [
        "a_summarize_aval_chg_diff_j"
      ]
    },
    {
      "page": "a_summarize_ex_j",
      "title": "Tabulation for Exposure Tables",
      "topics": [
        "a_summarize_ex_j",
        "s_summarize_ex_j"
      ]
    },
    {
      "page": "a_summary_diff_mvars",
      "title": "Descriptive Statistics for Multiple Univariate Variables with Optional Reference-Based Comparison",
      "topics": [
        "a_summary_diff_mvars",
        "a_summary_diff_mvars_label"
      ]
    },
    {
      "page": "a_summary_j",
      "title": "Wrapper around 'tern::a_summary()' with junco-specific defaults",
      "topics": [
        "a_summary_j"
      ]
    },
    {
      "page": "a_two_tier",
      "title": "Two Tier Analysis Function",
      "topics": [
        "a_two_tier"
      ]
    },
    {
      "page": "ac_blank_line",
      "title": "Analysis and Content Summary Function Producing Blank Line",
      "topics": [
        "ac_blank_line"
      ]
    },
    {
      "page": "analyze_values",
      "title": "Shortcut Layout Function for Standard Continuous Variable Analysis",
      "topics": [
        "analyze_values"
      ]
    },
    {
      "page": "bspt_pruner",
      "title": "Pruning Function for pruning based on a fraction and/or a difference from the control arm",
      "topics": [
        "bspt_pruner"
      ]
    },
    {
      "page": "build_formula",
      "title": "Building Model Formula",
      "topics": [
        "build_formula"
      ]
    },
    {
      "page": "c_proportion_logical",
      "title": "c_function for proportion of 'TRUE' in logical vector",
      "topics": [
        "c_proportion_logical"
      ]
    },
    {
      "page": "c_summary_subset_label",
      "title": "Summary Statistics for Filtered Data with Label",
      "topics": [
        "c_summary_subset_label"
      ]
    },
    {
      "page": "check_wrap_nobreak",
      "title": "Check Word Wrapping",
      "topics": [
        "check_wrap_nobreak"
      ]
    },
    {
      "page": "cmhrms",
      "title": "Cochran-Mantel-Haenszel Row Mean Scores test",
      "topics": [
        "a_cmhrms_j",
        "a_cmhrms_j_with_exclude",
        "cmhrms",
        "s_cmhrms_j"
      ]
    },
    {
      "page": "cmp_cfun",
      "title": "Summary Analysis Function for Compliance Columns",
      "topics": [
        "cmp_cfun"
      ]
    },
    {
      "page": "cmp_post_fun",
      "title": "Split Function for Compliance Columns",
      "topics": [
        "cmp_post_fun",
        "cmp_split_fun"
      ]
    },
    {
      "page": "column_stats",
      "title": "Statistics within the column space",
      "topics": [
        "column_stats"
      ]
    },
    {
      "page": "cond_rm_facets",
      "title": "Conditional Removal of Facets",
      "topics": [
        "cond_rm_facets"
      ]
    },
    {
      "page": "count_fraction",
      "title": "Formatting functions for count and fraction, and for count denominator and fraction values",
      "concept": [
        "JJCS formatting functions"
      ],
      "topics": [
        "count and fraction related formatting functions",
        "jjcsformat_cnt_den_fract_fct",
        "jjcsformat_count_denom_fraction",
        "jjcsformat_count_fraction",
        "jjcsformat_fraction_count_denom"
      ]
    },
    {
      "page": "count_pruner",
      "title": "Count Pruner",
      "topics": [
        "count_pruner"
      ]
    },
    {
      "page": "coxph_hr",
      "title": "Workaround statistics function to add HR with CI",
      "topics": [
        "a_coxph_hr",
        "coxph_hr",
        "s_coxph_hr"
      ]
    },
    {
      "page": "colspan_map",
      "title": "Creation of Column Spanning Mapping Dataframe",
      "topics": [
        "create_colspan_map"
      ]
    },
    {
      "page": "colspan_var",
      "title": "Creation of Column Spanning Variables",
      "topics": [
        "create_colspan_var"
      ]
    },
    {
      "page": "do_exclude_split",
      "title": "Predicate to Check if Split Should be Excluded",
      "topics": [
        "do_exclude_split"
      ]
    },
    {
      "page": "event_free",
      "title": "Workaround statistics function to time point survival estimate with CI",
      "topics": [
        "a_event_free",
        "event_free",
        "s_event_free"
      ]
    },
    {
      "page": "export_as_docx_j",
      "title": "Export a VTableTree or a listing_df object into docx",
      "topics": [
        "export_as_docx_j"
      ]
    },
    {
      "page": "export_graph_as_docx",
      "title": "export_graph_as_docx",
      "topics": [
        "export_graph_as_docx"
      ]
    },
    {
      "page": "export_TLG_as_docx",
      "title": "Export a TLG (Table, Listing, Graph) to .docx format",
      "topics": [
        "export_TLG_as_docx"
      ]
    },
    {
      "page": "filter_df_prior_afun",
      "title": "Filter Data Prior To Analysis Function",
      "topics": [
        "filter_df_prior_afun"
      ]
    },
    {
      "page": "find_missing_chg_after_avisit",
      "title": "Helper for Finding AVISIT after which CHG are all Missing",
      "topics": [
        "find_missing_chg_after_avisit"
      ]
    },
    {
      "page": "fit_ancova",
      "title": "'ANCOVA' Analysis",
      "topics": [
        "fit_ancova"
      ]
    },
    {
      "page": "fit_mmrm_j",
      "title": "'MMRM' Analysis",
      "topics": [
        "fit_mmrm_j"
      ]
    },
    {
      "page": "get_mmrm_lsmeans",
      "title": "Extract Least Square Means from 'MMRM'",
      "topics": [
        "get_mmrm_lsmeans"
      ]
    },
    {
      "page": "get_ref_info",
      "title": "Obtain Reference Information for a Global Reference Group",
      "topics": [
        "get_ref_info"
      ]
    },
    {
      "page": "get_titles_from_file",
      "title": "Get Titles/Footers For Table From Sources",
      "topics": [
        "get_titles_from_file"
      ]
    },
    {
      "page": "get_visit_levels",
      "title": "Get Visit Levels in Order Defined by Numeric Version",
      "topics": [
        "get_visit_levels"
      ]
    },
    {
      "page": "grouped_cols_w_diffs",
      "title": "Standard Column Structure With Grouped Treatments and Difference Columns",
      "concept": [
        "riskdiff_col_struct"
      ],
      "topics": [
        "grouped_cols_w_diffs"
      ]
    },
    {
      "page": "h_get_trtvar_refpath",
      "title": "Get Treatment Variable Reference Path",
      "topics": [
        "h_get_trtvar_refpath"
      ]
    },
    {
      "page": "h_odds_ratio",
      "title": "Helper functions for odds ratio estimation",
      "topics": [
        "h_odds_ratio",
        "or_clogit_j",
        "or_cmh",
        "or_glm_j"
      ]
    },
    {
      "page": "inches_to_spaces",
      "title": "Conversion of inches to spaces.",
      "topics": [
        "inches_to_spaces"
      ]
    },
    {
      "page": "insert_blank_line",
      "title": "Insertion of Blank Lines in a Layout",
      "topics": [
        "insert_blank_line"
      ]
    },
    {
      "page": "complex_scoring_function",
      "title": "Complex Scoring Function",
      "topics": [
        "jj_complex_scorefun"
      ]
    },
    {
      "page": "jjcs_num_formats",
      "title": "Numeric Formatting Function",
      "topics": [
        "jjcs_num_formats"
      ]
    },
    {
      "page": "jjcsformat_xx",
      "title": "Utility for specifying custom formats",
      "concept": [
        "JJCS formatting functions"
      ],
      "topics": [
        "jjcsformat_pval_fct",
        "jjcsformat_range_fct",
        "jjcsformat_xx"
      ]
    },
    {
      "page": "keep_non_null_rows",
      "title": "Pruning Function to accommodate removal of completely NULL rows within a table",
      "topics": [
        "keep_non_null_rows"
      ]
    },
    {
      "page": "leftside",
      "title": "Extract the left-hand side of a formula",
      "topics": [
        "leftside"
      ]
    },
    {
      "page": "def_colwidths",
      "title": "Define Column Widths",
      "topics": [
        "def_colwidths",
        "listing_column_widths"
      ]
    },
    {
      "page": "summarize_lsmeans_wide",
      "title": "Layout Generating Function for LS Means Wide Table Layouts",
      "topics": [
        "lsmeans_wide_cfun",
        "lsmeans_wide_first_split_fun_fct",
        "lsmeans_wide_second_split_fun_fct",
        "summarize_lsmeans_wide"
      ]
    },
    {
      "page": "make_combo_splitfun",
      "title": "Split Function Helper",
      "topics": [
        "make_combo_splitfun"
      ]
    },
    {
      "page": "make_multicomp_splfun",
      "title": "Make Multi-comparator Split Function",
      "concept": [
        "riskdiff_col_struct"
      ],
      "topics": [
        "make_dflt_comp_map",
        "make_multicomp_splfun"
      ]
    },
    {
      "page": "make_rbmi_cluster",
      "title": "Create a 'rbmi' ready cluster",
      "topics": [
        "make_rbmi_cluster"
      ]
    },
    {
      "page": "odds_ratio",
      "title": "Odds ratio estimation",
      "topics": [
        "a_odds_ratio_j",
        "odds_ratio",
        "s_odds_ratio_j"
      ]
    },
    {
      "page": "par_lapply",
      "title": "Parallelise Lapply",
      "topics": [
        "par_lapply"
      ]
    },
    {
      "page": "postfun_eq5d",
      "title": "Post-processing split function for EQ-5D style column statistics",
      "topics": [
        "postfun_eq5d"
      ]
    },
    {
      "page": "prepend_label_cell",
      "title": "Prepend Label Row to Analysis Output",
      "topics": [
        "prepend_label_cell"
      ]
    },
    {
      "page": "prop_diff",
      "title": "Proportion difference estimation",
      "topics": [
        "a_proportion_diff_j",
        "prop_diff",
        "s_proportion_diff_j"
      ]
    },
    {
      "page": "prop_diff_test",
      "title": "Difference test for two proportions",
      "topics": [
        "a_test_proportion_diff",
        "prop_diff_test"
      ]
    },
    {
      "page": "prop_post_fun",
      "title": "Split Function for Proportion Analysis Columns",
      "topics": [
        "prop_post_fun",
        "prop_split_fun"
      ]
    },
    {
      "page": "prop_ratio_cmh",
      "title": "Relative Risk CMH Statistic",
      "topics": [
        "prop_ratio_cmh"
      ]
    },
    {
      "page": "prop_table_afun",
      "title": "Formatted Analysis Function for Proportion Analysis",
      "topics": [
        "prop_table_afun"
      ]
    },
    {
      "page": "rbmi_analyse",
      "title": "Analyse Multiple Imputed Datasets",
      "topics": [
        "rbmi_analyse"
      ]
    },
    {
      "page": "rbmi_ancova",
      "title": "Analysis of Covariance",
      "topics": [
        "rbmi_ancova"
      ]
    },
    {
      "page": "rbmi_ancova_single",
      "title": "Implements an Analysis of Covariance (ANCOVA)",
      "topics": [
        "rbmi_ancova_single"
      ]
    },
    {
      "page": "rbmi_mmrm",
      "title": "MMRM Analysis for Imputed Datasets",
      "topics": [
        "rbmi_mmrm"
      ]
    },
    {
      "page": "rbmi_mmrm_single_info",
      "title": "Extract Single Visit Information from a Fitted MMRM for Multiple Imputation Analysis",
      "topics": [
        "rbmi_mmrm_single_info"
      ]
    },
    {
      "page": "rbmi_pool",
      "title": "Pool analysis results obtained from the imputed datasets",
      "topics": [
        "rbmi_pool"
      ]
    },
    {
      "page": "real_add_overall_facet",
      "title": "Add Overall Facet",
      "topics": [
        "real_add_overall_facet"
      ]
    },
    {
      "page": "remove_col_count",
      "title": "Removal of Unwanted Column Counts",
      "topics": [
        "remove_col_count"
      ]
    },
    {
      "page": "remove_rows",
      "title": "Pruning function to remove specific rows of a table regardless of counts",
      "topics": [
        "remove_rows"
      ]
    },
    {
      "page": "resp01_a_comp_stat_factor",
      "title": "Formatted Analysis Function for Comparative Statistic in Response Tables (RESP01)",
      "topics": [
        "resp01_a_comp_stat_factor"
      ]
    },
    {
      "page": "resp01_a_comp_stat_logical",
      "title": "Formatted Analysis Function for Comparative Statistic in Response Tables (RESP01)",
      "topics": [
        "resp01_a_comp_stat_logical"
      ]
    },
    {
      "page": "resp01_acfun",
      "title": "Formatted Analysis and Content Summary Function for Response Tables (RESP01)",
      "topics": [
        "resp01_acfun"
      ]
    },
    {
      "page": "resp01_counts_cfun",
      "title": "Content Row Function for Counts of Subgroups in Response Tables (RESP01)",
      "topics": [
        "resp01_counts_cfun"
      ]
    },
    {
      "page": "resp01_split_fun_fct",
      "title": "Split Function Factory for the Response Tables (RESP01)",
      "topics": [
        "resp01_split_fun_fct"
      ]
    },
    {
      "page": "response_by_var",
      "title": "Count denom fraction statistic",
      "topics": [
        "response_by_var"
      ]
    },
    {
      "page": "rm_levels",
      "title": "Removal of Levels",
      "topics": [
        "rm_levels"
      ]
    },
    {
      "page": "rm_other_facets_fact",
      "title": "rm_other_facets_fact",
      "topics": [
        "rm_other_facets_fact"
      ]
    },
    {
      "page": "s_ancova_j",
      "title": "Junco Extended ANCOVA Function",
      "concept": [
        "Inclusion of ANCOVA Functions"
      ],
      "topics": [
        "s_ancova_j"
      ]
    },
    {
      "page": "s_diff_mean_ci",
      "title": "Difference in Means with Confidence Interval",
      "topics": [
        "s_diff_mean_ci"
      ]
    },
    {
      "page": "s_proportion_factor",
      "title": "s_function for proportion of factor levels",
      "topics": [
        "s_proportion_factor"
      ]
    },
    {
      "page": "s_proportion_logical",
      "title": "s_function for proportion of 'TRUE' in logical vector",
      "topics": [
        "s_proportion_logical"
      ]
    },
    {
      "page": "s_summary_diff",
      "title": "Descriptive Statistics for Univariate Data with Optional Reference Comparison",
      "topics": [
        "s_summary_diff"
      ]
    },
    {
      "page": "safe_prune_table",
      "title": "Safely Prune Table With Empty Table Message If Needed",
      "topics": [
        "safe_prune_table"
      ]
    },
    {
      "page": "safe_t_test",
      "title": "Safe Wrapper for 'stats::t.test()'",
      "topics": [
        "safe_t_test"
      ]
    },
    {
      "page": "set_titles",
      "title": "Set Output Titles",
      "topics": [
        "set_titles"
      ]
    },
    {
      "page": "summarize_coxreg_multivar",
      "title": "Layout Generating Function for TEFOS03 and Related Cox Regression Layouts",
      "topics": [
        "summarize_coxreg_multivar"
      ]
    },
    {
      "page": "summarize_mmrm",
      "title": "Dynamic tabulation of MMRM results with tables",
      "topics": [
        "a_summarize_mmrm",
        "summarize_mmrm",
        "s_summarize_mmrm"
      ]
    },
    {
      "page": "summarize_row_counts",
      "title": "Layout Creating Function Adding Row Counts",
      "topics": [
        "summarize_row_counts"
      ]
    },
    {
      "page": "tabulate_lsmeans",
      "title": "Tabulation of Least Square Means Results",
      "topics": [
        "a_lsmeans",
        "s_lsmeans",
        "tabulate_lsmeans",
        "tidy.tern_model"
      ]
    },
    {
      "page": "tabulate_rbmi",
      "title": "Tabulation of RBMI Results",
      "topics": [
        "a_rbmi_lsmeans",
        "h_tidy_pool",
        "s_rbmi_lsmeans",
        "tabulate_rbmi"
      ]
    },
    {
      "page": "theme_docx_default_j",
      "title": "Obtain the default theme for the docx",
      "topics": [
        "theme_docx_default_j"
      ]
    },
    {
      "page": "tt_to_flextable_j",
      "title": "Convert a TableTree or a listing_df object to a flextable",
      "topics": [
        "tt_to_flextable_j"
      ]
    },
    {
      "page": "tt_to_tbldf",
      "title": "Create TableTree as DataFrame via gentlg",
      "topics": [
        "tt_to_tbldf"
      ]
    },
    {
      "page": "tt_to_tlgrtf",
      "title": "TableTree to .rtf Conversion",
      "topics": [
        "tt_to_tlgrtf"
      ]
    }
  ],
  "_pkglogo": "https://github.com/johnsonandjohnson/junco/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/johnsonandjohnson/junco/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "AsioHeaders",
    "askpass",
    "assertthat",
    "backports",
    "base64enc",
    "bigD",
    "bitops",
    "boot",
    "brio",
    "broom",
    "bslib",
    "ca",
    "cachem",
    "callr",
    "car",
    "carData",
    "cellranger",
    "checkmate",
    "chromote",
    "cli",
    "colorspace",
    "commonmark",
    "cowplot",
    "cpp11",
    "crayon",
    "curl",
    "data.table",
    "Deriv",
    "desc",
    "diffobj",
    "digest",
    "doBy",
    "dplyr",
    "emmeans",
    "estimability",
    "evaluate",
    "fansi",
    "farver",
    "fastmap",
    "flextable",
    "fontawesome",
    "fontBitstreamVera",
    "fontLiberation",
    "fontquiver",
    "forcats",
    "forecast",
    "formatters",
    "Formula",
    "fracdiff",
    "fs",
    "gdtools",
    "generics",
    "ggplot2",
    "glue",
    "gnm",
    "gridExtra",
    "gt",
    "gtable",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "huxtable",
    "igraph",
    "isoband",
    "jinjar",
    "jquerylib",
    "jsonlite",
    "juicyjuice",
    "knitr",
    "labeling",
    "later",
    "lattice",
    "lifecycle",
    "litedown",
    "lme4",
    "lmtest",
    "magrittr",
    "markdown",
    "MASS",
    "Matrix",
    "MatrixModels",
    "memoise",
    "mgcv",
    "microbenchmark",
    "mime",
    "minqa",
    "mmrm",
    "modelr",
    "mvtnorm",
    "nestcolor",
    "nlme",
    "nloptr",
    "nnet",
    "numDeriv",
    "officer",
    "openssl",
    "otel",
    "pbkrtest",
    "pillar",
    "pkgbuild",
    "pkgconfig",
    "pkgload",
    "png",
    "praise",
    "prettyunits",
    "processx",
    "progress",
    "promises",
    "ps",
    "purrr",
    "quantreg",
    "qvcalc",
    "R6",
    "ragg",
    "rappdirs",
    "rbibutils",
    "rbmi",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "Rdpack",
    "reactable",
    "reactR",
    "readxl",
    "reformulas",
    "relimp",
    "rematch",
    "rlang",
    "rlistings",
    "rmarkdown",
    "rprojroot",
    "rstudioapi",
    "rtables",
    "rtables.officer",
    "S7",
    "sass",
    "scales",
    "SparseM",
    "stringi",
    "stringr",
    "survival",
    "sys",
    "systemfonts",
    "tern",
    "testthat",
    "textshaping",
    "tibble",
    "tidyr",
    "tidyselect",
    "tidytlg",
    "timeDate",
    "tinytex",
    "TMB",
    "urca",
    "utf8",
    "uuid",
    "V8",
    "vcd",
    "vcdExtra",
    "vctrs",
    "viridisLite",
    "waldo",
    "webshot2",
    "websocket",
    "withr",
    "xfun",
    "xml2",
    "yaml",
    "zip",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "ancova_combined.Rmd",
      "filename": "ancova_combined.html",
      "title": "ANCOVA with Combined Treatment Groups",
      "author": "C&SP Methodology Team",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Clinical Context",
        "Example Dataset",
        "Combined Column Strategy",
        "ANCOVA Model",
        "Least-squares means approach",
        "Weighting Strategies",
        "Collapsing Treatment Arms",
        "Summary",
        "Statistical Appendix: emmeans-based Estimation",
        "Notation",
        "A. Combined LS Means",
        "Variance",
        "B. Contrasts Between Treatment Groups",
        "Simple Treatment Differences",
        "Differences Involving Combined Arms",
        "C. Contrasts in Interaction Models"
      ],
      "created": "2026-05-11 14:47:43",
      "modified": "2026-05-11 14:47:43",
      "commits": 1
    },
    {
      "source": "auto_colwidths.Rmd",
      "filename": "auto_colwidths.html",
      "title": "TrueType-Aware Automatic Column Widths",
      "author": "C&SP Methodology Team",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Tables",
        "Pagination Assumptions",
        "Algorithm And Optimality Criterion",
        "Examples",
        "Listings",
        "Optimality Criterion",
        "Algorithm",
        "Candidate Column Widths",
        "Selecting The Optimal Set Of Widths",
        "Example"
      ],
      "created": "2025-06-30 18:44:05",
      "modified": "2026-05-11 14:47:43",
      "commits": 4
    },
    {
      "source": "standard_column_structures.Rmd",
      "filename": "standard_column_structures.html",
      "title": "Standard Column Structures",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Structures With Difference Columns",
        "Basic Usage",
        "A Note About Types Of Differences",
        "Turning Off The Difference Columns",
        "Advanced Usage",
        "Including Virtual Combination Arms",
        "Direct Control Of Comparisons"
      ],
      "created": "2026-05-11 14:47:43",
      "modified": "2026-05-11 14:47:43",
      "commits": 1
    },
    {
      "source": "table_and_listing_customizations.Rmd",
      "filename": "table_and_listing_customizations.html",
      "title": "Table & Listing Customizations",
      "author": "C&SP Methodology Team",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Page Orientation (Portrait vs. Landscape)",
        "Table .rtf File",
        "Table .docx File",
        "Visual Output (HTML Representation)",
        "Adjusting the Font Size of a Table or Listing",
        "Adding a Spanning Column Header to a Table",
        "Adding a Combined Column to a Table",
        "Inserting a New Line within Table & Listing Text",
        "Listing .rtf File",
        "Listing .docx File",
        "Custom Table Column Header Border Matrix",
        "Addition of Superscript or Other Symbol",
        "Grouping of Columns for Tables Containing Many Columns",
        "Inserting Page Breaks in Tables",
        "Manually Splitting Large Listing Files into Multiple Smaller Files",
        "Listing .rtf File 2",
        "Listing .docx File 2"
      ],
      "created": "2026-05-11 14:47:43",
      "modified": "2026-05-11 14:47:43",
      "commits": 1
    },
    {
      "source": "junco.Rmd",
      "filename": "junco.html",
      "title": "Tabulation",
      "engine": "knitr::rmarkdown",
      "headings": [
        "junco Tabulation",
        "junco Analysis Functions",
        "Tabulation Examples using a_freq_j",
        "Minor differences between current table and a similar table using tern analyze functions.",
        "a_freq_j supports various methods for the risk difference column.",
        "Creation of Subgroup tables with a_freq_j",
        "Other junco features : Extra Statistics have been added to some tern statistical functions",
        "Tabulation Examples using a_summarize_aval_chg_diff_j"
      ],
      "created": "2025-06-30 18:44:05",
      "modified": "2026-01-21 07:41:38",
      "commits": 3
    }
  ],
  "_score": 9.319346573095249,
  "_indexed": true,
  "_nocasepkg": "junco",
  "_universes": [
    "johnsonandjohnson",
    "gmbecker"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.6",
      "date": "2026-06-09T14:01:36.000Z",
      "distro": "noble",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "3e3a0fd318b04dface3a3f6d7412f41e630d515d4642e48c67ada04317e3d129",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.6",
      "date": "2026-06-09T14:01:53.000Z",
      "distro": "noble",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "4e4c7f656fd7791de6d085fb08316e0da944d3b69eb9aa14f579ca18552f47b7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.6",
      "date": "2026-06-09T14:05:49.000Z",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "8cd54ce97a53015b2e28d0f468b983e97e80fde6441d7d4d4e9b08475f437b26",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.6",
      "date": "2026-06-09T14:05:27.000Z",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "6fdde56f18826f9da06c4aaad2a08be2ccbb06e3e4db9749921680c1fe462aa1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.6",
      "date": "2026-06-09T14:02:36.000Z",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "ed1fd914816b6f3ee8973f1c70f6376e1309f3d5f1200b701b85ee4f0af1fcf7",
      "status": "success",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.6",
      "date": "2026-06-09T14:00:16.000Z",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "8ba239e7360f1f82adeed1f1d38957c50da2e4ea43ab126c697c40224dcfbac8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.6",
      "date": "2026-06-09T13:59:56.000Z",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "506046c450a0947fcf156627aa221778994e0327a0c61fa78e82c9d1ef223147",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.6",
      "date": "2026-06-09T14:00:09.000Z",
      "commit": "b66058593b6be9611f78c4fcd9ffb0c9c597b72d",
      "fileid": "4b6c20da7a9e444edaa563867b1c7b3e06c5337b299bb7f7ae3187dbf6767686",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnsonandjohnson/actions/runs/27210902515"
    }
  ]
}