Skip to contents

The respiratory_01 function filters and analyzes data related to emergency 911 respiratory distress incidents, providing summary statistics for adult and pediatric populations. This function uses specific data columns for 911 response codes, primary and secondary impressions, and vital signs to calculate the proportion of cases with complete vital signs recorded, stratified by age.

Usage

respiratory_01(
  df = NULL,
  patient_scene_table = NULL,
  response_table = NULL,
  situation_table = NULL,
  vitals_table = NULL,
  erecord_01_col,
  incident_date_col = NULL,
  patient_DOB_col = NULL,
  epatient_15_col,
  epatient_16_col,
  eresponse_05_col,
  esituation_11_col,
  esituation_12_col,
  evitals_12_col,
  evitals_14_col,
  ...
)

Arguments

df

A data frame containing incident data with each row representing an observation.

patient_scene_table

A data.frame or tibble containing at least epatient and escene fields as a fact table.

response_table

A data.frame or tibble containing at least the eresponse fields needed for this measure's calculations.

situation_table

A data.frame or tibble containing at least the esituation fields needed for this measure's calculations.

vitals_table

A data.frame or tibble containing at least the evitals fields needed for this measure's calculations.

erecord_01_col

Unique Patient ID

incident_date_col

Column that contains the incident date. This defaults to NULL as it is optional in case not available due to PII restrictions.

patient_DOB_col

Column that contains the patient's date of birth. This defaults to NULL as it is optional in case not available due to PII restrictions.

epatient_15_col

Column giving the calculated age value.

epatient_16_col

Column giving the provided age unit value.

eresponse_05_col

Column name for 911 response codes (e.g., 2205001, 2205003, 2205009).

esituation_11_col

Column name for primary impression codes related to respiratory distress.

esituation_12_col

Column name for secondary impression codes related to respiratory distress.

evitals_12_col

Column name for the first vital sign measurement.

evitals_14_col

Column name for the second vital sign measurement.

...

arguments passed to dplyr::summarize().

Value

A tibble summarizing results for the Adults, Peds, and all records with the following columns:

measure: The name of the measure being calculated. pop: Population type (Adults, Peds, All). numerator: Count of EMS responses originating from a 911 request for patients with primary or secondary impression of respiratory distress who had a respiratory assessment. denominator: Total count of incidents. prop: Proportion of EMS responses originating from a 911 request for patients with primary or secondary impression of respiratory distress who had a respiratory assessment. prop_label: Proportion formatted as a percentage with a specified number of decimal places.

Author

Nicolas Foss, Ed.D., MS

Examples

# Synthetic test data
test_data <- tibble::tibble(
  erecord_01 = c("R1", "R2", "R3", "R4", "R5"),
  epatient_15 = c(34, 5, 45, 2, 60),  # Ages
  epatient_16 = c("Years", "Years", "Years", "Months", "Years"),
  eresponse_05 = rep(2205001, 5),
  esituation_11 = c(rep("J80", 3), rep("I50.9", 2)),
  esituation_12 = c(rep("J80", 2), rep("I50.9", 3)),
  evitals_12 = c(60, 59, 58, 57, 56),
  evitals_14 = c(16, 15, 14, 13, 12)
)

# Run the function
respiratory_01(
  df = test_data,
  erecord_01_col = erecord_01,
  epatient_15_col = epatient_15,
  epatient_16_col = epatient_16,
  eresponse_05_col = eresponse_05,
  esituation_11_col = esituation_11,
  esituation_12_col = esituation_12,
  evitals_12_col = evitals_12,
  evitals_14_col = evitals_14
)
#> 
#> ── Respiratory-01 ──────────────────────────────────────────────────────────────
#> 
#> ── Gathering Records for Respiratory-01 ──
#> 
#> Running `respiratory_01_population()`  [Working on 1 of 13 tasks] ●●●──────────
#> Running `respiratory_01_population()`  [Working on 2 of 13 tasks] ●●●●●●───────
#> Running `respiratory_01_population()`  [Working on 3 of 13 tasks] ●●●●●●●●─────
#> Running `respiratory_01_population()`  [Working on 4 of 13 tasks] ●●●●●●●●●●───
#> Running `respiratory_01_population()`  [Working on 5 of 13 tasks] ●●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 6 of 13 tasks] ●●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 7 of 13 tasks] ●●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 8 of 13 tasks] ●●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 9 of 13 tasks] ●●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 10 of 13 tasks] ●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 11 of 13 tasks] ●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 12 of 13 tasks] ●●●●●●●●●●●●
#> Running `respiratory_01_population()`  [Working on 13 of 13 tasks] ●●●●●●●●●●●●
#> 
#> 
#> 
#> ── Calculating Respiratory-01 ──
#> 
#> 
#>  Function completed in 0.19s.
#> 
#> # A tibble: 3 × 6
#>   measure        pop    numerator denominator  prop prop_label
#>   <chr>          <chr>      <int>       <int> <dbl> <chr>     
#> 1 Respiratory-01 Adults         3           3     1 100%      
#> 2 Respiratory-01 Peds           2           2     1 100%      
#> 3 Respiratory-01 All            5           5     1 100%