使用 xmllint 和 cda.xsd 进行 CCD 验证



当我运行xmllint -schema c:tempCDASchemascdaSchemasCDA.xsd testee_test_original.xml --noout时,它会告诉我"testee_test_original.xml验证"。

好的,太好了。

但是,我随后删除了整个<patient>元素并再次运行它。 "testee_test_original.xml验证"

这是为什么呢? 我认为这是XSD的重点。 如果没有,我还需要什么来实际验证CCD不仅格式正确,而且具有标准所需的所有数据?

我想你已经删除了患者元素,但没有删除患者角色,也没有删除记录目标(这是强制性的)。在CDA中,患者信息位于recordTarget(这是一个强制性元素)中,位于PatientRole的内部。

尽管正如您所建议的,患者姓名应该是强制性的,但事实并非如此。我不知道为什么,但可能是这样,因为在只能提供患者标识符(这是 PatientRole 的强制性元素)而不是全名的情况下应该很有趣。

希望有用。马蒂

最新更新