我在默认的 2.3 架构中看到TS
和数据类型:DT
<SegmentStructure name='SMPL' description='Patient Identification'>
<SegmentSubStructure piece='1' description='A sample datetime field' datatype='DT' max_length='12' required='O' ifrepeating='0'/>
</SegmentStructure>
<DataType name='TS' description='time stamp'>
<DataSubType piece='1' description='time of an event' datatype='ST'/>
<DataSubType piece='2' description='degree of precision' datatype='ST'/>
</DataType>
<DataType name='DT' description='Date (2.8.13)'>
<DataSubType piece='1' description='Date (2.8.13)'/>
</DataType>
但它似乎并没有真正验证格式。这可能吗?我们最近有一个例子,客户正在发送一个缺少数字的时间戳(例如 20160503120)。如果可以的话,我想用模式验证这一点。
编辑: 希望添加一些澄清
我们使用intersystems-healthshare,当 ADT 进入时,它会通过带有扩展名的验证器.hl7
。默认情况下,这是2.3.hl7
或类似的(取决于版本)。它看起来就像上面的代码。我想知道我是否可以以某种方式将正则表达式放在那里。在段结构定义 (SMPL) 或数据类型定义中。