我正在开发 ICD10 诊断代码应用程序。我需要确定一个 ICD10 代码是否在某个范围内。例如:
代码: 4A1H7EZ
范围: 4A1H7CZ - 4A1H7HZ
这应该返回“真”。
我尝试将字母字符转换为数字(a=0、b=1 等),但生成的数字与其他范围/代码冲突。
正则表达式不是我的强项,任何建议将不胜感激。
我正在开发 ICD10 诊断代码应用程序。我需要确定一个 ICD10 代码是否在某个范围内。例如:
代码: 4A1H7EZ
范围: 4A1H7CZ - 4A1H7HZ
这应该返回“真”。
我尝试将字母字符转换为数字(a=0、b=1 等),但生成的数字与其他范围/代码冲突。
正则表达式不是我的强项,任何建议将不胜感激。
你必须使用正则表达式吗?如此处所示,为了排序目的,按字母顺序比较 2 个字符串
javascript 自动比较字符串。
所以"4A1H7EZ" > "4A1H7CZ" && "4A1H7EZ" < "4A1H7HZ"
会回来true
David 有在 Javascript 中执行此操作的正确答案。
但是,“ICD10 诊断代码应用程序”可能应该使用数据库;鉴于此,您应该使用 SQL 真正解决这个问题,在这种情况下,这将是微不足道的。
像这样的查询将返回与给定代码匹配的任何范围:
select * from ranges where diag_code between range_start and range_end
您应该使用循环并一一比较每个索引。有这样的东西:
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
(未测试)