Hi Folks, This is going to be big discussion, Keep focused and share your only usefull or helpfull ideas
and It will be great help if could share the codes
[Note: People who know how to text don't comment i don't want trash opinions in my post]
Rule 1: Line of therapy will be defined as all eligible treatments given within 28 days. The name of the “regimen” for that line of therapy is a combination of therapies in that line
Understanding of Rule 1:
Example: Records:
Patientid | Drug name | Start date | End date | Start date + 28 |
1001 | A | 1-Jan-24 | 15-Jan-24 | 29-Jan-24 |
1001 | B | 15-Jan-24 | 25-Jan-24 |
|
1001 | C | 1-Feb-24 | 15-Feb-24 | 29-Feb-24 |
1001 | D | 16-Feb-24 | 20-Feb-24 |
|
Transformed Records
Patientid | Drug name | Start date | End date | Line number |
1001 | A + B | 1-Jan-24 | 25-Jan-24 | 1 |
1001 | C + D | 1-Feb-24 | 20-Feb-24 | 2 |
Rule 2: • CAR-T cellular therapy infusions always advance a line of therapy. Any treatment started within 14 days before CAR-T cell infusion as part of a conditioning regimen are ineligible for line of therapy.
[Note: Before LoT development itself we will drop records which ever comes on or in between CAR-T start date - 14 days
We have two CAR-T drugs: Drug_B_A, Drug_UTC]
Understanding of Rule 2:
Secenarion 1: where CAR-T comes later(second or latter) after the first drug start 28 days interval | |||||
Patientid | Drug_name | Start date | End date | start date +28 | |
1001 | A | 1-Jan | 15-Feb | 29-Jan | |
1001 | Drug_B_A | 20-Jan | 20-Jan |
| |
Patientid | Drug_name | Start date | End date | Line number | |
1001 | A | 1-Jan | 15-Feb | 1 | |
1001 | Drug_B_A | 20-Jan | 20-Jan | 2 |
Secenario 2: After Advancement CAR-T start date +28 will be one line |
|
| |||
| Patientid | Drug_name | Start date | End date | start date +28 |
| 1001 | A | 1-Jan | 15-Feb |
|
| 1001 | Drug_UTC | 20-Jan | 20-Jan | 17-Feb |
| 1001 | B | 15-Feb | 20-Feb |
|
|
|
|
|
|
|
| Patientid | Drug_name | Start date | End date | Line number |
| 1001 | A | 1-Jan | 15-Feb | 1 |
| 1001 | Drug_UTC + B | 20-Jan | 20-Feb | 2 |
Rule 3: When an episode of Drug_RU, Drug_OB, and Drug_OF occurs one day before a new line-defining episode, the day of Drug_RU, Drug_OB, and Drug_OF episode is used as the start date for the new line
Understanding of the Rule:
Patientid | Drug_name | Start date | End date | start date +28 |
1001 | A | 1-Jan-24 | 15-Feb-24 | 29-Jan-24 |
1001 | B | 24-Jan-24 | 29-Jan-24 |
|
1001 | Drug_OB | 29-Jan-24 | 15-Mar-24 |
|
1001 | C | 30-Jan-24 | 20-Mar-24 |
|
Transformed Records
Patientid | Drug name | Start date | End date | Line number |
1001 | A+B | 1-Jan-24 | 29-Jan-24 | 1 |
1001 | Drug_OB + C | 29-Jan-24 | 20-Mar-24 | 2 |
patientid | drugname | start_date | end_date | stdt_28 | stdt_60 |
1001 | Drug_IX | 1-Dec-18 | 1-Jan-19 | 29-Dec-18 | 30-Jan-19 |
1001 | Drug_RU | 1-Dec-18 | 1-Jan-19 |
|
|
1001 | Drug_RU | 19-Jan-21 | 20-Jan-21 |
|
|
1001 | Drug_IX | 21-Jun-21 | 23-Jun-21 |
|
|
Transformed |
|
|
|
|
|
patientid | drugname | start_date | end_date | Line number |
|
1001 | Drug_IX, Drug_RU | 1-Dec-18 | 20-Jan-21 | 1 |
|
1001 | Drug_IX | 21-Jun-21 | 23-Jun-21 | 2 |
|
Secenario - 1 | Different drugs |
|
|
|
|
| Transformed |
|
|
|
| |
| Patientid | Drug_name | Start date | End date |
| Previous end date - subsequent start date | Patientid | Drug_name | Start date | End date | Line_number | |
| 1001 | A | 1-Jan-24 | 15-Jan-24 |
| 1/15/2024 - 05/15/2024 | 1001 | A | 1-Jan | 15-Jan | 1 | |
| 1001 | B | 15-May-24 | 25-May-24 |
| 121 |
| 1001 | B | 15-May | 25-May | 2 |
Secenario - 2 | Same drugs retaining over the time |
|
|
|
|
| Transformed |
|
|
|
| |
| Patientid | Drug_name | Start date | End date |
| Previous end date - subsequent start date | Patientid | Drug_name | Start date | End date | Line_number | |
| 1001 | A+B | 1-Jan-24 | 15-Jan-24 |
| 1/15/2024 - 02/01/2024 | 1001 | A+B | 1-Jan | 25-May-24 | 1 | |
| 1001 | A | 1-Feb-24 | 25-May-24 |
| 17 |
|
|
|
|
|
|
Patientid | Drug_name | Start date | End date | Start date + 28 | Start date + 60 | End date + 90 |
|
|
|
|
1001 | A | 1-Jan-24 | 20-Jan-24 | 29-Jan-24 | 1-Mar-24 |
|
|
|
|
|
1001 | B | 10-Jan-24 | 30-Jan-24 |
|
|
| 40 |
| Combine? A+ B + Ritu | |
1001 | Drug_RU | 10-Mar-24 | 25-May-24 |
|
| 23-Aug-24 |
|
|
|
|
Patientid | Drug_name | Start date | End date | Start date + 28 | Start date + 60 | End date + 90 |
1001 | A | 1-Jan-24 | 15-Jan-24 | 29-Jan-24 | 1-Mar-24 |
|
1001 | Drug_RU | 15-Jan-24 | 25-Jan-24 |
|
| 24-Apr-24 |
1001 | B | 26-Jan-24 | 15-Feb-24 |
|
| 15-May-24 |
1001 | C | 15-Jul-24 | 25-Jul-24 |
|
|
|
1001 | D | 15-Oct-24 | 20-Oct-24 |
|
|
|
1001 | E | 17-Oct-24 | 20-Oct-24 |
|
|
|
Raw Records |
|
|
|
| |
Patientid | Drug_name | Start date | End date | Start date + 28 | Start date + 60 |
1001 | A | 1-Jan-24 | 15-Jan-24 | 29-Jan-24 | 1-Mar-24 |
1001 | B | 15-Jan-24 | 25-Jan-24 |
|
|
1001 | C | 31-Jan-24 | 15-Feb-24 |
|
|
|
|
|
|
|
|
Transform |
|
|
|
|
|
Patientid | Drug_name | Start date | End date | Line_number |
|
1001 | A + B | 1-Jan-24 | 25-Jan-24 | 1 |
|
1001 | C | 31-Jan-24 | 15-Feb-24 | 2 |
|
Example;
Records |
|
|
|
| |
Patientid | Drug_name | Start date | End date | Start date + 28 | Start date + 60 |
1001 | A | 1-Jan-24 | 15-Jan-24 | 29-Jan-24 | 1-Mar-24 |
1001 | B | 15-Jan-24 | 25-Jan-24 |
|
|
1001 | A | 1-Feb-24 | 15-Feb-24 | 29-Feb-24 |
|
1001 | D | 16-Feb-24 | 20-Feb-24 |
|
|
|
|
|
|
|
|
Transform |
|
|
|
|
|
Patientid | Drug_name | Start date | End date | Line_number |
|
1001 | A + B | 1-Jan-24 | 15-Feb-24 | 1 |
|
1001 | D | 16-Feb-24 | 20-Feb-24 | 2 |
|
Table - 1 |
|
|
|
|
|
|
| Table - 2 |
|
|
|
|
|
|
Patientid | Drug_name | Start date | End date | Start date + 28 | Start date + 60 |
|
| Patientid | Drug_name | Start date | End date | Start date + 28 | Start date + 60 | |
1001 | A | 1-Jan | 15-Jan | 29-Jan | 1-Mar |
|
| 1001 | A | 1-Jan | 15-Jan | 29-Jan | 1-Mar |
|
1001 | B | 15-Jan | 29-Jan |
|
|
|
| 1001 | B | 15-Jan | 29-Jan |
|
|
|
1001 | Drug_MS | 25-Jan | 25-Feb |
|
|
|
| 1001 | Drug_MS | 2-Feb | 10-Feb |
|
|
|
1001 | C | 1-Feb | 15-Feb | 29-Feb |
|
|
| 1001 | C | 11-Feb | 15-Feb | 10-Mar |
|
|
1001 | D | 16-Feb | 20-Feb |
|
|
|
| 1001 | D | 16-Feb | 20-Feb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final |
|
|
|
|
|
|
| final |
|
|
|
|
|
|
Patientid | Drug_name | Start date | End date | Line _number |
|
|
| Patientid | Drug_name | Start date | End date |
|
|
|
1001 | A + B + Drug_MS | 1-Jan | 29-Jan | 1 |
|
|
| 1001 | A + B + Drug_MS | 1-Jan | 29-Jan | 1 |
|
|
1001 | C + D + Drug_MS | 1-Feb | 20-Feb | 2 |
|
|
| 1001 | C + D | 11-Feb | 20-Feb | 2 |
|
|
I want to combine all the Rules and code for it
Even ideas and approching ways and base code something like that also will be usefull if you share it
So guys kindly comment IF you can't understand any rules
KIndly help me out
First useful and possibly quite critical comment:
Provide some example data in the form of a working data step posted in a text box. The data should be typical of what you have. The working data step is so we understand your data. For instance, with some "table" copied from a word processor or spreadsheet we cannot tell which of your variables are numeric or text, whether your "dates" are proper SAS date values or character. This a an extremely critical bit when doing any manipulation related to date manipulation as otherwise the first step is to create actual date values.
Second, make sure you are consistent internally in your description, use VARIABLE names (see first comment about data step). You start with " therapy will be defined as all eligible treatments ". Since there is no column or variable indicated as having a name of Treatment then we are left guessing what that actually means. Same with "Line of Therapy (LoT)", not clearly defined. Other instances of not defined, please fix them. There is nothing shown that identifies what a "CAR-T" is.
Third, since there may be some order dependence going on is a "Drug_A_B" actually different than a "Drug_B_A" value in later processing?
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.