boolRule brScore

High Volume Medical Record Screening

Scénario de test & Cas d'usage

Business Context

A hospital network needs to screen 100,000 patient history records overnight to identify potential candidates for a clinical trial based on specific comorbidity patterns defined by boolean logic.
About the Set : boolRule

Extraction of Boolean rules for classification.

Discover all actions of boolRule
Data Preparation

Simulation of a large dataset with 100,000 documents and random term associations to stress test the action.

Copied!
1 
2DATA casuser.large_patient_data;
3call streaminit(12345);
4DO patient_id = 1 to 100000;
5DO k = 1 to 5;
6term_code = rand('integer', 1, 50);
7OUTPUT;
8END;
9END;
10 
11RUN;
12 
13DATA casuser.trial_rules;
14INPUT ruleid termid;
15DATALINES;
161 10 1 20 2 5 2 15 ;
17 
18RUN;
19 

Étapes de réalisation

1
Running brScore with threading enabled to handle the large volume of data efficiently.
Copied!
1 
2PROC CAS;
3boolRule.brScore TABLE={name='large_patient_data', caslib='casuser'} ruleTerms={name='trial_rules', caslib='casuser'} docId='patient_id' termId='term_code' nThreads=8 casOut={name='trial_candidates', caslib='casuser', replace=true};
4 
5QUIT;
6 

Expected Result


The action completes successfully without memory errors. The 'trial_candidates' table contains 100,000 rows (one per patient) with binary flags indicating if they meet the criteria for Rule 1 or Rule 2.