User Activity

Published

Last Updated on 06-November-2024

Operative-Log Functionality

The level of activity of each user in the Operative Log functionality is measured primarily, but not only, by the number of personal registries. The following plots depict the 20 users with the highest number of personal registries created throughout different time-frames according to date of surgery.

Note

You can know your number of records in the platform thanks to the first variable of the personal registry form that acts as a counter.

Personal Registries Created per User

20-First Users

Code
oplog_20_plot()

Code
oplog_20_plot(2023, 1:6)

Code
oplog_20_plot(2023, 7:12)

Code
oplog_20_plot(2023)

Code
oplog_20_plot(2024,1:6)

Code
oplog_20_plot(2024,7:12)

Code
oplog_20_plot(2024)

Warning

You can find out your user code by using the Operative-Log application or by consulting your center’s data download file from the data platform (columns User_ID and Username in the excel sheet “Form3”).


Surgical Role

The following plots represent the professionals´ role played in the surgical procedure. The role “none” should correspond to those users who did not participate in a surgical procedure, but included a certain patient in the process of anatomical lung resections (or in future ReSECT processes).

Greater variation over time, in favour of a profile with a less responsible surgical role, should indicate greater use of the operative-log functionality.

Code
oplog_rol()

Code
oplog_rol(2023)

Code
oplog_rol(2024)

Operative-Log Personal Participation Index

Operative-Log Personal Participation Index (PPIOp-Log) is intended to represent the use of the ReSECT platform as a registry of personal surgical activity. In addition to the number of procedures recorded and data quality based on missing values per procedure, variability in the user´s surgical role and spectrum of procedures are weighted to obtain this metric.

PPIOp-Log is calculated for overall, annual and six-monthly periods according to the date of surgery. Therefore the index for the first half of the year 2023 is only obtained from patients operated on that period. Although the operative log functionality allows for the retrospective inclusion of patients, calculations for this index start on January 1, 2023.

\[PPI_{Op-Log} = \frac{NºRegistries + Variability}{ 1 + \frac{Missing}{Nº Registries}}\]

Note
  • Those personal registries that correspond to interventions in which the user did not participate, according to information contained in the variable ‘participation in the surgical procedure’, are not taken into account for the construction of this index.

  • The longer the time period for which the index is calculated, the greater the impact of the number of registries over the variability of the procedures. Therefore, the index over an annual period will not coincide with the sum of the six-monthly indices, nor will the overall index coincide with the sum of the annual indices.

Code
oplog_index(2023)
Code
oplog_index(2023,1:6)
Code
oplog_index(2023, 7:12)
Code
oplog_index(2023, 1:12)
Code
oplog_index(2024, 1:6)
Code
oplog_index(2024, 7:12)
Code
oplog_index(2024, 1:12)


Anatomical Lung Resection Process

Participation of each user in the anatomical lung resection process is evaluated independently for each of the forms integrating this process. The level of activity in this process is mainly dependent on the number of forms created by each user.

Forms Created per User

Code
rpa_user_forms_created(a_rpaPreop)

Code
rpa_user_forms_created(a_rpaCirugia)

Code
rpa_user_forms_created(a_rpaPostop)

Code
rpa_user_forms_created(a_rpaDx)

Code
rpa_user_forms_created(a_rpaFollow)


ALR Personal Participation Index

This index represents the commitment and quality of data recorded by each user within the anatomical lung resection (ALR) process. It is calculated from three metrics: number of forms assigned to the user, annual surgical volume in the user´s centre and rate of missing values per form assigned to the user. Missing values are computed from a total of 35 variables throughout the five forms integrating the ALR process.

PPIALR is calculated for overall, annual and six-monthly periods according to the date of surgical intervention, in such a way that the index for the first semester in 2023 is only obtained from patients operated on during that period.

Important

The method of obtaining the annual surgical volume depends on the ratio between the number of lobectomies-pneumonectomies registered in ReSECT (LPn.ReSECT) and the number of lobectomies-pneumonectomies coded by the clinical documentation service of each centre (LPn.Audit):

  • If LPn.ReSECT < LPn.Audit,

Volume = LPn.Audit + (Segments.ReSECT * LPn.Audit/LPn.ReSECT)

  • If LPn.ReSECT > LPn.Audit, (*)

Volume = LPn.ReSECT + Segments.ReSECT

(*)Deviations of more than 10% between figures recorded in ReSECT vs. figures reported by clinical documentation services may require additional checks.

The audited volume of a given year is used for the calculation of the immediately following year (source = postAudit). If the previous year was not audited, the number of beds in the centre will be used by default. As a result, not having been audited in the previous year will lead to lower participation rates for the current year.

\[PPI_{ALR} = \frac{NºForms}{\sqrt{\frac{Volume}{2}} + (5*\frac{Missing}{Forms})}\]

The main points about PPIALR are:

  • Parameters in decreasing order of relevance to determine PPIALR index are: number of forms > rate of missing values per form > surgical volume.

  • Since each record in the ALR process can contain up to 5 forms (preop, surgery, postop, diagnosis and follow-up), the number of forms will not necessarily be in line with the number of procedures recorded (e.g, 10 records can correspond from 10 to 50 forms).

  • Only forms belonging to a first anatomical lung resection will be counted for each patient.

  • Only forms created and last saved by the same user will be considered to determine PPIALR index. The only exception to this criterion is the Follow-Up form, in which case only the form that was last saved is considered for the purpose of assigning it to a particular user.

  • In the case of users who have participated in ReSECT on behalf of different hospitals, only the last centre of membership during the time period in question will be considered for the purpose of metrics assessing the volume of care.


Code
rpa_user_index(2023, 1:6)
Code
rpa_user_index(2023, 7:12)
Code
rpa_user_index(2023, 1:12)
Code
rpa_user_index(2024, 1:6)
Code
rpa_user_index(2024, 7:12)
Code
rpa_user_index(2024, 1:12)

Overall PPIALR

Code
names_df_rpa_ppi <- ls(pattern="^df_rpa_ppi_202")
list_df_rpa_ppi <- lapply(names_df_rpa_ppi, get)
df_rpa_ppi_overall <- do.call(rbind, list_df_rpa_ppi)


df_rpa_ppi_overall %>% 
  filter(source == "Audit") %>%
  group_by(mod_user, hospital) %>% 
  mutate(PPI = sum(PPI, na.rm = TRUE)) %>%
  distinct(mod_user, .keep_all = TRUE ) %>% 
  select(mod_user, PPI) %>%
  arrange(desc(PPI)) %>%
  head(n=10) %>% 
  ggplot(aes(x = forcats::fct_reorder(mod_user, PPI), y = PPI)) +
    geom_col(aes(fill = fct_reorder(as.factor(hospital), 1/PPI)), color="black")+
    scale_fill_brewer(direction = 1)+
    geom_label(aes(label = round(PPI,1)), size=2)+
    coord_flip() +
    theme_minimal()+
    labs(x = "User\n", y = "\nOverall PPI", fill="Hospital", 
         caption = "Ten most active users. \n Only the indices resulting from audited years are aggregated.")

Warning

PPIOp-Log and PPIALR indexes are not static metrics for a given period of time and will therefore be modified as long as the user enters data regarding patients operated on during that period.


PPIALR Simulation

This table represents a simulation for each of the variables involved in the calculation of the PPIALR.

The possible values for each variable are based on the most plausible ranges: surgical volume (20-200, steps = 20), number of missing values per form (0-4, steps = 0.1) and number of forms assigned to each user (100-1000, step = 50). Remember that each procedure can hold up to five forms. The simulation discards those combinations of values with a number of forms greater than five times the surgical volume.

A total of 4100 simulations are considered for a better understanding of the impact of each parameter on the recognition of each user’s collaboration with the ALR process.

Code
expand.grid(
  Forms = seq(100,1000,50), 
  Missing_Form = seq(0,4,0.1), 
  Volume = seq(20,200,20)) %>%
  mutate(
    PPI = Forms / (sqrt(Volume/2) + (5 * Missing_Form)),
    Missing_Form = Missing_Form,
    Volume = Volume) %>%
  filter(Forms <= Volume * 5)  %>% 
  mutate_at(vars(Volume, Forms), as.integer) %>%
  datatable(
    rownames = FALSE,
    filter = 'top',
    options = list(
        order = list(3, 'desc'),
        lengthMenu = list(
        c(20, 50, 100, -1),
        c('20','50', '100', 'All')
      )
  ))  %>%
  formatRound(columns = 1:4, digits = c(0,1,0,3)) %>% 
  formatStyle(columns = 1:4, fontSize = "80%")
Back to top