ApplicationService-20100825.xsd 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema xmlns:tns="http://dicom.nema.org/PS3.19/ApplicationService-20100825" elementFormDefault="qualified"
  3. targetNamespace="http://dicom.nema.org/PS3.19/ApplicationService-20100825" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  4. <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
  5. <xs:import namespace="http://schemas.datacontract.org/2004/07/System.Xml.XPath"/>
  6. <xs:element name="GetState">
  7. <xs:complexType>
  8. <xs:sequence/>
  9. </xs:complexType>
  10. </xs:element>
  11. <xs:element name="GetStateResponse">
  12. <xs:complexType>
  13. <xs:sequence>
  14. <xs:element minOccurs="0" name="GetStateResult" type="tns:State"/>
  15. </xs:sequence>
  16. </xs:complexType>
  17. </xs:element>
  18. <xs:simpleType name="State">
  19. <xs:restriction base="xs:string">
  20. <xs:enumeration value="IDLE"/>
  21. <xs:enumeration value="INPROGRESS"/>
  22. <xs:enumeration value="SUSPENDED"/>
  23. <xs:enumeration value="COMPLETED"/>
  24. <xs:enumeration value="CANCELED"/>
  25. <xs:enumeration value="EXIT"/>
  26. </xs:restriction>
  27. </xs:simpleType>
  28. <xs:element name="State" nillable="true" type="tns:State"/>
  29. <xs:element name="SetState">
  30. <xs:complexType>
  31. <xs:sequence>
  32. <xs:element minOccurs="0" name="state" type="tns:State"/>
  33. </xs:sequence>
  34. </xs:complexType>
  35. </xs:element>
  36. <xs:element name="SetStateResponse">
  37. <xs:complexType>
  38. <xs:sequence>
  39. <xs:element minOccurs="0" name="SetStateResult" type="xs:boolean"/>
  40. </xs:sequence>
  41. </xs:complexType>
  42. </xs:element>
  43. <xs:element name="BringToFront">
  44. <xs:complexType>
  45. <xs:sequence>
  46. <xs:element minOccurs="0" name="location" nillable="true" type="tns:Rectangle"/>
  47. </xs:sequence>
  48. </xs:complexType>
  49. </xs:element>
  50. <xs:complexType name="Rectangle">
  51. <xs:sequence>
  52. <xs:element minOccurs="0" name="Height" type="xs:int"/>
  53. <xs:element minOccurs="0" name="Width" type="xs:int"/>
  54. <xs:element minOccurs="0" name="RefPointX" type="xs:int"/>
  55. <xs:element minOccurs="0" name="RefPointY" type="xs:int"/>
  56. </xs:sequence>
  57. </xs:complexType>
  58. <xs:element name="Rectangle" nillable="true" type="tns:Rectangle"/>
  59. <xs:element name="BringToFrontResponse">
  60. <xs:complexType>
  61. <xs:sequence>
  62. <xs:element minOccurs="0" name="BringToFrontResult" type="xs:boolean"/>
  63. </xs:sequence>
  64. </xs:complexType>
  65. </xs:element>
  66. <xs:element name="NotifyDataAvailable">
  67. <xs:complexType>
  68. <xs:sequence>
  69. <xs:element minOccurs="0" name="data" nillable="true" type="tns:AvailableData"/>
  70. <xs:element minOccurs="0" name="lastData" type="xs:boolean"/>
  71. </xs:sequence>
  72. </xs:complexType>
  73. </xs:element>
  74. <xs:complexType name="AvailableData">
  75. <xs:sequence>
  76. <xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"
  77. type="tns:ArrayOfObjectDescriptor"/>
  78. <xs:element minOccurs="0" name="Patients" nillable="true" type="tns:ArrayOfPatient"/>
  79. </xs:sequence>
  80. </xs:complexType>
  81. <xs:element name="AvailableData" nillable="true" type="tns:AvailableData"/>
  82. <xs:complexType name="ArrayOfObjectDescriptor">
  83. <xs:sequence>
  84. <xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectDescriptor" nillable="true"
  85. type="tns:ObjectDescriptor"/>
  86. </xs:sequence>
  87. </xs:complexType>
  88. <xs:element name="ArrayOfObjectDescriptor" nillable="true" type="tns:ArrayOfObjectDescriptor"/>
  89. <xs:complexType name="ObjectDescriptor">
  90. <xs:sequence>
  91. <xs:element minOccurs="0" name="ClassUID" nillable="true" type="tns:UID"/>
  92. <xs:element minOccurs="0" name="MimeType" nillable="true" type="tns:MimeType"/>
  93. <xs:element minOccurs="0" name="Modality" nillable="true" type="tns:Modality"/>
  94. <xs:element minOccurs="0" name="TransferSyntaxUID" nillable="true" type="tns:UID"/>
  95. <xs:element minOccurs="0" name="DescriptorUuid" nillable="true" type="tns:UUID"/>
  96. </xs:sequence>
  97. </xs:complexType>
  98. <xs:element name="ObjectDescriptor" nillable="true" type="tns:ObjectDescriptor"/>
  99. <xs:complexType name="UID">
  100. <xs:sequence>
  101. <xs:element minOccurs="0" name="Uid" nillable="true" type="xs:string"/>
  102. </xs:sequence>
  103. </xs:complexType>
  104. <xs:element name="UID" nillable="true" type="tns:UID"/>
  105. <xs:complexType name="MimeType">
  106. <xs:sequence>
  107. <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string"/>
  108. </xs:sequence>
  109. </xs:complexType>
  110. <xs:element name="MimeType" nillable="true" type="tns:MimeType"/>
  111. <xs:complexType name="Modality">
  112. <xs:sequence>
  113. <xs:element minOccurs="0" name="Modality" nillable="true" type="xs:string"/>
  114. </xs:sequence>
  115. </xs:complexType>
  116. <xs:element name="Modality" nillable="true" type="tns:Modality"/>
  117. <xs:complexType name="UUID">
  118. <xs:sequence>
  119. <xs:element minOccurs="0" name="Uuid" nillable="true" type="xs:string"/>
  120. </xs:sequence>
  121. </xs:complexType>
  122. <xs:element name="UUID" nillable="true" type="tns:UUID"/>
  123. <xs:complexType name="ArrayOfPatient">
  124. <xs:sequence>
  125. <xs:element minOccurs="0" maxOccurs="unbounded" name="Patient" nillable="true"
  126. type="tns:Patient"/>
  127. </xs:sequence>
  128. </xs:complexType>
  129. <xs:element name="ArrayOfPatient" nillable="true" type="tns:ArrayOfPatient"/>
  130. <xs:complexType name="Patient">
  131. <xs:sequence>
  132. <xs:element minOccurs="0" name="AssigningAuthority" nillable="true" type="xs:string"/>
  133. <xs:element minOccurs="0" name="DateOfBirth" type="xs:dateTime"/>
  134. <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string"/>
  135. <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string"/>
  136. <xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"
  137. type="tns:ArrayOfObjectDescriptor"/>
  138. <xs:element minOccurs="0" name="Sex" nillable="true" type="xs:string"/>
  139. <xs:element minOccurs="0" name="Studies" nillable="true" type="tns:ArrayOfStudy"/>
  140. </xs:sequence>
  141. </xs:complexType>
  142. <xs:element name="Patient" nillable="true" type="tns:Patient"/>
  143. <xs:complexType name="ArrayOfStudy">
  144. <xs:sequence>
  145. <xs:element minOccurs="0" maxOccurs="unbounded" name="Study" nillable="true" type="tns:Study"
  146. />
  147. </xs:sequence>
  148. </xs:complexType>
  149. <xs:element name="ArrayOfStudy" nillable="true" type="tns:ArrayOfStudy"/>
  150. <xs:complexType name="Study">
  151. <xs:sequence>
  152. <xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"
  153. type="tns:ArrayOfObjectDescriptor"/>
  154. <xs:element minOccurs="0" name="Series" nillable="true" type="tns:ArrayOfSeries"/>
  155. <xs:element minOccurs="0" name="StudyUID" nillable="true" type="tns:UID"/>
  156. </xs:sequence>
  157. </xs:complexType>
  158. <xs:element name="Study" nillable="true" type="tns:Study"/>
  159. <xs:complexType name="ArrayOfSeries">
  160. <xs:sequence>
  161. <xs:element minOccurs="0" maxOccurs="unbounded" name="Series" nillable="true"
  162. type="tns:Series"/>
  163. </xs:sequence>
  164. </xs:complexType>
  165. <xs:element name="ArrayOfSeries" nillable="true" type="tns:ArrayOfSeries"/>
  166. <xs:complexType name="Series">
  167. <xs:sequence>
  168. <xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"
  169. type="tns:ArrayOfObjectDescriptor"/>
  170. <xs:element minOccurs="0" name="SeriesUID" nillable="true" type="tns:UID"/>
  171. </xs:sequence>
  172. </xs:complexType>
  173. <xs:element name="Series" nillable="true" type="tns:Series"/>
  174. <xs:element name="NotifyDataAvailableResponse">
  175. <xs:complexType>
  176. <xs:sequence>
  177. <xs:element minOccurs="0" name="NotifyDataAvailableResult" type="xs:boolean"/>
  178. </xs:sequence>
  179. </xs:complexType>
  180. </xs:element>
  181. <xs:element name="GetData">
  182. <xs:complexType>
  183. <xs:sequence>
  184. <xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/>
  185. <xs:element minOccurs="0" name="acceptableTransferSyntaxes" nillable="true"
  186. type="tns:ArrayOfUID"/>
  187. <xs:element minOccurs="0" name="includeBulkData" type="xs:boolean"/>
  188. </xs:sequence>
  189. </xs:complexType>
  190. </xs:element>
  191. <xs:complexType name="ArrayOfUUID">
  192. <xs:sequence>
  193. <xs:element minOccurs="0" maxOccurs="unbounded" name="UUID" nillable="true" type="tns:UUID"/>
  194. </xs:sequence>
  195. </xs:complexType>
  196. <xs:element name="ArrayOfUUID" nillable="true" type="tns:ArrayOfUUID"/>
  197. <xs:complexType name="ArrayOfUID">
  198. <xs:sequence>
  199. <xs:element minOccurs="0" maxOccurs="unbounded" name="UID" nillable="true" type="tns:UID"/>
  200. </xs:sequence>
  201. </xs:complexType>
  202. <xs:element name="ArrayOfUID" nillable="true" type="tns:ArrayOfUID"/>
  203. <xs:element name="GetDataResponse">
  204. <xs:complexType>
  205. <xs:sequence>
  206. <xs:element minOccurs="0" name="GetDataResult" nillable="true"
  207. type="tns:ArrayOfObjectLocator"/>
  208. </xs:sequence>
  209. </xs:complexType>
  210. </xs:element>
  211. <xs:complexType name="ArrayOfObjectLocator">
  212. <xs:sequence>
  213. <xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectLocator" nillable="true"
  214. type="tns:ObjectLocator"/>
  215. </xs:sequence>
  216. </xs:complexType>
  217. <xs:element name="ArrayOfObjectLocator" nillable="true" type="tns:ArrayOfObjectLocator"/>
  218. <xs:complexType name="ObjectLocator">
  219. <xs:sequence>
  220. <xs:element minOccurs="0" name="Length" type="xs:long"/>
  221. <xs:element minOccurs="0" name="Offset" type="xs:long"/>
  222. <xs:element minOccurs="0" name="TransferSyntax" nillable="true" type="tns:UID"/>
  223. <xs:element minOccurs="0" name="URI" nillable="true" type="xs:anyURI"/>
  224. <xs:element minOccurs="0" name="Locator" nillable="true" type="tns:UUID"/>
  225. <xs:element minOccurs="0" name="Source" nillable="true" type="tns:UUID"/>
  226. </xs:sequence>
  227. </xs:complexType>
  228. <xs:element name="ObjectLocator" nillable="true" type="tns:ObjectLocator"/>
  229. <xs:element name="ReleaseData">
  230. <xs:complexType>
  231. <xs:sequence>
  232. <xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/>
  233. </xs:sequence>
  234. </xs:complexType>
  235. </xs:element>
  236. <xs:element name="ReleaseDataResponse">
  237. <xs:complexType>
  238. <xs:sequence/>
  239. </xs:complexType>
  240. </xs:element>
  241. <xs:element name="GetAsModels">
  242. <xs:complexType>
  243. <xs:sequence>
  244. <xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/>
  245. <xs:element minOccurs="0" name="classUID" nillable="true" type="tns:UID"/>
  246. <xs:element minOccurs="0" name="supportedInfoSetTypes" nillable="true"
  247. type="tns:ArrayOfMimeType"/>
  248. </xs:sequence>
  249. </xs:complexType>
  250. </xs:element>
  251. <xs:complexType name="ArrayOfMimeType">
  252. <xs:sequence>
  253. <xs:element minOccurs="0" maxOccurs="unbounded" name="MimeType" nillable="true"
  254. type="tns:MimeType"/>
  255. </xs:sequence>
  256. </xs:complexType>
  257. <xs:element name="ArrayOfMimeType" nillable="true" type="tns:ArrayOfMimeType"/>
  258. <xs:element name="GetAsModelsResponse">
  259. <xs:complexType>
  260. <xs:sequence>
  261. <xs:element minOccurs="0" name="GetAsModelsResult" nillable="true"
  262. type="tns:ModelSetDescriptor"/>
  263. </xs:sequence>
  264. </xs:complexType>
  265. </xs:element>
  266. <xs:complexType name="ModelSetDescriptor">
  267. <xs:sequence>
  268. <xs:element minOccurs="0" name="FailedSourceObjects" nillable="true" type="tns:ArrayOfUUID"/>
  269. <xs:element minOccurs="0" name="InfosetType" nillable="true" type="tns:MimeType"/>
  270. <xs:element minOccurs="0" name="Models" nillable="true" type="tns:ArrayOfUUID"/>
  271. </xs:sequence>
  272. </xs:complexType>
  273. <xs:element name="ModelSetDescriptor" nillable="true" type="tns:ModelSetDescriptor"/>
  274. <xs:element name="ReleaseModels">
  275. <xs:complexType>
  276. <xs:sequence>
  277. <xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/>
  278. </xs:sequence>
  279. </xs:complexType>
  280. </xs:element>
  281. <xs:element name="ReleaseModelsResponse">
  282. <xs:complexType>
  283. <xs:sequence/>
  284. </xs:complexType>
  285. </xs:element>
  286. <xs:element name="QueryModel">
  287. <xs:complexType>
  288. <xs:sequence>
  289. <xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/>
  290. <xs:element minOccurs="0" name="xPaths" nillable="true"
  291. xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
  292. type="q1:ArrayOfstring"/>
  293. </xs:sequence>
  294. </xs:complexType>
  295. </xs:element>
  296. <xs:element name="QueryModelResponse">
  297. <xs:complexType>
  298. <xs:sequence>
  299. <xs:element minOccurs="0" name="QueryModelResult" nillable="true"
  300. type="tns:ArrayOfQueryResult"/>
  301. </xs:sequence>
  302. </xs:complexType>
  303. </xs:element>
  304. <xs:complexType name="ArrayOfQueryResult">
  305. <xs:sequence>
  306. <xs:element minOccurs="0" maxOccurs="unbounded" name="QueryResult" nillable="true"
  307. type="tns:QueryResult"/>
  308. </xs:sequence>
  309. </xs:complexType>
  310. <xs:element name="ArrayOfQueryResult" nillable="true" type="tns:ArrayOfQueryResult"/>
  311. <xs:complexType name="QueryResult">
  312. <xs:sequence>
  313. <xs:element minOccurs="0" name="Model" nillable="true" type="tns:UUID"/>
  314. <xs:element minOccurs="0" name="Result" nillable="true" type="tns:ArrayOfXPathNode"/>
  315. <xs:element minOccurs="0" name="XPath" nillable="true" type="xs:string"/>
  316. </xs:sequence>
  317. </xs:complexType>
  318. <xs:element name="QueryResult" nillable="true" type="tns:QueryResult"/>
  319. <xs:complexType name="ArrayOfXPathNode">
  320. <xs:sequence>
  321. <xs:element minOccurs="0" maxOccurs="unbounded" name="XPathNode" nillable="true"
  322. type="tns:XPathNode"/>
  323. </xs:sequence>
  324. </xs:complexType>
  325. <xs:element name="ArrayOfXPathNode" nillable="true" type="tns:ArrayOfXPathNode"/>
  326. <xs:complexType name="XPathNode">
  327. <xs:sequence>
  328. <xs:element minOccurs="0" name="NodeType"
  329. xmlns:q2="http://schemas.datacontract.org/2004/07/System.Xml.XPath" type="q2:XPathNodeType"/>
  330. <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string"/>
  331. </xs:sequence>
  332. </xs:complexType>
  333. <xs:element name="XPathNode" nillable="true" type="tns:XPathNode"/>
  334. <xs:element name="QueryInfoSet">
  335. <xs:complexType>
  336. <xs:sequence>
  337. <xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/>
  338. <xs:element minOccurs="0" name="xPaths" nillable="true"
  339. xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
  340. type="q3:ArrayOfstring"/>
  341. </xs:sequence>
  342. </xs:complexType>
  343. </xs:element>
  344. <xs:element name="QueryInfoSetResponse">
  345. <xs:complexType>
  346. <xs:sequence>
  347. <xs:element minOccurs="0" name="QueryInfoSetResult" nillable="true"
  348. type="tns:ArrayOfQueryResultInfoSet"/>
  349. </xs:sequence>
  350. </xs:complexType>
  351. </xs:element>
  352. <xs:complexType name="ArrayOfQueryResultInfoSet">
  353. <xs:sequence>
  354. <xs:element minOccurs="0" maxOccurs="unbounded" name="QueryResultInfoSet" nillable="true"
  355. type="tns:QueryResultInfoSet"/>
  356. </xs:sequence>
  357. </xs:complexType>
  358. <xs:element name="ArrayOfQueryResultInfoSet" nillable="true" type="tns:ArrayOfQueryResultInfoSet"/>
  359. <xs:complexType name="QueryResultInfoSet">
  360. <xs:sequence>
  361. <xs:element minOccurs="0" name="Model" nillable="true" type="tns:UUID"/>
  362. <xs:element minOccurs="0" name="Result" nillable="true" type="tns:ArrayOfXPathNodeInfoSet"/>
  363. <xs:element minOccurs="0" name="XPath" nillable="true" type="xs:string"/>
  364. </xs:sequence>
  365. </xs:complexType>
  366. <xs:element name="QueryResultInfoSet" nillable="true" type="tns:QueryResultInfoSet"/>
  367. <xs:complexType name="ArrayOfXPathNodeInfoSet">
  368. <xs:sequence>
  369. <xs:element minOccurs="0" maxOccurs="unbounded" name="XPathNodeInfoSet" nillable="true"
  370. type="tns:XPathNodeInfoSet"/>
  371. </xs:sequence>
  372. </xs:complexType>
  373. <xs:element name="ArrayOfXPathNodeInfoSet" nillable="true" type="tns:ArrayOfXPathNodeInfoSet"/>
  374. <xs:complexType name="XPathNodeInfoSet">
  375. <xs:sequence>
  376. <xs:element minOccurs="0" name="InfoSetValue" nillable="true" type="xs:base64Binary"/>
  377. <xs:element minOccurs="0" name="NodeType"
  378. xmlns:q4="http://schemas.datacontract.org/2004/07/System.Xml.XPath" type="q4:XPathNodeType"
  379. />
  380. </xs:sequence>
  381. </xs:complexType>
  382. <xs:element name="XPathNodeInfoSet" nillable="true" type="tns:XPathNodeInfoSet"/>
  383. </xs:schema>