cdisc-org / cdisc-org/cdisc-rules-engine
Rule blocked: SEND335
- Dominant language
- Python
- Stars
- 113
- Forks
- 43
- Avg merge
- 14h 51m
- Merged PRs (30d)
- 14
Description
Rule SEND335 = "When PMORRES ^= null, then PMSTRESC should contain the finding without the location specified in PMLOC.".
So we use the function "contains_case_insensitive", described in the documentation as "True if the value in value is a case insensitive **substring** of the value in name".
It does however not work as expected, but works as that the strings must be equal, case-insensitive.
However, according to ticket 1309 (https://github.com/cdisc-org/cdisc-rules-engine/issues/1309), the function does not use substrings at all. According to ticket 1309, the documentation is wrong.
However, I do not understand what "contains_case_insensitive" is doing instead ...
For rule SEND335, we however do need a function that really compares two strings, and returns "true" when one string is a substring in a case-insensitive way of the other string.
Two possibilities:
- fix the Python code for "contains_case_insensitive" so that it works as according to the documentation (case-insensitive substring checking)
- correct the documentation describing what the function really does, and develop a new function that really checks whether a string is a substring of the other string in a case-insensitive way.
Contributor guide
Assessment
This issue has not been assessed yet.