Skip to content

Feature: Metadata #60

@andrewallenbruce

Description

@andrewallenbruce

Metadata Wishlist

  • Title
  • Description
  • Publisher
  • Date of Last Update
    • Number of Days since last update
  • Update Frequency
  • Dimensions [Columns x Rows]
  • Fields [Columns' Names]
  • Dictionary
  • Collection methodology


Example

library(provider)
library(httr2)
library(dplyr)

metadata <- function() {
  
  urlx <- paste0("https://data.cms.gov/", 
                "provider-data/api/1/datastore/query/", 
                "78125945-ea51-5ee0-b3f1-5f46292467b1", 
                "?limit=1&offset=0&count=true&results=true", 
                "&schema=true&keys=true&format=json&rowIds=true")
  
  urly <- paste0("https://data.cms.gov/", 
                "provider-data/api/1/metastore/schemas/", 
                "dataset/items/27ea-46a8?show-reference-ids=false")
  
  x <- httr2::request(urlx) |>
       httr2::req_perform() |>
       httr2::resp_body_json(check_type = FALSE,
                             simplifyVector = TRUE)
  
  
  y <- httr2::request(urly) |>
       httr2::req_perform() |>
       httr2::resp_body_json(check_type = FALSE,
                             simplifyVector = TRUE)
  
  list(
    title             = y$title,
    description       = y$description,
    uuid              = "27ea-46a8",
    identifier        = y$keyword$identifier,
    distribution      = y$distribution$identifier,
    date_issued       = y$issued,
    date_modified     = y$modified,
    datetime_modified = y$`%modified`,
    date_released     = y$released,
    publisher         = y$publisher$data$name,
    format            = x$query$format,
    landing_page      = y$landingPage,
    dictionary        = "https://data.cms.gov/provider-data/sites/default/files/data_dictionaries/physician/DOC_Data_Dictionary.pdf",
    dimensions        = paste0(x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$record_number$length, ' columns x ', x$count, ' rows'),
    fields = c(x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$npi$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$ind_pac_id$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$provider_last_name$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$provider_first_name$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$provider_middle_name$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$suff$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$facility_type$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$facility_affiliations_certification_number$description,
               x$schema$`78125945-ea51-5ee0-b3f1-5f46292467b1`$fields$facility_type_certification_number$description),
    example = dplyr::tibble(x$results))
}
metadata()
#> $title
#> [1] "Facility Affiliation Data"
#> 
#> $description
#> [1] "This is the facility affiliations data publicly reported in the Provider Data Catalog."
#> 
#> $uuid
#> [1] "27ea-46a8"
#> 
#> $identifier
#> [1] "f62da856-f3e0-565a-a6e0-f6aefcafde00"
#> 
#> $distribution
#> [1] "78125945-ea51-5ee0-b3f1-5f46292467b1"
#> 
#> $date_issued
#> [1] "2023-08-17"
#> 
#> $date_modified
#> [1] "2023-11-02"
#> 
#> $datetime_modified
#> [1] "2023-11-02T20:05:23-0400"
#> 
#> $date_released
#> [1] "2023-11-16"
#> 
#> $publisher
#> [1] "Centers for Medicare & Medicaid Services (CMS)"
#> 
#> $format
#> [1] "json"
#> 
#> $landing_page
#> [1] "https://data.cms.gov/provider-data/dataset/27ea-46a8"
#> 
#> $dictionary
#> [1] "https://data.cms.gov/provider-data/sites/default/files/data_dictionaries/physician/DOC_Data_Dictionary.pdf"
#> 
#> $dimensions
#> [1] "10 columns x 1563152 rows"
#> 
#> $fields
#> [1] "NPI"                                       
#> [2] "Ind_PAC_ID"                                
#> [3] "Provider Last Name"                        
#> [4] "Provider First Name"                       
#> [5] "Provider Middle Name"                      
#> [6] "Facility Affiliations Certification Number"
#> [7] "Facility Type Certification Number"        
#> 
#> $example
#> # A tibble: 1 × 10
#>   record_number npi        ind_pac_id provider_last_name provider_first_name
#>   <chr>         <chr>      <chr>      <chr>              <chr>              
#> 1 1             1003000126 7517003643 ENKESHAFI          ARDALAN            
#> # ℹ 5 more variables: provider_middle_name <chr>, suff <chr>,
#> #   facility_type <chr>, facility_affiliations_certification_number <chr>,
#> #   facility_type_certification_number <chr>

Created on 2023-11-20 with reprex v2.0.2

Metadata

Metadata

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions