This query is used to to provide summary statistics for condition occurrence end dates (condition_occurrence_end_date) across all condition occurrence records: the mean, the standard deviation, the minimum, the 25th percentile, the median, the 75th percentile, the maximum and the number of missing values. No input is required for this query.
WITH end_rank AS
(SELECT
condition_end_date,
cast(SUM(1) over (partition BY 1 ORDER BY condition_end_date ASC ROWS BETWEEN unbounded preceding AND CURRENT row) as integer) AS rownumASc
FROM @cdm.condition_occurrence where condition_end_date is not null
),
other_stat AS
(SELECT
COUNT(condition_end_date)::integer AS condition_end_date_count,
MIN(condition_end_date) AS condition_end_date_min,
MAX(condition_end_date) AS condition_end_date_max,
CAST(AVG(CAST(condition_end_date - MAKE_DATE(1,1,1) AS NUMERIC)) AS INTEGER) + MAKE_DATE(1,1,1) AS condition_end_date_average,
ROUND(STDDEV(CAST(condition_end_date- MAKE_DATE(1,1,1) AS NUMERIC)),0) AS condition_end_date_stddev
FROM @cdm.condition_occurrence
WHERE condition_end_date IS NOT NULL
)
SELECT
(SELECT
COUNT(condition_end_date)::integer
FROM @cdm.condition_occurrence
WHERE condition_end_date IS NULL
) AS condition_end_date_null_count,
condition_end_date_count,condition_end_date_min,condition_end_date_max,condition_end_date_average,condition_end_date_stddev,
condition_end_date_25pctile,condition_end_date_median,condition_end_date_75pctile
FROM other_stat,
(SELECT CAST(AVG(CAST(condition_end_date - MAKE_DATE(1,1,1) AS NUMERIC)) AS INTEGER) + MAKE_DATE(1,1,1) AS condition_end_date_25pctile
FROM (
SELECT condition_end_date, rownumAsc,(SELECT COUNT(*) FROM end_rank ) AS rowno
FROM end_rank
) a_1
WHERE ( rownumASc = CAST(rowno*0.25 AS int) AND floor(rowno*25/100) = rowno*25/100 )
OR ( rownumASc = CAST(rowno*0.25 AS int) AND floor(rowno*25/100) != rowno*25/100 )
OR ( rownumASc = CAST(rowno*0.25 AS int)+1 AND floor(rowno*25/100) != rowno*25/100 )
) condition_end_date_25pctile,
(SELECT CAST(AVG(CAST(condition_end_date - MAKE_DATE(1,1,1) AS NUMERIC)) AS INTEGER) + MAKE_DATE(1,1,1) AS condition_end_date_median
FROM (
SELECT condition_end_date, rownumAsc,(SELECT COUNT(*) FROM end_rank ) AS rowno
FROM end_rank
) a_1
WHERE ( rownumASc = CAST(rowno*0.5 AS int) AND floor(rowno*50/100) = rowno*50/100 )
OR ( rownumASc = CAST(rowno*0.5 AS int) AND floor(rowno*50/100) != rowno*50/100 )
OR ( rownumASc = CAST(rowno*0.5 AS int)+1 AND floor(rowno*50/100) != rowno*50/100 )
) condition_end_date_median,
(SELECT CAST(AVG(CAST(condition_end_date - MAKE_DATE(1,1,1) AS NUMERIC)) AS INTEGER) + MAKE_DATE(1,1,1) AS condition_end_date_75pctile
FROM (
SELECT condition_end_date, rownumAsc,(SELECT COUNT(*) FROM end_rank ) AS rowno
FROM end_rank
) a_1
WHERE ( rownumASc = CAST(rowno*0.75 AS int) AND floor(rowno*75/100) = rowno*75/100 )
OR ( rownumASc = CAST(rowno*0.75 AS int) AND floor(rowno*75/100) != rowno*75/100 )
OR ( rownumASc = CAST(rowno*0.75 AS int)+1 AND floor(rowno*75/100) != rowno*75/100 )
) condition_end_date_75pctile
;
None
| Field | Description | | --- | --- | | condition_end_date_null_count | Number of condition occurrences where end date is null | | condition_end_date_count | Number of condition occurrence end dates | | condition_end_date_min | The earliest end date of a condition occurrence | | condition_end_date_max | The latest end date of a condition occurrence | | condition_end_date_average | The average end date (spanning from the earliest to the latest date and counted by days) | | condition_end_date_stddev | The standard deviation of end dates, in number of days (spanning from the earliest to the latest date and counted by days) | | condition_end_date_25percentile | An end date where 25 percent of the other end dates are earlier | | condition_end_date_median | An end date where half of the other end dates are earlier and half are later | | condition_end_date_75percentile | An end date where 75 percent of the other end dates are earlier |
| Field | Value | | --- | --- | | condition_end_date_null_count | 0 | | condition_end_date_count | 224523674 | | condition_end_date_min | 2003-01-01 | | condition_end_date_max | 011-12-15 | | condition_end_date_average | 2008-11-30 | | condition_end_date_stddev | 651.19 | | condition_end_date_25percentile | 2007-10-30 | | condition_end_date_median | 2009-05-07 | | condition_end_date_75percentile | 2010-05-04 |
https://github.com/OHDSI/CommonDataModel/wiki/
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.