cdisc-org / cdisc-org/cdisc-rules-engine
Rule blocked: SEND4
- Dominant language
- Python
- Stars
- 113
- Forks
- 43
- Avg merge
- 14h 51m
- Merged PRs (30d)
- 14
Description
SEND4 states that the datatype in the XPT(char, num) should be aligned with the datatype in the define.xml (text, integer, float, date, datetime, …).
So I developed the following:
Check
all:
- name: variable_data_type
operator: equal_to
value: 'char'
- name: define_variable_data_type
operator: is_contained_by
value:
- 'integer'
- 'float'
stating that when the XPT datatype is "char", a violation must be reported when the Define-XML datatype is either "integer" or "float".
Just to start with, I reduced this to:
Check
all:
- name: define_variable_data_type
operator: is_contained_by
value:
When I however replace:
- name: define_variable_data_type
by:
- name: variable_name
the rule executes
So it looks as the operator "is_contained_by" behaves different depending on whether the value to be compared comes from the column name or from the define.xml (as a string?).
I attach the define.xml and the unit test Excel
[unit-test-coreid-CG0013-positive.xlsx](https://github.com/user-attachments/files/19651141/unit-test-coreid-CG0013-positive.xlsx)
[define_OK-xml.zip](https://github.com/user-attachments/files/19651153/define_OK-xml.zip)
Contributor guide
Assessment
This issue has not been assessed yet.