rubyhealthvault 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (477) hide show
  1. data/LICENSE +52 -0
  2. data/README +19 -0
  3. data/Rakefile +149 -0
  4. data/bin/certs/HelloWorld-SDK_ID-05a059c9-c309-46af-9b86-b06d42510550.pfx +0 -0
  5. data/bin/certs/helloWorld.pem +52 -0
  6. data/bin/example.rb +80 -0
  7. data/bin/hv.log +118 -0
  8. data/lib/application.rb +37 -0
  9. data/lib/code_generation/xsd_parser.rb +376 -0
  10. data/lib/config.rb +28 -0
  11. data/lib/connection.rb +61 -0
  12. data/lib/healthvault.rb +2 -0
  13. data/lib/request.rb +113 -0
  14. data/lib/response.rb +50 -0
  15. data/lib/templates/complex_type_template.erb +64 -0
  16. data/lib/templates/simple_type_template.erb +65 -0
  17. data/lib/templates/thing_class_extension_template.erb +22 -0
  18. data/lib/utils/crypto_utils.rb +69 -0
  19. data/lib/utils/string_utils.rb +35 -0
  20. data/lib/wc_data/complex_type.rb +249 -0
  21. data/lib/wc_data/generated/application/app.rb +217 -0
  22. data/lib/wc_data/generated/application/app_id_and_incr_auth.rb +118 -0
  23. data/lib/wc_data/generated/application/app_large_logo.rb +56 -0
  24. data/lib/wc_data/generated/application/app_large_logo_info.rb +66 -0
  25. data/lib/wc_data/generated/application/app_persistent_tokens.rb +64 -0
  26. data/lib/wc_data/generated/application/app_small_logo.rb +56 -0
  27. data/lib/wc_data/generated/application/app_small_logo_info.rb +66 -0
  28. data/lib/wc_data/generated/application/app_with_logos.rb +291 -0
  29. data/lib/wc_data/generated/application/public_key.rb +43 -0
  30. data/lib/wc_data/generated/application/public_keys.rb +48 -0
  31. data/lib/wc_data/generated/application/statement.rb +30 -0
  32. data/lib/wc_data/generated/application/statement_info.rb +66 -0
  33. data/lib/wc_data/generated/auth/app_record_auth_action.rb +61 -0
  34. data/lib/wc_data/generated/auth/associated_cred_info.rb +70 -0
  35. data/lib/wc_data/generated/auth/auth.rb +44 -0
  36. data/lib/wc_data/generated/auth/auth_session_credential.rb +68 -0
  37. data/lib/wc_data/generated/auth/auth_session_sub_credential.rb +45 -0
  38. data/lib/wc_data/generated/auth/auth_xml.rb +44 -0
  39. data/lib/wc_data/generated/auth/federating_cred.rb +48 -0
  40. data/lib/wc_data/generated/auth/rule.rb +187 -0
  41. data/lib/wc_data/generated/auth/rules.rb +48 -0
  42. data/lib/wc_data/generated/auth/set.rb +70 -0
  43. data/lib/wc_data/generated/auth/simple_card_space_credential.rb +48 -0
  44. data/lib/wc_data/generated/auth/simple_passport_credential.rb +47 -0
  45. data/lib/wc_data/generated/auth/simple_user_pass_credential.rb +48 -0
  46. data/lib/wc_data/generated/auth/textual_permissions.rb +66 -0
  47. data/lib/wc_data/generated/auth/textual_permissions_type.rb +81 -0
  48. data/lib/wc_data/generated/auth/textual_rule.rb +154 -0
  49. data/lib/wc_data/generated/auth/token.rb +90 -0
  50. data/lib/wc_data/generated/auth/user_pass_auth_session_cred.rb +92 -0
  51. data/lib/wc_data/generated/auth/user_pass_cred.rb +70 -0
  52. data/lib/wc_data/generated/dates/approx_date.rb +82 -0
  53. data/lib/wc_data/generated/dates/approx_date_time.rb +62 -0
  54. data/lib/wc_data/generated/dates/date.rb +86 -0
  55. data/lib/wc_data/generated/dates/date_time.rb +82 -0
  56. data/lib/wc_data/generated/dates/day.rb +56 -0
  57. data/lib/wc_data/generated/dates/hour.rb +56 -0
  58. data/lib/wc_data/generated/dates/millisecond.rb +56 -0
  59. data/lib/wc_data/generated/dates/minute.rb +56 -0
  60. data/lib/wc_data/generated/dates/month.rb +56 -0
  61. data/lib/wc_data/generated/dates/second.rb +56 -0
  62. data/lib/wc_data/generated/dates/structured_approx_date.rb +82 -0
  63. data/lib/wc_data/generated/dates/time.rb +102 -0
  64. data/lib/wc_data/generated/dates/year.rb +56 -0
  65. data/lib/wc_data/generated/methods/add_application/info.rb +375 -0
  66. data/lib/wc_data/generated/methods/create_authenticated_session_token/auth_token_info.rb +72 -0
  67. data/lib/wc_data/generated/methods/create_authenticated_session_token/credential.rb +88 -0
  68. data/lib/wc_data/generated/methods/create_authenticated_session_token/info.rb +50 -0
  69. data/lib/wc_data/generated/methods/create_connect_request/info.rb +136 -0
  70. data/lib/wc_data/generated/methods/delete_open_query/info.rb +50 -0
  71. data/lib/wc_data/generated/methods/delete_pending_connect_request/info.rb +49 -0
  72. data/lib/wc_data/generated/methods/get_authorized_connect_requests/info.rb +48 -0
  73. data/lib/wc_data/generated/methods/get_authorized_records/info.rb +52 -0
  74. data/lib/wc_data/generated/methods/get_open_query_info/info.rb +50 -0
  75. data/lib/wc_data/generated/methods/get_person_info/info.rb +48 -0
  76. data/lib/wc_data/generated/methods/get_thing_type/info.rb +118 -0
  77. data/lib/wc_data/generated/methods/get_thing_type/thing_type_section_spec.rb +63 -0
  78. data/lib/wc_data/generated/methods/get_things/info.rb +51 -0
  79. data/lib/wc_data/generated/methods/get_things/thing_filter_spec.rb +296 -0
  80. data/lib/wc_data/generated/methods/get_things/thing_format_spec.rb +75 -0
  81. data/lib/wc_data/generated/methods/get_things/thing_request_group.rb +197 -0
  82. data/lib/wc_data/generated/methods/get_things/thing_section_spec.rb +67 -0
  83. data/lib/wc_data/generated/methods/get_vocabulary/info.rb +48 -0
  84. data/lib/wc_data/generated/methods/get_vocabulary/vocabulary_parameters.rb +73 -0
  85. data/lib/wc_data/generated/methods/put_things/info.rb +51 -0
  86. data/lib/wc_data/generated/methods/query_permissions/info.rb +51 -0
  87. data/lib/wc_data/generated/methods/remove_things/info.rb +52 -0
  88. data/lib/wc_data/generated/methods/response/add_application/info.rb +51 -0
  89. data/lib/wc_data/generated/methods/response/any/info.rb +52 -0
  90. data/lib/wc_data/generated/methods/response/create_authenticated_session_token/app_auth_token_absence_reason.rb +72 -0
  91. data/lib/wc_data/generated/methods/response/create_authenticated_session_token/auth_token_absence_reason.rb +49 -0
  92. data/lib/wc_data/generated/methods/response/create_authenticated_session_token/info.rb +78 -0
  93. data/lib/wc_data/generated/methods/response/create_connect_request/info.rb +52 -0
  94. data/lib/wc_data/generated/methods/response/delete_open_query/info.rb +52 -0
  95. data/lib/wc_data/generated/methods/response/get_application_settings/app_settings.rb +54 -0
  96. data/lib/wc_data/generated/methods/response/get_application_settings/info.rb +70 -0
  97. data/lib/wc_data/generated/methods/response/get_authorized_connect_requests/connect_request.rb +114 -0
  98. data/lib/wc_data/generated/methods/response/get_authorized_connect_requests/info.rb +72 -0
  99. data/lib/wc_data/generated/methods/response/get_authorized_records/info.rb +53 -0
  100. data/lib/wc_data/generated/methods/response/get_people_for_record/info.rb +76 -0
  101. data/lib/wc_data/generated/methods/response/get_person_info/info.rb +52 -0
  102. data/lib/wc_data/generated/methods/response/get_service_definition/configuration_entry.rb +71 -0
  103. data/lib/wc_data/generated/methods/response/get_service_definition/info.rb +141 -0
  104. data/lib/wc_data/generated/methods/response/get_service_definition/platform.rb +98 -0
  105. data/lib/wc_data/generated/methods/response/get_service_definition/sdk_assembly.rb +94 -0
  106. data/lib/wc_data/generated/methods/response/get_service_definition/shell.rb +95 -0
  107. data/lib/wc_data/generated/methods/response/get_service_definition/shell_redirect_token.rb +93 -0
  108. data/lib/wc_data/generated/methods/response/get_service_definition/xml_method.rb +75 -0
  109. data/lib/wc_data/generated/methods/response/get_service_definition/xml_method_version.rb +92 -0
  110. data/lib/wc_data/generated/methods/response/get_thing_type/column.rb +130 -0
  111. data/lib/wc_data/generated/methods/response/get_thing_type/columns.rb +52 -0
  112. data/lib/wc_data/generated/methods/response/get_thing_type/image.rb +71 -0
  113. data/lib/wc_data/generated/methods/response/get_thing_type/info.rb +53 -0
  114. data/lib/wc_data/generated/methods/response/get_thing_type/thing_type_info.rb +232 -0
  115. data/lib/wc_data/generated/methods/response/get_thing_type/transform_source.rb +72 -0
  116. data/lib/wc_data/generated/methods/response/get_thing_type/transforms.rb +52 -0
  117. data/lib/wc_data/generated/methods/response/get_things/info.rb +54 -0
  118. data/lib/wc_data/generated/methods/response/get_things/thing_response_group.rb +118 -0
  119. data/lib/wc_data/generated/methods/response/get_things/unprocessed_thing_key_info.rb +95 -0
  120. data/lib/wc_data/generated/methods/response/get_vocabulary/info.rb +76 -0
  121. data/lib/wc_data/generated/methods/response/put_things/info.rb +53 -0
  122. data/lib/wc_data/generated/methods/response/query_permissions/info.rb +54 -0
  123. data/lib/wc_data/generated/methods/response/query_permissions/permissions.rb +53 -0
  124. data/lib/wc_data/generated/methods/response/query_permissions/thing_type_permission.rb +89 -0
  125. data/lib/wc_data/generated/methods/response/search_vocabulary/info.rb +74 -0
  126. data/lib/wc_data/generated/methods/save_open_query/info.rb +227 -0
  127. data/lib/wc_data/generated/methods/search_vocabulary/info.rb +70 -0
  128. data/lib/wc_data/generated/methods/search_vocabulary/vocabulary_search_params.rb +69 -0
  129. data/lib/wc_data/generated/methods/search_vocabulary/vocabulary_search_string.rb +68 -0
  130. data/lib/wc_data/generated/methods/send_insecure_message/info.rb +155 -0
  131. data/lib/wc_data/generated/methods/send_insecure_message_from_application/from_mailbox.rb +71 -0
  132. data/lib/wc_data/generated/methods/send_insecure_message_from_application/info.rb +178 -0
  133. data/lib/wc_data/generated/methods/set_application_settings/app_settings.rb +52 -0
  134. data/lib/wc_data/generated/methods/set_application_settings/info.rb +48 -0
  135. data/lib/wc_data/generated/methods/update_application/info.rb +384 -0
  136. data/lib/wc_data/generated/methods/update_external_id/info.rb +70 -0
  137. data/lib/wc_data/generated/record/active_app_authorization.rb +196 -0
  138. data/lib/wc_data/generated/record/active_person_authorization.rb +290 -0
  139. data/lib/wc_data/generated/record/active_person_authorization_no_ids.rb +250 -0
  140. data/lib/wc_data/generated/record/authorized_record_state.rb +53 -0
  141. data/lib/wc_data/generated/record/non_active_authorization.rb +340 -0
  142. data/lib/wc_data/generated/record/non_active_authorization_no_ids.rb +300 -0
  143. data/lib/wc_data/generated/request/authenticated_session_info.rb +88 -0
  144. data/lib/wc_data/generated/request/header.rb +274 -0
  145. data/lib/wc_data/generated/request/info.rb +48 -0
  146. data/lib/wc_data/generated/request/offline_person_info.rb +46 -0
  147. data/lib/wc_data/generated/request/request.rb +86 -0
  148. data/lib/wc_data/generated/request/xsl.rb +64 -0
  149. data/lib/wc_data/generated/thing/access_avenue.rb +49 -0
  150. data/lib/wc_data/generated/thing/aerobic/aerobic_session.rb +112 -0
  151. data/lib/wc_data/generated/thing/aerobic_profile/aerobic_profile.rb +153 -0
  152. data/lib/wc_data/generated/thing/aerobic_profile/heartrate_zone.rb +90 -0
  153. data/lib/wc_data/generated/thing/aerobic_profile/heartrate_zone_group.rb +72 -0
  154. data/lib/wc_data/generated/thing/aerobic_profile/max_vo2.rb +68 -0
  155. data/lib/wc_data/generated/thing/aerobic_profile/zone_boundary.rb +68 -0
  156. data/lib/wc_data/generated/thing/aerobic_weekly/aerobic_weekly.rb +72 -0
  157. data/lib/wc_data/generated/thing/allergic_episode/allergic_episode.rb +108 -0
  158. data/lib/wc_data/generated/thing/allergy/allergy.rb +186 -0
  159. data/lib/wc_data/generated/thing/annotation/annotation.rb +144 -0
  160. data/lib/wc_data/generated/thing/application/app_specific.rb +137 -0
  161. data/lib/wc_data/generated/thing/appointment/appointment.rb +166 -0
  162. data/lib/wc_data/generated/thing/audit.rb +150 -0
  163. data/lib/wc_data/generated/thing/audit_action.rb +53 -0
  164. data/lib/wc_data/generated/thing/basic/basic.rb +180 -0
  165. data/lib/wc_data/generated/thing/basic/birthyear.rb +58 -0
  166. data/lib/wc_data/generated/thing/basic/country.rb +45 -0
  167. data/lib/wc_data/generated/thing/basic/firstdow.rb +58 -0
  168. data/lib/wc_data/generated/thing/basic/gender.rb +51 -0
  169. data/lib/wc_data/generated/thing/blood_glucose/blood_glucose.rb +172 -0
  170. data/lib/wc_data/generated/thing/blood_pressure/blood_pressure.rb +133 -0
  171. data/lib/wc_data/generated/thing/cardiac_profile/cardiac_profile.rb +209 -0
  172. data/lib/wc_data/generated/thing/cholesterol_profile/cholesterol_profile.rb +129 -0
  173. data/lib/wc_data/generated/thing/common.rb +126 -0
  174. data/lib/wc_data/generated/thing/concern/concern.rb +71 -0
  175. data/lib/wc_data/generated/thing/condition/condition.rb +127 -0
  176. data/lib/wc_data/generated/thing/contact/contact.rb +49 -0
  177. data/lib/wc_data/generated/thing/contraindication/contraindication.rb +129 -0
  178. data/lib/wc_data/generated/thing/daily_medication_usage/daily_medication_usage.rb +218 -0
  179. data/lib/wc_data/generated/thing/data_other.rb +82 -0
  180. data/lib/wc_data/generated/thing/data_xml.rb +80 -0
  181. data/lib/wc_data/generated/thing/diabetic_profile/diabetic_profile.rb +92 -0
  182. data/lib/wc_data/generated/thing/diabetic_profile/target_glucose_zone.rb +90 -0
  183. data/lib/wc_data/generated/thing/diabetic_profile/target_glucose_zone_group.rb +72 -0
  184. data/lib/wc_data/generated/thing/diabetic_profile/zone_boundary.rb +68 -0
  185. data/lib/wc_data/generated/thing/dietary_intake_daily/dietary_intake_daily.rb +249 -0
  186. data/lib/wc_data/generated/thing/directive/directive.rb +343 -0
  187. data/lib/wc_data/generated/thing/discharge_summary/discharge_summary.rb +366 -0
  188. data/lib/wc_data/generated/thing/effective_permissions.rb +66 -0
  189. data/lib/wc_data/generated/thing/emotion/emotion.rb +109 -0
  190. data/lib/wc_data/generated/thing/encounter/encounter.rb +143 -0
  191. data/lib/wc_data/generated/thing/equipment/device.rb +163 -0
  192. data/lib/wc_data/generated/thing/extension.rb +123 -0
  193. data/lib/wc_data/generated/thing/family_history/family_history.rb +203 -0
  194. data/lib/wc_data/generated/thing/family_history_condition/family_history_condition.rb +49 -0
  195. data/lib/wc_data/generated/thing/family_history_person/family_history_person.rb +107 -0
  196. data/lib/wc_data/generated/thing/file/file.rb +90 -0
  197. data/lib/wc_data/generated/thing/guid_and_name.rb +66 -0
  198. data/lib/wc_data/generated/thing/hb_a1_c/hb_a1_c.rb +111 -0
  199. data/lib/wc_data/generated/thing/healthcare_proxy/healthcare_proxy.rb +144 -0
  200. data/lib/wc_data/generated/thing/height/height.rb +71 -0
  201. data/lib/wc_data/generated/thing/immunization/immunization.rb +244 -0
  202. data/lib/wc_data/generated/thing/inhaler/alert.rb +74 -0
  203. data/lib/wc_data/generated/thing/inhaler/asthma_inhaler.rb +272 -0
  204. data/lib/wc_data/generated/thing/inhaler/dow.rb +58 -0
  205. data/lib/wc_data/generated/thing/inhaler/purpose.rb +55 -0
  206. data/lib/wc_data/generated/thing/inhaler_use/asthma_inhaler_use.rb +152 -0
  207. data/lib/wc_data/generated/thing/insulin/insulin_injection.rb +93 -0
  208. data/lib/wc_data/generated/thing/insulin_injection_use/diabetes_insulin_injection_use.rb +114 -0
  209. data/lib/wc_data/generated/thing/lab_test_results/lab_test_results.rb +89 -0
  210. data/lib/wc_data/generated/thing/life_goal/life_goal.rb +68 -0
  211. data/lib/wc_data/generated/thing/link/link.rb +68 -0
  212. data/lib/wc_data/generated/thing/medication/dose_value.rb +107 -0
  213. data/lib/wc_data/generated/thing/medication/medication.rb +491 -0
  214. data/lib/wc_data/generated/thing/microbiology/microbiology_lab_results.rb +186 -0
  215. data/lib/wc_data/generated/thing/password/protected/package/algorithm_name.rb +59 -0
  216. data/lib/wc_data/generated/thing/password/protected/package/package_encryption_type.rb +71 -0
  217. data/lib/wc_data/generated/thing/password/protected/package/password_protected_package.rb +53 -0
  218. data/lib/wc_data/generated/thing/password/protected/package/pbe_parameters_type.rb +97 -0
  219. data/lib/wc_data/generated/thing/payer/payer.rb +265 -0
  220. data/lib/wc_data/generated/thing/personal/personal.rb +303 -0
  221. data/lib/wc_data/generated/thing/personal_image/personal_image.rb +28 -0
  222. data/lib/wc_data/generated/thing/problem/importance.rb +45 -0
  223. data/lib/wc_data/generated/thing/problem/problem.rb +114 -0
  224. data/lib/wc_data/generated/thing/procedure/procedure.rb +125 -0
  225. data/lib/wc_data/generated/thing/radiology_lab_results/radiology_lab_results.rb +106 -0
  226. data/lib/wc_data/generated/thing/related_thing.rb +88 -0
  227. data/lib/wc_data/generated/thing/respiratory_profile/respiratory_profile.rb +109 -0
  228. data/lib/wc_data/generated/thing/sjam/awakening.rb +70 -0
  229. data/lib/wc_data/generated/thing/sjam/sleep_am.rb +195 -0
  230. data/lib/wc_data/generated/thing/sjam/wake_state.rb +58 -0
  231. data/lib/wc_data/generated/thing/sjpm/activity.rb +70 -0
  232. data/lib/wc_data/generated/thing/sjpm/sleep_pm.rb +162 -0
  233. data/lib/wc_data/generated/thing/sjpm/sleepiness.rb +58 -0
  234. data/lib/wc_data/generated/thing/spirometer/spirometer.rb +317 -0
  235. data/lib/wc_data/generated/thing/spirometer/volume_value.rb +69 -0
  236. data/lib/wc_data/generated/thing/thing.rb +213 -0
  237. data/lib/wc_data/generated/thing/thing_key.rb +66 -0
  238. data/lib/wc_data/generated/thing/thing_state.rb +49 -0
  239. data/lib/wc_data/generated/thing/thing_type.rb +64 -0
  240. data/lib/wc_data/generated/thing/types/address.rb +176 -0
  241. data/lib/wc_data/generated/thing/types/aerobic_lap_session.rb +86 -0
  242. data/lib/wc_data/generated/thing/types/aerobic_session.rb +745 -0
  243. data/lib/wc_data/generated/thing/types/aerobic_session_samples.rb +310 -0
  244. data/lib/wc_data/generated/thing/types/altitude_value.rb +70 -0
  245. data/lib/wc_data/generated/thing/types/blood_glucose_value.rb +69 -0
  246. data/lib/wc_data/generated/thing/types/codable_value.rb +74 -0
  247. data/lib/wc_data/generated/thing/types/coded_value.rb +112 -0
  248. data/lib/wc_data/generated/thing/types/communication_type.rb +112 -0
  249. data/lib/wc_data/generated/thing/types/condition.rb +148 -0
  250. data/lib/wc_data/generated/thing/types/contact.rb +97 -0
  251. data/lib/wc_data/generated/thing/types/display_value.rb +90 -0
  252. data/lib/wc_data/generated/thing/types/document_reference_type.rb +112 -0
  253. data/lib/wc_data/generated/thing/types/double_range.rb +70 -0
  254. data/lib/wc_data/generated/thing/types/dow.rb +58 -0
  255. data/lib/wc_data/generated/thing/types/duration_value.rb +69 -0
  256. data/lib/wc_data/generated/thing/types/email.rb +89 -0
  257. data/lib/wc_data/generated/thing/types/flow_value.rb +69 -0
  258. data/lib/wc_data/generated/thing/types/general_measurement.rb +74 -0
  259. data/lib/wc_data/generated/thing/types/goal.rb +86 -0
  260. data/lib/wc_data/generated/thing/types/goal_status.rb +55 -0
  261. data/lib/wc_data/generated/thing/types/insulin_injection_value.rb +69 -0
  262. data/lib/wc_data/generated/thing/types/lab_result_type.rb +149 -0
  263. data/lib/wc_data/generated/thing/types/lab_test_result_type.rb +167 -0
  264. data/lib/wc_data/generated/thing/types/lab_test_result_value_type.rb +99 -0
  265. data/lib/wc_data/generated/thing/types/lab_test_results_group_type.rb +138 -0
  266. data/lib/wc_data/generated/thing/types/lab_test_type.rb +209 -0
  267. data/lib/wc_data/generated/thing/types/language.rb +69 -0
  268. data/lib/wc_data/generated/thing/types/length_value.rb +69 -0
  269. data/lib/wc_data/generated/thing/types/name.rb +148 -0
  270. data/lib/wc_data/generated/thing/types/non_negative_double.rb +45 -0
  271. data/lib/wc_data/generated/thing/types/one_to_five.rb +58 -0
  272. data/lib/wc_data/generated/thing/types/organization.rb +106 -0
  273. data/lib/wc_data/generated/thing/types/pace_value.rb +69 -0
  274. data/lib/wc_data/generated/thing/types/percentage.rb +58 -0
  275. data/lib/wc_data/generated/thing/types/person.rb +146 -0
  276. data/lib/wc_data/generated/thing/types/phone.rb +89 -0
  277. data/lib/wc_data/generated/thing/types/positive_double.rb +45 -0
  278. data/lib/wc_data/generated/thing/types/power_value.rb +69 -0
  279. data/lib/wc_data/generated/thing/types/sample.rb +88 -0
  280. data/lib/wc_data/generated/thing/types/sample_set.rb +116 -0
  281. data/lib/wc_data/generated/thing/types/speed_value.rb +69 -0
  282. data/lib/wc_data/generated/thing/types/structured_measurement.rb +71 -0
  283. data/lib/wc_data/generated/thing/types/temperature_value.rb +69 -0
  284. data/lib/wc_data/generated/thing/types/test_result_range.rb +71 -0
  285. data/lib/wc_data/generated/thing/types/torque_value.rb +69 -0
  286. data/lib/wc_data/generated/thing/types/weight_value.rb +69 -0
  287. data/lib/wc_data/generated/thing/vital_signs/vital_sign_result_type.rb +166 -0
  288. data/lib/wc_data/generated/thing/vital_signs/vital_signs.rb +110 -0
  289. data/lib/wc_data/generated/thing/weight/weight.rb +70 -0
  290. data/lib/wc_data/generated/thing/weight_goal/weight_goal.rb +106 -0
  291. data/lib/wc_data/generated/types/address.rb +162 -0
  292. data/lib/wc_data/generated/types/app_info.rb +66 -0
  293. data/lib/wc_data/generated/types/app_server_cred.rb +70 -0
  294. data/lib/wc_data/generated/types/app_server_cred_info.rb +70 -0
  295. data/lib/wc_data/generated/types/app_settings.rb +50 -0
  296. data/lib/wc_data/generated/types/base64_sha1.rb +56 -0
  297. data/lib/wc_data/generated/types/card_space_cred.rb +50 -0
  298. data/lib/wc_data/generated/types/char2.rb +56 -0
  299. data/lib/wc_data/generated/types/codable_value.rb +72 -0
  300. data/lib/wc_data/generated/types/coded_value.rb +110 -0
  301. data/lib/wc_data/generated/types/culture.rb +64 -0
  302. data/lib/wc_data/generated/types/date_range.rb +62 -0
  303. data/lib/wc_data/generated/types/email.rb +82 -0
  304. data/lib/wc_data/generated/types/email_address.rb +56 -0
  305. data/lib/wc_data/generated/types/gender.rb +49 -0
  306. data/lib/wc_data/generated/types/group.rb +91 -0
  307. data/lib/wc_data/generated/types/groups.rb +50 -0
  308. data/lib/wc_data/generated/types/guid.rb +43 -0
  309. data/lib/wc_data/generated/types/hash_finalized.rb +48 -0
  310. data/lib/wc_data/generated/types/hash_finalized_data.rb +68 -0
  311. data/lib/wc_data/generated/types/hmac_algorithm.rb +48 -0
  312. data/lib/wc_data/generated/types/hmac_algorithm_data.rb +68 -0
  313. data/lib/wc_data/generated/types/hmac_finalized.rb +48 -0
  314. data/lib/wc_data/generated/types/hmac_finalized_data.rb +68 -0
  315. data/lib/wc_data/generated/types/iso3166.rb +1001 -0
  316. data/lib/wc_data/generated/types/iso4217.rb +733 -0
  317. data/lib/wc_data/generated/types/iso639_1.rb +585 -0
  318. data/lib/wc_data/generated/types/language_competency.rb +64 -0
  319. data/lib/wc_data/generated/types/localized_string.rb +64 -0
  320. data/lib/wc_data/generated/types/login_name.rb +56 -0
  321. data/lib/wc_data/generated/types/name_match_type.rb +53 -0
  322. data/lib/wc_data/generated/types/omb_ethnicity.rb +65 -0
  323. data/lib/wc_data/generated/types/open_query_info.rb +149 -0
  324. data/lib/wc_data/generated/types/permission.rb +61 -0
  325. data/lib/wc_data/generated/types/person_info.rb +214 -0
  326. data/lib/wc_data/generated/types/phone.rb +82 -0
  327. data/lib/wc_data/generated/types/positive_long.rb +43 -0
  328. data/lib/wc_data/generated/types/puid.rb +43 -0
  329. data/lib/wc_data/generated/types/rcpt_address.rb +69 -0
  330. data/lib/wc_data/generated/types/rcpt_person.rb +68 -0
  331. data/lib/wc_data/generated/types/rcpt_record.rb +48 -0
  332. data/lib/wc_data/generated/types/record.rb +264 -0
  333. data/lib/wc_data/generated/types/record_state.rb +57 -0
  334. data/lib/wc_data/generated/types/sig.rb +112 -0
  335. data/lib/wc_data/generated/types/string1024.rb +56 -0
  336. data/lib/wc_data/generated/types/string128.rb +56 -0
  337. data/lib/wc_data/generated/types/string16.rb +56 -0
  338. data/lib/wc_data/generated/types/string255.rb +56 -0
  339. data/lib/wc_data/generated/types/string32.rb +56 -0
  340. data/lib/wc_data/generated/types/string512.rb +56 -0
  341. data/lib/wc_data/generated/types/string64.rb +56 -0
  342. data/lib/wc_data/generated/types/stringnz.rb +43 -0
  343. data/lib/wc_data/generated/types/stringz1024.rb +56 -0
  344. data/lib/wc_data/generated/types/stringz128.rb +56 -0
  345. data/lib/wc_data/generated/types/stringz16.rb +56 -0
  346. data/lib/wc_data/generated/types/stringz255.rb +56 -0
  347. data/lib/wc_data/generated/types/stringz32.rb +56 -0
  348. data/lib/wc_data/generated/types/stringz512.rb +56 -0
  349. data/lib/wc_data/generated/types/stringz64.rb +56 -0
  350. data/lib/wc_data/generated/types/url.rb +56 -0
  351. data/lib/wc_data/generated/types/version.rb +56 -0
  352. data/lib/wc_data/generated/vocab/info_xml.rb +46 -0
  353. data/lib/wc_data/generated/vocab/vocabulary_code_item.rb +104 -0
  354. data/lib/wc_data/generated/vocab/vocabulary_code_set.rb +133 -0
  355. data/lib/wc_data/generated/vocab/vocabulary_key.rb +106 -0
  356. data/lib/wc_data/generated/vocab/vocabulary_key_info.rb +26 -0
  357. data/lib/wc_data/init.rb +27 -0
  358. data/lib/wc_data/raw_info_xml.rb +12 -0
  359. data/lib/wc_data/simple_type.rb +16 -0
  360. data/lib/wc_data/thing.rb +78 -0
  361. data/lib/xsd/bootstrap/request.xsd +107 -0
  362. data/lib/xsd/bootstrap/response-getservicedefinition.xsd +119 -0
  363. data/lib/xsd/bootstrap/types.xsd +1117 -0
  364. data/lib/xsd/common/application.xsd +766 -0
  365. data/lib/xsd/common/auth.xsd +1093 -0
  366. data/lib/xsd/common/dates.xsd +510 -0
  367. data/lib/xsd/common/record.xsd +1160 -0
  368. data/lib/xsd/common/request.xsd +524 -0
  369. data/lib/xsd/common/thing.xsd +881 -0
  370. data/lib/xsd/common/types.xsd +3131 -0
  371. data/lib/xsd/common/vocab.xsd +359 -0
  372. data/lib/xsd/requests/method-addapplication.xsd +349 -0
  373. data/lib/xsd/requests/method-createauthenticatedsessiontoken.xsd +216 -0
  374. data/lib/xsd/requests/method-createconnectrequest.xsd +143 -0
  375. data/lib/xsd/requests/method-deleteopenquery.xsd +75 -0
  376. data/lib/xsd/requests/method-deletependingconnectrequest.xsd +77 -0
  377. data/lib/xsd/requests/method-getauthorizedconnectrequests.xsd +78 -0
  378. data/lib/xsd/requests/method-getauthorizedrecords.xsd +82 -0
  379. data/lib/xsd/requests/method-getopenqueryinfo.xsd +74 -0
  380. data/lib/xsd/requests/method-getpersoninfo.xsd +80 -0
  381. data/lib/xsd/requests/method-getthings.xsd +516 -0
  382. data/lib/xsd/requests/method-getthingtype.xsd +201 -0
  383. data/lib/xsd/requests/method-getvocabulary.xsd +135 -0
  384. data/lib/xsd/requests/method-putthings.xsd +80 -0
  385. data/lib/xsd/requests/method-querypermissions.xsd +79 -0
  386. data/lib/xsd/requests/method-removethings.xsd +78 -0
  387. data/lib/xsd/requests/method-saveopenquery.xsd +219 -0
  388. data/lib/xsd/requests/method-searchvocabulary.xsd +222 -0
  389. data/lib/xsd/requests/method-sendinsecuremessage.xsd +185 -0
  390. data/lib/xsd/requests/method-sendinsecuremessagefromapplication.xsd +274 -0
  391. data/lib/xsd/requests/method-setapplicationsettings.xsd +166 -0
  392. data/lib/xsd/requests/method-updateapplication.xsd +357 -0
  393. data/lib/xsd/requests/method-updateexternalid.xsd +84 -0
  394. data/lib/xsd/responses/response-addapplication.xsd +79 -0
  395. data/lib/xsd/responses/response-any.xsd +59 -0
  396. data/lib/xsd/responses/response-createauthenticatedsessiontoken.xsd +167 -0
  397. data/lib/xsd/responses/response-createconnectrequest.xsd +88 -0
  398. data/lib/xsd/responses/response-deleteopenquery.xsd +87 -0
  399. data/lib/xsd/responses/response-getapplicationsettings.xsd +192 -0
  400. data/lib/xsd/responses/response-getauthorizedconnectrequests.xsd +135 -0
  401. data/lib/xsd/responses/response-getauthorizedrecords.xsd +76 -0
  402. data/lib/xsd/responses/response-getopenqueryinfo.xsd +64 -0
  403. data/lib/xsd/responses/response-getpeopleforrecord.xsd +95 -0
  404. data/lib/xsd/responses/response-getpersoninfo.xsd +87 -0
  405. data/lib/xsd/responses/response-getservicedefinition.xsd +515 -0
  406. data/lib/xsd/responses/response-getthings.xsd +198 -0
  407. data/lib/xsd/responses/response-getthingtype.xsd +457 -0
  408. data/lib/xsd/responses/response-getvocabulary.xsd +93 -0
  409. data/lib/xsd/responses/response-putthings.xsd +63 -0
  410. data/lib/xsd/responses/response-querypermissions.xsd +182 -0
  411. data/lib/xsd/responses/response-saveopenquery.xsd +62 -0
  412. data/lib/xsd/responses/response-searchvocabulary.xsd +90 -0
  413. data/lib/xsd/things/Advance Directive.xsd +60 -0
  414. data/lib/xsd/things/Aerobic Exercise Session.xsd +19 -0
  415. data/lib/xsd/things/Aerobic Profile.xsd +143 -0
  416. data/lib/xsd/things/Allergic Episode.xsd +17 -0
  417. data/lib/xsd/things/Allergy.xsd +39 -0
  418. data/lib/xsd/things/Application-Specific Information.xsd +42 -0
  419. data/lib/xsd/things/Appointment.xsd +24 -0
  420. data/lib/xsd/things/Asthma Inhaler Usage.xsd +44 -0
  421. data/lib/xsd/things/Asthma Inhaler.xsd +99 -0
  422. data/lib/xsd/things/Base Thing Type.xsd +1000 -0
  423. data/lib/xsd/things/Basic Demographic Information.xsd +49 -0
  424. data/lib/xsd/things/Blood Glucose Measurement.xsd +28 -0
  425. data/lib/xsd/things/Blood Pressure Measurement.xsd +30 -0
  426. data/lib/xsd/things/Cardiac Profile.xsd +80 -0
  427. data/lib/xsd/things/Cholesterol Profile (Lipid Profile).xsd +38 -0
  428. data/lib/xsd/things/Concern.xsd +17 -0
  429. data/lib/xsd/things/Condition.xsd +28 -0
  430. data/lib/xsd/things/Continuity of Care Record.xsd +3 -0
  431. data/lib/xsd/things/Contraindication.xsd +27 -0
  432. data/lib/xsd/things/Daily Dietary Intake.xsd +51 -0
  433. data/lib/xsd/things/Daily Medication Usage.xsd +41 -0
  434. data/lib/xsd/things/Device.xsd +24 -0
  435. data/lib/xsd/things/Diabetes Insulin Injection Use.xsd +26 -0
  436. data/lib/xsd/things/Diabetic Profile.xsd +92 -0
  437. data/lib/xsd/things/Discharge Summary.xsd +43 -0
  438. data/lib/xsd/things/Emergency or Provider Contact.xsd +11 -0
  439. data/lib/xsd/things/Emotional State.xsd +24 -0
  440. data/lib/xsd/things/Encounter (old).xsd +21 -0
  441. data/lib/xsd/things/Encounter.xsd +19 -0
  442. data/lib/xsd/things/Family History Condition.xsd +12 -0
  443. data/lib/xsd/things/Family History Person.xsd +18 -0
  444. data/lib/xsd/things/Family History.xsd +27 -0
  445. data/lib/xsd/things/File.xsd +28 -0
  446. data/lib/xsd/things/HL7 Continuity of Care Document.xsd +33 -0
  447. data/lib/xsd/things/HbA1C Measurement.xsd +23 -0
  448. data/lib/xsd/things/Healthcare Proxy.xsd +21 -0
  449. data/lib/xsd/things/Height Measurement.xsd +13 -0
  450. data/lib/xsd/things/Immunization.xsd +32 -0
  451. data/lib/xsd/things/Insulin Injection.xsd +30 -0
  452. data/lib/xsd/things/Insurance Plan.xsd +46 -0
  453. data/lib/xsd/things/Lab Test Result.xsd +11 -0
  454. data/lib/xsd/things/Life Goal.xsd +19 -0
  455. data/lib/xsd/things/Link.xsd +12 -0
  456. data/lib/xsd/things/Medical Annotation.xsd +21 -0
  457. data/lib/xsd/things/Medical Problem.xsd +15 -0
  458. data/lib/xsd/things/Medication.xsd +82 -0
  459. data/lib/xsd/things/Microbiology Lab Test Result.xsd +25 -0
  460. data/lib/xsd/things/Password Protected Package.xsd +23 -0
  461. data/lib/xsd/things/Personal Contact Information.xsd +18 -0
  462. data/lib/xsd/things/Personal Demographic Information.xsd +63 -0
  463. data/lib/xsd/things/Personal Image.xsd +13 -0
  464. data/lib/xsd/things/Procedure.xsd +19 -0
  465. data/lib/xsd/things/Radiology Lab Result.xsd +19 -0
  466. data/lib/xsd/things/Respiratory Profile.xsd +33 -0
  467. data/lib/xsd/things/Sleep Related Activity.xsd +45 -0
  468. data/lib/xsd/things/Sleep Session.xsd +51 -0
  469. data/lib/xsd/things/Spirometer Measurement.xsd +113 -0
  470. data/lib/xsd/things/Vital Signs.xsd +31 -0
  471. data/lib/xsd/things/Weekly Aerobic Exercise Goal.xsd +25 -0
  472. data/lib/xsd/things/Weight Goal.xsd +33 -0
  473. data/lib/xsd/things/Weight Measurement.xsd +10 -0
  474. data/spec/connection_spec.rb +17 -0
  475. data/spec/request_spec.rb +42 -0
  476. data/spec/support/test_server.rb +42 -0
  477. metadata +646 -0
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0"?>
2
+ <schema
3
+ targetNamespace="urn:com.microsoft.wc.methods.GetAuthorizedConnectRequests"
4
+ xmlns:wc-getauthorizedconnectrequests="urn:com.microsoft.wc.methods.GetAuthorizedConnectRequests"
5
+ xmlns:wc-types="urn:com.microsoft.wc.types"
6
+ xmlns="http://www.w3.org/2001/XMLSchema" >
7
+
8
+ <!--
9
+
10
+ METHOD-GETAUTHORIZEDCONNECTREQUESTS.XSD
11
+ Microsoft Wildcat
12
+
13
+ Platform API: Info schema for GetAuthorizedConnectRequests method
14
+
15
+ -->
16
+
17
+ <import
18
+ namespace="urn:com.microsoft.wc.types"
19
+ schemaLocation="types.xsd" />
20
+
21
+ <annotation>
22
+ <documentation>
23
+ <summary>
24
+ Returns all found authorized connect requests associated with the calling
25
+ application.
26
+ </summary>
27
+
28
+ <remarks>
29
+ These connect requests have been validated by the user (via
30
+ account.healthvault.com) and the user has selected a record to share. Only the
31
+ application which called CreateConnectRequest or its provisioning application will
32
+ be able to access these connect requests.
33
+ </remarks>
34
+ <method-visibility>Public</method-visibility>
35
+ </documentation>
36
+ </annotation>
37
+
38
+ <!-- GetAuthorizedConnectRequests - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
39
+
40
+ <element name="info">
41
+ <complexType>
42
+ <annotation>
43
+ <documentation>
44
+ <summary>
45
+ The element of the request that contains the method
46
+ specific parameters.
47
+ </summary>
48
+
49
+ <remarks>
50
+ All requests contain the info element to pass parameters
51
+ that are specific to each method. If the method does not
52
+ define an info element, the method does not take any
53
+ parameters.
54
+ </remarks>
55
+ </documentation>
56
+ </annotation>
57
+ <sequence>
58
+ <element name="authorized-connect-requests-since" type="dateTime"
59
+ minOccurs="0" maxOccurs="1">
60
+ <annotation>
61
+ <documentation>
62
+ <summary>
63
+ Specifies the datetime from which all found authorized connect
64
+ requests are to be returned.
65
+ </summary>
66
+
67
+ <remarks>
68
+ If no datetime is supplied, DateTime.Min is assumed, and all
69
+ connect requests found for the application are returned. If an
70
+ invalid datetime is supplied, an InvalidDateTime error is retuned.
71
+ </remarks>
72
+ </documentation>
73
+ </annotation>
74
+ </element>
75
+ </sequence>
76
+ </complexType>
77
+ </element>
78
+ </schema>
@@ -0,0 +1,82 @@
1
+ <?xml version="1.0"?>
2
+ <schema
3
+ targetNamespace="urn:com.microsoft.wc.methods.GetAuthorizedRecords"
4
+ xmlns:wc-getauthorizedrecords="urn:com.microsoft.wc.methods.GetAuthorizedRecords"
5
+ xmlns:wc-types="urn:com.microsoft.wc.types"
6
+ xmlns="http://www.w3.org/2001/XMLSchema" >
7
+
8
+ <!--
9
+
10
+ METHOD-GETAUTHORIZEDRECORDS.XSD
11
+ Microsoft Wildcat
12
+
13
+ Platform API: Info schema for GetAuthorizedRecords method
14
+
15
+ -->
16
+
17
+ <import
18
+ namespace="urn:com.microsoft.wc.types"
19
+ schemaLocation="types.xsd" />
20
+
21
+ <annotation>
22
+ <documentation>
23
+ <summary>
24
+ Gets information about the specified health records for
25
+ which the authenticated person is authorized to use with
26
+ the calling application.
27
+ </summary>
28
+
29
+ <remarks>
30
+ Only information about health records for which the
31
+ authenticated person is authorized to view for the
32
+ calling application are returned.
33
+ </remarks>
34
+ <method-visibility>Public</method-visibility>
35
+ </documentation>
36
+ </annotation>
37
+
38
+ <!-- GetAuthorizedRecords - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
39
+
40
+ <element name="info">
41
+ <complexType>
42
+ <annotation>
43
+ <documentation>
44
+ <summary>
45
+ The element of the request that contains the method
46
+ specific parameters.
47
+ </summary>
48
+
49
+ <remarks>
50
+ All requests contain the info element to pass parameters
51
+ that are specific to each method. If the method does not
52
+ define an info element, the method does not take any
53
+ parameters.
54
+ </remarks>
55
+ </documentation>
56
+ </annotation>
57
+ <sequence>
58
+ <element name="id" type="wc-types:guid"
59
+ minOccurs="1" maxOccurs="unbounded">
60
+ <annotation>
61
+ <documentation>
62
+ <summary>
63
+ The unique health record identifier of the
64
+ record(s) to get information about.
65
+ </summary>
66
+
67
+ <remarks>
68
+ Only health records to which the authenticated
69
+ person has been granted access for the calling
70
+ application will be returned.
71
+ No error will be produced if the health record
72
+ doesn't exist or the authenticated person
73
+ doesn't have access to the record.
74
+ </remarks>
75
+ </documentation>
76
+ </annotation>
77
+ </element>
78
+
79
+ </sequence>
80
+ </complexType>
81
+ </element>
82
+ </schema>
@@ -0,0 +1,74 @@
1
+ <?xml version="1.0"?>
2
+ <schema
3
+ targetNamespace="urn:com.microsoft.wc.methods.GetOpenQueryInfo"
4
+ xmlns:wc-doq="urn:com.microsoft.wc.methods.GetOpenQueryInfo"
5
+ xmlns:wc-types="urn:com.microsoft.wc.types"
6
+ xmlns="http://www.w3.org/2001/XMLSchema" >
7
+
8
+ <!--
9
+
10
+ METHOD-GETOPENQUERYINFO.XSD
11
+ Microsoft Wildcat
12
+
13
+ Platform API: Info schema for GetOpenQueryInfo method
14
+ -->
15
+
16
+ <import
17
+ namespace="urn:com.microsoft.wc.types"
18
+ schemaLocation="types.xsd" />
19
+
20
+ <annotation>
21
+ <documentation>
22
+ <summary>
23
+ Retrieves information about a saved open query given the
24
+ query identifier.
25
+ </summary>
26
+
27
+ <remarks>
28
+ Retrieves information about a previously created query using the
29
+ SaveOpenQuery method.
30
+ </remarks>
31
+ <method-visibility>Public</method-visibility>
32
+ </documentation>
33
+ </annotation>
34
+
35
+ <element name="info">
36
+ <complexType>
37
+ <annotation>
38
+ <documentation>
39
+ <summary>
40
+ The element of the request that contains the method
41
+ specific parameters.
42
+ </summary>
43
+
44
+ <remarks>
45
+ All requests contain the info element to pass parameters
46
+ that are specific to each method. If the method does not
47
+ define an info element, the method does not take any
48
+ parameters.
49
+ </remarks>
50
+ </documentation>
51
+ </annotation>
52
+ <sequence>
53
+ <element name="query-id" type="wc-types:guid" >
54
+ <annotation>
55
+ <documentation>
56
+ <summary>
57
+ The identifier of the saved query whose information
58
+ is to be retrieved.
59
+ </summary>
60
+
61
+ <remarks>
62
+ When a query is saved by the SaveOpenQuery method a
63
+ unique identifier is issued by the Microsoft Health
64
+ Services.
65
+ </remarks>
66
+ </documentation>
67
+ </annotation>
68
+ </element>
69
+
70
+ </sequence>
71
+ </complexType>
72
+ </element>
73
+
74
+ </schema>
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0"?>
2
+ <schema
3
+ targetNamespace="urn:com.microsoft.wc.methods.GetPersonInfo"
4
+ xmlns:wc-getpersoninfo="urn:com.microsoft.wc.methods.GetPersonInfo"
5
+ xmlns:wc-types="urn:com.microsoft.wc.types"
6
+ xmlns="http://www.w3.org/2001/XMLSchema" >
7
+
8
+ <!--
9
+
10
+ METHOD-GETPERSONINFO.XSD
11
+ Microsoft Wildcat
12
+
13
+ Platform API: Info schema for GetPersonInfo method
14
+
15
+ -->
16
+
17
+ <import
18
+ namespace="urn:com.microsoft.wc.types"
19
+ schemaLocation="types.xsd" />
20
+
21
+ <annotation>
22
+ <documentation>
23
+ <summary>
24
+ Gets basic information about the authenticated person.
25
+ </summary>
26
+
27
+ <remarks>
28
+ GetPersonInfo is used to retrieve basic information about the
29
+ authenticated person, like, their name, email address,
30
+ application specific settings for the person, the selected
31
+ record for the application, and the records that the person
32
+ has authorized the application to use. It can also, optionally,
33
+ get the groups the person is a member of.
34
+ </remarks>
35
+ <method-visibility>Public</method-visibility>
36
+ </documentation>
37
+ </annotation>
38
+
39
+ <!-- GetPersonInfo - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
40
+
41
+ <element name="info">
42
+ <complexType>
43
+ <annotation>
44
+ <documentation>
45
+ <summary>
46
+ The element of the request that contains the method
47
+ specific parameters.
48
+ </summary>
49
+
50
+ <remarks>
51
+ All requests contain the info element to pass parameters
52
+ that are specific to each method. If the method does not
53
+ define an info element, the method does not take any
54
+ parameters.
55
+ </remarks>
56
+ </documentation>
57
+ </annotation>
58
+ <sequence>
59
+ <element name="group-membership" type="boolean"
60
+ minOccurs="0" maxOccurs="1" >
61
+ <annotation>
62
+ <documentation>
63
+ <summary>
64
+ Tells the method whether to return the groups the
65
+ person is a member of.
66
+ </summary>
67
+
68
+ <remarks>
69
+ If true, the groups the person is a member of are
70
+ returned in the response.
71
+ </remarks>
72
+ </documentation>
73
+ </annotation>
74
+ </element>
75
+
76
+ </sequence>
77
+ </complexType>
78
+ </element>
79
+
80
+ </schema>
@@ -0,0 +1,516 @@
1
+ <?xml version="1.0"?>
2
+ <schema
3
+ targetNamespace="urn:com.microsoft.wc.methods.GetThings"
4
+ xmlns:wc-getthings="urn:com.microsoft.wc.methods.GetThings"
5
+ xmlns:wc-types="urn:com.microsoft.wc.types"
6
+ xmlns:wc-thing="urn:com.microsoft.wc.thing"
7
+ xmlns="http://www.w3.org/2001/XMLSchema">
8
+
9
+ <!--
10
+
11
+ METHOD-GETTHINGS.XSD
12
+ Microsoft Wildcat
13
+
14
+ Platform API: Info schema for GetThings method
15
+
16
+ -->
17
+ <import
18
+ namespace="urn:com.microsoft.wc.types"
19
+ schemaLocation="types.xsd"/>
20
+
21
+ <import
22
+ namespace="urn:com.microsoft.wc.thing"
23
+ schemaLocation="thing.xsd"/>
24
+
25
+ <annotation>
26
+ <documentation>
27
+ <summary>
28
+ Schema for the GetThings method request.
29
+ </summary>
30
+ <remarks>
31
+ The GetThings method request is sent as a series of filter groups. Filter groups allow the
32
+ caller to group otherwise separate GetThings requests into one. The response to this method
33
+ request will also come in the form of response groups that correspond to each filter group. A
34
+ filter group is uniquely identified by a name.
35
+ The results returned in each group can be composed of full things as well as partial
36
+ things. Full things will be returned up to a maximum that is configured on the server.
37
+ </remarks>
38
+ <method-visibility>Public</method-visibility>
39
+ </documentation>
40
+ </annotation>
41
+ <!-- GetThings - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
42
+ <complexType name="ThingFilterSpec">
43
+ <annotation>
44
+ <documentation>
45
+ <summary>
46
+ Schema for specifying filters on things.
47
+ </summary>
48
+ </documentation>
49
+ </annotation>
50
+ <sequence>
51
+ <element name="type-id" type="wc-types:guid"
52
+ minOccurs="0" maxOccurs="unbounded">
53
+ <annotation>
54
+ <documentation>
55
+ <summary>
56
+ Allows filtering based on a thing type id.
57
+ </summary>
58
+ <remarks>
59
+ The list of thing types can be queried through the Dictionary.
60
+ </remarks>
61
+ </documentation>
62
+ </annotation>
63
+ </element>
64
+ <element name="thing-state" type="wc-thing:ThingState"
65
+ minOccurs="0" maxOccurs="2">
66
+ <annotation>
67
+ <documentation>
68
+ <summary>
69
+ Allows filtering based on a state of a thing.
70
+ </summary>
71
+ <remarks>
72
+ Current values for the state are "Active" and "Deleted".
73
+ </remarks>
74
+ </documentation>
75
+ </annotation>
76
+ </element>
77
+ <element name="eff-date-min" type="dateTime"
78
+ minOccurs="0" maxOccurs="1">
79
+ <annotation>
80
+ <documentation>
81
+ <summary>
82
+ The minimum date the thing pertains to.
83
+ </summary>
84
+ <remarks>
85
+ If this was a weight measurement, the effective time refers to the date
86
+ the weight was taken, not when it was stored.
87
+ When used with eff-date-max, can specify a range for effective dates
88
+ for searching things. If eff-date-max is not specified, things that
89
+ are created after eff-date-min are returned.
90
+ All values being compared are compared as greater than or equal to.
91
+ </remarks>
92
+ </documentation>
93
+ </annotation>
94
+ </element>
95
+ <element name="eff-date-max" type="dateTime"
96
+ minOccurs="0" maxOccurs="1">
97
+ <annotation>
98
+ <documentation>
99
+ <summary>
100
+ The maximum date the thing pertains to.
101
+ </summary>
102
+ <remarks>
103
+ If this was a weight measurement, the effective time refers to the date
104
+ the weight was taken, not when it was stored.
105
+ When used with eff-date-min, can specify a range for effective dates
106
+ for searching things. If eff-date-min is not specified, things that
107
+ are created after eff-date-max are returned.
108
+ All values being compared are compared as less than or equal to.
109
+ </remarks>
110
+ </documentation>
111
+ </annotation>
112
+ </element>
113
+ <element name="created-app-id" type="wc-types:guid"
114
+ minOccurs="0" maxOccurs="1">
115
+ <annotation>
116
+ <documentation>
117
+ <summary>
118
+ The application that created this thing.
119
+ </summary>
120
+ <remarks>
121
+ Each application is identified by a unique application id.
122
+ </remarks>
123
+ </documentation>
124
+ </annotation>
125
+ </element>
126
+ <element name="created-person-id" type="wc-types:guid"
127
+ minOccurs="0" maxOccurs="1">
128
+ <annotation>
129
+ <documentation>
130
+ <summary>
131
+ The person that created this thing.
132
+ </summary>
133
+ <remarks>
134
+ Each person is identified by a unique person id.
135
+ </remarks>
136
+ </documentation>
137
+ </annotation>
138
+ </element>
139
+ <element name="updated-app-id" type="wc-types:guid"
140
+ minOccurs="0" maxOccurs="1">
141
+ <annotation>
142
+ <documentation>
143
+ <summary>
144
+ The application that last updated this thing.
145
+ </summary>
146
+ <remarks>
147
+ Each application is identified by a unique application id.
148
+ </remarks>
149
+ </documentation>
150
+ </annotation>
151
+ </element>
152
+ <element name="updated-person-id" type="wc-types:guid"
153
+ minOccurs="0" maxOccurs="1">
154
+ <annotation>
155
+ <documentation>
156
+ <summary>
157
+ The person that last updated this thing.
158
+ </summary>
159
+ <remarks>
160
+ Each person is identified by a unique person id.
161
+ </remarks>
162
+ </documentation>
163
+ </annotation>
164
+ </element>
165
+ <element name="created-date-min" type="dateTime"
166
+ minOccurs="0" maxOccurs="1">
167
+ <annotation>
168
+ <documentation>
169
+ <summary>
170
+ The minimum date the thing was created on.
171
+ </summary>
172
+ <remarks>
173
+ When used with created-date-max, can specify a creation date range
174
+ for searching things. If create-date-max is not specified, things that
175
+ are created after created-date-min are returned.
176
+ All values being compared are compared as greater than or equal to.
177
+ </remarks>
178
+ </documentation>
179
+ </annotation>
180
+ </element>
181
+ <element name="created-date-max" type="dateTime"
182
+ minOccurs="0" maxOccurs="1">
183
+ <annotation>
184
+ <documentation>
185
+ <summary>
186
+ The maximum date the thing was created on.
187
+ </summary>
188
+ <remarks>
189
+ When used with created-date-min, can specify a creation date range
190
+ for searching things. If create-date-min is not specified, things that
191
+ are created earlier than created-date-max are returned.
192
+ All values being compared are compared as less than or equal to.
193
+ </remarks>
194
+ </documentation>
195
+ </annotation>
196
+ </element>
197
+ <element name="updated-date-min" type="dateTime"
198
+ minOccurs="0" maxOccurs="1">
199
+ <annotation>
200
+ <documentation>
201
+ <summary>
202
+ The minimum date the thing was last updated on.
203
+ </summary>
204
+ <remarks>
205
+ When used with updated-date-max, can specify a updated date range
206
+ for searching things. If updated-date-max is not specified, things that
207
+ are created after updated-date-min are returned.
208
+ All values being compared are compared as greater than or equal to.
209
+ </remarks>
210
+ </documentation>
211
+ </annotation>
212
+ </element>
213
+ <element name="updated-date-max" type="dateTime"
214
+ minOccurs="0" maxOccurs="1">
215
+ <annotation>
216
+ <documentation>
217
+ <summary>
218
+ The maximum date the thing was last updated on.
219
+ </summary>
220
+ <remarks>
221
+ When used with updated-date-min, can specify a updated date range
222
+ for searching things. If updated-date-min is not specified, things that
223
+ are created earlier than updated-date-max are returned.
224
+ All values being compared are compared as less than or equal to.
225
+ </remarks>
226
+ </documentation>
227
+ </annotation>
228
+ </element>
229
+ <element name="xpath" type="string"
230
+ minOccurs="0" maxOccurs="1">
231
+ <annotation>
232
+ <documentation>
233
+ <summary>
234
+ An xpath that can be specified for filtering on the existence of specific data.
235
+ </summary>
236
+ <remarks>
237
+ XPath with wildcards such as //, *, descendant::, descendant-or-self:: are
238
+ not allowed. The xpath is only used as a matching criteria. You can't use
239
+ the xpath to count the number of results or add up values. The error
240
+ INVALID_FILTER will be returned if wildcards are detected.
241
+ </remarks>
242
+ </documentation>
243
+ </annotation>
244
+ </element>
245
+ <!-- need to add full text search -->
246
+ </sequence>
247
+ </complexType>
248
+ <simpleType name="ThingSectionSpec">
249
+ <annotation>
250
+ <documentation>
251
+ <summary>
252
+ Allows sections of the thing to be specified.
253
+ </summary>
254
+ </documentation>
255
+ </annotation>
256
+ <restriction base="string">
257
+ <enumeration value="core">
258
+ <annotation>
259
+ <documentation>
260
+ <summary>
261
+ Specifies the core parts of the thing.
262
+ </summary>
263
+ <remarks>
264
+ The core includes thing-id, version-stamp, type-id,
265
+ eff-date, thing-state, flags.
266
+ </remarks>
267
+ </documentation>
268
+ </annotation>
269
+ </enumeration>
270
+ <enumeration value="audits">
271
+ <annotation>
272
+ <documentation>
273
+ <summary>
274
+ Specifies the auditing section of the thing.
275
+ </summary>
276
+ <remarks>
277
+ The audit section includes the updated element.
278
+ </remarks>
279
+ </documentation>
280
+ </annotation>
281
+ </enumeration>
282
+ <enumeration value="otherdata">
283
+ <annotation>
284
+ <documentation>
285
+ <summary>
286
+ Specifies the other data section of the thing.
287
+ </summary>
288
+ <remarks>
289
+ The other data section includes the data-other xml. Other data is an
290
+ additional data element that is not subject to schema validation on
291
+ the server.
292
+ </remarks>
293
+ </documentation>
294
+ </annotation>
295
+ </enumeration>
296
+ <enumeration value="effectivepermissions">
297
+ <annotation>
298
+ <documentation>
299
+ <summary>
300
+ Specifies the effection permissions the caller has on the thing.
301
+ </summary>
302
+ <remarks>
303
+ The effective permissions section includes the eff-permissions xml.
304
+ </remarks>
305
+ </documentation>
306
+ </annotation>
307
+ </enumeration>
308
+ <enumeration value="digitalsignatures">
309
+ <annotation>
310
+ <documentation>
311
+ <summary>
312
+ Specifies the digital signautures on the thing.
313
+ </summary>
314
+ <remarks>
315
+ The digital signatures section includes the signature xml, which
316
+ contains any digital signatures on the returned thing. That digital
317
+ signature includes a key and a cryptographic hash which can be used
318
+ to verify that the contents of the thing have not changed since
319
+ the time it was signed.
320
+ </remarks>
321
+ </documentation>
322
+ </annotation>
323
+ </enumeration>
324
+ <enumeration value="tags">
325
+ <annotation>
326
+ <documentation>
327
+ <summary>
328
+ Specifies the tags on the thing.
329
+ </summary>
330
+ <remarks>
331
+ The tags section includes the tags xml which is a string element
332
+ that contains comma separated list of tags.
333
+ </remarks>
334
+ </documentation>
335
+ </annotation>
336
+ </enumeration>
337
+ </restriction>
338
+ </simpleType>
339
+ <complexType name="ThingFormatSpec">
340
+ <annotation>
341
+ <documentation>
342
+ <summary>
343
+ Specifies how the results are returned.
344
+ </summary>
345
+ <remarks>
346
+ The section element specifies which sections are returned. The xml element
347
+ specifies how the actual thing data is formatted.
348
+ </remarks>
349
+ </documentation>
350
+ </annotation>
351
+ <sequence>
352
+ <element name="section" type="wc-getthings:ThingSectionSpec"
353
+ minOccurs="0" maxOccurs="unbounded">
354
+ <annotation>
355
+ <documentation>
356
+ <summary>
357
+ Specifies the sections to be retrieved.
358
+ </summary>
359
+ </documentation>
360
+ </annotation>
361
+ </element>
362
+ <element name="xml" type="string"
363
+ minOccurs="0" maxOccurs="unbounded">
364
+ <annotation>
365
+ <documentation>
366
+ <summary>
367
+ Name of the transforms to apply to the results.
368
+ </summary>
369
+ <remarks>
370
+ This could come in the form of the name of a server supported transform;
371
+ an XSL fragment; or a URL to an external XSL.
372
+ </remarks>
373
+ </documentation>
374
+ </annotation>
375
+ </element>
376
+ </sequence>
377
+ </complexType>
378
+ <complexType name="ThingRequestGroup">
379
+ <sequence>
380
+ <annotation>
381
+ <documentation>
382
+ <summary>
383
+ Specifies a filter group to be used for retrieving things from a record.
384
+ </summary>
385
+ <remarks>
386
+ Each group is independent of the other groups and is distinguished by
387
+ the name. Each clause in this group is AND'd together except the id
388
+ clause which is OR'd with the other clauses.
389
+ </remarks>
390
+ </documentation>
391
+ </annotation>
392
+ <choice>
393
+ <element name="id" type="wc-types:guid" minOccurs="0" maxOccurs="unbounded">
394
+ <annotation>
395
+ <documentation>
396
+ <summary>
397
+ Specifies thing ids that need to be returned.
398
+ </summary>
399
+ </documentation>
400
+ </annotation>
401
+ </element>
402
+ <element name="key" type="wc-thing:ThingKey" minOccurs="0" maxOccurs="unbounded">
403
+ <annotation>
404
+ <documentation>
405
+ <summary>
406
+ Specifies keys of things that need to be returned.
407
+ </summary>
408
+ </documentation>
409
+ </annotation>
410
+ </element>
411
+ </choice>
412
+ <element name="filter" type="wc-getthings:ThingFilterSpec"
413
+ minOccurs="0" maxOccurs="unbounded">
414
+ <annotation>
415
+ <documentation>
416
+ <summary>
417
+ Specifies a filter for things to be retrieved based on the properties of the thing.
418
+ </summary>
419
+ </documentation>
420
+ </annotation>
421
+ </element>
422
+ <element name="format" type="wc-getthings:ThingFormatSpec">
423
+ <annotation>
424
+ <documentation>
425
+ <summary>
426
+ Specifies a view for the results.
427
+ </summary>
428
+ </documentation>
429
+ </annotation>
430
+ </element>
431
+
432
+ <element name="current-version-only" type="boolean"
433
+ minOccurs="0" maxOccurs="1">
434
+ <annotation>
435
+ <documentation>
436
+ <summary>
437
+ Specifies whether or not we should return only the current version
438
+ of things that satisfy the filter. This is true by default.
439
+ </summary>
440
+ <remarks>
441
+ This can be set to false only by the auditing subsystem.
442
+ </remarks>
443
+ </documentation>
444
+ </annotation>
445
+ </element>
446
+ </sequence>
447
+ <attribute name="name" type="string" use="optional">
448
+ <annotation>
449
+ <documentation>
450
+ <summary>
451
+ Name of this request group.
452
+ </summary>
453
+ <remarks>
454
+ This is used to distinguish this group from other groups that
455
+ are specified as part of this same search.
456
+ </remarks>
457
+ </documentation>
458
+ </annotation>
459
+ </attribute>
460
+ <attribute name="max" type="nonNegativeInteger" use="optional">
461
+ <annotation>
462
+ <documentation>
463
+ <summary>
464
+ The maximum number of items to be returned for this group.
465
+ </summary>
466
+ </documentation>
467
+ </annotation>
468
+ </attribute>
469
+ <attribute name="max-full" type="nonNegativeInteger" use="optional">
470
+ <annotation>
471
+ <documentation>
472
+ <summary>
473
+ Maximum number of "full" items to be returned for this group.
474
+ </summary>
475
+ <remarks>
476
+ For each request, the server might set a maximum number for complete things that might be returned.
477
+ Past this maximum, the server will return the list of thing-ids of the results. To retrieve the things represented
478
+ by these ids, additional GetThings calls can be made with these thing ids supplied in the ThingRequestGroup.
479
+ </remarks>
480
+ </documentation>
481
+ </annotation>
482
+ </attribute>
483
+ </complexType>
484
+ <element name="info">
485
+ <complexType>
486
+ <annotation>
487
+ <documentation>
488
+ <summary>
489
+ The element of the request that contains the method
490
+ specific parameters.
491
+ </summary>
492
+ <remarks>
493
+ All requests contain the info element to pass parameters
494
+ that are specific to each method. If the method does not
495
+ define an info element, the method does not take any
496
+ parameters.
497
+ </remarks>
498
+ </documentation>
499
+ </annotation>
500
+ <sequence>
501
+ <element name="group" type="wc-getthings:ThingRequestGroup"
502
+ minOccurs="1" maxOccurs="unbounded">
503
+ <annotation>
504
+ <documentation>
505
+ <summary>
506
+ Specifies the thing/things to be retrieved.
507
+ </summary>
508
+ <remarks>
509
+ </remarks>
510
+ </documentation>
511
+ </annotation>
512
+ </element>
513
+ </sequence>
514
+ </complexType>
515
+ </element>
516
+ </schema>