Transparency in Coverage: Parsing JSON in R

JSON medical-coding data-analytics

A short description of the post.

Andrew Bruce https://twitter.com/aabrucehimni (Healthcare Analytics in R)https://andrewbruce.netlify.app/about
2022-07-12

Introduction

On October 29, 2020, HHS and the Departments of Labor and Treasury finalized a Transparency in Coverage (TiC) Final Rule (CMS-9115-F) requiring most health plans and issuers in the individual and group commercial markets to disclose cost-sharing estimates and additional content to enrollees upon request, and to publicly post negotiated in-network provider rates, historical out-of-network allowed amounts and billed charges, and drug pricing information, including negotiated rates and historical net prices.

The final rule is the latest in a number of Administration efforts to increase price transparency for healthcare services in order to empower consumers to make informed decisions and to foster price competition in the healthcare market. Beyond consumer empowerment, however, HHS clearly articulates that its principle focus is on counteracting price distortions and driving prices down in the commercial market.

Therefore, just as the Hospital Price Transparency Final Rule, published in November in 2019 and set to take effect January 2021, has faced strong stakeholder opposition and been the subject of legal challenge, so too this final rule may likely be challenged by health plans and other industry stakeholders. Indeed, HHS clearly anticipates that this rule will face legal challenges and has included severability clauses as part of the rule so that even if a portion of the rule is challenged successfully, other provisions of the rule might continue to survive.

Machine-Readable Files

The Transparency in Coverage Rule requires health insurers and group health plans, including self-funded clients, to provide cost-sharing data to consumers via machine-readable files (MRFs) must be published on a publicly available site based on the enforcement date of July 1, 2022, for plan years beginning on or after Jan. 1, 2022. These files provide pricing data for covered items and services based on in-network negotiated payment rates and historical out-of-network allowed amounts. A third machine-readable file for prescription drug rates and historical costs has been delayed pending further guidance.

Information in these files must be updated and published monthly. Publicly available MRF Consumer price transparency tool: This online tool for members will include personalized, real-time, cost-share estimates for covered services and items, including pharmacy. Paper versions must be available upon request. For plan years beginning on or after Jan 1, 2023, the online tool must provide cost-share estimates for 500 shoppable services. For plan years beginning on or after Jan. 1, 2024, the online tool must provide cost-share estimates for all covered services.

The machine-readable files must be available on an internet website free of charge. The user is not required to establish a user account, password, or other credentials and does not require the user to submit any personal identifying information such as a name, email address, or telephone number.

· Files have requirements regarding font size, accessibility, and security settings.

· Files may be posted on a third party site.

· Files may not be a PDF or Excel. UnitedHealthcare files will be published in JSON.

In-network machine-readable files include negotiated rates for all covered items and services at the plan level, for all medical codes, for contracted rates and by provider.

Out-of-network machine-readable files include allowed amounts for covered items, services based on billed charges and allowed amounts including historical amounts. Files are not required if there are fewer than 20 claims for a service for a provider.

UnitedHealthcare creates and publishes files where we have access to the data on behalf of customers unless otherwise directed by the client. UnitedHealthcare’s publicly available website is transparency-in-coverage.uhc.com (accessible July 1, 2022). Customers may put a link to the UnitedHealthcare site on their website.

Customers who have opted out of their files being published to the UnitedHealthcare public website must retrieve files from a dedicated website – https://private-transparency-in-coverage.uhc.com/ (accessible July 1, 2022). The customers must publish the files monthly to their own publicly available website. Customers are able to retrieve their machine-readable files by July 1, 2022, and monthly thereafter.

JSON Files

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

JSON is built on two structures: A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence. These are universal data structures. Virtually all modern programming languages support them in one form or another. It makes sense that a data format that is interchangeable with programming languages also be based on these structures.

Packages

Load Packages

Table of Contents Schema

A machine-readable file is defined as a digital representation of data or information in a file that can be imported or read by a computer system for further processing without human intervention, while ensuring no semantic meaning is lost. These files are in the CMS defined format (JSON) and are not meant for a member-friendly search of rates, benefits, or cost sharing. Members should log in to www.anthem.com for this information.

The table of contents is an approved CMS schema approach that combines the in-network rate files and references the locations (URLs) from which the appropriate files can be downloaded. To view a list of all machine readable files and associated urls published, click the Table of Contents link below and follow the prompts.

Link

centene_url <- "https://www.centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_ambetter_index.json"

centene_resp <- httr::GET(centene_url)

centene_content <- fromJSON(
  rawToChar(centene_resp$content),
  simplifyVector = FALSE,
  simplifyMatrix = TRUE,
  simplifyDataFrame = TRUE,
  flatten = TRUE
)

centene_df <- centene_content$reporting_structure |> select(!("allowed_amount_file.description"))
centene_df2 <- centene_df |>
  tibble::tibble() |>
  tidyr::unnest_wider(in_network_files, names_sep = "_", simplify = TRUE) |>
  select(!("in_network_files_description")) |>
  tidyr::unnest_wider(in_network_files_location, names_sep = "_", simplify = TRUE) |>
  mutate(state = toupper(str_match(allowed_amount_file.location, "ambetter-(.*)_")[, 2])) |>
  tidyr::unnest(reporting_plans) |>
  tidyr::pivot_longer(cols = dplyr::starts_with(c("in_network", "allowed")), names_to = "info_type", values_to = "file_location", values_drop_na = TRUE)

centene_df2 |>
  group_by(plan_id, state) |>
  add_tally(sort = TRUE)
# # A tibble: 2,271 × 8
# # Groups:   plan_id, state [97]
#    plan_name                                                                            plan_id_type plan_id    plan_market_type state info_type                    file_location                      n
#    <chr>                                                                                <chr>        <chr>      <chr>            <chr> <chr>                        <chr>                          <int>
#  1 "Silver 70 Ambetter PPO-Health  Net Life Insurance Company "                         HIOS         99110CA040 individual       CA    in_network_files_location_1  http://centene.com/content/da…    56
#  2 "Silver 70 Ambetter PPO-Health  Net Life Insurance Company "                         HIOS         99110CA040 individual       CA    allowed_amount_file.location http://centene.com/content/da…    56
#  3 "Gold 80 Ambetter PPO + Adult Dental & Vision-Health  Net Life Insurance Company "   HIOS         99110CA040 individual       CA    in_network_files_location_1  http://centene.com/content/da…    56
#  4 "Gold 80 Ambetter PPO + Adult Dental & Vision-Health  Net Life Insurance Company "   HIOS         99110CA040 individual       CA    allowed_amount_file.location http://centene.com/content/da…    56
#  5 "Bronze 60 Ambetter PPO + Adult Dental & Vision-Health  Net Life Insurance Company " HIOS         99110CA040 individual       CA    in_network_files_location_1  http://centene.com/content/da…    56
#  6 "Bronze 60 Ambetter PPO + Adult Dental & Vision-Health  Net Life Insurance Company " HIOS         99110CA040 individual       CA    allowed_amount_file.location http://centene.com/content/da…    56
#  7 "Minimum Coverage Ambetter PPO-Health  Net Life Insurance Company "                  HIOS         99110CA040 individual       CA    in_network_files_location_1  http://centene.com/content/da…    56
#  8 "Minimum Coverage Ambetter PPO-Health  Net Life Insurance Company "                  HIOS         99110CA040 individual       CA    allowed_amount_file.location http://centene.com/content/da…    56
#  9 "Silver 87 Ambetter PPO-Health  Net Life Insurance Company "                         HIOS         99110CA040 individual       CA    in_network_files_location_1  http://centene.com/content/da…    56
# 10 "Silver 87 Ambetter PPO-Health  Net Life Insurance Company "                         HIOS         99110CA040 individual       CA    allowed_amount_file.location http://centene.com/content/da…    56
# # … with 2,261 more rows
# # ℹ Use `print(n = ...)` to see more rows
# 713 Unique Plan Names
centene_df2 |> distinct(plan_name)
# # A tibble: 713 × 1
#    plan_name                                                                                  
#    <chr>                                                                                      
#  1 "Minimum Coverage Ambetter HSP-Health Net of California Inc"                               
#  2 "Minimum Coverage Ambetter EPO + Adult Dental & Vision-Health  Net Life Insurance Company "
#  3 "Silver 70 Ambetter EPO-Health  Net Life Insurance Company "                               
#  4 "Silver 70 Ambetter PPO-Health  Net Life Insurance Company "                               
#  5 "Bronze 60 Ambetter HSP AI-AN-Health Net of California Inc"                                
#  6 "Platinum 90 Ambetter HMO + Adult Dental & Vision-Health Net of California Inc"            
#  7 "Gold 80 Ambetter PPO + Adult Dental & Vision-Health  Net Life Insurance Company "         
#  8 "Minimum Coverage Ambetter EPO-Health  Net Life Insurance Company "                        
#  9 "Bronze 60 Ambetter PPO + Adult Dental & Vision-Health  Net Life Insurance Company "       
# 10 "Silver 70 Ambetter HMO-Health Net of California Inc"                                      
# # … with 703 more rows
# # ℹ Use `print(n = ...)` to see more rows
# 97 Unique Plan Ids
centene_df2 |> distinct(plan_id)
# # A tibble: 97 × 1
#    plan_id   
#    <chr>     
#  1 67138CA063
#  2 99110CA035
#  3 99110CA034
#  4 99110CA040
#  5 67138CA062
#  6 67138CA052
#  7 99110CA021
#  8 67138CA064
#  9 61604LA002
# 10 61604LA001
# # … with 87 more rows
# # ℹ Use `print(n = ...)` to see more rows
# 62 Unique JSON Files
centene_df2 |> distinct(file_location)
# # A tibble: 62 × 1
#    file_location                                                                                                                                      
#    <chr>                                                                                                                                              
#  1 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-ca_in-network.json     
#  2 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-ca_allowed-amounts.json
#  3 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-la_in-network.json     
#  4 https://tic2.hothprod.magellanhealth.com/CTLHC/INN/CTLHC_in-network-file-1                                                                         
#  5 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-la_allowed-amounts.json
#  6 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-ky_in-network.json     
#  7 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-ky_allowed-amounts.json
#  8 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-ga_in-network.json     
#  9 https://tic2.hothprod.magellanhealth.com/CTPCH/INN/CTPCH_in-network-file-1                                                                         
# 10 http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-ga_allowed-amounts.json
# # … with 52 more rows
# # ℹ Use `print(n = ...)` to see more rows
x <- jsonlite::read_json("https://www.centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_ambetter_index.json")

str(x, list.len = 3, give.attr = FALSE)
# List of 3
#  $ reporting_entity_name: chr "Centene Management Company LLC"
#  $ reporting_entity_type: chr "Third Party Administrator"
#  $ reporting_structure  :List of 27
#   ..$ :List of 3
#   .. ..$ reporting_plans    :List of 85
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Minimum Coverage Ambetter HSP-Health Net of California Inc"
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "67138CA063"
#   .. .. .. .. [list output truncated]
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Minimum Coverage Ambetter EPO + Adult Dental & Vision-Health  Net Life Insurance Company "
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "99110CA035"
#   .. .. .. .. [list output truncated]
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Silver 70 Ambetter EPO-Health  Net Life Insurance Company "
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "99110CA034"
#   .. .. .. .. [list output truncated]
#   .. .. .. [list output truncated]
#   .. ..$ in_network_files   :List of 1
#   .. .. ..$ :List of 2
#   .. .. .. ..$ description: chr "in-network file"
#   .. .. .. ..$ location   : chr "http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-"| __truncated__
#   .. ..$ allowed_amount_file:List of 2
#   .. .. ..$ description: chr "allowed-amounts file"
#   .. .. ..$ location   : chr "http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-"| __truncated__
#   ..$ :List of 3
#   .. ..$ reporting_plans    :List of 19
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Ambetter Essential Care 5 + Vision + Adult Dental-Louisiana Healthcare Connections Inc"
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "61604LA002"
#   .. .. .. .. [list output truncated]
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Ambetter Balanced Care 12-Louisiana Healthcare Connections Inc"
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "61604LA001"
#   .. .. .. .. [list output truncated]
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Ambetter Essential Care: $0 Medical Deductible + Vision + Adult Dental-Louisiana Healthcare Connections Inc"
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "61604LA002"
#   .. .. .. .. [list output truncated]
#   .. .. .. [list output truncated]
#   .. ..$ in_network_files   :List of 2
#   .. .. ..$ :List of 2
#   .. .. .. ..$ description: chr "in-network file"
#   .. .. .. ..$ location   : chr "http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-"| __truncated__
#   .. .. ..$ :List of 2
#   .. .. .. ..$ description: chr "in-network file"
#   .. .. .. ..$ location   : chr "https://tic2.hothprod.magellanhealth.com/CTLHC/INN/CTLHC_in-network-file-1"
#   .. ..$ allowed_amount_file:List of 2
#   .. .. ..$ description: chr "allowed-amounts file"
#   .. .. ..$ location   : chr "http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-"| __truncated__
#   ..$ :List of 3
#   .. ..$ reporting_plans    :List of 22
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Ambetter Essential Care 2 HSA + Vision + Adult Dental-WellCare Health Plans of Kentucky Inc"
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "72001KY003"
#   .. .. .. .. [list output truncated]
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Ambetter Essential Care: $0 Medical Deductible + Vision + Adult Dental-WellCare Health Plans of Kentucky Inc"
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "72001KY003"
#   .. .. .. .. [list output truncated]
#   .. .. ..$ :List of 4
#   .. .. .. ..$ plan_name       : chr "Ambetter Essential Care 5-WellCare Health Plans of Kentucky Inc"
#   .. .. .. ..$ plan_id_type    : chr "HIOS"
#   .. .. .. ..$ plan_id         : chr "72001KY002"
#   .. .. .. .. [list output truncated]
#   .. .. .. [list output truncated]
#   .. ..$ in_network_files   :List of 1
#   .. .. ..$ :List of 2
#   .. .. .. ..$ description: chr "in-network file"
#   .. .. .. ..$ location   : chr "http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-"| __truncated__
#   .. ..$ allowed_amount_file:List of 2
#   .. .. ..$ description: chr "allowed-amounts file"
#   .. .. ..$ location   : chr "http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-"| __truncated__
#   .. [list output truncated]

OON Allowed Amounts for Georgia: JSON File

ga_network <- jsonlite::read_json("http://centene.com/content/dam/centene/Centene%20Corporate/json/DOCUMENT/2022-06-29_centene-management-company-llc_ambetter-ga_allowed-amounts.json")

listviewer::jsonedit(ga_network, height = "800px", width = "100%", mode = "view")

Citations

Package Version Citation
base 4.2.1 R Core Team (2022)
distill 1.4 Dervieux et al. (2022)
grateful 0.1.11 Rodríguez-Sánchez, Jackson, and Hutchins (2022)
htmltools 0.5.3 Cheng et al. (2022)
jsontools 0.1.0 Girlich (2022a)
knitr 1.39 Xie (2014); Xie (2015); Xie (2022)
listviewer 3.0.0 de Jong, Gainer, and Russell (2019)
reactable 0.3.0 Lin (2022)
rmarkdown 2.14 Xie, Allaire, and Grolemund (2018); Xie, Dervieux, and Riederer (2020); Allaire et al. (2022)
rrapply 1.2.5 Chau (2022)
sessioninfo 1.2.2 Wickham et al. (2021)
tibblify 0.2.0.9000 Girlich (2022b)
tidyverse 1.3.2 Wickham et al. (2019)
xaringanExtra 0.7.0 Aden-Buie and Warkentin (2022)

Last updated on

# [1] "2022-07-29 16:43:27 EDT"

Session Info

Session Info
session
# ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
#  setting  value
#  version  R version 4.2.1 (2022-06-23 ucrt)
#  os       Windows 10 x64 (build 25163)
#  system   x86_64, mingw32
#  ui       RTerm
#  language (EN)
#  collate  English_United States.utf8
#  ctype    English_United States.utf8
#  tz       America/New_York
#  date     2022-07-29
#  pandoc   2.18 @ C:/Program Files/RStudio/bin/quarto/bin/tools/ (via rmarkdown)
# 
# ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
#  package       * version    date (UTC) lib source
#  assertthat      0.2.1      2019-03-21 [1] CRAN (R 4.2.0)
#  backports       1.4.1      2021-12-13 [1] CRAN (R 4.2.0)
#  bit             4.0.4      2020-08-04 [1] CRAN (R 4.2.0)
#  bit64           4.0.5      2020-08-30 [1] CRAN (R 4.2.0)
#  blob            1.2.3      2022-04-10 [1] CRAN (R 4.2.0)
#  broom           1.0.0      2022-07-01 [1] CRAN (R 4.2.1)
#  bslib           0.4.0.9000 2022-07-29 [1] Github (rstudio/bslib@19cdc6d)
#  cachem          1.0.6      2021-08-19 [1] CRAN (R 4.2.0)
#  cellranger      1.1.0      2016-07-27 [1] CRAN (R 4.2.0)
#  cli             3.3.0      2022-04-25 [1] CRAN (R 4.2.0)
#  colorspace      2.0-3      2022-02-21 [1] CRAN (R 4.2.0)
#  crayon          1.5.1      2022-03-26 [1] CRAN (R 4.2.0)
#  curl            4.3.2      2021-06-23 [1] CRAN (R 4.2.1)
#  DBI             1.1.3      2022-06-18 [1] CRAN (R 4.2.0)
#  dbplyr          2.2.1      2022-06-27 [1] CRAN (R 4.2.0)
#  digest          0.6.29     2021-12-01 [1] CRAN (R 4.2.0)
#  distill         1.4        2022-05-12 [1] CRAN (R 4.2.0)
#  downlit         0.4.2      2022-07-05 [1] CRAN (R 4.2.0)
#  dplyr         * 1.0.9      2022-04-28 [1] CRAN (R 4.2.0)
#  ellipsis        0.3.2      2021-04-29 [1] CRAN (R 4.2.0)
#  evaluate        0.15       2022-02-18 [1] CRAN (R 4.2.0)
#  fansi           1.0.3      2022-03-24 [1] CRAN (R 4.2.0)
#  fastmap         1.1.0      2021-01-25 [1] CRAN (R 4.2.0)
#  forcats       * 0.5.1      2021-01-27 [1] CRAN (R 4.2.0)
#  fs              1.5.2      2021-12-08 [1] CRAN (R 4.2.0)
#  gargle          1.2.0.9002 2022-06-05 [1] Github (r-lib/gargle@1e67aa0)
#  generics        0.1.3.9000 2022-07-25 [1] Github (r-lib/generics@3873971)
#  ggplot2       * 3.3.6      2022-05-03 [1] CRAN (R 4.2.0)
#  glue            1.6.2      2022-02-24 [1] CRAN (R 4.2.0)
#  googledrive     2.0.0      2021-07-08 [1] CRAN (R 4.2.0)
#  googlesheets4   1.0.0      2021-07-21 [1] CRAN (R 4.2.0)
#  grateful      * 0.1.11     2022-05-07 [1] Github (Pakillo/grateful@ba9b003)
#  gtable          0.3.0      2019-03-25 [1] CRAN (R 4.2.0)
#  haven           2.5.0      2022-04-15 [1] CRAN (R 4.2.0)
#  highr           0.9        2021-04-16 [1] CRAN (R 4.2.0)
#  hms             1.1.1      2021-09-26 [1] CRAN (R 4.2.0)
#  htmltools       0.5.3      2022-07-18 [1] CRAN (R 4.2.1)
#  htmlwidgets     1.5.4      2021-09-08 [1] CRAN (R 4.2.0)
#  httr          * 1.4.3      2022-05-04 [1] CRAN (R 4.2.1)
#  jquerylib       0.1.4      2021-04-26 [1] CRAN (R 4.2.0)
#  jsonlite      * 1.8.0      2022-02-22 [1] CRAN (R 4.2.1)
#  jsontools     * 0.1.0      2022-07-14 [1] Github (mgirlich/jsontools@3a98ab0)
#  knitr         * 1.39       2022-04-26 [1] CRAN (R 4.2.0)
#  lifecycle       1.0.1      2021-09-24 [1] CRAN (R 4.2.0)
#  listviewer    * 3.0.0      2019-11-02 [1] CRAN (R 4.2.1)
#  lubridate       1.8.0      2021-10-07 [1] CRAN (R 4.2.0)
#  magrittr        2.0.3      2022-03-30 [1] CRAN (R 4.2.0)
#  memoise         2.0.1      2021-11-26 [1] CRAN (R 4.2.0)
#  modelr          0.1.8      2020-05-19 [1] CRAN (R 4.2.0)
#  munsell         0.5.0      2018-06-12 [1] CRAN (R 4.2.0)
#  pillar          1.8.0      2022-07-18 [1] CRAN (R 4.2.1)
#  pkgconfig       2.0.3      2019-09-22 [1] CRAN (R 4.2.0)
#  purrr         * 0.3.4      2020-04-17 [1] CRAN (R 4.2.1)
#  R.cache         0.16.0     2022-07-21 [1] CRAN (R 4.2.1)
#  R.methodsS3     1.8.2      2022-06-13 [1] CRAN (R 4.2.0)
#  R.oo            1.25.0     2022-06-12 [1] CRAN (R 4.2.0)
#  R.utils         2.12.0     2022-06-28 [1] CRAN (R 4.2.0)
#  R6              2.5.1      2021-08-19 [1] CRAN (R 4.2.0)
#  Rcpp            1.0.9      2022-07-08 [1] CRAN (R 4.2.1)
#  reactable     * 0.3.0      2022-05-26 [1] CRAN (R 4.2.0)
#  readr         * 2.1.2      2022-01-30 [1] CRAN (R 4.2.0)
#  readxl          1.4.0      2022-03-28 [1] CRAN (R 4.2.0)
#  rematch2        2.1.2      2020-05-01 [1] CRAN (R 4.2.0)
#  renv            0.15.5     2022-05-26 [1] CRAN (R 4.2.0)
#  reprex          2.0.1      2021-08-05 [1] CRAN (R 4.2.0)
#  rlang           1.0.4      2022-07-12 [1] CRAN (R 4.2.1)
#  rmarkdown       2.14       2022-04-25 [1] CRAN (R 4.2.0)
#  rrapply       * 1.2.5      2022-07-21 [1] CRAN (R 4.2.1)
#  RSQLite         2.2.15     2022-07-17 [1] CRAN (R 4.2.1)
#  rstudioapi      0.13       2020-11-12 [1] CRAN (R 4.2.0)
#  rvest           1.0.2      2021-10-16 [1] CRAN (R 4.2.0)
#  sass            0.4.2      2022-07-16 [1] CRAN (R 4.2.1)
#  scales          1.2.0      2022-04-13 [1] CRAN (R 4.2.0)
#  sessioninfo     1.2.2      2021-12-06 [1] CRAN (R 4.2.0)
#  stringi         1.7.8      2022-07-11 [1] CRAN (R 4.2.1)
#  stringr       * 1.4.0      2019-02-10 [1] CRAN (R 4.2.0)
#  styler          1.7.0      2022-03-13 [1] CRAN (R 4.2.0)
#  tibble        * 3.1.8      2022-07-22 [1] CRAN (R 4.2.1)
#  tibblify      * 0.2.0.9000 2022-07-14 [1] Github (mgirlich/tibblify@a0575cd)
#  tidyr         * 1.2.0      2022-02-01 [1] CRAN (R 4.2.0)
#  tidyselect      1.1.2      2022-02-21 [1] CRAN (R 4.2.0)
#  tidyverse     * 1.3.2      2022-07-18 [1] CRAN (R 4.2.1)
#  tzdb            0.3.0      2022-03-28 [1] CRAN (R 4.2.0)
#  utf8            1.2.2      2021-07-24 [1] CRAN (R 4.2.0)
#  uuid            1.1-0      2022-04-19 [1] CRAN (R 4.2.0)
#  vctrs           0.4.1      2022-04-13 [1] CRAN (R 4.2.0)
#  withr           2.5.0      2022-03-03 [1] CRAN (R 4.2.0)
#  xaringanExtra   0.7.0      2022-07-16 [1] CRAN (R 4.2.1)
#  xfun            0.31       2022-05-10 [1] CRAN (R 4.2.0)
#  xml2            1.3.3      2021-11-30 [1] CRAN (R 4.2.0)
#  yaml            2.3.5      2022-02-21 [1] CRAN (R 4.2.0)
# 
#  [1] C:/Users/andyb/AppData/Local/R/win-library/4.2
#  [2] C:/Program Files/R/R-4.2.1/library
# 
# ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Aden-Buie, Garrick, and Matthew T. Warkentin. 2022. xaringanExtra: Extras and Extensions for ’Xaringan’ Slides. https://CRAN.R-project.org/package=xaringanExtra.
Allaire, JJ, Yihui Xie, Jonathan McPherson, Javier Luraschi, Kevin Ushey, Aron Atkins, Hadley Wickham, Joe Cheng, Winston Chang, and Richard Iannone. 2022. Rmarkdown: Dynamic Documents for r. https://github.com/rstudio/rmarkdown.
Chau, Joris. 2022. Rrapply: Revisiting Base Rapply. https://CRAN.R-project.org/package=rrapply.
Cheng, Joe, Carson Sievert, Barret Schloerke, Winston Chang, Yihui Xie, and Jeff Allen. 2022. Htmltools: Tools for HTML. https://CRAN.R-project.org/package=htmltools.
de Jong, Jos, Mac Gainer, and Kent Russell. 2019. Listviewer: ’Htmlwidget’ for Interactive Views of r Lists. https://CRAN.R-project.org/package=listviewer.
Dervieux, Christophe, JJ Allaire, Rich Iannone, Alison Presmanes Hill, and Yihui Xie. 2022. Distill: ’R Markdown’ Format for Scientific and Technical Writing. https://CRAN.R-project.org/package=distill.
Girlich, Maximilian. 2022a. Jsontools: Working with JSON Vectors. https://github.com/mgirlich/jsontools.
———. 2022b. Tibblify: Rectangle Nested Lists. https://github.com/mgirlich/tibblify.
Lin, Greg. 2022. Reactable: Interactive Data Tables Based on ’React Table’. https://CRAN.R-project.org/package=reactable.
R Core Team. 2022. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.
Rodríguez-Sánchez, Francisco, Connor P. Jackson, and Shaurita D. Hutchins. 2022. Grateful: Facilitate Citation of r Packages. https://github.com/Pakillo/grateful.
Wickham, Hadley, Mara Averick, Jennifer Bryan, Winston Chang, Lucy D’Agostino McGowan, Romain François, Garrett Grolemund, et al. 2019. “Welcome to the tidyverse.” Journal of Open Source Software 4 (43): 1686. https://doi.org/10.21105/joss.01686.
Wickham, Hadley, Winston Chang, Robert Flight, Kirill Müller, and Jim Hester. 2021. Sessioninfo: R Session Information. https://CRAN.R-project.org/package=sessioninfo.
Xie, Yihui. 2014. “Knitr: A Comprehensive Tool for Reproducible Research in R.” In Implementing Reproducible Computational Research, edited by Victoria Stodden, Friedrich Leisch, and Roger D. Peng. Chapman; Hall/CRC. http://www.crcpress.com/product/isbn/9781466561595.
———. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. https://yihui.org/knitr/.
———. 2022. Knitr: A General-Purpose Package for Dynamic Report Generation in r. https://yihui.org/knitr/.
Xie, Yihui, J. J. Allaire, and Garrett Grolemund. 2018. R Markdown: The Definitive Guide. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown.
Xie, Yihui, Christophe Dervieux, and Emily Riederer. 2020. R Markdown Cookbook. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown-cookbook.

References

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. Source code is available at https://github.com/andrewallenbruce, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Bruce (2022, July 12). Andrew Bruce: Transparency in Coverage: Parsing JSON in R. Retrieved from https://andrewbruce.netlify.app/posts/transparency-in-json/

BibTeX citation

@misc{bruce2022transparency,
  author = {Bruce, Andrew},
  title = {Andrew Bruce: Transparency in Coverage: Parsing JSON in R},
  url = {https://andrewbruce.netlify.app/posts/transparency-in-json/},
  year = {2022}
}