以出院病歷要來說, 為了管理大量的電子病歷,增加資料存取的速度,可以借助Oracle Partitioning機制,來達到上列的需求。 要決定要做Partitioning Table的欄位,就整份文件來看,以文件列印日期可以做為Table Partitioning Key。 XML node: /ClinicalDocument/effectiveTime 的 value 屬性. 重點是namespace的宣告
XML Type的表格,可以以XML欄位的內容,定義虛擬欄位
CREATE TABLE CDA_DOCS OF XMLType
XMLTYPE STORE AS BINARY XML
VIRTUAL COLUMNS
(DATE_COL AS (XMLCast(XMLQuery('declare default element namespace "urn:hl7-org:v3"; (: :)
declare namespace voc="http://www.hl7.org/v3/voc"; (: :)
declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; (: :)
/ClinicalDocument/effectiveTime/@value' PASSING OBJECT_VALUE RETURNING CONTENT)
AS varchar2(12))));
insert into CDA_DOCS select cda from XML_DOCS;
commit;
SELECT DATE_COL FROM CDA_DOCS;
No comments:
Post a Comment