Patient-Facts: Single Site, Anomaly Detection, Longitudinal Analysis
| dc.contributor | Patient-Centered Outcomes Research Institute |
| dc.contributor.author | PEDSnet Data Coordinating Center |
| dc.contributor.other | PEDSnet Data Coordinating Center |
| dc.date.accessioned | 2024-07-30T19:37:10Z |
| dc.date.created | 2024-06-05 |
| dc.description.abstract | This check assesses how much clinical data is available for patients accross time (in years, months, or weeks). It provides a high level summary of anomalous/outlier clinical data for a single site. The number of clinical events per year of follow-up for each patient in a cohort is computed and stratified by visit type. |
| dc.identifier.uri | https://hdl.handle.net/20.500.14642/744 |
| dc.identifier.uri | https://doi.org/10.24373/pdsp-419 |
| dc.publisher | PEDSnet |
| dc.relation.uri | https://github.com/ssdqa/patientfacts |
| dc.rights | a CC-BY Attribution 4.0 License. |
| dc.rights.uri | http://creativecommons.org/licenses/by/4.0 |
| dc.subject | Single Site Analysis |
| dc.subject | Data Anomaly Method |
| dc.subject | Longitudinal Analysis |
| dc.subject | Person-Level Analysis |
| dc.title | Patient-Facts: Single Site, Anomaly Detection, Longitudinal Analysis |
| dspace.entity.type | DQCheck |
| local.code.package | # install.packages("devtools") devtools::install_github('ssdqa/https://github.com/ssdqa/patientfacts') |
| local.description.raw | The raw data output of this check produces eleven columns of data for analysis in annual time intervals: <br> | Column | Data Type | Definition | |----------------|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------| |`visit_type` | character | string indicating the visit type | |`site` | character | the name of the site being targeted OR "combined" if multiple sites were provided | |`time_start` | date | the start of the time period being examined | |`time_increment` | character | the length of each time period | |`domain` | character | string indicating the domain | |`pts_w_fact` | numeric | the number of patients who have a fact within the time period | |`sum_fact_ct` | numeric | the total number of facts per patient within the time period | |`median_fact_ct` | numeric | the median number of facts per patient within the time period | |`pt_ct_denom` | numeric | the total number of eligible patients from the cohort within the time period | |`pts_w_visit` | numeric | the number of patients with a visit of the type of interest within the time period | |`prop_pts_fact` | numeric | the proportion of patients with the domain of interest out of all patients with a visit of the visit type of interest during the time period | {.dqcheck-table} The raw data output of this check produces eleven columns of data for analysis in monthly or weekly time intervals: <br> | Column | Data Type | Definition | |-------------------|-----------|--------------------------------------------------------------------------------------------------------------------| |`observed` | numeric | the original proportion of patients | |`season` | numeric | the seasonal component of the time series | |`trend` | numeric | the trend component of the time series | |`remainder` | numeric | the residual component after "season" and "trend" are removed from "observed" - target of anomaly detection | |`seasadj` | numeric | the adjusted seasonal component | |`anomaly` | character | a flag to indicate whether the proportion is an anomaly | |`anomaly_direction` | numeric | the direction of the anomaly (upper or lower) | |`anomaly_score` | numeric | the distance between the anomaly and the centerline | |`recomposed_l1` | numeric | the lower level bound of the processed time series used to identify lower outliers | |`recomposed_l2` | numeric | the upper level bound of the processed time series used to identify upper outliers | |`observed_clean` | numeric | the original proportion after the season and trend components have been removed and anomalies have been detected | {.dqcheck-table} |
| local.description.viz | This check output depends on the time increment input by the user. For yearly time increments, the check outputs a control chart visualization that highlights anomalies in the proportion of patients with a given fact type in the provided variable. anomalous proportion of patients are represented by orange dots. Blue dots represent non-anomalous values. The time increment (x-axis) is in years. For smaller time increments (by month or smaller) the check outputs two graphs to visualize anomalies while ignoring seasonality. The first is a time series line graph with anomalies indicated by red dots. The second graph is a four-facet time series line graph that demonstrates the decomposition of the anomalies to clarify how the anomalies were identified. For each output, a tooltip provides each point's exact coordinates upon hover. |
| local.dqcheck.category | Completeness |
| local.dqcheck.clinicalprobe | Clinical Follow-Up |
| local.dqcheck.clinicalprobe | Utilization Patterns |
| local.dqcheck.measurement | Time Series Anomalies |
| local.dqcheck.measurement | Seasonal-Trend Decomposition Using LOESS |
| local.dqcheck.probe | Information Density |
| local.dqcheck.probe | Temporality Consistency Check |
| local.dqcheck.probe | Missing Expected Data |
| local.dqcheck.requirement | cohort |
| local.dqcheck.requirement | study_name |
| local.dqcheck.requirement | patient_level_tbl |
| local.dqcheck.requirement | visit_types |
| local.dqcheck.requirement | omop_or_pcornet |
| local.dqcheck.requirement | multi_or_single_site |
| local.dqcheck.requirement | time |
| local.dqcheck.requirement | time_span |
| local.dqcheck.requirement | time_period |
| local.dqcheck.requirement | p_value |
| local.dqcheck.requirement | age_groups |
| local.dqcheck.requirement | anomaly_or_exploratory |
| local.dqcheck.requirement | domain_tbl |
| local.dqcheck.requirement | visit_type_table |
| local.dqcheck.type | Cohort Fitness |
| local.dqcheck.viz | Control Chart |
| relation.isCodeOfDQCheck | 929c8dfc-2c8b-4e62-8e1d-0fa06c542832 |
| relation.isCodeOfDQCheck.latestForDiscovery | 929c8dfc-2c8b-4e62-8e1d-0fa06c542832 |
| relation.isDQResultOfDQCheck | 5c9b74cb-f7a8-426d-aa9c-a54080b6bfa4 |
| relation.isDQResultOfDQCheck.latestForDiscovery | 5c9b74cb-f7a8-426d-aa9c-a54080b6bfa4 |
