Skip to content

bupaverse/processcheckR

Repository files navigation

processcheckR

CRAN status R-CMD-check Codecov Lifecycle: stable

The goal of processcheckR is to support rule-based conformance checking. Currently the following declarative rules can be checked:

Cardinality rules:

  • absent: activity does not occur more than n - 1 times,
  • contains: activity occurs n times or more,
  • contains_between: activity occurs between n and m times,
  • contains_exactly: activity occurs exactly n times.

Ordering rules:

  • starts: case starts with activity,
  • ends: case ends with activity,
  • succession: if activity A happens, B should happen after. If B happens, A should have happened before,
  • response: if activity A happens, B should happen after,
  • precedence: if activity B happens, A should have happened before,
  • responded_existence: if activity A happens, B should also (have) happen(ed) (i.e. before or after A).

Exclusiveness:

  • and: two activities always exist together,
  • xor: two activities are not allowed to exist together.

Rules can be checked using the check_rule and check_rules functions (see example below). It will create a new logical variable to indicate for which cases the rule holds. The name of the variable can be configured using the label argument in check_rule.

Installation

You can install processcheckR from CRAN with:

install.packages("processcheckR")

Development Version

You can also install the latest (stable) development version with bugfixes and new features directly from GitHub:

# install.packages("devtools")
devtools::install_github("bupaverse/processcheckR")

Example

library(bupaR)
#> 
#> Attaching package: 'bupaR'
#> The following object is masked from 'package:stats':
#> 
#>     filter
#> The following object is masked from 'package:utils':
#> 
#>     timestamp
library(processcheckR)
#> 
#> Attaching package: 'processcheckR'
#> The following object is masked from 'package:base':
#> 
#>     xor
sepsis %>%
  # Check if cases starts with "ER Registration".
  check_rule(starts("ER Registration"), label = "r1") %>%
  # Check if activities "CRP" and "LacticAcid" occur together.
  check_rule(and("CRP","LacticAcid"), label = "r2") %>%
  group_by(r1, r2) %>%
  n_cases() 
#> # A tibble: 4 × 3
#>   r1    r2    n_cases
#>   <lgl> <lgl>   <int>
#> 1 FALSE FALSE      10
#> 2 FALSE TRUE       45
#> 3 TRUE  FALSE     137
#> 4 TRUE  TRUE      858

About

Rule-based conformance checking and filtering

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy