0

我正在开发 ICD10 诊断代码应用程序。我需要确定一个 ICD10 代码是否在某个范围内。例如:

代码: 4A1H7EZ

范围: 4A1H7CZ - 4A1H7HZ

这应该返回“”。

我尝试将字母字符转换为数字(a=0、b=1 等),但生成的数字与其他范围/代码冲突。

正则表达式不是我的强项,任何建议将不胜感激。

4

3 回答 3

2

你必须使用正则表达式吗?如此处所示,为了排序目的,按字母顺序比较 2 个字符串 javascript 自动比较字符串。

所以"4A1H7EZ" > "4A1H7CZ" && "4A1H7EZ" < "4A1H7HZ"会回来true

于 2015-10-27T14:58:29.487 回答
1

David 有在 Javascript 中执行此操作的正确答案。

但是,“ICD10 诊断代码应用程序”可能应该使用数据库;鉴于此,您应该使用 SQL 真正解决这个问题,在这种情况下,这将是微不足道的。

像这样的查询将返回与给定代码匹配的任何范围:

select * from ranges where diag_code between range_start and range_end
于 2015-10-27T14:55:20.370 回答
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

(未测试)

于 2015-10-27T14:48:51.283 回答