Print Date: 2024-08-19

About This Report

*Right click for option to zoom in and view the map.

Exploring Concept Maps (aka Cmaps) help represent and clarify the relationships between various key components. It helps to identify the most important areas to focus on for improvement and make informed decisions. It helps to to engage stakeholders and facilitate collaboration among different teams. Helps to pinpoint necessary data sources and understand how they can be integrated for analysis.

The Cmap in this post present general relationships between concepts of a healthcare system.

Table of Concepts

This table the ones below it make up the Concepts Map with use of CmapTools and Excel. Due to the large number of columns, the table is transposed to avoid the end columns from pressing out the page width. Column 1 serves as the Parent for each of the Child values on the right. Each Parent Concept and their Child Concept are representative of each other in the same row, and therefore share a similar color.

Show Code
# This project provides opportunity to post images and convert one file type to another using R.
# This table is from a .csv file, converted from .csv to .cxl for import into CmapTools.

# Load necessary libraries
if (!require("tidyverse")) install.packages("tidyverse")
if (!require("knitr")) install.packages("knitr")
if (!require("kableExtra")) install.packages("kableExtra")
library(tidyverse)
library(knitr)
library(kableExtra)

# Read the CSV file and save as `concepts_df`
file_path <- "C:\\Users\\kendr\\OneDrive\\Documents\\Data Analytics\\Solving A Healthcare Challenge\\General\\Concepts.csv"
concepts_df <- read_csv(file_path, show_col_types = FALSE)
# colnames(concepts_df)
View(concepts_df)

# Transpose the data frame
concepts_df_t <- as.data.frame(t(concepts_df))

# Replace NA values with empty strings
concepts_df_t[is.na(concepts_df_t)] <- ""

# Append ":" to the end of the first column
rownames(concepts_df_t) <- paste0(rownames(concepts_df_t), ":")

# Display the transposed Data Frame with the first column in bold and without column names
# kable(concepts_df_t, col.names = NULL, align = "l") %>%
#   kable_styling(full_width = TRUE) %>%
#   column_spec(1, bold = TRUE) %>%
#   row_spec(0, bold = TRUE, background = "#D3D3D3")
Patient Demographics: Age Gender Ethnicity Socio-economic Status
Healthcare Utilization: Hospital Admissions Emergency Department Visits Outpatient Visits Readmissions Length of Stay
Care Coordination: Care Transitions Referral Management Follow-up Appointments Care Plans
Healthcare Providers: Primary Care Physicians Specialists Nurses Care Coordinators
Health Outcomes: Patient Satisfaction Quality of Life Mortality Rates Disease Management
Medical Terminologies: ICD Codes (International Classification of Diseases) CPT Codes (Current Procedural Terminology) SNOMED Codes (Systematized Nomenclature of Medicine)
Data Sources: Electronic Health Records (EHRs) Public Health Databases Insurance Claims Patient-Generated Health Data Social Determinants of Health (SDOH) Data
Barriers to Care: Access to Care Health Literacy Language Barriers Transportation Issues
Interventions: Preventive Care Programs Chronic Disease Management Mental Health Support Vaccination Campaigns Community Health Initiatives
Technology and Tools: Health Information Exchange (HIE) Telehealth Services Mobile Health Apps Data Analytics Platforms
Performance Metrics: Readmission Rates Emergency Department Utilization Patient Satisfaction Scores Adherence to Care Plans
Policies and Regulations: Health Insurance Portability and Accountability Act (HIPAA) Affordable Care Act (ACA) Medicare and Medicaid Policies
Disparities: Health Disparities Access to Care Disparities Socio-economic Disparities

Table of Concepts-Categories

The Grandparents. The Parents of the Parents. “The OG’s”.

Show Code
# This table is from a .csv file, converted from .csv to .cxl for import into CmapTools.

# Load necessary libraries
if (!require("tidyverse")) install.packages("tidyverse")
if (!require("knitr")) install.packages("knitr")
if (!require("kableExtra")) install.packages("kableExtra")
library(tidyverse)
library(knitr)
library(kableExtra)

# Read the CSV file and save as `concepts_categories_df`
file_path <- "C:\\Users\\kendr\\OneDrive\\Documents\\Data Analytics\\Solving A Healthcare Challenge\\General\\Concepts Categories.csv"
concepts_categories_df <- read_csv(file_path, show_col_types = FALSE)

# colnames(concepts_categories_df)
View(concepts_categories_df)

# Transpose the data frame
concepts_categories_df_t <- as.data.frame(t(concepts_categories_df))

# Replace NA values with empty strings
concepts_categories_df_t[is.na(concepts_categories_df_t)] <- ""

# Append ":" to the end of the first column
rownames(concepts_categories_df_t) <- paste0(rownames(concepts_categories_df_t), ":")

# OUTPUT CHUNK
# Display the transposed Data Frame with the first column in bold and without column names
# kable(concepts_categories_df_t, col.names = NULL, align = "l") %>%
#   kable_styling(full_width = TRUE) %>%
#   column_spec(1, bold = TRUE) %>%
#   row_spec(0, bold = TRUE, background = "#D3D3D3")
Patient Information: Healthcare Providers Patient Demographics
Healthcare Processes: Care Coordination Healthcare Utilization Interventions Technology and Tools
Medical Data: Data Sources Medical Terminologies
Challenges and Barriers: Barriers to Care Disparities
Governance and Policy: Policies and Regulations
Health Metrics: Health Outcomes Performance Metrics

Table of Relationships

Some relationships between all the concepts above. A small number of relationships are shown for a simple view by avoiding multiple lines. Additional relationships between these concepts are readily available thanks to the large, complex, and diverse healthcare system.

Show Code
# The two .csv files are combined, imported into CmapTools, arranged for mapping, and then exported. This code uses another .csv file via  then adds relationships, concepts, and other as an update towards the final concept map. A dependent drop-down menu and data validations were used in Excel to help keep the concepts and linking phrases in check by selected values and avoiding having to resolve extra, misspelled concepts that required needless--but needful--error checking and time consumption.

# Load necessary libraries
if (!require("tidyverse")) install.packages("tidyverse")
if (!require("knitr")) install.packages("knitr")
if (!require("kableExtra")) install.packages("kableExtra")
library(tidyverse)
library(knitr)
library(kableExtra)

# Read the CSV file and save as `relationships_df`
file_path <- "C:\\Users\\kendr\\OneDrive\\Documents\\Data Analytics\\Solving A Healthcare Challenge\\General\\Add Relationships.csv"
relationships_df <- read_csv(file_path, show_col_types = TRUE)

# colnames(relationships_df)
View(relationships_df)

# OUTPUT CHUNK
# kable(relationships_df, align = "l") %>% # col.names = NULL
#   kable_styling(full_width = TRUE) %>%
#   column_spec(1) %>% # bold = TRUE 
#   row_spec(0) # bold = TRUE, background = "#D3D3D3" 
Concept-1 Linking Phrase Concept-2
Emergency Department Visits reduced by effective Care Coordination
Hospital Admissions reduced by effective Care Coordination
Care Coordination reduces Healthcare Utilization
Healthcare Providers implement programs to mitigate Socio-economic Disparities
Healthcare Providers provide targeted interventions for Health Disparities
Patient Satisfaction Scores reflect the quality of Care Transitions
Adherence to Care Plans reduces Readmissions
Adherence to Care Plans is ensured by Outpatient Visits
Affordable Care Act (ACA) enhances Health Outcomes
Affordable Care Act (ACA) expands Access to Care