Introduction

This app takes YP-CORE data in rows each with one or two scores. These will typically be one row per usually baseline and last session. (An app that will take many rows of scores per client should follow soon. The data can be uploaded in CSV (Comma Separated Variables) format, R's Rda format, Excel .xlsx or Libre/OpenOffice .ods formats. The column names must be RespondentID, TherapistID, Gender, Age, YPmean1, YPmean2, YPclin1, YPclin2, Comment, Start_date, End_date, nSessionsAttended, nSessionsDNAed, nSessionsCancelled, nSessionsLate and nWeeks but you can have your own variables to right of those required variables. You don't have to fill in all the variables nor, of course, do data have to be complete. Naturally, the more data you have the more useful and informative the analyses will be.

It is safest and easiest to start with one of thes example files containing artificial data:

Download one to your own machine to explore this app with those data. Then delete the data rename the file and start putting your own data into it to use here.

First upload your data in one of those formats, the analyses then appear in the tabs after this one.

This is work in progress!!

This is work in progress like everything else in this app. Each tab has a todo list for what's to come for that tab and the explanation tab has a general todo list.

Upload data

Once you have uploaded your data, choose the appropriate referential values to use with it...
This shows the lookup table you selected
Scores can be displayed using either 'clinical' or 'mean' scoring
You can change this before or after data has been selected. If your spreadsheet is large the data may take a few seconds for the 'Data uploaded' message to appear above: be patient!! When the data has uploaded you can explore it in the 'Data' tab to the right and the analyses and plots will be in the other tabs to the right.

Explanation

This tables shows the data you uploaded plus the coding of that data.

  • At the right of the table the coding gives you the CSC categories of the YP-CORE scores (if there were any.)
  • YPscore1toCSC is the difference between the first YP-SCORE and the CSC for that age and gender.
  • YPscore2toCSC is the same for the second YP-SCORE. These will get used in the scaled Jacobson plot later.
  • The search box is a very simple inclusive search so if you put '62' in there the table will reduce to showing you any rows of data that contain '62' anywhere including say a participant ID of 62 or a score of 1.62.
  • The filter boxes at the top of each column allow you to search in that variable. They will often show you a a drop down list of the values that exist in the data.
  • For the dates the search is of the stem you input so if you input '2024-04' it should show you all dates in April 2024.
  • The filtering is a Boolean AND which is to say that you will get to see the rows that fulfil all the constraints you input.

This is work in progress!!

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • What else would you as a user want here? Contact me

Download entire data

These buttons allow you to download your entire dataset now with the correct CSC, RCI and RCSC categories for each person's age and gender. It also contains the change and rescaled scores used to make the Jacobson plot (see that tab). Then you can see the data in a table you can filter or search.

Download as csv Download as Excel xlsx Download as Libre/OpenOffice ods

Searchable table of the data

Now the searchable and filterable data table. You can download the data you have filtered/searched using the buttons at the bottom of the table. If your selection is bigger than the default 50 rows shown use the length menu '(Show)' to select 'All' and then you can download your entire selection.

Explanation

This is pretty indigestible but it gives all the summary statistics for all the variables across all clinicians. I think the naming of the statistics is pretty self-explanatory if not particularly easy on the eye.

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • What else would you as a user want here? Contact me

The summary stats

The gender breakdown is as follows.

Here is a histogram of the ages. I don't think it's particularly likely that the ages would be equally represented but that is the only plausible reference line for now.

Ages

Explanation

As with the 'Summary statistics' tab this is pretty indigestible and gives all the same summary statistics for all the variables across all clinicians. I think the naming of the statistics is pretty self-explanatory if not particularly easy on the eye.

Todo list

This is work in progress. Until such time as this is no longer true (when?!), this is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • Think how it could be made more digestible.
  • Perhaps add percentages but they will only make sense for some of the statistics
  • Will it be useful to people to have more comparative analyses comparing clinicians?
  • Add biplane/forest plots?
  • What would you as a user want here? Contact me

Summary stats by clinician

Download as csv Download as Excel xlsx Download as Libre/OpenOffice ods

Explanation

This tab gives the statistics about attendance. These are often undervalued and people focus largely on the scores and score changes. This is a pity as it's hard to learn from scores if we completely ignore attendance. However, it is undoubtedly the case that understanding score changes taking patterns of attendance and possible markers of ambivalence/conflict about change in the attendance data is complicated. I hope to add more analyses later that may help bring score change and attendance information together but this is a start!

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • Add options to break down by clinician and perhaps by age, gender ...?
  • Think more about graphs and/or analyses to extract more from these variables.
  • Will it be useful to people to have more comparative analyses comparing clinicians?
  • What else would you as a user want here? Contact me

Summarising attendance data

The variables relating to attendance are: nSessionsAttended, nSessionsDNAed, nSessionsCancelled, nSessionsLate, nWeeks. Here is the breakdown of any missingness across those variables.

Here are the summary statistics for each of those variables across all clients.

I have assumed that you have counted the late attendances within the total number of attendances for each client so the total of sessions offered = nSessionsAttended + nSessionsDNAed + nSessionsCancelled so we can calculate per client the proportion of sessions offered that were attended, attended late, DNAed and cancelled. Here is the summary statistics for those per client values.

Histogram of session count

Here is the histogram of the numbers of sessions attended. Green vertical reference line marks the median, blue the mean.

If you hover over the top of the plot you see the plotly 'modebar' which allows you to save the plot as a jpeg and to interact with it in various way some of which may be useful to you. See here for more on that modebar.

Explanation

This tab gives descriptive statistics about the scores

Very much work in progress.

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • Add analyses of all t1, t2 and change by gender, age ...
  • ... and therapist?
  • What else would you as a user want here? Contact me

The YP-CORE scores

Here are histograms of the scores and score change with green vertical reference lines marking the median and blue the mean.

If you hover over the top of the plots you see the plotly 'modebar' which allows you to save the plot as a jpeg and to interact with it in various way some of which may be useful to you. See here for more on that modebar.

Explanation

This tab gives a cat's cradle plot of the data

A cat's cradle plot ignores any respondent with only one usable score and shows the change in scores as a line. You can identify the points by hovering over them when you will see a 'tooltip' giving you the YP-CORE score, the respondent ID, therapist ID and the category of the CSC change.

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • Add options to colour down by therapist or age instead of gender, or not to colour
  • Add option to map n(sessions) on x axis
  • What else would you as a user want here? Contact me

The cat's cradle plot

This is a so-called 'cat's cradle' plot. It shows all the complete pairs of scores coloured by gender with connecting lines. The dashed horizontal reference line marks the mean baseline score and the black points, offset somewhat from the individual points, mark the mean baseline and later scores. The vertical lines through those are the bootstrap 95% confidence intervals (CI). If the vertical CI line to the right, for the second scores does not extend through the horizontal reference line then the mean change is unlikely to be down to chance.

If you hover over the top of the plot you see the plotly 'modebar' which allows you to save the plot as a jpeg and to interact with it in various way some of which may be useful to you. See here for more on the modebar.

Explanation

This tab gives a cat's cradle plot against dates (if given)

This is very similar to the previous plot but the x axis is by date, not occasion. This gives a better picture of the work over time and Again, you can identify the points by hovering over them when you will see a 'tooltip' giving you the YP-CORE score, the respondent ID, therapist ID and the category of the CSC change.

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • Add options to break down by therapist, age, gender ...
  • [Technical] add buttons to download the plot or change to ggplotly plot?
  • What else would you as a user want here? Contact me

The plot

This shows all the complete data with scores and dates for both occasions coloured by therapist ID with connecting lines plotted against episode start and finish dates (if given). If you hover over a point you should be shown the respondent ID, gender and CSC change category.

If you hover over the top of the plot you see the plotly 'modebar' which allows you to save the plot as a jpeg and to interact with it in various way some of which may be useful to you. See here for more on the modebar.

Explanation

This tab plots change against sessions attended (if given)

This is very similar to the previous plots but the x axis is by sessions attended. This gives a picture of whether change relates to sessions attended. Again you can identify the points by hovering over them when you will see a 'tooltip' giving you the YP-CORE score, the respondent ID, therapist ID and the category of the CSC change.

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • Add options to break down by therapist, age, gender ...
  • [Technical] add buttons to download the plot or change to ggplotly plot?
  • What else would you as a user want here? Contact me

The plot

This shows all the data with scores and dates for both occasions. The wavy curve in blue is the LOESS smoothed fit mapping change to numbers of sessions attendeed. The grey envelope around the curve gives the 95% confidence interval around that.

The individual change scores are in grey and the blue points mark the mean change for each number of sessions attended. If you hover over an individual point you should be shown the respondent ID, gender and CSC change category.

Points below the -1 mark reliable improvement and points above +1 reliable deterioration. If the dotted mean change line lies inside the grey confidence envelope there is no evidence, of a systematic relationship between change and numbers of sessions attended.

If you hover at the top of the plot you see the plotly 'modebar' which allows you to save the plot as a jpeg and to interact with it in various way some of which may be useful to you. See here for more on the modebar.

Explanation

This tab gives a simple breakdown of the CSC categories: baseline, final and change counts

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • What else would you as a user want here? Contact me

The CSC tabulations

I can see that this might be a bit overwhelming at first sight. Play around with it and it will get familiar and you will learn which of these values are really of interest to you. The confidence intervals (CI) may be unfamiliar so you can ignore them at least first but they are useful as they indicate how we should see these observed rates as predictors of the likely long term values for your services. The larger the number of clients with data the better your observed values become as predictores of future values. For the background on CIs see this entry in my OMbook glossary and this page on my PSYCTC.org site

CSC analyses

Here is the breakdown of the initial CSC categories

And now the breakdown of the 2nd/final CSC categories

This is the crosstabulation of the first and 2nd/final categories (where you have both scores)

And this is the breakdown of the CSC classification changes (basically the crosstabulation above unwrapped).

RCI analyses

Now the breakdown of the RCI change categories

And finally: the full RCSC analyses

Crosstabulation of CSC and RCI change categories

Essentially the same unfolded with CIs

It is, of course, impossible to achieve clinically significant improvement if you start below the CSC for this reason people sometimes report the CSC restricting to the participants who start above the CSC. Here is RCS crosstabulation for that, censored, dataset.

The same unfolded with CIs

Explanation

This tab gives a scaled Jacobon plot

The Jacobson plot plots the 2nd/final score against the first. The scores have been rescaled by subtracting the CSC appropriate to the age and gender of the participant to ensure that zero is always a score equal to that CSC. This removes the issue of having to have multiple different vertical and horizontal reference lines on the plot. Further, the scores are then rescaled by dividing them by the appropriate RCI for the gender and age so one set of tramlines for the RCI can be used.

Points lying on the leading diagonal mark clients whose last YP-CORE score is exactly the same as their first score. Points below the leading diagonal have lower last scores than their first scores, points above the leading diagonal, vice versa.

As the 'tramlines' either side of the leading diagonal always mark the RCI for the YP-CORE for that person's age and gender. Points inside the tramlines mark people whose scores changed but less than the RCI (or RCC: Reliable Change Criterion), i.e. 'no reliable change'. Points below the lower tramline come from people whose YP-CORE scores improved more than the RCI and those above the upper tramline deteriorated more than the RCI.

The black vertical and horizontal lines mark the unified CSC. Points to the left of the vertical line started below the CSC, those to the right started above it. Similarly, points above the horizontal line finished above the CSC and those below it finished below the CSC

As in previous plots you can identify the points by hovering over them when you will see a 'tooltip' giving you the person's gender, age, first and last YP-CORE scores (not rescaled), the respondent ID and therapist ID.

Todo list

This is work in progress like everything else in this app. This is the todo list for this tab as I see it at this point

  • Add options to colour the points by age and therapist instead of gender ...
  • And perhaps facetting by those variables or to change the plot by those variables.
  • What else would you as a user want here? Contact me

The plot

If you hover over the top of the plot you see the plotly 'modebar' which allows you to save the plot as a jpeg and to interact with it in various way some of which may be useful to you. See here for more on the modebar.

Explanation

This app was developed to accompany upcoming papers out of Emily Blackshaw's huge PhD work on the YP-CORE which gave us updated and more precise referential YP-CORE data at least for the UK and Ireland.

A primary motivation for the app was that distributions of scores, and even internal reliabilities, vary quite substantially by age and gender. This is not specific to the YP-CORE and has been found for other measures used in this age group. However, this makes it necessary to interpret scores in the light of each person's age and gender. The first thing I wanted this app to do was to do that lookup process easily for users. I also wanted to make the app handle referential data for languages other than English and countries other than the UK and Ireland. The Italian referential data are the first such extensions. I will add others as the referential data become available.

As well as automating that lookup and allowing the user to download their data with the mappings to the appropriate referential data I wanted to make some analyses readily available. These can be seen under the various tabs above.

Overall todo list

This is the todo list for this tab as I see it at this point

  • Better cross-referencing to supporting documents
  • Ideally some recorded 'talk-you-through' pocasts?
  • Add mappings of scores to percentiles, help-seeking and non-help-seeking, from Emily's data.

App created 22.v.25 by Chris Evans. PSYCTC.org

Last updated 29.vi.25: shift score histograms to ggplotly to allow downloads.

Much work still to do ... but getting there!

Licenced under a Creative Commons, Attribution Licence-ShareAlike Please respect that and put an acknowledgement and link back to here if re-using anything from here.

Background and related resources

This shiny app is one of a growing number in, my shiny server
They complement:

There is a form if you want to contact me: so do please use that if you think there is anything wrong here or anything that could be improved.

There is also now an Email announcement list, never updating more than monthly, where I will put up developments of new apps here, a summary of updates to the glossary and new posts in the Rblog. You can sign up for that here.