我正在研究ICD10诊断代码应用程序。我需要确定一个ICD10代码是否落在某个范围内。例如:
代码: 4A1H7EZ
范围: 4A1H7CZ - 4A1H7HZ
这应该返回' True '。
我尝试将字母字符转换为数字(a = 0,b = 1等),但结果数字与其他范围/代码冲突。
正则表达式不是我的强项,任何建议都会受到赞赏。
答案 0 :(得分:2)
你必须使用正则表达式吗?
如comparing 2 strings alphabetically for sorting purposes中所示
javascript auto比较字符串。
因此"4A1H7EZ" > "4A1H7CZ" && "4A1H7EZ" < "4A1H7HZ"
将返回true
答案 1 :(得分:1)
David在Javascript中有正确的答案。
但是,“ICD10诊断代码应用程序”可能应使用数据库;鉴于此,你应该用SQL解决这个问题,在这种情况下,这将是微不足道的。
这样的查询将返回与给定代码匹配的任何范围:
select * from ranges where diag_code between range_start and range_end
答案 2 :(得分:0)
您应该使用循环并逐个比较每个索引。有这样的事情:
for entry, index in code:
if entry.isNumeric:
if range[index] < entry and rang2[index] > entry:
return false
else
if compareAlpha(range[index], entry) > 1 and compareAlpha(range2[index], entry ) < 0:
return false
return true
(未经测试)