LEADTOOLS医疗存储服务器自定义数据库系列教程(九)— 指定C FIND Rsp DICOM元素

这是本系列的第九篇文章,此处介绍了LEAD医学存储服务器数据库如何指定C FIND Rsp DICOM元素。

LEADTOOLS Recognition Imaging SDK是精选的LEADTOOLS SDK功能集,旨在在企业级文档自动化解决方案中构建端到端文档成像应用程序,这些解决方案需要OCR,MICR,OMR,条形码,表单识别和处理,PDF,打印捕获 ,档案,注释和图像查看功能。 这套功能强大的工具利用LEAD屡获殊荣的图像处理技术,智能识别可用于识别和提取任何类型的扫描或传真形式图像数据的文档功能。

LEADTOOLS Recognition Imaging SDK试用版

概述

LEADTOOLS存储服务管理器DICOM侦听服务通过一个或多个C-FIND响应来响应收到的C-FIND请求。C-FIND响应包含请求中指定的DICOM属性。

要使用自定义数据库模式,必须定义配置文件,使用DICOM侦听服务使用适当的属性填充C-FIND响应,并使用数据库中的相应数据设置属性值。

LEAD Storage Server Manager附带的默认配置文件称为QueryIOD.xml。默认配置定义为返回数据库的属性和属性序列。对于教程数据库,我们不返回项目序列。

QueryIOD.xml的结构如下。它由<patientLevel>,<studyLevel>,<seriesLevel>和<imageLevel>元素组成,每个元素都包含一个或多个<element>元素。

<query><patientLevel><element>...</element><element>...</element>...</patientLevel> <studyLevel><element>...</element><element>...</element>...</ studyLevel > < seriesLevel ><element>...</element><element>...</element>...</ seriesLevel > <imageLevel><element>...</element><element>...</element>...</ imageLevel ></query>

每个<element>元素对应于C-FIND请求中的属性,并提供数据库中相应值的映射。

置于DICOM元素的患者ID(0010,0010)映射到相应的表名(MyPatientTable)和列(PatientName)。

<element tag="(0010,0010)"     tagName="PatientName"    vr="PN"    minVM="1"    maxVM="1"    vmDivider="1"    keyType="Required"    matchingType="WildCard"    tableName="MyPatientTable"     matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyPatient,My.Medical.Storage.DataAccessLayer"    columnsName="PatientName" />MyQueryIOD.xml的全部内容如下:<ml version="1.0" encoding="utf-8" gt;<query>   <patientLevel>      <element tag="(0010,0010)"                tagName="PatientName"                vr="PN"                minVM="1"                maxVM="1"                vmDivider="1"                keyType="Required"                matchingType="WildCard"                tableName="MyPatientTable"                matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyPatient,My.Medical.Storage.DataAccessLayer"                columnsName="PatientName" />      <element tag="(0010,0020)"               tagName="PatientID"               vr="LO"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Unique"               matchingType="SingleValue"               tableName="MyPatientTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyPatient,My.Medical.Storage.DataAccessLayer"               columnsName="PatientIdentification" />      <element tag="(0010,0030)"               tagName="PatientBirthDate"               vr="DA"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="Range"               tableName="MyPatientTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyPatient,My.Medical.Storage.DataAccessLayer"               columnsName="PatientBirthday" />      <element tag="(0010,0040)"               tagName="PatientSex"               vr="CS"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="SingleValue"               tableName="MyPatientTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyPatient,My.Medical.Storage.DataAccessLayer"               columnsName="PatientSex" />      <element tag="(0010,4000)"               tagName="PatientComments"               vr="LT"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="NotApplicable"               tableName="MyPatientTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyPatient,My.Medical.Storage.DataAccessLayer"               columnsName="PatientComments" />   </patientLevel>   <studyLevel>      <element tag="(0008,0020)"               tagName="StudyDate"               vr="DA"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="Range"               tableName="MyStudyTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyStudy,My.Medical.Storage.DataAccessLayer"               columnsName="StudyStudyDate" />      <element tag="(0008,0050)"               tagName="AccessionNumber"               vr="SH"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="SingleValue"               tableName="MyStudyTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyStudy,My.Medical.Storage.DataAccessLayer"               columnsName="StudyAccessionNumber" />      <element tag="(0008,0061)"               tagName="ModalitiesInStudy"               vr="CS"               minVM="1"               maxVM="-1"               vmDivider="1"               vmDistinct="true"               keyType="Optional"               matchingType="SingleValue"               tableName="MySeriesTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MySeries,My.Medical.Storage.DataAccessLayer"               columnsName="SeriesModality" />      <element tag="(0008,0062)"               tagName="SOPClassesInStudy"               vr="UI"               minVM="1"               maxVM="-1"               vmDivider="1"               vmDistinct="true"               keyType="Optional"               matchingType="ListOfUID"               tableName="MyInstanceTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.MatchingParameters.Image,My.Medical.Storage.DataAccessLayer"               columnsName="ImageUniqueSOPClassUID" />      <element tag="(0008,0090)"               tagName="ReferringPhysiciansName"               vr="PN"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="SingleValue"               tableName="MyStudyTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyStudy,My.Medical.Storage.DataAccessLayer"               columnsName="StudyReferringPhysiciansName" />      <element tag="(0008,1030)"               tagName="StudyDescription"               vr="LO"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="NotApplicable"               tableName="MyStudyTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyStudy,My.Medical.Storage.DataAccessLayer"               columnsName="StudyStudyDescription" />     <element tag="(0020,0010)"               tagName="StudyID"               vr="SH"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="SingleValue"               tableName="MyStudyTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyStudy,My.Medical.Storage.DataAccessLayer"               columnsName="StudyStudyId" />      <element tag="(0020,000D)"               tagName="StudyInstanceUID"               vr="UI"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Unique"               matchingType="ListOfUID"               tableName="MyStudyTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyStudy,My.Medical.Storage.DataAccessLayer"               columnsName="StudyStudyInstanceUID" />   </studyLevel>   <seriesLevel>      <element tag="(0008,0060)"               tagName="Modality"               vr="CS"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="SingleValue"               tableName="MySeriesTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MySeries,My.Medical.Storage.DataAccessLayer"               columnsName="SeriesModality" />      <element tag="(0008,103E)"               tagName="SeriesDescription"               vr="LO"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="SingleValue"               tableName="MySeriesTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MySeries,My.Medical.Storage.DataAccessLayer"               columnsName="SeriesSeriesDescription" />      <element tag="(0008,0021)"               tagName="SeriesDate"               vr="DA"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="Range"               tableName="MySeriesTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MySeries,My.Medical.Storage.DataAccessLayer"               columnsName="SeriesSeriesDate" />      <element tag="(0018,0015)"               tagName="BodyPartExamined"               vr="CS"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="Range"               tableName="MySeriesTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MySeries,My.Medical.Storage.DataAccessLayer"               columnsName="SeriesBodyPartExamined" />      <element tag="(0020,0011)"               tagName="SeriesNumber"               vr="IS"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="SingleValue"               tableName="MySeriesTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MySeries,My.Medical.Storage.DataAccessLayer"               columnsName="SeriesSeriesNumber" />      <element tag="(0020,000E)"               tagName="SeriesInstanceUID"               vr="UI"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="ListOfUID"               tableName="MySeriesTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MySeries,My.Medical.Storage.DataAccessLayer"               columnsName="SeriesSeriesInstanceUID" />   </seriesLevel>   <imageLevel>      <element tag="(0020,0013)"               tagName="InstanceNumber"               vr="IS"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="SingleValue"               tableName="MyInstanceTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyInstance,My.Medical.Storage.DataAccessLayer"               columnsName="ImageImageNumber" />      <element tag="(0008,0016)"               tagName="SOPClassUID"               vr="UI"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="ListOfUID"               tableName="MyInstanceTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyInstance,My.Medical.Storage.DataAccessLayer"               columnsName="ImageUniqueSOPClassUID" />      <element tag="(0008,0018)"               tagName="SOPInstanceUID"               vr="UI"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Required"               matchingType="ListOfUID"               tableName="MyInstanceTable"               matchingEntity="My.Medical.Storage.DataAccessLayer.Entities.MyInstance,My.Medical.Storage.DataAccessLayer"               columnsName="SOPInstanceUID" />      <element tag="(0028,0010)"               tagName="Rows"               vr="US"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="NotApplicable"               tableName="ImageInstance"               matchingEntity="My.Medical.Storage.DataAccessLayer.MatchingParameters.ImageInstance,My.Medical.Storage.DataAccessLayer"               columnsName="ImageRows" />      <element tag="(0028,0011)"               tagName="Columns"               vr="US"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="NotApplicable"               tableName="ImageInstance"               matchingEntity="My.Medical.Storage.DataAccessLayer.MatchingParameters.ImageInstance,My.Medical.Storage.DataAccessLayer"               columnsName="ImageColumns" />      <element tag="(0028,0100)"               tagName="BitsAllocated"               vr="US"               minVM="1"               maxVM="1"               vmDivider="1"               keyType="Optional"               matchingType="NotApplicable"               tableName="ImageInstance"               matchingEntity="My.Medical.Storage.DataAccessLayer.MatchingParameters.ImageInstance,My.Medical.Storage.DataAccessLayer"               columnsName="ImageBitsAllocated" />   </imageLevel></query>

了解更多

这是本系列的第九篇文章,此处介绍了LEAD医学存储服务器数据库如何指定C FIND Rsp DICOM元素,我们将在《LEAD医疗存储服务器自定义数据库系列教程– DICOM侦听服务》系列的第十篇中文章中,着重介绍LEAD医用存储服务器数据库如何创建DICOM侦听服务。

试用版下载>>>

LEADTOOLS 使用教程>>>


想要购买LEADTOOLS正版授权,或了解更多产品信息请点击【咨询在线客服】

LEADTOOLS医疗存储服务器自定义数据库系列教程(九)— 指定C FIND Rsp DICOM元素

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月1日
下一篇 2021年1月1日

相关推荐

发表回复

登录后才能评论