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,1000 @@
1
+ <schema xmlns:t="urn:com.microsoft.wc.thing.types" xmlns:d="urn:com.microsoft.wc.dates" xmlns:wct="urn:com.microsoft.wc.types" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:com.microsoft.wc.thing.types"><import namespace="urn:com.microsoft.wc.dates" schemaLocation="dates.xsd" /><import namespace="urn:com.microsoft.wc.types" schemaLocation="types.xsd" /><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2
+ Shared Types
3
+
4
+ For use across multiple thing types. Think hard before putting
5
+ something into this file, because it increases our dependency
6
+ management signficantly
7
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --><annotation><documentation><summary>
8
+ Types that are used across multiple thing types.
9
+ </summary><remarks>
10
+ For instance, a weight-value type is used for the weight
11
+ thing type as well as the dietary-intake-daily thing type.
12
+ </remarks></documentation></annotation><simpleType name="positiveDouble"><annotation><documentation><summary>
13
+ A number, including a decimal point, greater than
14
+ zero.
15
+ </summary><remarks>
16
+ This type derives from double and ensures that all
17
+ values are greater than zero.
18
+ </remarks></documentation></annotation><restriction base="double"><minExclusive value="0" /></restriction></simpleType><simpleType name="nonNegativeDouble"><annotation><documentation><summary>
19
+ A number, including a decimal point, greater than or equal
20
+ to zero.
21
+ </summary><remarks>
22
+ This type derives from double and ensures that all
23
+ values are greater than or equal to zero.
24
+ </remarks></documentation></annotation><restriction base="double"><minInclusive value="0" /></restriction></simpleType><simpleType name="percentage"><annotation><documentation><summary>
25
+ A decimal number between zero and one.
26
+ </summary><remarks>
27
+ This type derives from double and ensures that all
28
+ values are between zero and one inclusive.
29
+ </remarks></documentation></annotation><restriction base="double"><minInclusive value="0" /><maxInclusive value="1" /></restriction></simpleType><complexType name="duration-value"><annotation><documentation><summary>
30
+ A pair of approximate date-times used to create a
31
+ range.
32
+ </summary><remarks>
33
+ This type derives uses two approximate date-times to
34
+ provide a duration range.
35
+ </remarks></documentation></annotation><sequence><element name="start-date" type="d:approx-date-time"><annotation><documentation><summary>
36
+ The approximate start date and time for the duration range.
37
+ </summary></documentation></annotation></element><element name="end-date" type="d:approx-date-time" minOccurs="0"><annotation><documentation><summary>
38
+ The approximate end date and time for the duration range.
39
+ </summary><remarks>
40
+ The end-date is optional in order to support indefinite durations.
41
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="double-range"><annotation><documentation><summary>
42
+ A pair of doubles used to create a
43
+ range.
44
+ </summary></documentation></annotation><sequence><element name="minimum-range" type="double"><annotation><documentation><summary>
45
+ The minimum value for the range.
46
+ </summary></documentation></annotation></element><element name="maximum-range" type="double"><annotation><documentation><summary>
47
+ The maximum value for the range.
48
+ </summary></documentation></annotation></element></sequence></complexType><complexType name="display-value"><annotation><documentation><summary>
49
+ A numeric value used for display purposes
50
+ and tagged with arbitrary units.
51
+ </summary><remarks>
52
+ The Microsoft Health Service standardizes its storage
53
+ of data like length, weight, and temperature so that
54
+ applications can process the data more easily. So,
55
+ in order to support the user's preference of units
56
+ the display value type is used to maintain the user
57
+ entered value such that any application can display
58
+ the value back to the user in the same form they
59
+ entered it even though the data is stored in a base
60
+ unit value. This prevents rounding errors on the
61
+ data when converting to and from the base unit of
62
+ measure.<br /><br />
63
+ The display value should be set whenever data is taken
64
+ directly from the user through UI and it should be
65
+ used to show data to the user when available.
66
+ </remarks></documentation></annotation><simpleContent><extension base="double"><attribute name="units" type="string" use="required"><annotation><documentation><summary>
67
+ An arbitrary string representing the units
68
+ of measure for the value.
69
+ </summary><remarks>
70
+ For example, the base unit of measure for
71
+ length is meters, this display value may
72
+ contain a length in feet. The units attribute
73
+ would contain "feet" or an appropriate
74
+ abbreviation.
75
+ </remarks></documentation></annotation></attribute><attribute name="units-code" type="string" use="optional"><annotation><documentation><summary>
76
+ The Microsoft Health Lexicon code for the unit
77
+ of measure.
78
+ </summary><remarks>
79
+ If the unit of measure is available from one of
80
+ the Microsoft Health Lexicon vocabularies, this
81
+ attribute is the code in the lexicon for that
82
+ unit.<br /><br />
83
+ The advantage of using the units-code is that
84
+ the unit can be easily translated for use by
85
+ any application for the supported languages.
86
+ </remarks></documentation></annotation></attribute></extension></simpleContent></complexType><complexType name="weight-value"><annotation><documentation><summary>
87
+ A weight measurement.
88
+ </summary><remarks>
89
+ A weight measurement consists of the value in kilograms,
90
+ which is the base unit of measurement for weight, and
91
+ an optional display value. The display value is used to
92
+ store the weight measurement in the user's preference of
93
+ weight units. This avoids rounding errors when
94
+ converting to and back from kilograms.
95
+ </remarks></documentation></annotation><sequence><element name="kg" type="t:positiveDouble"><annotation><documentation><summary>
96
+ The weight measurement in kilograms.
97
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
98
+ The display value for the weight measurement.
99
+ </summary><remarks>
100
+ The display value contains the weight measurement
101
+ value stored in the user's preference of units.
102
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="length-value"><annotation><documentation><summary>
103
+ A length measurement.
104
+ </summary><remarks>
105
+ A length measurement consists of the value in meters,
106
+ which is the base unit of measurement for length, and
107
+ an optional display value. The display value is used to
108
+ store the length measurement in the user's preference of
109
+ length units. This avoids rounding errors when
110
+ converting to and back from meters.
111
+ </remarks></documentation></annotation><sequence><element name="m" type="t:positiveDouble"><annotation><documentation><summary>
112
+ The length measurement in meters.
113
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
114
+ The display value for the length measurement.
115
+ </summary><remarks>
116
+ The display value contains the length measurement
117
+ value stored in the user's preference of units.
118
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="flow-value"><annotation><documentation><summary>
119
+ A flow measurement.
120
+ </summary><remarks>
121
+ A flow measurement consists of the value in liters per
122
+ second (L/s), which is the base unit of measurement for
123
+ flow, and an optional display value. The display value is
124
+ used to store the flow measurement in the user'
125
+ s preference of flow units. This avoids rounding errors
126
+ when converting to and back from L/s.
127
+ </remarks></documentation></annotation><sequence><element name="liters-per-second" type="t:positiveDouble"><annotation><documentation><summary>
128
+ The flow measurement in liters per second (L/s).
129
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
130
+ The display value for the flow measurement.
131
+ </summary><remarks>
132
+ The display value contains the flow measurement
133
+ value stored in the user's preference of units.
134
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="altitude-value"><annotation><documentation><summary>
135
+ An altitude measurement.
136
+ </summary><remarks>
137
+ An altitude measurement consists of the value in meters
138
+ above sea level,
139
+ which is the base unit of measurement for altitude, and
140
+ an optional display value. The display value is used to
141
+ store the altitude measurement in the user's preference of
142
+ altitude units. This avoids rounding errors when
143
+ converting to and back from meters.
144
+ </remarks></documentation></annotation><sequence><element name="m" type="double"><annotation><documentation><summary>
145
+ The altitude measurement in meters.
146
+ </summary><remarks>
147
+ A negative value indicates the measurement was
148
+ take below sea level.
149
+ </remarks></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
150
+ The display value for the altitude measurement.
151
+ </summary><remarks>
152
+ The display value contains the altitude measurement
153
+ value stored in the user's preference of units.
154
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="temperature-value"><annotation><documentation><summary>
155
+ A temperature measurement.
156
+ </summary><remarks>
157
+ A temperature measurement consists of the value in Celsuis
158
+ (C), which is the base unit of measurement for temperature,
159
+ and an optional display value. The display value is used to
160
+ store the temperature in the user's preference of
161
+ units. This avoids rounding errors when
162
+ converting to and back from Celsius.
163
+ </remarks></documentation></annotation><sequence><element name="celsius" type="double"><annotation><documentation><summary>
164
+ The temperature measurement in Celsius(C).
165
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
166
+ The display value for the temperature measurement.
167
+ </summary><remarks>
168
+ The display value contains the temperature measurement
169
+ value stored in the user's preference of units.
170
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="pace-value"><annotation><documentation><summary>
171
+ A pace measurement.
172
+ </summary><remarks>
173
+ A pace measurement consists of the value in seconds per
174
+ 100 meters, which is the base unit of measurement for
175
+ pace, and an optional display value. The display value is
176
+ used to store the pace in the user's preference of
177
+ units. This avoids rounding errors when
178
+ converting to and back from seconds per 100 meters.
179
+ </remarks></documentation></annotation><sequence><element name="seconds-per-hundred-meters" type="t:positiveDouble"><annotation><documentation><summary>
180
+ The pace measurement in seconds per 100 meters.
181
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
182
+ The display value for the pace measurement.
183
+ </summary><remarks>
184
+ The display value contains the pace measurement
185
+ value stored in the user's preference of units.
186
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="power-value"><annotation><documentation><summary>
187
+ A power measurement.
188
+ </summary><remarks>
189
+ A power measurement consists of the value in watts,
190
+ which is the base unit of measurement for
191
+ power, and an optional display value. The display value is
192
+ used to store the power in the user's preference of
193
+ units. This avoids rounding errors when
194
+ converting to and back from watts.
195
+ </remarks></documentation></annotation><sequence><element name="watts" type="t:positiveDouble"><annotation><documentation><summary>
196
+ The power measurement in watts.
197
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
198
+ The display value for the power measurement.
199
+ </summary><remarks>
200
+ The display value contains the power measurement
201
+ value stored in the user's preference of units.
202
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="torque-value"><annotation><documentation><summary>
203
+ A torque measurement.
204
+ </summary><remarks>
205
+ A torque measurement consists of the value in newton meters,
206
+ which is the base unit of measurement for
207
+ torque, and an optional display value. The display value is
208
+ used to store the torque in the user's preference of
209
+ units. This avoids rounding errors when
210
+ converting to and back from newton meters.
211
+ </remarks></documentation></annotation><sequence><element name="newton-meters" type="t:positiveDouble"><annotation><documentation><summary>
212
+ The torque measurement in newton meters.
213
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
214
+ The display value for the torque measurement.
215
+ </summary><remarks>
216
+ The display value contains the torque measurement
217
+ value stored in the user's preference of units.
218
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="speed-value"><annotation><documentation><summary>
219
+ A speed measurement.
220
+ </summary><remarks>
221
+ A speed measurement consists of the value in meters per
222
+ second (m/s), which is the base unit of measurement for
223
+ speed, and an optional display value. The display value
224
+ is used to store the speed in the user's preference of
225
+ units. This avoids rounding errors when
226
+ converting to and back from m/s.
227
+ </remarks></documentation></annotation><sequence><element name="meters-per-second" type="t:positiveDouble"><annotation><documentation><summary>
228
+ The speed measurement in meters per second (m/s).
229
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
230
+ The display value for the speed measurement.
231
+ </summary><remarks>
232
+ The display value contains the speed measurement
233
+ value stored in the user's preference of units.
234
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="blood-glucose-value"><annotation><documentation><summary>
235
+ A blood glucose measurement.
236
+ </summary><remarks>
237
+ A blood glucose measurement consists of the value in millimoles per liter (mmol/L),
238
+ which is the base unit of measurement for blood glucose, and
239
+ an optional display value. The display value is used to
240
+ store the blood glucose measurement in the user's preference of
241
+ measurement units. This avoids rounding errors when
242
+ converting to and back from mmol/L.
243
+ </remarks></documentation></annotation><sequence><element name="mmolPerL" type="t:positiveDouble"><annotation><documentation><summary>
244
+ The blood glucose measurement in millimoles per liter.
245
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
246
+ The display value for the blood glucose measurement.
247
+ </summary><remarks>
248
+ The display value contains the blood glucose measurement
249
+ value stored in the user's preference of units.
250
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="insulin-injection-value"><annotation><documentation><summary>
251
+ A insulin injection measurement.
252
+ </summary><remarks>
253
+ A insulin injection consists of the value in IE units (1/100ml),
254
+ which is the base unit of insulin injections, and
255
+ an optional display value. The display value is used to
256
+ store the insulin injection amount the user's preference of
257
+ units. This avoids rounding errors when
258
+ converting to and back from IE units
259
+ </remarks></documentation></annotation><sequence><element name="IE" type="t:positiveDouble"><annotation><documentation><summary>
260
+ The insulin injeciton amount in IE units (1/100ml).
261
+ </summary></documentation></annotation></element><element name="display" type="t:display-value" minOccurs="0"><annotation><documentation><summary>
262
+ The display value for the insulin injection amount.
263
+ </summary><remarks>
264
+ The display value contains the insulin injection amount
265
+ value stored in the user's preference of units.
266
+ </remarks></documentation></annotation></element></sequence></complexType><simpleType name="dow"><annotation><documentation><summary>
267
+ The day of the week.
268
+ </summary><remarks>
269
+ 1 = Sunday
270
+ 2 = Monday
271
+ 3 = Tuesday
272
+ 4 = Wednesday
273
+ 5 = Thursday
274
+ 6 = Friday
275
+ 7 = Saturday
276
+ </remarks></documentation></annotation><restriction base="int"><minInclusive value="1" /><maxInclusive value="7" /></restriction></simpleType><simpleType name="goal-status"><annotation><documentation><summary>
277
+ An enumeration of the possible goal states.
278
+ </summary></documentation></annotation><restriction base="string"><enumeration value="Active"><annotation><documentation><summary>
279
+ The goal is actively being worked toward.
280
+ </summary></documentation></annotation></enumeration><enumeration value="Achieved"><annotation><documentation><summary>
281
+ The goal has been achieved.
282
+ </summary></documentation></annotation></enumeration><enumeration value="Abandoned"><annotation><documentation><summary>
283
+ The goal has been abandoned.
284
+ </summary></documentation></annotation></enumeration></restriction></simpleType><complexType name="goal"><annotation><documentation><summary>
285
+ Defines a health or fitness goal.
286
+ </summary><remarks>
287
+ A goal may be a short-term achievement like losing
288
+ weight or a long-term goal like competing in a marathon.
289
+ </remarks></documentation></annotation><sequence><element name="target-date" type="d:approx-date-time" minOccurs="0"><annotation><documentation><summary>
290
+ The date upon which the person wants to complete
291
+ the goal.
292
+ </summary></documentation></annotation></element><element name="completion-date" type="d:approx-date-time" minOccurs="0"><annotation><documentation><summary>
293
+ The date on which the goal was completed.
294
+ </summary></documentation></annotation></element><element name="status" type="t:goal-status" minOccurs="0"><annotation><documentation><summary>
295
+ The current status of the goal.
296
+ </summary><remarks>
297
+ The status is not automatically updated. "Active"
298
+ goals may need to be evaluated to determine if they
299
+ have been "achieved".
300
+ </remarks></documentation></annotation></element></sequence></complexType><simpleType name="one-to-five"><annotation><documentation><summary>
301
+ An integer value from one to five.
302
+ </summary><remarks>
303
+ This type is used in rating something. For instance,
304
+ an aerobic session intensity may be rated from one
305
+ to five where five is the most intense and one is the
306
+ least intense.
307
+ </remarks></documentation></annotation><restriction base="int"><minInclusive value="1" /><maxInclusive value="5" /></restriction></simpleType><complexType name="sample"><annotation><documentation><summary>
308
+ Defines a single sample.
309
+ </summary></documentation></annotation><sequence><element name="time-offset" type="t:nonNegativeDouble"><annotation><documentation><summary>
310
+ Offset is seconds from sample set base time.
311
+ </summary></documentation></annotation></element><element name="note" type="string" minOccurs="0"><annotation><documentation><summary>
312
+ Description of sample.
313
+ </summary></documentation></annotation></element><element name="value" type="string" minOccurs="0"><annotation><documentation><summary>
314
+ Value of sample.
315
+ </summary><remarks>
316
+ The value of the sample can be any string. The
317
+ value depends on the type of sample. Some sample
318
+ types will have a simple int or double as the
319
+ value. Others will have a comma separated list.
320
+ For example, a "position" sample may have
321
+ "25E,66N" (longitude,latitude) as the value.
322
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="sample-set"><annotation><documentation><summary>
323
+ Defines a sample set.
324
+ </summary></documentation></annotation><sequence><element name="base-time" type="d:date-time"><annotation><documentation><summary>
325
+ Sample set base time from which samples are offset.
326
+ </summary></documentation></annotation></element><element name="sample-unit" type="string"><annotation><documentation><summary>
327
+ The unit that the value is stored in.
328
+ </summary><remarks>
329
+ Each sample contains a value. All samples in a
330
+ sample set should be stored using the same units.
331
+ This value is a text description of the units the
332
+ sample value is stored in. Use the
333
+ "sample-unit-code" to describe the units as a
334
+ dictionary code.
335
+ </remarks></documentation></annotation></element><element name="sample-unit-code" type="t:codable-value"><annotation><documentation><summary>
336
+ The dictionary code for the unit that the value
337
+ is stored in.
338
+ </summary><remarks>
339
+ Each sample contains a value. All samples in a
340
+ sample set should be stored using the same units.
341
+ </remarks></documentation></annotation></element><element name="sample" type="t:sample" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
342
+ Sample set samples.
343
+ </summary></documentation></annotation></element></sequence></complexType><complexType name="aerobic-session"><annotation><documentation><summary>
344
+ Defines a lap within a single aerobic session.
345
+ </summary></documentation></annotation><sequence><element name="mode" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
346
+ The type of activity for the session.
347
+ </summary><remarks>
348
+ The mode is the type of activity for the session,
349
+ like biking, running, etc. The most common
350
+ activities are part the of the Microsoft Health
351
+ Lexicon and should be referenced using the code
352
+ retrieved by calling GetVocabulary with
353
+ "aerobic-activities" as the vocabulary name.<br /><br />
354
+ For activities that are not in the Microsoft
355
+ Health Lexicon you can add the value to the
356
+ text element of the codable value.
357
+ </remarks></documentation></annotation></element><element name="distance" type="t:length-value" minOccurs="0"><annotation><documentation><summary>
358
+ The distance covered in the session.
359
+ </summary><remarks>
360
+ Distances are stored in meters. The application
361
+ must convert the distance entered by the user
362
+ into meters and should also store the distance
363
+ and units entered by the user in the display-value
364
+ so that it can be displayed to the user in their
365
+ preferred unit of measure when viewing the data.
366
+ </remarks></documentation></annotation></element><element name="minutes" type="t:positiveDouble" minOccurs="0"><annotation><documentation><summary>
367
+ The duration of the session in minutes.
368
+ </summary></documentation></annotation></element><element name="intensity" type="t:one-to-five" minOccurs="0"><annotation><documentation><summary>
369
+ The subjective average intensity of the session.
370
+ </summary><remarks>
371
+ Intensity is measured on a scale from one to five
372
+ where one is easy and five is the most intense.
373
+ </remarks></documentation></annotation></element><element name="peak-heartrate" type="positiveInteger" minOccurs="0"><annotation><documentation><summary>
374
+ The highest heart rate reached during the session.
375
+ </summary><remarks>
376
+ The peak heart rate for a session differs from the
377
+ person's maximum heart rate in that a person most
378
+ likely will not reach their maximum heart rate
379
+ during an aerobic session. This measurement defines
380
+ the highest heart rate recorded during the session.
381
+ </remarks></documentation></annotation></element><element name="avg-heartrate" type="positiveInteger" minOccurs="0"><annotation><documentation><summary>
382
+ The average heart rate reached during the session.
383
+ </summary></documentation></annotation></element><element name="min-heartrate" type="positiveInteger" minOccurs="0"><annotation><documentation><summary>
384
+ The minimum heart rate reached during the session.
385
+ </summary><remarks>
386
+ This is measured in beats per minute.
387
+ </remarks></documentation></annotation></element><element name="energy" type="t:positiveDouble" minOccurs="0"><annotation><documentation><summary>
388
+ The food energy expended during the session.
389
+ </summary><remarks>
390
+ This is measured in kilojoules .
391
+ </remarks></documentation></annotation></element><element name="energy-from-fat" type="t:positiveDouble" minOccurs="0"><annotation><documentation><summary>
392
+ The food energy burned from fat during the session.
393
+ </summary><remarks>
394
+ This is measured in kilojoules.
395
+ </remarks></documentation></annotation></element><element name="peak-speed" type="t:speed-value" minOccurs="0"><annotation><documentation><summary>
396
+ The maximum speed achieved during the session.
397
+ </summary><remarks>
398
+ This is measured in meters per second.
399
+ </remarks></documentation></annotation></element><element name="avg-speed" type="t:speed-value" minOccurs="0"><annotation><documentation><summary>
400
+ The average speed achieved during the session.
401
+ </summary><remarks>
402
+ This is measured in meters per second.
403
+ </remarks></documentation></annotation></element><element name="min-speed" type="t:speed-value" minOccurs="0"><annotation><documentation><summary>
404
+ The minimum speed achieved during the session.
405
+ </summary><remarks>
406
+ This is measured in meters per second.
407
+ </remarks></documentation></annotation></element><element name="peak-pace" type="t:pace-value" minOccurs="0"><annotation><documentation><summary>
408
+ The maximum pace achieved during the session.
409
+ </summary><remarks>
410
+ This is measured in seconds per 100 meters.
411
+ </remarks></documentation></annotation></element><element name="avg-pace" type="t:pace-value" minOccurs="0"><annotation><documentation><summary>
412
+ The average pace achieved during the session.
413
+ </summary><remarks>
414
+ This is measured in seconds per 100 meters.
415
+ </remarks></documentation></annotation></element><element name="min-pace" type="t:pace-value" minOccurs="0"><annotation><documentation><summary>
416
+ The minimum pace achieved during the session.
417
+ </summary><remarks>
418
+ This is measured in seconds per 100 meters.
419
+ </remarks></documentation></annotation></element><element name="peak-power" type="t:power-value" minOccurs="0"><annotation><documentation><summary>
420
+ The maximum power achieved during the session.
421
+ </summary><remarks>
422
+ This is measured in watts.
423
+ </remarks></documentation></annotation></element><element name="avg-power" type="t:power-value" minOccurs="0"><annotation><documentation><summary>
424
+ The average power achieved during the session.
425
+ </summary><remarks>
426
+ This is measured in watts.
427
+ </remarks></documentation></annotation></element><element name="min-power" type="t:power-value" minOccurs="0"><annotation><documentation><summary>
428
+ The minimum power achieved during the session.
429
+ </summary><remarks>
430
+ This is measured in watts.
431
+ </remarks></documentation></annotation></element><element name="peak-torque" type="t:torque-value" minOccurs="0"><annotation><documentation><summary>
432
+ The maximum torque achieved during the session.
433
+ </summary><remarks>
434
+ This is measured in newton meters.
435
+ </remarks></documentation></annotation></element><element name="avg-torque" type="t:torque-value" minOccurs="0"><annotation><documentation><summary>
436
+ The average torque achieved during the session.
437
+ </summary><remarks>
438
+ This is measured in newton meters.
439
+ </remarks></documentation></annotation></element><element name="min-torque" type="t:torque-value" minOccurs="0"><annotation><documentation><summary>
440
+ The minimum torque achieved during the session.
441
+ </summary><remarks>
442
+ This is measured in newton meters.
443
+ </remarks></documentation></annotation></element><element name="left-right-balance" type="t:percentage" minOccurs="0"><annotation><documentation><summary>
444
+ The power output balance between left and right strokes.
445
+ </summary><remarks>
446
+ This is measured as a percentage (%) relating to the left.
447
+ For example, a value of 30 indicates that 30% of the power
448
+ came from the left, while 70% came from the right.
449
+ </remarks></documentation></annotation></element><element name="peak-cadence" type="t:positiveDouble" minOccurs="0"><annotation><documentation><summary>
450
+ The maximum cadence achieved during the session. T
451
+ </summary><remarks>
452
+ his is measured in revolutions per minute (rpm).
453
+ </remarks></documentation></annotation></element><element name="avg-cadence" type="t:positiveDouble" minOccurs="0"><annotation><documentation><summary>
454
+ The average cadence achieved during the session.
455
+ </summary><remarks>
456
+ This is measured in revolutions per minute (rpm).
457
+ </remarks></documentation></annotation></element><element name="min-cadence" type="t:positiveDouble" minOccurs="0"><annotation><documentation><summary>
458
+ The minimum cadence achieved during the session.
459
+ </summary><remarks>
460
+ This is measured in revolutions per minute (rpm).
461
+ </remarks></documentation></annotation></element><element name="peak-temperature" type="t:temperature-value" minOccurs="0"><annotation><documentation><summary>
462
+ The maximum temperature achieved during the session.
463
+ </summary><remarks>
464
+ This is measured in degrees Celsius (C).
465
+ </remarks></documentation></annotation></element><element name="avg-temperature" type="t:temperature-value" minOccurs="0"><annotation><documentation><summary>
466
+ The average temperature achieved during the session.
467
+ </summary><remarks>
468
+ This is measured in degrees Celsius (C).
469
+ </remarks></documentation></annotation></element><element name="min-temperature" type="t:temperature-value" minOccurs="0"><annotation><documentation><summary>
470
+ The minimum temperature achieved during the session.
471
+ </summary><remarks>
472
+ This is measured in degrees Celsius (C).
473
+ </remarks></documentation></annotation></element><element name="peak-altitude" type="t:altitude-value" minOccurs="0"><annotation><documentation><summary>
474
+ The maximum altitude achieved during the session.
475
+ </summary><remarks>
476
+ This is measured in meters above mean sea level.
477
+ </remarks></documentation></annotation></element><element name="avg-altitude" type="t:altitude-value" minOccurs="0"><annotation><documentation><summary>
478
+ The average altitude achieved during the session.
479
+ </summary><remarks>
480
+ This is measured in meters above mean sea level.
481
+ </remarks></documentation></annotation></element><element name="min-altitude" type="t:altitude-value" minOccurs="0"><annotation><documentation><summary>
482
+ The minimum altitude achieved during the session.
483
+ </summary><remarks>
484
+ This is measured in meters above mean sea level.
485
+ </remarks></documentation></annotation></element><element name="elevation-gain" type="t:length-value" minOccurs="0"><annotation><documentation><summary>
486
+ The gain in elevation achieved during the session.
487
+ </summary><remarks>
488
+ This is measured in meters.
489
+ </remarks></documentation></annotation></element><element name="elevation-loss" type="t:length-value" minOccurs="0"><annotation><documentation><summary>
490
+ The loss in elevation achieved during the session.
491
+ </summary><remarks>
492
+ This is measured in meters.
493
+ </remarks></documentation></annotation></element><element name="number-of-steps" type="nonNegativeInteger" minOccurs="0"><annotation><documentation><summary>
494
+ Number of steps taken in this session.
495
+ </summary></documentation></annotation></element><element name="number-of-aerobic-steps" type="nonNegativeInteger" minOccurs="0"><annotation><documentation><summary>
496
+ Total steps taken in the aerobic activity range.
497
+ </summary><remarks>
498
+ Total steps taken in the aerobic activity range. This will be less than or
499
+ equal to the total steps taken given that the participant may not remain
500
+ in the aerobic activity range for the entire session.
501
+ </remarks></documentation></annotation></element><element name="aerobic-step-minutes" type="t:nonNegativeDouble" minOccurs="0"><annotation><documentation><summary>
502
+ Total duration spent in the aerobic activity range.
503
+ </summary><remarks>
504
+ This item will be recorded in units of minutes.
505
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="aerobic-session-samples"><annotation><documentation><summary>
506
+ Defines sample sets for an aerobic session.
507
+ </summary></documentation></annotation><sequence><element name="heartrate-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
508
+ Heart rate sample set for aerobic session.
509
+ </summary><preferred-sample-value>
510
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
511
+ </preferred-sample-value></documentation></annotation></element><element name="distance-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
512
+ Distance sample set for aerobic session.
513
+ </summary><preferred-sample-value>
514
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
515
+ </preferred-sample-value></documentation></annotation></element><element name="position-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
516
+ Position sample set for aerobic session.
517
+ </summary><remarks>
518
+ Positions are expected to be in either
519
+ longitude/latitude or UTM coordinates.
520
+ </remarks></documentation></annotation></element><element name="speed-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
521
+ Speed sample set for aerobic session.
522
+ </summary><preferred-sample-value>
523
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
524
+ </preferred-sample-value></documentation></annotation></element><element name="pace-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
525
+ Pace sample set for aerobic session.
526
+ </summary><preferred-sample-value>
527
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
528
+ </preferred-sample-value></documentation></annotation></element><element name="power-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
529
+ Power sample set for aerobic session.
530
+ </summary><preferred-sample-value>
531
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
532
+ </preferred-sample-value></documentation></annotation></element><element name="torque-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
533
+ Torque sample set for aerobic session.
534
+ </summary><preferred-sample-value>
535
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
536
+ </preferred-sample-value></documentation></annotation></element><element name="cadence-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
537
+ Cadence sample set for aerobic session.
538
+ </summary><preferred-sample-value>
539
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
540
+ </preferred-sample-value></documentation></annotation></element><element name="temperature-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
541
+ Temperature sample set for aerobic session.
542
+ </summary><preferred-sample-value>
543
+ double
544
+ </preferred-sample-value></documentation></annotation></element><element name="altitude-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
545
+ Altitude sample set for aerobic session.
546
+ </summary><preferred-sample-value>
547
+ double
548
+ </preferred-sample-value></documentation></annotation></element><element name="air-pressure-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
549
+ Air pressure sample set for aerobic session.
550
+ </summary><preferred-sample-value>
551
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
552
+ </preferred-sample-value></documentation></annotation></element><element name="number-of-steps-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
553
+ Number of steps taken during this sample.
554
+ </summary><preferred-sample-value>
555
+ urn:com.microsoft.wc.thing.types.nonNegativeInteger
556
+ </preferred-sample-value></documentation></annotation></element><element name="number-of-aerobic-steps-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
557
+ Total steps taken in the aerobic activity range.
558
+ </summary><preferred-sample-value>
559
+ urn:com.microsoft.wc.thing.types.nonNegativeInteger
560
+ </preferred-sample-value><remarks>
561
+ Total steps taken in the aerobic activity range for the relevant sample.
562
+ This value will be less than or equal to the total steps taken given
563
+ that the participant may not remain in the aerobic activity range for
564
+ the entire sample.
565
+ </remarks></documentation></annotation></element><element name="aerobic-step-minutes-samples" type="t:sample-set" minOccurs="0"><annotation><documentation><summary>
566
+ Total duration spent in the aerobic activity range.
567
+ </summary><preferred-sample-value>
568
+ urn:com.microsoft.wc.thing.types.nonNegativeDouble
569
+ </preferred-sample-value><remarks>
570
+ This item will be recorded in units of minutes.
571
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="aerobic-lap-session"><annotation><documentation><summary>
572
+ One stage of the aerobic session.
573
+ </summary><remarks>
574
+ For example, one circuit of a running track or one length of a swimming pool.
575
+ Usually indicated by the person pressing the stopwatch during exercise.
576
+ This may occur multiple times in a session.
577
+ </remarks></documentation></annotation><sequence><element name="name" type="string" minOccurs="0"><annotation><documentation><summary>
578
+ Optional description for this lap, such as "lap 1".
579
+ </summary></documentation></annotation></element><element name="seconds-into-session" type="t:nonNegativeDouble" minOccurs="0"><annotation><documentation><summary>
580
+ The start time of the lap relative to the entire session.
581
+ </summary><remarks>
582
+ This is measured in seconds.
583
+ </remarks></documentation></annotation></element><element name="lap-session" type="t:aerobic-session" minOccurs="0"><annotation><documentation><summary>
584
+ The lap session aerobic measurements.
585
+ </summary></documentation></annotation></element></sequence></complexType><!-- Address --><complexType name="address"><annotation><documentation><summary>
586
+ Defines a physical or mailing address.
587
+ </summary><remarks>
588
+ An address may be used for either a mailing address or
589
+ physical location.
590
+ </remarks></documentation></annotation><sequence><element name="description" type="string" minOccurs="0"><annotation><documentation><summary>
591
+ A description of the address.
592
+ </summary><remarks>
593
+ For example, a person may label the address as
594
+ "My home address" or "My mailing address".
595
+ </remarks></documentation></annotation></element><element name="is-primary" type="boolean" minOccurs="0"><annotation><documentation><summary>
596
+ States if the addresses is the primary address
597
+ for contacting the person.
598
+ </summary><remarks>
599
+ If true, the address is the preferred address
600
+ for contacting the person.
601
+ </remarks></documentation></annotation></element><element name="street" type="string" maxOccurs="unbounded"><annotation><documentation><summary>
602
+ The street portion of the address.
603
+ </summary><remarks>
604
+ The street address may be made up of one or more
605
+ lines and should adhere to the standard for the
606
+ locale in which the address resides.
607
+ </remarks></documentation></annotation></element><element name="city" type="string"><annotation><documentation><summary>
608
+ The city portion of the address.
609
+ </summary></documentation></annotation></element><element name="state" type="string" minOccurs="0"><annotation><documentation><summary>
610
+ The state or province portion of the address.
611
+ </summary></documentation></annotation></element><!-- or province, etc. --><element name="postcode" type="string"><annotation><documentation><summary>
612
+ The postal code portion of the address.
613
+ </summary><remarks>
614
+ The postal code should adhere to the standard
615
+ for the locale in which the address resides.
616
+ </remarks></documentation></annotation></element><element name="country" type="string"><annotation><documentation><summary>
617
+ The country portion of the address.
618
+ </summary><remarks>
619
+ This should be a string representation of the
620
+ country as defined by the user. It is not used
621
+ for processing so it doesn't have to be an
622
+ ISO-3166 code. For example, a person could
623
+ refer to the United States of America as "US",
624
+ "USA", "United States", or "United States of
625
+ America".
626
+ </remarks></documentation></annotation></element></sequence></complexType><!-- phone --><complexType name="phone"><annotation><documentation><summary>
627
+ A phone number.
628
+ </summary></documentation></annotation><sequence><element name="description" type="string" minOccurs="0"><annotation><documentation><summary>
629
+ A person's description of the phone number.
630
+ </summary><remarks>
631
+ This is used to describe the phone number. For
632
+ example, "home", "mobile", "work", etc.
633
+ </remarks></documentation></annotation></element><element name="is-primary" type="boolean" minOccurs="0"><annotation><documentation><summary>
634
+ States if the phone number is the primary number
635
+ for contacting the person.
636
+ </summary><remarks>
637
+ If true, the phone number is the preferred number
638
+ for contacting the person.
639
+ </remarks></documentation></annotation></element><element name="number" type="string"><annotation><documentation><summary>
640
+ The phone number.
641
+ </summary></documentation></annotation></element></sequence></complexType><!-- Email --><complexType name="email"><annotation><documentation><summary>
642
+ An email address.
643
+ </summary></documentation></annotation><sequence><element name="description" type="string" minOccurs="0"><annotation><documentation><summary>
644
+ A person's description of the email address.
645
+ </summary><remarks>
646
+ This is used to describe the email address. For
647
+ example, "personal", "work", etc.
648
+ </remarks></documentation></annotation></element><element name="is-primary" type="boolean" minOccurs="0"><annotation><documentation><summary>
649
+ States if the email address is the primary address
650
+ for contacting the person.
651
+ </summary><remarks>
652
+ If true, the email address is the preferred address
653
+ for contacting the person.
654
+ </remarks></documentation></annotation></element><element name="address" type="string"><annotation><documentation><summary>
655
+ The email address.
656
+ </summary></documentation></annotation></element></sequence></complexType><complexType name="communication-type"><annotation><documentation><summary>
657
+ Defines what type of communication is used.
658
+ </summary><remarks>
659
+ This type is used to specify the communication medium
660
+ (i.e. phone, email, pager, etc.), the priority of which
661
+ medium is preferred and the class (i.e. home, office,
662
+ mobile, etc.) of medium.
663
+ </remarks></documentation></annotation><sequence><!--phone, email, pager, etc--><element name="communication-medium" type="t:codable-value"><annotation><documentation><summary>
664
+ Defines medium of communication used.
665
+ </summary><preferred-vocabulary>communication-medium</preferred-vocabulary></documentation></annotation></element><element name="priority" type="positiveInteger" minOccurs="0"><annotation><documentation><summary>
666
+ Defines priority of communication medium.
667
+ </summary><remarks>
668
+ Preferred medium is lower value, such as phone-1, phone-2, etc.
669
+ </remarks></documentation></annotation></element><!--home, mobile, office, etc--><element name="class" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
670
+ Defines class of communication used.
671
+ </summary><preferred-vocabulary>communication-class</preferred-vocabulary></documentation></annotation></element><element name="value" type="string"><annotation><documentation><summary>
672
+ Detailed value of communication type.
673
+ </summary><summary>
674
+ Examples are phone number, fax number, etc.
675
+ </summary></documentation></annotation></element></sequence></complexType><complexType name="language"><annotation><documentation><summary>
676
+ Defines a spoken language.
677
+ </summary></documentation></annotation><sequence><element name="language" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
678
+ The language.
679
+ </summary><remarks>
680
+ The Microsoft Health Lexicon defines codes for
681
+ many of the common spoken languages. In most
682
+ cases the language should be specified by using
683
+ the code retrieved from the Microsoft Health
684
+ Lexicon by calling GetVocabulary with "languages"
685
+ as the vocabulary name. If the language doesn't
686
+ exist the Microsoft Health Lexicon the "text"
687
+ element of the codable value can be used to specify
688
+ the language.
689
+ </remarks><preferred-vocabulary>iso:iso639-1</preferred-vocabulary></documentation></annotation></element><element name="is-primary" type="boolean" minOccurs="0"><annotation><documentation><summary>
690
+ States if the language is the primary language
691
+ of the person.
692
+ </summary><remarks>
693
+ If true, the language is the preferred spoken
694
+ language of the person.
695
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="name"><annotation><documentation><summary>
696
+ Defines a person's name.
697
+ </summary></documentation></annotation><sequence><element name="full" type="string"><annotation><documentation><summary>
698
+ The person's full name.
699
+ </summary></documentation></annotation></element><element name="title" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
700
+ The person's title.
701
+ </summary><remarks>
702
+ For example, "Mr.", "Ms.", "Mrs.", etc.
703
+ </remarks><preferred-vocabulary>name-prefixes</preferred-vocabulary></documentation></annotation></element><element name="first" type="string" minOccurs="0"><annotation><documentation><summary>
704
+ The person's given name.
705
+ </summary></documentation></annotation></element><element name="middle" type="string" minOccurs="0"><annotation><documentation><summary>
706
+ The person's middle name.
707
+ </summary></documentation></annotation></element><element name="last" type="string" minOccurs="0"><annotation><documentation><summary>
708
+ The person's family/sur name.
709
+ </summary></documentation></annotation></element><element name="suffix" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
710
+ The person's name suffix.
711
+ </summary><remarks>
712
+ For example, "Jr.", "Sr.", etc.
713
+ </remarks><preferred-vocabulary>name-suffixes</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="person"><annotation><documentation><summary>
714
+ Information related to a contact.
715
+ </summary><remarks>
716
+ A contact may be an emergency contact, contact information
717
+ for a doctor, lawyer, etc.
718
+ </remarks></documentation></annotation><sequence><element name="name" type="t:name"><annotation><documentation><summary>
719
+ The name of the contact person.
720
+ </summary></documentation></annotation></element><element name="organization" type="string" minOccurs="0"><annotation><documentation><summary>
721
+ The name of the organization the contact
722
+ belongs to.
723
+ </summary></documentation></annotation></element><element name="professional-training" type="string" minOccurs="0"><annotation><documentation><summary>
724
+ The person's professional training.
725
+ </summary></documentation></annotation></element><element name="id" type="string" minOccurs="0"><annotation><documentation><summary>
726
+ The identification number for the person
727
+ in the organization.
728
+ </summary></documentation></annotation></element><element name="contact" type="t:contact" minOccurs="0"><annotation><documentation><summary>
729
+ Information on how to contact the person.
730
+ </summary></documentation></annotation></element><element name="type" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
731
+ The type of the contact person.
732
+ </summary><remarks>
733
+ A person may be an emergency contact,
734
+ a health care provider, etc. The values
735
+ should be taken from the Microsoft Health
736
+ Lexicon vocabulary 'person-types'.
737
+ </remarks><preferred-vocabulary>person-types</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="contact"><annotation><documentation><summary>
738
+ Defines a set of contact information.
739
+ </summary><remarks>
740
+ The contact information can consist of any number of
741
+ physical/mailing addresses, phone numbers, or email
742
+ addresses.
743
+ </remarks></documentation></annotation><sequence><element name="address" type="t:address" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
744
+ Physical or mailing addresses.
745
+ </summary></documentation></annotation></element><element name="phone" type="t:phone" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
746
+ Telephone numbers such as home, work, or mobile.
747
+ </summary></documentation></annotation></element><element name="email" type="t:email" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
748
+ Email addresses.
749
+ </summary></documentation></annotation></element></sequence></complexType><complexType name="coded-value"><annotation><documentation><summary>
750
+ Defines a value which has been coded in a Microsoft Health
751
+ Vocabulary.
752
+ </summary><remarks>
753
+ The Microsoft Health Service provides a set of vocabularies
754
+ containing common health and fitness terms and codes.
755
+ Vocabularies are identified by their family, type, and
756
+ version and contain values which identify an entry in that
757
+ vocabulary by code.<br /><br />
758
+ For example, a prescription
759
+ vocabulary may be identified by the family 'NCPDP', type
760
+ 'SCRIPT', and version '1.0' and contain a code of 10 which
761
+ identifies a 'tablet' form of medication.
762
+ </remarks></documentation></annotation><sequence><element name="value" type="string"><annotation><documentation><summary>
763
+ The code value which identifies the item in the
764
+ vocabulary.
765
+ </summary><remarks>
766
+ Codes are unique to the vocabulary they reside in.
767
+ The codes for a particular vocabulary can be
768
+ enumerated using GetVocabulary.
769
+ </remarks></documentation></annotation></element><element name="family" type="string" minOccurs="0"><annotation><documentation><summary>
770
+ The family of the vocabulary.
771
+ </summary><remarks>
772
+ The family of a vocabulary partially identifies the
773
+ vocabulary instance along with type and version. If
774
+ the value is missing the family is assumed to be
775
+ 'wc' which is the Microsoft Health Lexicon.
776
+ <br />
777
+ For example, 'NCPDP' is the vocabulary family for
778
+ codes in the National Council for Prescription Drug
779
+ Programs.
780
+ </remarks></documentation></annotation></element><element name="type" type="string"><annotation><documentation><summary>
781
+ The type of the vocabulary.
782
+ </summary><remarks>
783
+ This is the name that identifies the vocabulary in
784
+ the family of vocabularies.<br /><br />
785
+ For example, 'SCRIPT' is the vocabulary name for
786
+ medical prescriptions in the 'NCPDP' family of
787
+ vocabularies.
788
+ </remarks></documentation></annotation></element><element name="version" type="string" minOccurs="0"><annotation><documentation><summary>
789
+ The version of the vocabulary.
790
+ </summary><remarks>
791
+ The version identifies which version of a vocabulary
792
+ identified by the 'type' element the code is in if
793
+ more than one version is present.
794
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="codable-value"><annotation><documentation><summary>
795
+ A value that may have codes from one or more Microsoft
796
+ Health vocabularies associated with it.
797
+ </summary><remarks>
798
+ A codable value represents a value that may reference a
799
+ coded value in one or more of the Microsoft Health
800
+ vocabularies. Though it does not require the value to
801
+ be in a vocabulary.<br /><br />
802
+ For example, aerobic session data has a mode element
803
+ of type codable-value. Although many common forms of
804
+ aerobic session mode can be found in the Microsoft
805
+ Health Lexicon using the 'wildcat-activies' vocabulary,
806
+ not all possible activies can be found there. If the
807
+ activity does exist in the vocabulary it is recommended
808
+ that applications add the coded-value for that code as
809
+ a 'code' element and set the 'text' element to the
810
+ display value for that code. If the activity does not
811
+ exist in the vocabulary the 'code' element should not
812
+ be specified and the 'text' element should contain the
813
+ data the user entered.<br /><br />
814
+ By using the coded-value when available the data can
815
+ be easily localized by the Microsoft Health Service and
816
+ can also be utilized by applications that are mining the
817
+ data based on certain code values.
818
+ </remarks></documentation></annotation><sequence><element name="text" type="string"><annotation><documentation><summary>
819
+ The textual representation of the value.
820
+ </summary><remarks>
821
+ This may be the display value from one of the
822
+ coded-values or it may be the user entered
823
+ value.
824
+ </remarks></documentation></annotation></element><element name="code" type="t:coded-value" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
825
+ The codes representing the value from a
826
+ Microsoft Health vocabulary.
827
+ </summary><remarks>
828
+ Some values can be represented by codes in more
829
+ that one vocabulary. If appropriate add coded-values
830
+ from as many vocabularies as are relevant.
831
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="lab-result-type"><annotation><documentation><summary>
832
+ A clinical value within a laboratory result.
833
+ </summary><remarks>
834
+ This type is define a clinical value within a laboratory result,
835
+ including value, unit, reference and toxic ranges.
836
+ </remarks></documentation></annotation><sequence><element name="value" type="double" minOccurs="0"><annotation><documentation><summary>
837
+ The value of the laboratory result.
838
+ </summary></documentation></annotation></element><element name="unit" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
839
+ Units used to define laboratory result.
840
+ </summary><preferred-vocabulary>lab-results-units</preferred-vocabulary></documentation></annotation></element><element name="reference-range" type="t:double-range" minOccurs="0"><annotation><documentation><summary>
841
+ The reference range for the laboratory result.
842
+ </summary></documentation></annotation></element><element name="toxic-range" type="t:double-range" minOccurs="0"><annotation><documentation><summary>
843
+ The toxic range for the laboratory result.
844
+ </summary></documentation></annotation></element><element name="text-value" type="string" minOccurs="0"><annotation><documentation><summary>
845
+ Free form text for laboratory results.
846
+ </summary></documentation></annotation></element><element name="flag" type="t:codable-value" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
847
+ Flag for laboratory results.
848
+ </summary><remarks>
849
+ Example values are normal, critical, high and low.
850
+ </remarks><preferred-vocabulary>lab-results-flag</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="lab-test-type"><annotation><documentation><summary>
851
+ A laboratory test component, including the lab result value details.
852
+ </summary><remarks>
853
+ This type is used to define components without a larger clinical laboratory report.
854
+ </remarks></documentation></annotation><sequence><element name="when" type="d:date-time"><annotation><documentation><summary>
855
+ The date of the laboratory test.
856
+ </summary></documentation></annotation></element><element name="name" type="string" minOccurs="0"><annotation><documentation><summary>
857
+ The name of the laboratory test.
858
+ </summary></documentation></annotation></element><element name="substance" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
859
+ The substance tested.
860
+ </summary></documentation></annotation></element><element name="collection-method" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
861
+ The collection method for the laboratory test.
862
+ </summary></documentation></annotation></element><element name="abbreviation" type="string" minOccurs="0"><annotation><documentation><summary>
863
+ The abbreviation for the laboratory test.
864
+ </summary></documentation></annotation></element><element name="description" type="string" minOccurs="0"><annotation><documentation><summary>
865
+ Free form description of the laboratory test.
866
+ </summary></documentation></annotation></element><element name="code" type="t:codable-value" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
867
+ The clinical code for the laboratory test.
868
+ </summary><preferred-vocabulary>LOINC</preferred-vocabulary></documentation></annotation></element><element name="result" type="t:lab-result-type" minOccurs="0"><annotation><documentation><summary>
869
+ A clinical value within a laboratory result.
870
+ </summary><remarks>
871
+ This type is define a clinical value within a laboratory result,
872
+ including value, unit, reference and toxic ranges.
873
+ </remarks></documentation></annotation></element><element name="status" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
874
+ The status of the laboratory result.
875
+ </summary><remarks>
876
+ Examples of status include complete and pending.
877
+ </remarks><preferred-vocabulary>lab-results-status</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="lab-test-result-value-type"><annotation><documentation><summary>
878
+ A clinical value within a laboratory result.
879
+ </summary><remarks>
880
+ This type is define a clinical value within a laboratory result,
881
+ including value, unit, reference and toxic ranges.
882
+ </remarks></documentation></annotation><sequence><element name="measurement" type="t:general-measurement"><annotation><documentation><summary>
883
+ The value of the laboratory result.
884
+ </summary><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="ranges" type="t:test-result-range" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
885
+ Ranges that are associated with this result.
886
+ </summary><remarks>
887
+ Each test result can contain multiple ranges that are useful to interpret the result value.
888
+ <br />
889
+ Examples include reference range and therapeutic range.
890
+ </remarks></documentation></annotation></element><element name="flag" type="t:codable-value" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
891
+ Flag for laboratory results.
892
+ </summary><remarks>
893
+ Example values are normal, critical, high and low.
894
+ </remarks><preferred-vocabulary>lab-results-flag</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="lab-test-result-type"><annotation><documentation><summary>
895
+ A single laboratory test.
896
+ </summary></documentation></annotation><sequence><element name="when" type="d:approx-date-time" minOccurs="0"><annotation><documentation><summary>
897
+ The date of the laboratory test.
898
+ </summary></documentation></annotation></element><element name="name" type="string" minOccurs="0"><annotation><documentation><summary>
899
+ The name of the laboratory test.
900
+ </summary></documentation></annotation></element><element name="substance" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
901
+ The substance tested.
902
+ </summary><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="collection-method" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
903
+ The collection method for the laboratory test.
904
+ </summary><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="clinical-code" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
905
+ The clinical code for the laboratory test.
906
+ </summary><preferred-vocabulary>LOINC</preferred-vocabulary></documentation></annotation></element><element name="value" type="t:lab-test-result-value-type" minOccurs="0"><annotation><documentation><summary>
907
+ A clinical value within a laboratory result.
908
+ </summary><remarks>
909
+ This type is define a clinical value within a laboratory result,
910
+ including value, unit, reference and toxic ranges.
911
+ </remarks></documentation></annotation></element><element name="status" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
912
+ The status of the laboratory result.
913
+ </summary><remarks>
914
+ Examples of status include complete and pending.
915
+ </remarks><preferred-vocabulary>lab-status</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="lab-test-results-group-type"><sequence><element name="group-name" type="t:codable-value"><annotation><documentation><summary>
916
+ The name for this set of lab test results.
917
+ </summary><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="laboratory-name" type="t:Organization" minOccurs="0"><annotation><documentation><summary>
918
+ Name of the laboratory that performed the tests.
919
+ </summary></documentation></annotation></element><element name="status" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
920
+ The overall status of this group and any sub-groups.
921
+ </summary><remarks>
922
+ Examples of status include complete and pending.
923
+ </remarks><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="sub-groups" type="t:lab-test-results-group-type" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
924
+ Lab test results sub-groups.
925
+ </summary><remarks>
926
+ If there is more than one group of results, they should be stored in the sub-groups.
927
+ </remarks></documentation></annotation></element><element name="results" type="t:lab-test-result-type" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
928
+ A set of results for this group.
929
+ </summary><remarks>
930
+ If there is a single set of results, they should be stored in results. If there are multiple ones, results
931
+ should be omitted and the test results should be stored in sub-groups.
932
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="document-reference-type"><annotation><documentation><summary>
933
+ Defines a document reference.
934
+ </summary><remarks>
935
+ This type is used to define a specific document reference, including
936
+ classification, index and version.
937
+ </remarks></documentation></annotation><sequence><element name="title" type="string"><annotation><documentation><summary>
938
+ The title of the document reference.
939
+ </summary></documentation></annotation></element><element name="url" type="string"><annotation><documentation><summary>
940
+ The URL for the document reference.
941
+ </summary></documentation></annotation></element><element name="document-index" type="string"><annotation><documentation><summary>
942
+ The index for the document reference.
943
+ </summary></documentation></annotation></element><element name="version" type="string"><annotation><documentation><summary>
944
+ The version of the document reference.
945
+ </summary></documentation></annotation></element></sequence></complexType><complexType name="Organization"><annotation><documentation><summary>An organization entity.</summary><remarks>
946
+ An entity such as a hospital, a pharmacy, or a doctor's office.
947
+ </remarks></documentation></annotation><sequence><element name="name" type="string"><annotation><documentation><summary>The name of the organization.</summary></documentation></annotation></element><element name="contact" type="t:contact" minOccurs="0"><annotation><documentation><summary>
948
+ The contact information for the organization.
949
+ </summary></documentation></annotation></element><element name="type" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
950
+ The type of the organization.
951
+ </summary></documentation></annotation></element><element name="website" type="string" minOccurs="0"><annotation><documentation><summary>
952
+ The url for the organization's website.
953
+ </summary></documentation></annotation></element></sequence></complexType><complexType name="condition"><annotation><documentation><summary>
954
+ Defines a single health or medical issue/problem.
955
+ </summary><remarks>
956
+ CCR qualifiers and other notes should go in the
957
+ common/note section of the thing.
958
+ </remarks></documentation></annotation><sequence><element name="name" type="t:codable-value"><annotation><documentation><summary>
959
+ The name or description of the condition.
960
+ </summary><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="onset-date" type="d:approx-date" minOccurs="0"><annotation><documentation><summary>
961
+ The date of onset or the first diagnosis.
962
+ </summary></documentation></annotation></element><element name="resolution-date" type="d:approx-date" minOccurs="0"><annotation><documentation><summary>
963
+ The date the condition resolved (or for
964
+ multiple acute episodes, the last date the
965
+ condition resolved).
966
+ </summary></documentation></annotation></element><element name="resolution" type="string" minOccurs="0"><annotation><documentation><summary>
967
+ A statement of how the condition was resolved.
968
+ </summary></documentation></annotation></element><!-- CCR qualifiers or other notes go into common/note --><element name="occurrence" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
969
+ How often the condition occurs.
970
+ </summary><remarks>
971
+ Examples: acute, chronic.
972
+ </remarks><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="severity" type="t:codable-value" minOccurs="0"><annotation><documentation><summary>
973
+ The severity for the condition
974
+ </summary><preferred-vocabulary>condition-severity</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="structured-measurement"><annotation><documentation><summary>
975
+ A measurement using specific units.
976
+ </summary><remarks>
977
+ Examples include 30 cc, 500 mg, 15 liters, 30 inches, etc.
978
+ </remarks></documentation></annotation><sequence><element name="value" type="double"><annotation><documentation><summary>
979
+ The value of the measurement.
980
+ </summary></documentation></annotation></element><element name="units" type="t:codable-value"><annotation><documentation><summary>
981
+ The units for the measurement.
982
+ </summary><preferred-vocabulary>measurement-units</preferred-vocabulary></documentation></annotation></element></sequence></complexType><complexType name="general-measurement"><annotation><documentation><summary>
983
+ A coded measurement and a display representation.
984
+ </summary><remarks>
985
+ Examples include 30 cc, 500 mg, 15 liters, 30 inches, etc.
986
+ </remarks></documentation></annotation><sequence><element name="display" type="string"><annotation><documentation><summary>
987
+ A user-readable string.
988
+ </summary><remarks>
989
+ Applications typically display this string.
990
+ </remarks></documentation></annotation></element><element name="structured" type="t:structured-measurement" minOccurs="0" maxOccurs="unbounded"><annotation><documentation><summary>
991
+ The coded value of the measurement
992
+ </summary><remarks>
993
+ Applications typically use this for calculations, charting, or graphing.
994
+ </remarks></documentation></annotation></element></sequence></complexType><complexType name="test-result-range"><annotation><documentation><summary>
995
+ A range related to a specific test result
996
+ </summary></documentation></annotation><sequence><element name="type" type="t:codable-value"><annotation><documentation><summary>
997
+ The type of the range.
998
+ </summary><preferred-vocabulary>Contact the HealthVault team to help define this vocabulary.</preferred-vocabulary></documentation></annotation></element><element name="range" type="t:double-range"><annotation><documentation><summary>
999
+ The minimum and maximum of the range.
1000
+ </summary></documentation></annotation></element></sequence></complexType></schema>