| Literature DB >> 26963255 |
Meridith Blevins1, Firas H Wehbe1, Peter F Rebeiro1, Yanink Caro-Vega2, Catherine C McGowan1, Bryan E Shepherd1.
Abstract
OBJECTIVE: To develop and disseminate tools for interactive visualization of HIV cohort data. DESIGN AND METHODS: If a picture is worth a thousand words, then an interactive video, composed of a long string of pictures, can produce an even richer presentation of HIV population dynamics. We developed an HIV cohort data visualization tool using open-source software (R statistical language). The tool requires that the data structure conform to the HIV Cohort Data Exchange Protocol (HICDEP), and our implementation utilized Caribbean, Central and South America network (CCASAnet) data.Entities:
Mesh:
Year: 2016 PMID: 26963255 PMCID: PMC4786152 DOI: 10.1371/journal.pone.0151201
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Fig 1Featured frames from animated graphics (see http://biostat.mc.vanderbilt.edu/ccasanet/dataviz/examples.htm).
Fig 1A, Example Panel 1: Immunologic recovery and mortality two years following cART initiation, stratified by clinical stage at ART initiation. Top panel: Time since ART initiation by CD4+ count. The dots mark observations and the Xs mark deceased patients at time of death and their last CD4+ count. Density curves show the two-year CD4+ count distribution by AIDS status. Bottom panel: Kaplan-Meier curves showing cumulative probability of death separated by AIDS status. Fig 1B, Example Panel 2: Distribution of low CD4+ count and AIDS diagnosis at enrollment by region in 2011. Top panel: Bubble plot showing proportion of patients enrolled during 2011 who are clinical AIDS by the proportion with low CD4+ count; bubbles are proportional to the number of patients enrolled in 2011. Bottom panel: Marginal distributions of clinical AIDS by low CD4+ count for each country in 2011. Fig 1C, Example Panel 3: Distribution of low CD4+ count and AIDS diagnosis at enrollment by region in 2011. Bubble plot showing proportion of patients enrolled during 2011 who are clinical AIDS by the proportion with low CD4+ count. The top and lightest colored bubble is the current year (2011). The bubbles beneath represent prior years and darken as time passes. Fig 1D, Example Map 1: World heat map showing proportion of newly diagnosed patients with low CD4 count in 2008. Countries with lightest shade of red have 20–29% of patients with low CD4+ count at HIV diagnosis. The CShapes dataset by Weidmann and Gleditsch is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License [26]. Fig 1E, Example Map 2: Country heat map showing proportion of newly diagnosed patients with low CD4 count in 2008. Countries with lightest shade of red have 20–29% of patients with low CD4+ count at HIV diagnosis. The CShapes dataset by Weidmann and Gleditsch is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License [26].
User modifiable specifications read by R to create interactive graphics referred to as Panel 1, Panels 2–3, and Maps 1–2.
| id | patient | Unique identifier in datasets |
| longtablename | lab_cd4 | Table name (same as CSV name during data load) |
| longvar | cd4_v | Longitudinal variable name (must be present in table above) |
| longvardate | cd4_d | Longitudinal variable date name (must be present in table above) |
| longsubset | function(longvar) longvar > 0 &! is.na(longvar) | Function to be applied to subset data in longtablename (will currently be applied only to longvar; eg, function(x) x > 0) [default is no missing] |
| eventtablename | follow | Table name (same as CSV name during data load) |
| event | death_y | Event variable name (must be present in table above) |
| enddate | l_alive_d | End date name (must be present in table above) |
| grouptablename | basic | Table name (same as CSV name during data load) |
| group | aids_y | Grouping variable name (must be present in table above) |
| groupsubset | Set of allowable values for groups [default is all unique groupings] | |
| starttablename | art | Table name (same as CSV name during data load) |
| startdate | art_sd | Start date name (must be present in table above) |
| starttype | first | Specification for identifying one start date if there are multiple per unique ID (options are "first" or "last") [default is "first"] |
| longvartrans | sqrt | Transformation for longvar (currently allow for "sqrt", "log", "log10") [default is no transformation using the identity function "I"] |
| maxtime | 730 | Numeric maximum time in days for follow-up (start to end date) [default is 730 days]; this means that the plot will run from 0 to maxtime days. |
| long2eventwindow | 360 | Numeric allowable time to pass between longvar collection and event date in order for value to be attributed to event. [default is 360 days] |
| longvarlim | c(0,1500) | Two numeric values for limit of longvar (y-axis pane 1) [default is .5th and 99.5th quantiles] |
| problim | Two numeric values for limit of event rate (y-axis pane 2) [default is 0 and 1.4 times highest group rate] | |
| longticks | c(0,25,100,150,350,500,1000,2000,5000) | Any length of numeric values to put tick marks and labels on longvar y-axis (original scale) [default is 5 points using pretty function] |
| longlabel | CD4+ Count | Label for y-axis of scatterplot [default is "Longitudinal Value"] |
| timelabel | Days from cART Start | Label for y-axis of scatterplot [default is "Days"] |
| eventlabel | Cumulative Probability of Death | Label for y-axis of Kaplan-Meier plot [default is "Probability of Death"] |
| grouplabels | 0 = No AIDS|1 = AIDS|9 = AIDS unknown | Group label for plot legend. Must be a unique value of group variable, equal sign, label separated by pipes. This is useful if the values of group are themselves not informative. [default is "Group" followed by unique value] |
| vartable | basic_cd4 | table name (same as CSV name during data load) |
| var1 | basic_cd4$aids_cl_y = = 1 | R code that creates an indicator variable using variables in vartable. Or use an indicator already appended to the existing dataset. |
| var2 | basic_cd4$cd4_v_cmp < 200 | R code that creates an indicator variable using variables in vartable. Or use an indicator already appended to the existing dataset. |
| vartablesubset | format(convertdate(baseline_d,basic_cd4),"%Y") > 1998 & format(convertdate(baseline_d,basic_cd4),"%Y") < 2016 & basic_cd4$aids_cl_y %in% c(0,1) &! is.na(basic_cd4$aids_cl_y) | R code that creates an indicator variable that will be used to subset the original vartable using variables in vartable |
| eventdate | baseline_d | Date corresponding to relevant data collection (e.g., date of enrollment). |
| eventperiod | year | How to discretize time for the different frames of the bubbleplot. [default is year, allowable values are month, quarter, year, and missing] |
| group | site | Grouping variable in vartable for the different bubbles. |
| var1label1 | AIDS | Label of group for which var1 is 1 or TRUE. |
| var1label0 | no AIDS | Label of group for which var1 is 0 or FALSE. |
| var2label1 | <200 | Label of group for which var2 is 1 or TRUE. |
| var2label0 | 200+ | Label of group for which var2 is 0 or FALSE. |
| var1label | Proportion with clinical AIDS | Axis label for var1. |
| var2label | Proportion CD4<200 at enrollment in HIV care | Axis label for var2. |
| minnum | 10 | Set minimum number of observed units for a bubble to be drawn [default is 10]. |
| countrytable | basic_cd4_country | Table with one row per country and time point—example manipulation of existing DES tables in code/cd4_base_country.R |
| var | var1_prop | Value of attribute to be mapped in Proportion (range: 0–1) or Percentage (range: 0–100) |
| country | country | Variable with ISO-3 country code |
| year | year | Time point for temporal connection of maps |
| varlabel | Proportion CD4<200 at HIV diagnosis | Label for attribute |