我看到TS
和DT
數據類型在默認模式2.3:驗證HL7架構中的時間戳嗎?
<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)還是在數據類型定義中。
你顯示的不是代碼,而是代碼正在處理的模式/描述。 Intersystems產品最初基於Mumps和其他編程語言的API。 – sqlab
您可能想要爲DateTime郵票構建外部驗證過程。 – Sid
我明白這是架構。我正在處理的項目是修復所有模式並在所有名稱空間上啓用驗證警報。使用模式我可以很容易地說「這個字段的值只能是整數和5個字符長」。我只是問我能否比這更詳細。 –