From d4eca0d54030f16efe6aa6fd343f7477c53d9e69 Mon Sep 17 00:00:00 2001 From: eljanssens Date: Sun, 10 May 2026 18:06:00 +0200 Subject: [PATCH 1/2] created CG0045 based on specifications --- Unpublished/NEW-RULE/negative/01/data/.env | 2 + .../NEW-RULE/negative/01/data/_datasets.csv | 2 + .../NEW-RULE/negative/01/data/_variables.csv | 18 ++++ Unpublished/NEW-RULE/negative/01/data/cm.csv | 12 +++ .../NEW-RULE/negative/01/results/results.csv | 11 +++ .../NEW-RULE/negative/01/results/results.json | 1 + Unpublished/NEW-RULE/negative/02/data/.env | 2 + .../NEW-RULE/negative/02/data/_datasets.csv | 2 + .../NEW-RULE/negative/02/data/_variables.csv | 13 +++ Unpublished/NEW-RULE/negative/02/data/mh.csv | 9 ++ .../NEW-RULE/negative/02/results/results.csv | 17 ++++ .../NEW-RULE/negative/02/results/results.json | 1 + Unpublished/NEW-RULE/positive/01/data/.env | 2 + .../NEW-RULE/positive/01/data/_datasets.csv | 2 + .../NEW-RULE/positive/01/data/_variables.csv | 18 ++++ Unpublished/NEW-RULE/positive/01/data/cm.csv | 11 +++ .../NEW-RULE/positive/01/results/results.csv | 1 + .../NEW-RULE/positive/01/results/results.json | 1 + Unpublished/NEW-RULE/positive/02/data/.env | 2 + .../NEW-RULE/positive/02/data/_datasets.csv | 2 + .../NEW-RULE/positive/02/data/_variables.csv | 13 +++ Unpublished/NEW-RULE/positive/02/data/mh.csv | 10 ++ .../NEW-RULE/positive/02/results/results.csv | 1 + .../NEW-RULE/positive/02/results/results.json | 1 + Unpublished/NEW-RULE/rule.yml | 96 +++++++++++++++++++ 25 files changed, 250 insertions(+) create mode 100644 Unpublished/NEW-RULE/negative/01/data/.env create mode 100644 Unpublished/NEW-RULE/negative/01/data/_datasets.csv create mode 100644 Unpublished/NEW-RULE/negative/01/data/_variables.csv create mode 100644 Unpublished/NEW-RULE/negative/01/data/cm.csv create mode 100644 Unpublished/NEW-RULE/negative/01/results/results.csv create mode 100644 Unpublished/NEW-RULE/negative/01/results/results.json create mode 100644 Unpublished/NEW-RULE/negative/02/data/.env create mode 100644 Unpublished/NEW-RULE/negative/02/data/_datasets.csv create mode 100644 Unpublished/NEW-RULE/negative/02/data/_variables.csv create mode 100644 Unpublished/NEW-RULE/negative/02/data/mh.csv create mode 100644 Unpublished/NEW-RULE/negative/02/results/results.csv create mode 100644 Unpublished/NEW-RULE/negative/02/results/results.json create mode 100644 Unpublished/NEW-RULE/positive/01/data/.env create mode 100644 Unpublished/NEW-RULE/positive/01/data/_datasets.csv create mode 100644 Unpublished/NEW-RULE/positive/01/data/_variables.csv create mode 100644 Unpublished/NEW-RULE/positive/01/data/cm.csv create mode 100644 Unpublished/NEW-RULE/positive/01/results/results.csv create mode 100644 Unpublished/NEW-RULE/positive/01/results/results.json create mode 100644 Unpublished/NEW-RULE/positive/02/data/.env create mode 100644 Unpublished/NEW-RULE/positive/02/data/_datasets.csv create mode 100644 Unpublished/NEW-RULE/positive/02/data/_variables.csv create mode 100644 Unpublished/NEW-RULE/positive/02/data/mh.csv create mode 100644 Unpublished/NEW-RULE/positive/02/results/results.csv create mode 100644 Unpublished/NEW-RULE/positive/02/results/results.json create mode 100644 Unpublished/NEW-RULE/rule.yml diff --git a/Unpublished/NEW-RULE/negative/01/data/.env b/Unpublished/NEW-RULE/negative/01/data/.env new file mode 100644 index 000000000..8f9bf60aa --- /dev/null +++ b/Unpublished/NEW-RULE/negative/01/data/.env @@ -0,0 +1,2 @@ +PRODUCT=SDTMIG +VERSION=3-4 diff --git a/Unpublished/NEW-RULE/negative/01/data/_datasets.csv b/Unpublished/NEW-RULE/negative/01/data/_datasets.csv new file mode 100644 index 000000000..396eaafcb --- /dev/null +++ b/Unpublished/NEW-RULE/negative/01/data/_datasets.csv @@ -0,0 +1,2 @@ +Filename,Label +cm,Concomitant/Prior Medications diff --git a/Unpublished/NEW-RULE/negative/01/data/_variables.csv b/Unpublished/NEW-RULE/negative/01/data/_variables.csv new file mode 100644 index 000000000..47c15b9ac --- /dev/null +++ b/Unpublished/NEW-RULE/negative/01/data/_variables.csv @@ -0,0 +1,18 @@ +dataset,variable,label,type,length +cm,STUDYID,Study Identifier,Char,12 +cm,DOMAIN,Domain Abbreviation,Char,2 +cm,USUBJID,Unique Subject Identifier,Char,8 +cm,CMSEQ,Sequence Number,Num,8 +cm,CMTRT,"Reported Name of Drug, Med, or Therapy",Char,200 +cm,CMINDC,Indication,Char,200 +cm,CMDOSE,Dose per Administration,Num,8 +cm,CMDOSU,Dose Units,Char,6 +cm,CMDOSFRQ,Dosing Frequency per Interval,Char,3 +cm,CMROUTE,Route of Administration,Char,24 +cm,EPOCH,Epoch,Char,9 +cm,CMSTDTC,Start Date/Time of Medication,Char,10 +cm,CMENDTC,End Date/Time of Medication,Char,10 +cm,CMSTDY,Study Day of Start of Medication,Num,8 +cm,CMENDY,Study Day of End of Medication,Num,8 +cm,CMENRTPT,End Relative to Reference Time Point,Char,7 +cm,CMENTPT,End Reference Time Point,Char,10 diff --git a/Unpublished/NEW-RULE/negative/01/data/cm.csv b/Unpublished/NEW-RULE/negative/01/data/cm.csv new file mode 100644 index 000000000..c16fe7791 --- /dev/null +++ b/Unpublished/NEW-RULE/negative/01/data/cm.csv @@ -0,0 +1,12 @@ +STUDYID,DOMAIN,USUBJID,CMSEQ,CMTRT,CMINDC,CMDOSE,CMDOSU,CMDOSFRQ,CMROUTE,EPOCH,CMSTDTC,CMENDTC,CMSTDY,CMENDY,CMENRTPT,CMENTPT +CDISCPILOT01,CM,CDISC003,1,ADVIL,PROPHYLAXIS OR NON-THERAPEUTIC USE,2,TABLET,,ORAL,SCREENING,2010,,,,ONGOING,2014-02-13 +CDISCPILOT01,CM,CDISC003,2,MULTIVITAMINS,PROPHYLAXIS OR NON-THERAPEUTIC USE,1,TABLET,,ORAL,SCREENING,2010,,,,ONGOING,2014-02-13 +CDISCPILOT01,CM,CDISC003,3,EXCEDRIN,PROPHYLAXIS OR NON-THERAPEUTIC USE,2,TABLET,,ORAL,SCREENING,2011,,,,ONGOING,2014-02-13 +CDISCPILOT01,CM,CDISC003,4,METAMUCIL,PROPHYLAXIS OR NON-THERAPEUTIC USE,2,TABLET,,ORAL,SCREENING,2012-03-01,,-546,,ONGOING,2014-02-13 +CDISCPILOT01,CM,CDISC003,5,NEO-SYNEPHRINE,PROPHYLAXIS OR NON-THERAPEUTIC USE,1,TABLET,,NASAL,TREATMENT,2013-09-01,2013-09-30,4,33,, +CDISCPILOT01,CM,CDISC003,6,PSEUDOEPHEDRINE HYDROCHLORIDE,PROPHYLAXIS OR NON-THERAPEUTIC USE,2,TABLET,,ORAL,TREATMENT,2013-09-02,2013-09-30,5,33,, +CDISCPILOT01,CM,CDISC005,1,CENTRUM SILVER,PROPHYLAXIS OR NON-THERAPEUTIC USE,1,TABLET,,ORAL,SCREENING,2012-03,,,,,2013-08-06 +CDISCPILOT01,CM,CDISC005,4,HYDROCORTISONE,PROPHYLAXIS OR NON-THERAPEUTIC USE,1,TABLET,,TOPICAL,TREATMENT,2013-05-14,,100,,,2013-08-06 +CDISCPILOT01,CM,CDISC017,1,ACETAMINOPHEN,PROPHYLAXIS OR NON-THERAPEUTIC USE,2,TABLET,,ORAL,SCREENING,2008,,,,,2014-03-08 +CDISCPILOT01,CM,CDISC017,2,MULTIVITAMIN,PROPHYLAXIS OR NON-THERAPEUTIC USE,1,TABLET,,ORAL,SCREENING,2011-08,,,,,2014-03-08 +CDISCPILOT01,CM,CDISC017,3,VITAMIN E,PROPHYLAXIS OR NON-THERAPEUTIC USE,400,mg,,ORAL,SCREENING,2011-08,,,,,2014-03-08 diff --git a/Unpublished/NEW-RULE/negative/01/results/results.csv b/Unpublished/NEW-RULE/negative/01/results/results.csv new file mode 100644 index 000000000..7dfc71e85 --- /dev/null +++ b/Unpublished/NEW-RULE/negative/01/results/results.csv @@ -0,0 +1,11 @@ +Dataset,Record,Variable,Value +CM,7,CMENRTPT,null +CM,7,CMENTPT,2013-08-06 +CM,8,CMENRTPT,null +CM,8,CMENTPT,2013-08-06 +CM,9,CMENRTPT,null +CM,9,CMENTPT,2014-03-08 +CM,10,CMENRTPT,null +CM,10,CMENTPT,2014-03-08 +CM,11,CMENRTPT,null +CM,11,CMENTPT,2014-03-08 diff --git a/Unpublished/NEW-RULE/negative/01/results/results.json b/Unpublished/NEW-RULE/negative/01/results/results.json new file mode 100644 index 000000000..29e475e91 --- /dev/null +++ b/Unpublished/NEW-RULE/negative/01/results/results.json @@ -0,0 +1 @@ +{"Conformance_Details": {"Report_Generation": "2026-05-10T18:05:02", "Total_Runtime": "6.97 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "CM", "label": "Concomitant/Prior Medications", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\negative\\01\\data", "modification_date": "2026-05-10T17:59:01.857850", "size_kb": 1.542, "length": 11}], "Issue_Summary": [{"dataset": "CM", "core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "issues": 5}], "Issue_Details": [{"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC005", "row": 7, "SEQ": 1, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2013-08-06"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC005", "row": 8, "SEQ": 4, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2013-08-06"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC017", "row": 9, "SEQ": 1, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2014-03-08"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC017", "row": 10, "SEQ": 2, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2014-03-08"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC017", "row": 11, "SEQ": 3, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2014-03-08"]}], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "ISSUE REPORTED"}]} \ No newline at end of file diff --git a/Unpublished/NEW-RULE/negative/02/data/.env b/Unpublished/NEW-RULE/negative/02/data/.env new file mode 100644 index 000000000..8f9bf60aa --- /dev/null +++ b/Unpublished/NEW-RULE/negative/02/data/.env @@ -0,0 +1,2 @@ +PRODUCT=SDTMIG +VERSION=3-4 diff --git a/Unpublished/NEW-RULE/negative/02/data/_datasets.csv b/Unpublished/NEW-RULE/negative/02/data/_datasets.csv new file mode 100644 index 000000000..6f9ed280a --- /dev/null +++ b/Unpublished/NEW-RULE/negative/02/data/_datasets.csv @@ -0,0 +1,2 @@ +Filename,Label +mh,Medical History diff --git a/Unpublished/NEW-RULE/negative/02/data/_variables.csv b/Unpublished/NEW-RULE/negative/02/data/_variables.csv new file mode 100644 index 000000000..367bed983 --- /dev/null +++ b/Unpublished/NEW-RULE/negative/02/data/_variables.csv @@ -0,0 +1,13 @@ +dataset,variable,label,type,length +mh,STUDYID,Study Identifier,Char,12 +mh,DOMAIN,Domain Abbreviation,Char,2 +mh,USUBJID,Unique Subject Identifier,Char,8 +mh,MHSEQ,Sequence Number,Num,8 +mh,MHTERM,Reported Term for the Medical History,Char,19 +mh,MHEVDTYP,Medical History Event Date Type,Char,13 +mh,MHSTDTC,Start Date/Time of Medical History Event,Char,10 +mh,MHSTDY,Study Day of Start of Observation,Num,8 +mh,MHENDTC,End Date/Time of Medical History Event,Char,50 +mh,MHENDY,Study Day of End of Observation,Num,8 +mh,MHENRTPT,End Relative to Reference Time Point,Char,50 +mh,MHENTPT,End Reference Time Point,Char,50 diff --git a/Unpublished/NEW-RULE/negative/02/data/mh.csv b/Unpublished/NEW-RULE/negative/02/data/mh.csv new file mode 100644 index 000000000..8bde426ca --- /dev/null +++ b/Unpublished/NEW-RULE/negative/02/data/mh.csv @@ -0,0 +1,9 @@ +STUDYID,DOMAIN,USUBJID,MHSEQ,MHTERM,MHEVDTYP,MHSTDTC,MHSTDY,MHENDTC,MHENDY,MHENRTPT,MHENTPT +CDISCPILOT01,MH,CDISC001,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2004-05-28,-3108,,,,2021-05-01 +CDISCPILOT01,MH,CDISC002,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2010-03-19,-972,2010-03-21,-970,,2021-02-15 +CDISCPILOT01,MH,CDISC003,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2007-02-09,-2393,2007-02-09,-2393,,2015-05-09 +CDISCPILOT01,MH,CDISC004,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2010-11-05,-1068,,,,2011-06-11 +CDISCPILOT01,MH,CDISC005,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2006-08-20,-2360,,,,2000-06-11 +CDISCPILOT01,MH,CDISC006,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2008-06-17,-1736,,,,2021-05-01 +CDISCPILOT01,MH,CDISC007,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2008-05-21,-1690,2008-05-26,-1685,,2021-05-02 +CDISCPILOT01,MH,CDISC008,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2012-11-11,-546,2012-11-11,-546,,2021-11-23 diff --git a/Unpublished/NEW-RULE/negative/02/results/results.csv b/Unpublished/NEW-RULE/negative/02/results/results.csv new file mode 100644 index 000000000..7f4df8ea3 --- /dev/null +++ b/Unpublished/NEW-RULE/negative/02/results/results.csv @@ -0,0 +1,17 @@ +Dataset,Record,Variable,Value +MH,1,MHENRTPT,null +MH,1,MHENTPT,2021-05-01 +MH,2,MHENRTPT,null +MH,2,MHENTPT,2021-02-15 +MH,3,MHENRTPT,null +MH,3,MHENTPT,2015-05-09 +MH,4,MHENRTPT,null +MH,4,MHENTPT,2011-06-11 +MH,5,MHENRTPT,null +MH,5,MHENTPT,2000-06-11 +MH,6,MHENRTPT,null +MH,6,MHENTPT,2021-05-01 +MH,7,MHENRTPT,null +MH,7,MHENTPT,2021-05-02 +MH,8,MHENRTPT,null +MH,8,MHENTPT,2021-11-23 diff --git a/Unpublished/NEW-RULE/negative/02/results/results.json b/Unpublished/NEW-RULE/negative/02/results/results.json new file mode 100644 index 000000000..71c4a2b9d --- /dev/null +++ b/Unpublished/NEW-RULE/negative/02/results/results.json @@ -0,0 +1 @@ +{"Conformance_Details": {"Report_Generation": "2026-05-10T18:05:16", "Total_Runtime": "6.92 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "MH", "label": "Medical History", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\negative\\02\\data", "modification_date": "2026-05-10T17:59:01.865918", "size_kb": 0.893, "length": 8}], "Issue_Summary": [{"dataset": "MH", "core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "issues": 8}], "Issue_Details": [{"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC001", "row": 1, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-05-01"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC002", "row": 2, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-02-15"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC003", "row": 3, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2015-05-09"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC004", "row": 4, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2011-06-11"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC005", "row": 5, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2000-06-11"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC006", "row": 6, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-05-01"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC007", "row": 7, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-05-02"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC008", "row": 8, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-11-23"]}], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "ISSUE REPORTED"}]} \ No newline at end of file diff --git a/Unpublished/NEW-RULE/positive/01/data/.env b/Unpublished/NEW-RULE/positive/01/data/.env new file mode 100644 index 000000000..8f9bf60aa --- /dev/null +++ b/Unpublished/NEW-RULE/positive/01/data/.env @@ -0,0 +1,2 @@ +PRODUCT=SDTMIG +VERSION=3-4 diff --git a/Unpublished/NEW-RULE/positive/01/data/_datasets.csv b/Unpublished/NEW-RULE/positive/01/data/_datasets.csv new file mode 100644 index 000000000..396eaafcb --- /dev/null +++ b/Unpublished/NEW-RULE/positive/01/data/_datasets.csv @@ -0,0 +1,2 @@ +Filename,Label +cm,Concomitant/Prior Medications diff --git a/Unpublished/NEW-RULE/positive/01/data/_variables.csv b/Unpublished/NEW-RULE/positive/01/data/_variables.csv new file mode 100644 index 000000000..47c15b9ac --- /dev/null +++ b/Unpublished/NEW-RULE/positive/01/data/_variables.csv @@ -0,0 +1,18 @@ +dataset,variable,label,type,length +cm,STUDYID,Study Identifier,Char,12 +cm,DOMAIN,Domain Abbreviation,Char,2 +cm,USUBJID,Unique Subject Identifier,Char,8 +cm,CMSEQ,Sequence Number,Num,8 +cm,CMTRT,"Reported Name of Drug, Med, or Therapy",Char,200 +cm,CMINDC,Indication,Char,200 +cm,CMDOSE,Dose per Administration,Num,8 +cm,CMDOSU,Dose Units,Char,6 +cm,CMDOSFRQ,Dosing Frequency per Interval,Char,3 +cm,CMROUTE,Route of Administration,Char,24 +cm,EPOCH,Epoch,Char,9 +cm,CMSTDTC,Start Date/Time of Medication,Char,10 +cm,CMENDTC,End Date/Time of Medication,Char,10 +cm,CMSTDY,Study Day of Start of Medication,Num,8 +cm,CMENDY,Study Day of End of Medication,Num,8 +cm,CMENRTPT,End Relative to Reference Time Point,Char,7 +cm,CMENTPT,End Reference Time Point,Char,10 diff --git a/Unpublished/NEW-RULE/positive/01/data/cm.csv b/Unpublished/NEW-RULE/positive/01/data/cm.csv new file mode 100644 index 000000000..8d3dfcf37 --- /dev/null +++ b/Unpublished/NEW-RULE/positive/01/data/cm.csv @@ -0,0 +1,11 @@ +STUDYID,DOMAIN,USUBJID,CMSEQ,CMTRT,CMINDC,CMDOSE,CMDOSU,CMDOSFRQ,CMROUTE,EPOCH,CMSTDTC,CMENDTC,CMSTDY,CMENDY,CMENRTPT,CMENTPT +CDISCPILOT01,CM,CDISC004,1,VITAMIN C,PROPHYLAXIS OR NON-THERAPEUTIC USE,500,mg,,ORAL,SCREENING,1983,,,,ONGOING,2014-03-18 +CDISCPILOT01,CM,CDISC004,2,VITAMIN E,PROPHYLAXIS OR NON-THERAPEUTIC USE,400,mg,,ORAL,SCREENING,1983,,,,ONGOING,2014-03-18 +CDISCPILOT01,CM,CDISC007,1,METAMUCIL,PROPHYLAXIS OR NON-THERAPEUTIC USE,3,mg,,ORAL,SCREENING,2009,,,,ONGOING,2013-06-20 +CDISCPILOT01,CM,CDISC007,2,ADVIL,PROPHYLAXIS OR NON-THERAPEUTIC USE,200,mg,,ORAL,SCREENING,2011,,,,ONGOING,2013-06-20 +CDISCPILOT01,CM,CDISC007,3,DOCUSATE SODIUM,PROPHYLAXIS OR NON-THERAPEUTIC USE,100,mg,,ORAL,SCREENING,2012-11,2013-01-05,,1,, +CDISCPILOT01,CM,CDISC007,4,BENADRYL,PROPHYLAXIS OR NON-THERAPEUTIC USE,75,mg,,ORAL,SCREENING,2013-02-18,2013-05-10,45,126,ONGOING, +CDISCPILOT01,CM,CDISC007,5,PREDNISONE,PROPHYLAXIS OR NON-THERAPEUTIC USE,20,mg,,ORAL,SCREENING,2013-02-18,2013-05-10,45,126,, +CDISCPILOT01,CM,CDISC007,6,TEMOVATE,PROPHYLAXIS OR NON-THERAPEUTIC USE,1,TABLET,,TOPICAL,SCREENING,2013-02-18,2013-02-20,45,47,, +CDISCPILOT01,CM,CDISC011,1,MOTRIN,PROPHYLAXIS OR NON-THERAPEUTIC USE,400,mg,,ORAL,SCREENING,1998-10,2013-06-05,,181,, +CDISCPILOT01,CM,CDISC011,2,PRINIVIL,PROPHYLAXIS OR NON-THERAPEUTIC USE,10,mg,,ORAL,SCREENING,2011-07-15,2013-06-05,-511,181,, diff --git a/Unpublished/NEW-RULE/positive/01/results/results.csv b/Unpublished/NEW-RULE/positive/01/results/results.csv new file mode 100644 index 000000000..a13018c5f --- /dev/null +++ b/Unpublished/NEW-RULE/positive/01/results/results.csv @@ -0,0 +1 @@ +Dataset,Record,Variable,Value diff --git a/Unpublished/NEW-RULE/positive/01/results/results.json b/Unpublished/NEW-RULE/positive/01/results/results.json new file mode 100644 index 000000000..fcebfcfa5 --- /dev/null +++ b/Unpublished/NEW-RULE/positive/01/results/results.json @@ -0,0 +1 @@ +{"Conformance_Details": {"Report_Generation": "2026-05-10T18:04:32", "Total_Runtime": "7.17 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "CM", "label": "Concomitant/Prior Medications", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\positive\\01\\data", "modification_date": "2026-05-10T17:59:01.873960", "size_kb": 1.374, "length": 10}], "Issue_Summary": [], "Issue_Details": [], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "SUCCESS"}]} \ No newline at end of file diff --git a/Unpublished/NEW-RULE/positive/02/data/.env b/Unpublished/NEW-RULE/positive/02/data/.env new file mode 100644 index 000000000..8f9bf60aa --- /dev/null +++ b/Unpublished/NEW-RULE/positive/02/data/.env @@ -0,0 +1,2 @@ +PRODUCT=SDTMIG +VERSION=3-4 diff --git a/Unpublished/NEW-RULE/positive/02/data/_datasets.csv b/Unpublished/NEW-RULE/positive/02/data/_datasets.csv new file mode 100644 index 000000000..6f9ed280a --- /dev/null +++ b/Unpublished/NEW-RULE/positive/02/data/_datasets.csv @@ -0,0 +1,2 @@ +Filename,Label +mh,Medical History diff --git a/Unpublished/NEW-RULE/positive/02/data/_variables.csv b/Unpublished/NEW-RULE/positive/02/data/_variables.csv new file mode 100644 index 000000000..367bed983 --- /dev/null +++ b/Unpublished/NEW-RULE/positive/02/data/_variables.csv @@ -0,0 +1,13 @@ +dataset,variable,label,type,length +mh,STUDYID,Study Identifier,Char,12 +mh,DOMAIN,Domain Abbreviation,Char,2 +mh,USUBJID,Unique Subject Identifier,Char,8 +mh,MHSEQ,Sequence Number,Num,8 +mh,MHTERM,Reported Term for the Medical History,Char,19 +mh,MHEVDTYP,Medical History Event Date Type,Char,13 +mh,MHSTDTC,Start Date/Time of Medical History Event,Char,10 +mh,MHSTDY,Study Day of Start of Observation,Num,8 +mh,MHENDTC,End Date/Time of Medical History Event,Char,50 +mh,MHENDY,Study Day of End of Observation,Num,8 +mh,MHENRTPT,End Relative to Reference Time Point,Char,50 +mh,MHENTPT,End Reference Time Point,Char,50 diff --git a/Unpublished/NEW-RULE/positive/02/data/mh.csv b/Unpublished/NEW-RULE/positive/02/data/mh.csv new file mode 100644 index 000000000..3f660ba78 --- /dev/null +++ b/Unpublished/NEW-RULE/positive/02/data/mh.csv @@ -0,0 +1,10 @@ +STUDYID,DOMAIN,USUBJID,MHSEQ,MHTERM,MHEVDTYP,MHSTDTC,MHSTDY,MHENDTC,MHENDY,MHENRTPT,MHENTPT +CDISCPILOT01,MH,CDISC009,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2008-09-02,-1511,,,ONGOING,2021-05-04 +CDISCPILOT01,MH,CDISC010,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2012-09-08,-378,,,ONGOING,2021-05-05 +CDISCPILOT01,MH,CDISC011,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2002-12-01,-3659,,,ONGOING,2021-05-06 +CDISCPILOT01,MH,CDISC012,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2009-03-16,-1632,,,, +CDISCPILOT01,MH,CDISC013,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2011-07-19,-734,,,ONGOING,2013-10-24 +CDISCPILOT01,MH,CDISC014,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2011-07-25,-618,2011-07-26,-617,, +CDISCPILOT01,MH,CDISC016,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2011-04-29,-705,2011-04-29,-705,, +CDISCPILOT01,MH,CDISC017,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2008-08-20,-1858,2008-08-20,-1858,, +CDISCPILOT01,MH,CDISC018,1,ALZHEIMER'S DISEASE,SYMPTOM ONSET,2010-05-03,-959,2010-05-03,-959,, diff --git a/Unpublished/NEW-RULE/positive/02/results/results.csv b/Unpublished/NEW-RULE/positive/02/results/results.csv new file mode 100644 index 000000000..a13018c5f --- /dev/null +++ b/Unpublished/NEW-RULE/positive/02/results/results.csv @@ -0,0 +1 @@ +Dataset,Record,Variable,Value diff --git a/Unpublished/NEW-RULE/positive/02/results/results.json b/Unpublished/NEW-RULE/positive/02/results/results.json new file mode 100644 index 000000000..5e220de6c --- /dev/null +++ b/Unpublished/NEW-RULE/positive/02/results/results.json @@ -0,0 +1 @@ +{"Conformance_Details": {"Report_Generation": "2026-05-10T18:04:47", "Total_Runtime": "7.19 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "MH", "label": "Medical History", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\positive\\02\\data", "modification_date": "2026-05-10T17:59:01.879516", "size_kb": 0.96, "length": 9}], "Issue_Summary": [], "Issue_Details": [], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "SUCCESS"}]} \ No newline at end of file diff --git a/Unpublished/NEW-RULE/rule.yml b/Unpublished/NEW-RULE/rule.yml new file mode 100644 index 000000000..8913c242f --- /dev/null +++ b/Unpublished/NEW-RULE/rule.yml @@ -0,0 +1,96 @@ +# Variable: --ENRTPT +# Condition: --ENTPT ^= null +# Rule: --ENRTPT ^= null +Authorities: + - Organization: CDISC + Standards: + - Name: SDTMIG + References: + - Citations: + - Cited Guidance: The description or date and/or time of a time point that acts as + a fixed reference for characterizing the end of an + observation. This is the sponsor-defined reference point + referred to by --ENRTPT. + Document: Model v2.0 + Item: --ENTPT + Section: Timing + Origin: SDTM and SDTMIG Conformance Rules + Rule Identifier: + Id: CG0045 + Version: '1' + Version: '2.0' + Version: '3.4' + - Name: SDTMIG + References: + - Citations: + - Cited Guidance: Identifies the end of the observation as being before or after + the sponsor-defined reference time point defined by variable + --ENTPT. + Document: Model v1.7 + Item: Table 2.2.5.1 --ENTPT + Section: 2.2.5 Timing Variables for All Classes + Origin: SDTM and SDTMIG Conformance Rules + Rule Identifier: + Id: CG0045 + Version: '1' + Version: '2.0' + Version: '3.3' + - Name: SDTMIG + References: + - Citations: + - Cited Guidance: (--ENRTPT) Identifies the end of the observation as being before + or after the sponsor-defined reference time point defined by + variable --ENTPT. + Document: Model v1.4 + Item: Specification + Section: 2.2.5 Timing Variables for All Classes + Origin: SDTM and SDTMIG Conformance Rules + Rule Identifier: + Id: CG0045 + Version: '1' + Version: '2.0' + Version: '3.2' + - Name: TIG + References: + - Citations: + - Cited Guidance: The description or date and/or time of a time point that acts as + a fixed reference for characterizing the end of an + observation. This is the sponsor-defined reference point + referred to by --ENRTPT + Document: SDTM v2.1 + Item: --ENTPT + Section: Section 3.1.5 Timing Variables for All Classes + Origin: TIG Conformance Rules + Rule Identifier: + Id: TIG0324 + Version: '1' + Version: '1.0' + Substandard: SDTM + Version: '1.0' +Check: + all: + - name: --ENTPT + operator: non_empty + - name: --ENRTPT + operator: empty +Core: + Id: CORE-000106 + Status: Published + Version: '1' +Description: Raise an error when --ENTPT is completed and --ENRTPT is not completed. +Executability: Fully Executable +Outcome: + Message: --ENTPT is completed, but --ENRTPT is not completed. + Output Variables: + - --ENRTPT + - --ENTPT +Rule Type: Record Data +Scope: + Classes: + Include: + - ALL + Domains: + Include: + - ALL + Use Case: INDH, PROD +Sensitivity: Record \ No newline at end of file From c4a8d9b7364369a118c624e726927c47187eeaaa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 10 May 2026 16:18:28 +0000 Subject: [PATCH 2/2] ci: remove results.json from NEW-RULE [skip ci] --- Unpublished/NEW-RULE/negative/01/results/results.json | 1 - Unpublished/NEW-RULE/negative/02/results/results.json | 1 - Unpublished/NEW-RULE/positive/01/results/results.json | 1 - Unpublished/NEW-RULE/positive/02/results/results.json | 1 - 4 files changed, 4 deletions(-) delete mode 100644 Unpublished/NEW-RULE/negative/01/results/results.json delete mode 100644 Unpublished/NEW-RULE/negative/02/results/results.json delete mode 100644 Unpublished/NEW-RULE/positive/01/results/results.json delete mode 100644 Unpublished/NEW-RULE/positive/02/results/results.json diff --git a/Unpublished/NEW-RULE/negative/01/results/results.json b/Unpublished/NEW-RULE/negative/01/results/results.json deleted file mode 100644 index 29e475e91..000000000 --- a/Unpublished/NEW-RULE/negative/01/results/results.json +++ /dev/null @@ -1 +0,0 @@ -{"Conformance_Details": {"Report_Generation": "2026-05-10T18:05:02", "Total_Runtime": "6.97 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "CM", "label": "Concomitant/Prior Medications", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\negative\\01\\data", "modification_date": "2026-05-10T17:59:01.857850", "size_kb": 1.542, "length": 11}], "Issue_Summary": [{"dataset": "CM", "core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "issues": 5}], "Issue_Details": [{"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC005", "row": 7, "SEQ": 1, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2013-08-06"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC005", "row": 8, "SEQ": 4, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2013-08-06"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC017", "row": 9, "SEQ": 1, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2014-03-08"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC017", "row": 10, "SEQ": 2, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2014-03-08"]}, {"core_id": "CORE-000106", "message": "CMENTPT is completed, but CMENRTPT is not completed.", "executability": "fully executable", "dataset": "CM", "USUBJID": "CDISC017", "row": 11, "SEQ": 3, "variables": ["CMENRTPT", "CMENTPT"], "values": ["null", "2014-03-08"]}], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "ISSUE REPORTED"}]} \ No newline at end of file diff --git a/Unpublished/NEW-RULE/negative/02/results/results.json b/Unpublished/NEW-RULE/negative/02/results/results.json deleted file mode 100644 index 71c4a2b9d..000000000 --- a/Unpublished/NEW-RULE/negative/02/results/results.json +++ /dev/null @@ -1 +0,0 @@ -{"Conformance_Details": {"Report_Generation": "2026-05-10T18:05:16", "Total_Runtime": "6.92 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "MH", "label": "Medical History", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\negative\\02\\data", "modification_date": "2026-05-10T17:59:01.865918", "size_kb": 0.893, "length": 8}], "Issue_Summary": [{"dataset": "MH", "core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "issues": 8}], "Issue_Details": [{"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC001", "row": 1, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-05-01"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC002", "row": 2, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-02-15"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC003", "row": 3, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2015-05-09"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC004", "row": 4, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2011-06-11"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC005", "row": 5, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2000-06-11"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC006", "row": 6, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-05-01"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC007", "row": 7, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-05-02"]}, {"core_id": "CORE-000106", "message": "MHENTPT is completed, but MHENRTPT is not completed.", "executability": "fully executable", "dataset": "MH", "USUBJID": "CDISC008", "row": 8, "SEQ": 1, "variables": ["MHENRTPT", "MHENTPT"], "values": ["null", "2021-11-23"]}], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "ISSUE REPORTED"}]} \ No newline at end of file diff --git a/Unpublished/NEW-RULE/positive/01/results/results.json b/Unpublished/NEW-RULE/positive/01/results/results.json deleted file mode 100644 index fcebfcfa5..000000000 --- a/Unpublished/NEW-RULE/positive/01/results/results.json +++ /dev/null @@ -1 +0,0 @@ -{"Conformance_Details": {"Report_Generation": "2026-05-10T18:04:32", "Total_Runtime": "7.17 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "CM", "label": "Concomitant/Prior Medications", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\positive\\01\\data", "modification_date": "2026-05-10T17:59:01.873960", "size_kb": 1.374, "length": 10}], "Issue_Summary": [], "Issue_Details": [], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "SUCCESS"}]} \ No newline at end of file diff --git a/Unpublished/NEW-RULE/positive/02/results/results.json b/Unpublished/NEW-RULE/positive/02/results/results.json deleted file mode 100644 index 5e220de6c..000000000 --- a/Unpublished/NEW-RULE/positive/02/results/results.json +++ /dev/null @@ -1 +0,0 @@ -{"Conformance_Details": {"Report_Generation": "2026-05-10T18:04:47", "Total_Runtime": "7.19 seconds", "CORE_Engine_Version": "0.16.0", "Issue_Limit_Per_Rule": "None", "Issue_Limit_Per_Dataset": "None", "Issue_Limit_Per_Sheet": null, "Standard": "SDTMIG", "Version": "V3.4", "CT_Version": "", "Define_XML_Version": null}, "Dataset_Details": [{"filename": "MH", "label": "Medical History", "path": "C:\\Users\\els_janssens\\CORE\\Rule_Authoring_CDISC_training\\cdisc-open-rules-training\\Unpublished\\NEW-RULE\\positive\\02\\data", "modification_date": "2026-05-10T17:59:01.879516", "size_kb": 0.96, "length": 9}], "Issue_Summary": [], "Issue_Details": [], "Rules_Report": [{"core_id": "CORE-000106", "version": "1", "cdisc_rule_id": "CG0045, TIG0324", "fda_rule_id": "", "message": "--ENTPT is completed, but --ENRTPT is not completed.", "status": "SUCCESS"}]} \ No newline at end of file