## Technologies and Tools - Programming Languages: R - Frameworks/Libraries: sqldf, tidyverse, knitr, kableExtra, htmlTable, htmlwidgets, plotly, base64enc, AnalyticCodebase, QueryFunctions - Tools: RStudio, roxygen2 (for documentation) ## Functionality - The main functionality is to generate query reports, update the query database, and interact with study data for METRC Redcap studies. - Key functions include: - `query_report()`: Core function to build reports by running functions from the ReportingFunctions library. - `update_query_database()`: Updates and maintains the query database. - `get_query_data()`: Retrieves specified columns of Redcap data. - Various visualization and table generation functions like `timeline_graph()`, `summary_graph()`, `followups_table()`, etc. - Legacy versions of some functions are provided for backward compatibility. ## Relevant Skills - Advanced R programming techniques: - Package development using devtools and roxygen2 for documentation - Utilization of multiple packages for data manipulation (dplyr, tidyr), SQL queries (sqldf), report generation (knitr, kableExtra), and visualizations (plotly) - Custom function development for modular code organization - Global environment management using new.env() - S3 method dispatch for `print()` and subsetting - Data manipulation and analysis: - Querying and filtering data using dplyr and sqldf - Reshaping data with tidyr functions like pivot_longer(), separate_rows() - Joining datasets using left_join(), inner_join() - Report generation: - Dynamic report building by running functions based on templates - Formatting and styling HTML reports using CSS - Creating tables with kableExtra - Interactive visualizations with plotly - Database management: - Updating and maintaining a query database - Compressing and decompressing data for storage efficiency ## Example Code - `query_report()` demonstrates building a comprehensive report by running a series of functions based on a template. - `update_query_database()` shows updating the query database by calculating new queries and handling data compression. - Table and graph generation functions like `summary_graph()` and `confirmations_table()` showcase data manipulation and visualization skills. ## Notable Achievements - Development of a full-featured package for generating query reports and managing a query system for METRC Redcap studies. - Implementation of efficient data compression techniques for the query database. - Dynamic report generation system that allows customization via templates. - Integration of multiple packages for a wide range of functionality from querying data to generating interactive visualizations. The QuerySystem package demonstrates strong R programming skills, experience with package development best practices, utilization of various libraries for data analysis and visualization, and the ability to architect a cohesive system for generating query reports and managing study data. The dynamic report generation and query database management are notable features that showcase software engineering capabilities in an R environment.


© 2024 Elias Weston-Farber. All rights reserved.