rubyhealthvault 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,3131 @@
1
+ <?xml version="1.0"?>
2
+ <schema
3
+ targetNamespace="urn:com.microsoft.wc.types"
4
+ xmlns:wc-types="urn:com.microsoft.wc.types"
5
+ xmlns="http://www.w3.org/2001/XMLSchema" >
6
+
7
+ <!--
8
+
9
+ TYPES.XSD
10
+ Microsoft Wildcat
11
+
12
+ Platform API: Shared types
13
+
14
+ -->
15
+
16
+ <annotation>
17
+ <documentation>
18
+ <summary>
19
+
20
+ </summary>
21
+
22
+ <remarks>
23
+
24
+ </remarks>
25
+ </documentation>
26
+ </annotation>
27
+
28
+ <!-- phone -->
29
+ <complexType name="Phone">
30
+ <annotation>
31
+ <documentation>
32
+ <summary>
33
+
34
+ </summary>
35
+
36
+ <remarks>
37
+
38
+ </remarks>
39
+ </documentation>
40
+ </annotation>
41
+ <sequence>
42
+ <element name="description" type="string"
43
+ minOccurs="0" maxOccurs="1" >
44
+ <annotation>
45
+ <documentation>
46
+ <summary>
47
+
48
+ </summary>
49
+
50
+ <remarks>
51
+
52
+ </remarks>
53
+ </documentation>
54
+ </annotation>
55
+ </element>
56
+
57
+
58
+ <element name="is-primary" type="boolean"
59
+ minOccurs="0" maxOccurs="1" >
60
+ <annotation>
61
+ <documentation>
62
+ <summary>
63
+
64
+ </summary>
65
+
66
+ <remarks>
67
+
68
+ </remarks>
69
+ </documentation>
70
+ </annotation>
71
+ </element>
72
+
73
+
74
+ <element name="number" type="string" >
75
+ <annotation>
76
+ <documentation>
77
+ <summary>
78
+
79
+ </summary>
80
+
81
+ <remarks>
82
+
83
+ </remarks>
84
+ </documentation>
85
+ </annotation>
86
+ </element>
87
+
88
+
89
+ </sequence>
90
+ </complexType>
91
+
92
+ <!-- Email -->
93
+ <complexType name="Email">
94
+ <annotation>
95
+ <documentation>
96
+ <summary>
97
+
98
+ </summary>
99
+
100
+ <remarks>
101
+
102
+ </remarks>
103
+ </documentation>
104
+ </annotation>
105
+ <sequence>
106
+ <element name="description" type="string"
107
+ minOccurs="0" maxOccurs="1" >
108
+ <annotation>
109
+ <documentation>
110
+ <summary>
111
+
112
+ </summary>
113
+
114
+ <remarks>
115
+
116
+ </remarks>
117
+ </documentation>
118
+ </annotation>
119
+ </element>
120
+
121
+
122
+ <element name="is-primary" type="boolean"
123
+ minOccurs="0" maxOccurs="1" >
124
+ <annotation>
125
+ <documentation>
126
+ <summary>
127
+
128
+ </summary>
129
+
130
+ <remarks>
131
+
132
+ </remarks>
133
+ </documentation>
134
+ </annotation>
135
+ </element>
136
+
137
+
138
+ <element name="address" type="wc-types:EmailAddress" >
139
+ <annotation>
140
+ <documentation>
141
+ <summary>
142
+
143
+ </summary>
144
+
145
+ <remarks>
146
+
147
+ </remarks>
148
+ </documentation>
149
+ </annotation>
150
+ </element>
151
+
152
+
153
+ </sequence>
154
+ </complexType>
155
+
156
+ <!-- Email Address -->
157
+ <simpleType name="EmailAddress">
158
+ <annotation>
159
+ <documentation>
160
+ <summary>
161
+
162
+ </summary>
163
+
164
+ <remarks>
165
+
166
+ </remarks>
167
+ </documentation>
168
+ </annotation>
169
+ <restriction base="string">
170
+ <minLength value="6" />
171
+ <maxLength value="128" />
172
+ </restriction>
173
+ </simpleType>
174
+
175
+ <complexType name="RcptAddress">
176
+ <annotation>
177
+ <documentation>
178
+ <summary>
179
+ Identifies an message recipient by email and name.
180
+ </summary>
181
+ </documentation>
182
+ </annotation>
183
+ <sequence>
184
+ <element name="address" type="string" >
185
+ <annotation>
186
+ <documentation>
187
+ <summary>
188
+ The email address to which the message will be
189
+ sent.
190
+ </summary>
191
+
192
+ <remarks>
193
+ The email address must conform to standard email
194
+ address rules.
195
+ </remarks>
196
+ </documentation>
197
+ </annotation>
198
+ </element>
199
+
200
+ <element name="name" type="string" >
201
+ <annotation>
202
+ <documentation>
203
+ <summary>
204
+ The display name to be shown in the To field of
205
+ the message being sent.
206
+ </summary>
207
+ </documentation>
208
+ </annotation>
209
+ </element>
210
+
211
+ </sequence>
212
+ </complexType>
213
+
214
+ <complexType name="RcptPerson">
215
+ <annotation>
216
+ <documentation>
217
+ <summary>
218
+ Represents a message recipient who is identified by a
219
+ a unique Microsoft Health account identifier.
220
+ </summary>
221
+
222
+ <remarks>
223
+ The validated attribute determines whether the email
224
+ address must first be validated by the account owner. If
225
+ the validated attribute is true and the email address
226
+ hasn't been validated then an error will be returned.
227
+ </remarks>
228
+ </documentation>
229
+ </annotation>
230
+ <simpleContent>
231
+ <extension base="wc-types:guid">
232
+ <attribute name="validated" type="boolean" use="required" >
233
+ <annotation>
234
+ <documentation>
235
+ <summary>
236
+ States whether the email address must have
237
+ been validated by the account owner for the
238
+ message to be sent.
239
+ </summary>
240
+
241
+ <remarks>
242
+ If true, the Microsoft Health Service will
243
+ ensure that the specified account's email
244
+ address has been validated by the account
245
+ owner before sending the message. If true,
246
+ and the address hasn't been validated, an
247
+ error will be returned.
248
+ </remarks>
249
+ </documentation>
250
+ </annotation>
251
+ </attribute>
252
+
253
+ </extension>
254
+ </simpleContent>
255
+ </complexType>
256
+
257
+ <complexType name="RcptRecord">
258
+ <annotation>
259
+ <documentation>
260
+ <summary>
261
+ Specifies that this message should be sent to custodians
262
+ of the health record specified in the request envelope.
263
+ </summary>
264
+
265
+ <remarks>
266
+ The message will be sent to the email addresses of all
267
+ the record custodians. The validated attribute determines
268
+ whether the email addresses of the custodians must be
269
+ validated. Any custodians not validated will be skipped.
270
+ If the validated attribute is true and no custodians
271
+ with validated email address are found, an error will
272
+ be returned.
273
+ </remarks>
274
+ </documentation>
275
+ </annotation>
276
+ <sequence />
277
+ <attribute name="validated" type="boolean" use="required" >
278
+ <annotation>
279
+ <documentation>
280
+ <summary>
281
+ States whether the email addresses of custodians
282
+ must have been validated for the message to be sent.
283
+ </summary>
284
+
285
+ <remarks>
286
+ If true, the Microsoft Health Service will
287
+ ensure that only custodians with validated
288
+ email addresses will be sent the message.
289
+ Custodians with non-validated email addresses
290
+ will be skipped. If no validated custodians are
291
+ found, then an error will be returned.
292
+ </remarks>
293
+ </documentation>
294
+ </annotation>
295
+ </attribute>
296
+
297
+
298
+ </complexType>
299
+
300
+ <!-- LoginName -->
301
+ <simpleType name="LoginName">
302
+ <annotation>
303
+ <documentation>
304
+ <summary>
305
+
306
+ </summary>
307
+
308
+ <remarks>
309
+
310
+ </remarks>
311
+ </documentation>
312
+ </annotation>
313
+ <restriction base="string">
314
+ <minLength value="6" />
315
+ <maxLength value="128" />
316
+ </restriction>
317
+ </simpleType>
318
+
319
+ <!-- Version -->
320
+ <simpleType name="Version">
321
+ <annotation>
322
+ <documentation>
323
+ <summary>
324
+
325
+ </summary>
326
+
327
+ <remarks>
328
+
329
+ </remarks>
330
+ </documentation>
331
+ </annotation>
332
+ <restriction base="string">
333
+ <minLength value="7" />
334
+ <maxLength value="19" />
335
+ </restriction>
336
+ </simpleType>
337
+
338
+ <!-- Address -->
339
+ <complexType name="Address">
340
+ <annotation>
341
+ <documentation>
342
+ <summary>
343
+
344
+ </summary>
345
+
346
+ <remarks>
347
+
348
+ </remarks>
349
+ </documentation>
350
+ </annotation>
351
+ <sequence>
352
+ <element name="description" type="string"
353
+ minOccurs="0" maxOccurs="1" >
354
+ <annotation>
355
+ <documentation>
356
+ <summary>
357
+
358
+ </summary>
359
+
360
+ <remarks>
361
+
362
+ </remarks>
363
+ </documentation>
364
+ </annotation>
365
+ </element>
366
+
367
+
368
+ <element name="is-primary" type="boolean"
369
+ minOccurs="0" maxOccurs="1" >
370
+ <annotation>
371
+ <documentation>
372
+ <summary>
373
+
374
+ </summary>
375
+
376
+ <remarks>
377
+
378
+ </remarks>
379
+ </documentation>
380
+ </annotation>
381
+ </element>
382
+
383
+
384
+ <element name="street" type="string"
385
+ minOccurs="1" maxOccurs="unbounded" >
386
+ <annotation>
387
+ <documentation>
388
+ <summary>
389
+
390
+ </summary>
391
+
392
+ <remarks>
393
+
394
+ </remarks>
395
+ </documentation>
396
+ </annotation>
397
+ </element>
398
+
399
+
400
+ <element name="city" type="string" >
401
+ <annotation>
402
+ <documentation>
403
+ <summary>
404
+
405
+ </summary>
406
+
407
+ <remarks>
408
+
409
+ </remarks>
410
+ </documentation>
411
+ </annotation>
412
+ </element>
413
+
414
+
415
+ <element name="state" type="string" >
416
+ <annotation>
417
+ <documentation>
418
+ <summary>
419
+
420
+ </summary>
421
+
422
+ <remarks>
423
+
424
+ </remarks>
425
+ </documentation>
426
+ </annotation>
427
+ </element>
428
+
429
+ <!-- or province, etc. -->
430
+ <element name="postcode" type="string"
431
+ minOccurs="0" maxOccurs="1" >
432
+ <annotation>
433
+ <documentation>
434
+ <summary>
435
+
436
+ </summary>
437
+
438
+ <remarks>
439
+
440
+ </remarks>
441
+ </documentation>
442
+ </annotation>
443
+ </element>
444
+
445
+
446
+ <element name="country" type="wc-types:iso3166" >
447
+ <annotation>
448
+ <documentation>
449
+ <summary>
450
+
451
+ </summary>
452
+
453
+ <remarks>
454
+
455
+ </remarks>
456
+ </documentation>
457
+ </annotation>
458
+ </element>
459
+
460
+
461
+ </sequence>
462
+ </complexType>
463
+
464
+
465
+ <!-- Sig -->
466
+
467
+ <complexType name="Sig">
468
+ <annotation>
469
+ <documentation>
470
+ <summary>
471
+ A digital signature produced by an application to prove
472
+ possession of a private key.
473
+ </summary>
474
+
475
+ <remarks>
476
+ Each application server has at least one public key
477
+ associated to its application identifier. The Microsoft
478
+ Health Service verifies the signature using the public key
479
+ specified via the thumbprint.
480
+ </remarks>
481
+ </documentation>
482
+ </annotation>
483
+ <simpleContent>
484
+ <extension base="wc-types:string512">
485
+ <attribute name="digestMethod"
486
+ type="wc-types:string16" use="required">
487
+ <annotation>
488
+ <documentation>
489
+ <summary>
490
+ The hash method used to generate the signed
491
+ digest.
492
+ </summary>
493
+
494
+ <remarks>
495
+ An example hash algorithm name is SHA1.
496
+ </remarks>
497
+ </documentation>
498
+ </annotation>
499
+ </attribute>
500
+
501
+ <attribute name="sigMethod"
502
+ type="wc-types:string16" use="required">
503
+ <annotation>
504
+ <documentation>
505
+ <summary>
506
+ This is the method used to generate the
507
+ signature.
508
+ </summary>
509
+
510
+ <remarks>
511
+ For example, RSA-SHA1, which implies using
512
+ SHA1 to do the hash and RSA for signing.
513
+ </remarks>
514
+ </documentation>
515
+ </annotation>
516
+ </attribute>
517
+
518
+ <attribute name="thumbprint"
519
+ type="string" use="required" >
520
+ <annotation>
521
+ <documentation>
522
+ <summary>
523
+ The thumbprint associated with the public key
524
+ certifiate that is registered with the Microsoft
525
+ Health Service.
526
+ </summary>
527
+
528
+ <remarks>
529
+ An application may have multiple public keys
530
+ associated with its application id. A thumbprint
531
+ is used to identify which certificate to use
532
+ when verifying a signature.
533
+ </remarks>
534
+ </documentation>
535
+ </annotation>
536
+ </attribute>
537
+
538
+ </extension>
539
+ </simpleContent>
540
+ </complexType>
541
+
542
+
543
+ <!-- Hash -->
544
+
545
+ <complexType name="HashFinalizedData">
546
+ <annotation>
547
+ <documentation>
548
+ <summary>
549
+ The resulting hash digest.
550
+ </summary>
551
+
552
+ <remarks>
553
+ The Microsoft Health Service will compute the hash over
554
+ the same data that was used to compute this digest and
555
+ compare them.
556
+ </remarks>
557
+ </documentation>
558
+ </annotation>
559
+ <simpleContent>
560
+ <extension base="wc-types:string512">
561
+ <attribute name="algName"
562
+ type="wc-types:stringnz" use="required">
563
+ <annotation>
564
+ <documentation>
565
+ <summary>
566
+ This is the Base64 encoded hash digest.
567
+ </summary>
568
+
569
+ <remarks>
570
+ The size of the digest varies by the choice
571
+ of algorithm. The Microsoft Health Service will
572
+ compute the hash over the same data that was
573
+ used to compute this digest and compare them.
574
+ If the digests are not equal, the request will
575
+ fail.
576
+ </remarks>
577
+ </documentation>
578
+ </annotation>
579
+ </attribute>
580
+
581
+ </extension>
582
+ </simpleContent>
583
+ </complexType>
584
+
585
+ <complexType name="HashFinalized">
586
+ <annotation>
587
+ <documentation>
588
+ <summary>
589
+ Digest from a hash operation that is used to provide data
590
+ integrity verification for requests.
591
+ </summary>
592
+
593
+ <remarks>
594
+ This is the result of a hash operation, which is used
595
+ to ensure the hashed data has not changed. The Microsoft
596
+ Health Service will compute the corresponding hash over
597
+ the same data and compare the resulting digests. If the
598
+ digests are not equal, the request will fail.
599
+ </remarks>
600
+ </documentation>
601
+ </annotation>
602
+ <sequence>
603
+ <element name="hash-data" type="wc-types:HashFinalizedData">
604
+ <annotation>
605
+ <documentation>
606
+ <summary>
607
+ The resulting hash digest.
608
+ </summary>
609
+
610
+ <remarks>
611
+ The Microsoft Health Service will compute the hash
612
+ over the same data that was used to compute this
613
+ digest and compare them. If the digests are not
614
+ equal, the request will fail.
615
+ </remarks>
616
+ </documentation>
617
+ </annotation>
618
+ </element>
619
+
620
+ </sequence>
621
+ </complexType>
622
+
623
+ <!-- HMAC -->
624
+
625
+ <complexType name="HMACAlgorithmData">
626
+ <annotation>
627
+ <documentation>
628
+ <summary>
629
+ The shared secret used in HMAC operations.
630
+ </summary>
631
+
632
+ <remarks>
633
+ The shared secret is used in HMAC operations to authenticate
634
+ all requests which includes an authenticated session token.
635
+ In order for a client to establish an authenticated session
636
+ with the Microsoft Health Service, it must provide a shared
637
+ secret. The client uses the secret as the secret key when
638
+ HMAC'ing over the header section of the request. The
639
+ resulting HMAC digest forms the content of the
640
+ request auth section. The same algorithm specified in
641
+ the initial token request must be used for all subsequent
642
+ HMAC operations applied when using the same authenticated
643
+ session token.
644
+ </remarks>
645
+ </documentation>
646
+ </annotation>
647
+ <simpleContent>
648
+ <!-- element value is KeyMaterial for HMAC -->
649
+ <extension base="wc-types:string512">
650
+ <attribute name="algName"
651
+ type="wc-types:stringnz" use="required">
652
+ <annotation>
653
+ <documentation>
654
+ <summary>
655
+ The base64 encoded shared secret key material
656
+ used for keying the HMAC operation.
657
+ </summary>
658
+
659
+ <remarks>
660
+ The shared secret key is recommended to be 256
661
+ bits, or 32 bytes, of random data.
662
+ </remarks>
663
+ </documentation>
664
+ </annotation>
665
+ </attribute>
666
+
667
+ </extension>
668
+ </simpleContent>
669
+ </complexType>
670
+
671
+ <complexType name="HMACAlgorithm">
672
+ <annotation>
673
+ <documentation>
674
+ <summary>
675
+ A description of an HMAC that is used to establish the
676
+ authentication and integrity checks for requests to the
677
+ Microsoft Health Service.
678
+ </summary>
679
+
680
+ <remarks>
681
+ This describes the shared secret that the is created on
682
+ the client side.
683
+ </remarks>
684
+ </documentation>
685
+ </annotation>
686
+ <sequence>
687
+ <element name="hmac-alg" type="wc-types:HMACAlgorithmData">
688
+ <annotation>
689
+ <documentation>
690
+ <summary>
691
+ The specification of the HMAC algorithm.
692
+ </summary>
693
+
694
+ <remarks>
695
+ The same algorithm must be used for all subsequent
696
+ HMAC operations applied when using the same
697
+ authenticated session token.
698
+ </remarks>
699
+ </documentation>
700
+ </annotation>
701
+ </element>
702
+
703
+
704
+ </sequence>
705
+ </complexType>
706
+
707
+ <complexType name="HMACFinalizedData">
708
+ <annotation>
709
+ <documentation>
710
+ <summary>
711
+ The resulting HMAC digest.
712
+ </summary>
713
+
714
+ <remarks>
715
+ The digest is computed by the Microsoft
716
+ Health Service and is then compared to this result.
717
+ </remarks>
718
+ </documentation>
719
+ </annotation>
720
+ <simpleContent>
721
+ <extension base="wc-types:string512">
722
+ <attribute name="algName"
723
+ type="wc-types:stringnz" use="required">
724
+ <annotation>
725
+ <documentation>
726
+ <summary>
727
+ Base64 encoded digest and the algorithm used
728
+ to compute the digest.
729
+ </summary>
730
+
731
+ <remarks>
732
+ The algorithm should match the agreed algorithm
733
+ that was established via HMACAlgorithm when the
734
+ authenticated session was created.
735
+ </remarks>
736
+ </documentation>
737
+ </annotation>
738
+ </attribute>
739
+
740
+ </extension>
741
+ </simpleContent>
742
+ </complexType>
743
+
744
+ <complexType name="HMACFinalized">
745
+ <annotation>
746
+ <documentation>
747
+ <summary>
748
+ Digest from a HMAC operation that is used to provide both
749
+ authentication and integrity verification for requests.
750
+ </summary>
751
+
752
+ <remarks>
753
+ This is the result of an HMAC operation, as opposed to
754
+ HMAC algorithm which specifies the properties of the
755
+ operation. The HMAC key is the shared secret provided in
756
+ the original application request to create an authenticated
757
+ session token.
758
+ </remarks>
759
+ </documentation>
760
+ </annotation>
761
+ <sequence>
762
+ <element name="hmac-data" type="wc-types:HMACFinalizedData">
763
+ <annotation>
764
+ <documentation>
765
+ <summary>
766
+ The resulting HMAC digest.
767
+ </summary>
768
+
769
+ <remarks>
770
+ The digest is computed again in the Microsoft
771
+ Health Service and then is compared to this result.
772
+ </remarks>
773
+ </documentation>
774
+ </annotation>
775
+ </element>
776
+
777
+
778
+ </sequence>
779
+ </complexType>
780
+
781
+ <!-- Credentials -->
782
+
783
+ <complexType name="CardSpaceCred">
784
+ <annotation>
785
+ <documentation>
786
+ <summary>
787
+ A SAML-based credential provided by the CardSpace service.
788
+ </summary>
789
+
790
+ <remarks>
791
+ CardSpace produces a SAML token that is encrypted using
792
+ the SSL public key used when associating a CardSpace
793
+ credential with a primary credential.
794
+ </remarks>
795
+ </documentation>
796
+ </annotation>
797
+ <sequence>
798
+ <any minOccurs="1" maxOccurs="unbounded"
799
+ namespace="##any" processContents="skip">
800
+ <annotation>
801
+ <documentation>
802
+ <summary>
803
+ The SAML token.
804
+ </summary>
805
+
806
+ <remarks>
807
+ The SAML token consists of raw XML that is embedded
808
+ in the request.
809
+ </remarks>
810
+ </documentation>
811
+ </annotation>
812
+ </any>
813
+ </sequence>
814
+ </complexType>
815
+
816
+ <complexType name="AppInfo">
817
+ <annotation>
818
+ <documentation>
819
+ <summary>
820
+ The applications to create credential tokens for.
821
+ </summary>
822
+
823
+ <remarks>
824
+ Each application will be issued a unique token that has a
825
+ limited lifetime.
826
+ </remarks>
827
+ </documentation>
828
+ </annotation>
829
+ <simpleContent>
830
+ <extension base="wc-types:guid">
831
+ <attribute name="is-multi-record-app"
832
+ type="boolean" use="optional">
833
+ <annotation>
834
+ <documentation>
835
+ <summary>
836
+ The application to create credential tokens for.
837
+ </summary>
838
+
839
+ <remarks>
840
+ If the application is a multi-record-application,
841
+ then it must specify the attribute here. Upon
842
+ successful authentication, a unique token will
843
+ be issued for use with subsequent calls to the
844
+ Microsoft Health Service.
845
+ </remarks>
846
+ </documentation>
847
+ </annotation>
848
+ </attribute>
849
+
850
+ </extension>
851
+ </simpleContent>
852
+ </complexType>
853
+
854
+ <complexType name="AppServerCredInfo">
855
+ <annotation>
856
+ <documentation>
857
+ <summary>
858
+ Application server credential information.
859
+ </summary>
860
+
861
+ <remarks>
862
+ Information provided by the requesting application that will
863
+ be used by the Microsoft Health Service to determine if an
864
+ authenticated session token will be issued to the caller.
865
+ </remarks>
866
+ </documentation>
867
+ </annotation>
868
+ <sequence>
869
+ <element name="app-id"
870
+ type="wc-types:guid" >
871
+ <annotation>
872
+ <documentation>
873
+ <summary>
874
+ The id of the application that is providing the
875
+ credential.
876
+ </summary>
877
+
878
+ <remarks>
879
+ The public key that is used to verify the signature
880
+ is associated to this application id.
881
+ </remarks>
882
+ </documentation>
883
+ </annotation>
884
+ </element>
885
+
886
+ <element name="shared-secret"
887
+ type="wc-types:HMACAlgorithm">
888
+ <annotation>
889
+ <documentation>
890
+ <summary>
891
+ This is the shared secret that is used for subsequent
892
+ HMACed request envelopes when the application
893
+ makes a request to the Microsoft Health Service.
894
+ </summary>
895
+
896
+ <remarks>
897
+ This section describes the algorithm that will be
898
+ used on the client side during subequenct requests.
899
+ </remarks>
900
+ </documentation>
901
+ </annotation>
902
+ </element>
903
+
904
+ </sequence>
905
+ </complexType>
906
+
907
+ <complexType name="AppServerCred">
908
+ <annotation>
909
+ <documentation>
910
+ <summary>
911
+ Application server credential that is used when an application
912
+ is identifying itself for subsequent calls to the Microsoft
913
+ Health Service.
914
+ </summary>
915
+
916
+ <remarks>
917
+ This credential type requires that the content element
918
+ be signed using the application's private key.
919
+ </remarks>
920
+ </documentation>
921
+ </annotation>
922
+ <sequence>
923
+ <!-- signature computed over cred parameters using app key -->
924
+ <element name="sig" type="wc-types:Sig" >
925
+ <annotation>
926
+ <documentation>
927
+ <summary>
928
+ The signature of the content section.
929
+ </summary>
930
+
931
+ <remarks>
932
+ This signature is generated using the application's
933
+ private key. The corresponding public key is
934
+ associated with the application id by the Microsoft
935
+ Health Service.
936
+ </remarks>
937
+ </documentation>
938
+ </annotation>
939
+ </element>
940
+
941
+ <!-- app server cred parameters -->
942
+ <element name="content"
943
+ type="wc-types:AppServerCredInfo" >
944
+ <annotation>
945
+ <documentation>
946
+ <summary>
947
+ The application's credential information.
948
+ </summary>
949
+
950
+ <remarks>
951
+ This section is signed by the application's private
952
+ key.
953
+ </remarks>
954
+ </documentation>
955
+ </annotation>
956
+ </element>
957
+
958
+ </sequence>
959
+ </complexType>
960
+
961
+ <!-- UTILITY TYPES -->
962
+
963
+ <simpleType name="Gender">
964
+ <annotation>
965
+ <documentation>
966
+ <summary>
967
+
968
+ </summary>
969
+
970
+ <remarks>
971
+
972
+ </remarks>
973
+ </documentation>
974
+ </annotation>
975
+ <restriction base="string">
976
+ <enumeration value="m">
977
+ <annotation>
978
+ <documentation>
979
+ <summary>
980
+
981
+ </summary>
982
+ </documentation>
983
+ </annotation>
984
+ </enumeration>
985
+ <enumeration value="f">
986
+ <annotation>
987
+ <documentation>
988
+ <summary>
989
+
990
+ </summary>
991
+ </documentation>
992
+ </annotation>
993
+ </enumeration>
994
+ </restriction>
995
+ </simpleType>
996
+
997
+ <simpleType name="Url">
998
+ <annotation>
999
+ <documentation>
1000
+ <summary>
1001
+
1002
+ </summary>
1003
+
1004
+ <remarks>
1005
+
1006
+ </remarks>
1007
+ </documentation>
1008
+ </annotation>
1009
+ <!-- could do this better -->
1010
+ <restriction base="string">
1011
+ <minLength value="1" />
1012
+ <maxLength value="1024" />
1013
+ </restriction>
1014
+ </simpleType>
1015
+
1016
+ <simpleType name="positiveLong">
1017
+ <annotation>
1018
+ <documentation>
1019
+ <summary>
1020
+ Represents a positive 64 bit integer.
1021
+ </summary>
1022
+ </documentation>
1023
+ </annotation>
1024
+ <restriction base="long">
1025
+ <minInclusive value="0" />
1026
+ </restriction>
1027
+ </simpleType>
1028
+
1029
+ <simpleType name="guid">
1030
+ <annotation>
1031
+ <documentation>
1032
+ <summary>
1033
+
1034
+ </summary>
1035
+
1036
+ <remarks>
1037
+
1038
+ </remarks>
1039
+ </documentation>
1040
+ </annotation>
1041
+ <restriction base="string">
1042
+ <pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"/>
1043
+ </restriction>
1044
+ </simpleType>
1045
+
1046
+ <simpleType name="puid">
1047
+ <restriction base="string">
1048
+ <pattern value="[a-fA-F0-9]{16}"/>
1049
+ </restriction>
1050
+ </simpleType>
1051
+
1052
+ <complexType name="DateRange">
1053
+ <annotation>
1054
+ <documentation>
1055
+ <summary>
1056
+
1057
+ </summary>
1058
+
1059
+ <remarks>
1060
+
1061
+ </remarks>
1062
+ </documentation>
1063
+ </annotation>
1064
+ <sequence>
1065
+ <element name="date-min" type="dateTime"
1066
+ minOccurs="0" maxOccurs="1" >
1067
+ <annotation>
1068
+ <documentation>
1069
+ <summary>
1070
+
1071
+ </summary>
1072
+
1073
+ <remarks>
1074
+
1075
+ </remarks>
1076
+ </documentation>
1077
+ </annotation>
1078
+ </element>
1079
+
1080
+
1081
+ <element name="date-max" type="dateTime"
1082
+ minOccurs="0" maxOccurs="1" >
1083
+ <annotation>
1084
+ <documentation>
1085
+ <summary>
1086
+
1087
+ </summary>
1088
+
1089
+ <remarks>
1090
+
1091
+ </remarks>
1092
+ </documentation>
1093
+ </annotation>
1094
+ </element>
1095
+
1096
+
1097
+ </sequence>
1098
+ </complexType>
1099
+
1100
+ <simpleType name="Permission">
1101
+ <annotation>
1102
+ <documentation>
1103
+ <summary>
1104
+
1105
+ </summary>
1106
+
1107
+ <remarks>
1108
+
1109
+ </remarks>
1110
+ </documentation>
1111
+ </annotation>
1112
+ <restriction base="string">
1113
+ <enumeration value="All">
1114
+ <annotation>
1115
+ <documentation>
1116
+ <summary>
1117
+
1118
+ </summary>
1119
+ </documentation>
1120
+ </annotation>
1121
+ </enumeration>
1122
+ <enumeration value="Read">
1123
+ <annotation>
1124
+ <documentation>
1125
+ <summary>
1126
+
1127
+ </summary>
1128
+ </documentation>
1129
+ </annotation>
1130
+ </enumeration>
1131
+ <enumeration value="Update">
1132
+ <annotation>
1133
+ <documentation>
1134
+ <summary>
1135
+
1136
+ </summary>
1137
+ </documentation>
1138
+ </annotation>
1139
+ </enumeration>
1140
+ <enumeration value="Create">
1141
+ <annotation>
1142
+ <documentation>
1143
+ <summary>
1144
+
1145
+ </summary>
1146
+ </documentation>
1147
+ </annotation>
1148
+ </enumeration>
1149
+ <enumeration value="Delete">
1150
+ <annotation>
1151
+ <documentation>
1152
+ <summary>
1153
+
1154
+ </summary>
1155
+ </documentation>
1156
+ </annotation>
1157
+ </enumeration>
1158
+ </restriction>
1159
+ </simpleType>
1160
+
1161
+ <simpleType name="NameMatchType">
1162
+ <annotation>
1163
+ <documentation>
1164
+ <summary>
1165
+
1166
+ </summary>
1167
+
1168
+ <remarks>
1169
+
1170
+ </remarks>
1171
+ </documentation>
1172
+ </annotation>
1173
+ <restriction base="string">
1174
+ <enumeration value="exact">
1175
+ <annotation>
1176
+ <documentation>
1177
+ <summary>
1178
+
1179
+ </summary>
1180
+ </documentation>
1181
+ </annotation>
1182
+ </enumeration>
1183
+ <enumeration value="prefix">
1184
+ <annotation>
1185
+ <documentation>
1186
+ <summary>
1187
+
1188
+ </summary>
1189
+ </documentation>
1190
+ </annotation>
1191
+ </enumeration>
1192
+ <enumeration value="contains">
1193
+ <annotation>
1194
+ <documentation>
1195
+ <summary>
1196
+
1197
+ </summary>
1198
+ </documentation>
1199
+ </annotation>
1200
+ </enumeration>
1201
+ </restriction>
1202
+ </simpleType>
1203
+
1204
+ <!-- for base64 encoding of 160-bit SHA1 hash
1205
+ 160 / 6 = 26.6667. Rounded up to higher multiple of 4 is 28. -->
1206
+ <simpleType name="base64Sha1">
1207
+ <annotation>
1208
+ <documentation>
1209
+ <summary>
1210
+
1211
+ </summary>
1212
+
1213
+ <remarks>
1214
+
1215
+ </remarks>
1216
+ </documentation>
1217
+ </annotation>
1218
+ <restriction base="string">
1219
+ <minLength value="28" />
1220
+ <maxLength value="28" />
1221
+ </restriction>
1222
+ </simpleType>
1223
+
1224
+ <simpleType name="string1024">
1225
+ <annotation>
1226
+ <documentation>
1227
+ <summary>
1228
+
1229
+ </summary>
1230
+
1231
+ <remarks>
1232
+
1233
+ </remarks>
1234
+ </documentation>
1235
+ </annotation>
1236
+ <restriction base="string">
1237
+ <minLength value="1" />
1238
+ <maxLength value="1024" />
1239
+ </restriction>
1240
+ </simpleType>
1241
+
1242
+ <simpleType name="string512">
1243
+ <annotation>
1244
+ <documentation>
1245
+ <summary>
1246
+
1247
+ </summary>
1248
+
1249
+ <remarks>
1250
+
1251
+ </remarks>
1252
+ </documentation>
1253
+ </annotation>
1254
+ <restriction base="string">
1255
+ <minLength value="1" />
1256
+ <maxLength value="512" />
1257
+ </restriction>
1258
+ </simpleType>
1259
+
1260
+ <simpleType name="string255">
1261
+ <annotation>
1262
+ <documentation>
1263
+ <summary>
1264
+
1265
+ </summary>
1266
+
1267
+ <remarks>
1268
+
1269
+ </remarks>
1270
+ </documentation>
1271
+ </annotation>
1272
+ <restriction base="string">
1273
+ <minLength value="1" />
1274
+ <maxLength value="255" />
1275
+ </restriction>
1276
+ </simpleType>
1277
+
1278
+ <simpleType name="string128">
1279
+ <annotation>
1280
+ <documentation>
1281
+ <summary>
1282
+
1283
+ </summary>
1284
+
1285
+ <remarks>
1286
+
1287
+ </remarks>
1288
+ </documentation>
1289
+ </annotation>
1290
+ <restriction base="string">
1291
+ <minLength value="1" />
1292
+ <maxLength value="128" />
1293
+ </restriction>
1294
+ </simpleType>
1295
+
1296
+ <simpleType name="string64">
1297
+ <annotation>
1298
+ <documentation>
1299
+ <summary>
1300
+
1301
+ </summary>
1302
+
1303
+ <remarks>
1304
+
1305
+ </remarks>
1306
+ </documentation>
1307
+ </annotation>
1308
+ <restriction base="string">
1309
+ <minLength value="1" />
1310
+ <maxLength value="64" />
1311
+ </restriction>
1312
+ </simpleType>
1313
+
1314
+ <simpleType name="string32">
1315
+ <annotation>
1316
+ <documentation>
1317
+ <summary>
1318
+
1319
+ </summary>
1320
+
1321
+ <remarks>
1322
+
1323
+ </remarks>
1324
+ </documentation>
1325
+ </annotation>
1326
+ <restriction base="string">
1327
+ <minLength value="1" />
1328
+ <maxLength value="32" />
1329
+ </restriction>
1330
+ </simpleType>
1331
+
1332
+ <simpleType name="string16">
1333
+ <annotation>
1334
+ <documentation>
1335
+ <summary>
1336
+
1337
+ </summary>
1338
+
1339
+ <remarks>
1340
+
1341
+ </remarks>
1342
+ </documentation>
1343
+ </annotation>
1344
+ <restriction base="string">
1345
+ <minLength value="1" />
1346
+ <maxLength value="16" />
1347
+ </restriction>
1348
+ </simpleType>
1349
+
1350
+ <simpleType name="stringz1024">
1351
+ <annotation>
1352
+ <documentation>
1353
+ <summary>
1354
+
1355
+ </summary>
1356
+
1357
+ <remarks>
1358
+
1359
+ </remarks>
1360
+ </documentation>
1361
+ </annotation>
1362
+ <restriction base="string">
1363
+ <minLength value="0" />
1364
+ <maxLength value="1024" />
1365
+ </restriction>
1366
+ </simpleType>
1367
+
1368
+ <simpleType name="stringz512">
1369
+ <annotation>
1370
+ <documentation>
1371
+ <summary>
1372
+
1373
+ </summary>
1374
+
1375
+ <remarks>
1376
+
1377
+ </remarks>
1378
+ </documentation>
1379
+ </annotation>
1380
+ <restriction base="string">
1381
+ <minLength value="0" />
1382
+ <maxLength value="512" />
1383
+ </restriction>
1384
+ </simpleType>
1385
+
1386
+ <simpleType name="stringz255">
1387
+ <annotation>
1388
+ <documentation>
1389
+ <summary>
1390
+
1391
+ </summary>
1392
+
1393
+ <remarks>
1394
+
1395
+ </remarks>
1396
+ </documentation>
1397
+ </annotation>
1398
+ <restriction base="string">
1399
+ <minLength value="0" />
1400
+ <maxLength value="255" />
1401
+ </restriction>
1402
+ </simpleType>
1403
+
1404
+ <simpleType name="stringz128">
1405
+ <annotation>
1406
+ <documentation>
1407
+ <summary>
1408
+
1409
+ </summary>
1410
+
1411
+ <remarks>
1412
+
1413
+ </remarks>
1414
+ </documentation>
1415
+ </annotation>
1416
+ <restriction base="string">
1417
+ <minLength value="0" />
1418
+ <maxLength value="128" />
1419
+ </restriction>
1420
+ </simpleType>
1421
+
1422
+ <simpleType name="stringz64">
1423
+ <annotation>
1424
+ <documentation>
1425
+ <summary>
1426
+
1427
+ </summary>
1428
+
1429
+ <remarks>
1430
+
1431
+ </remarks>
1432
+ </documentation>
1433
+ </annotation>
1434
+ <restriction base="string">
1435
+ <minLength value="0" />
1436
+ <maxLength value="64" />
1437
+ </restriction>
1438
+ </simpleType>
1439
+
1440
+ <simpleType name="stringz32">
1441
+ <annotation>
1442
+ <documentation>
1443
+ <summary>
1444
+
1445
+ </summary>
1446
+
1447
+ <remarks>
1448
+
1449
+ </remarks>
1450
+ </documentation>
1451
+ </annotation>
1452
+ <restriction base="string">
1453
+ <minLength value="0" />
1454
+ <maxLength value="32" />
1455
+ </restriction>
1456
+ </simpleType>
1457
+
1458
+ <simpleType name="stringz16">
1459
+ <annotation>
1460
+ <documentation>
1461
+ <summary>
1462
+
1463
+ </summary>
1464
+
1465
+ <remarks>
1466
+
1467
+ </remarks>
1468
+ </documentation>
1469
+ </annotation>
1470
+ <restriction base="string">
1471
+ <minLength value="0" />
1472
+ <maxLength value="16" />
1473
+ </restriction>
1474
+ </simpleType>
1475
+
1476
+ <!-- non-zero length string -->
1477
+ <simpleType name="stringnz">
1478
+ <annotation>
1479
+ <documentation>
1480
+ <summary>
1481
+
1482
+ </summary>
1483
+
1484
+ <remarks>
1485
+
1486
+ </remarks>
1487
+ </documentation>
1488
+ </annotation>
1489
+ <restriction base="string">
1490
+ <minLength value="1" />
1491
+ </restriction>
1492
+ </simpleType>
1493
+
1494
+ <simpleType name="char2">
1495
+ <annotation>
1496
+ <documentation>
1497
+ <summary>
1498
+
1499
+ </summary>
1500
+
1501
+ <remarks>
1502
+
1503
+ </remarks>
1504
+ </documentation>
1505
+ </annotation>
1506
+ <restriction base="string">
1507
+ <minLength value="2" />
1508
+ <maxLength value="2" />
1509
+ </restriction>
1510
+ </simpleType>
1511
+
1512
+ <!-- ethnicity (US Office of Management & Budget Directive 15) -->
1513
+
1514
+ <simpleType name="OmbEthnicity">
1515
+ <annotation>
1516
+ <documentation>
1517
+ <summary>
1518
+
1519
+ </summary>
1520
+
1521
+ <remarks>
1522
+
1523
+ </remarks>
1524
+ </documentation>
1525
+ </annotation>
1526
+ <restriction base="string">
1527
+ <enumeration value="American Indian or Alaska Native" />
1528
+ <enumeration value="Asian" />
1529
+ <enumeration value="Black or African American" />
1530
+ <enumeration value="Hispanic or Latino" />
1531
+ <enumeration value="Native Hawaiian or Other Pacific Islander" />
1532
+ <enumeration value="White" />
1533
+ </restriction>
1534
+ </simpleType>
1535
+
1536
+ <complexType name="Culture">
1537
+ <annotation>
1538
+ <documentation>
1539
+ <summary>
1540
+ Represents a specific culture by combining a language and
1541
+ country/region.
1542
+ </summary>
1543
+ </documentation>
1544
+ </annotation>
1545
+ <sequence>
1546
+
1547
+ <!-- optional culture info -->
1548
+ <element name="language" type="wc-types:iso639-1"
1549
+ minOccurs="0" maxOccurs="1" >
1550
+ <annotation>
1551
+ <documentation>
1552
+ <summary>
1553
+ The language of the culture.
1554
+ </summary>
1555
+ </documentation>
1556
+ </annotation>
1557
+ </element>
1558
+
1559
+ <element name="country" type="wc-types:iso3166"
1560
+ minOccurs="0" maxOccurs="1" >
1561
+ <annotation>
1562
+ <documentation>
1563
+ <summary>
1564
+ The country or region of the culture.
1565
+ </summary>
1566
+ </documentation>
1567
+ </annotation>
1568
+ </element>
1569
+ </sequence>
1570
+ </complexType>
1571
+
1572
+ <!-- languages -->
1573
+
1574
+ <simpleType name="iso639-1">
1575
+ <annotation>
1576
+ <documentation>
1577
+ <summary>
1578
+
1579
+ </summary>
1580
+
1581
+ <remarks>
1582
+
1583
+ </remarks>
1584
+ </documentation>
1585
+ </annotation>
1586
+ <restriction base="string">
1587
+ <enumeration value="aa" />
1588
+ <enumeration value="ab" />
1589
+ <enumeration value="af" />
1590
+ <enumeration value="am" />
1591
+ <enumeration value="ar" />
1592
+ <enumeration value="as" />
1593
+ <enumeration value="ay" />
1594
+ <enumeration value="az" />
1595
+ <enumeration value="ba" />
1596
+ <enumeration value="be" />
1597
+ <enumeration value="bg" />
1598
+ <enumeration value="bh" />
1599
+ <enumeration value="bi" />
1600
+ <enumeration value="bn" />
1601
+ <enumeration value="bo" />
1602
+ <enumeration value="br" />
1603
+ <enumeration value="ca" />
1604
+ <enumeration value="co" />
1605
+ <enumeration value="cs" />
1606
+ <enumeration value="cy" />
1607
+ <enumeration value="da" />
1608
+ <enumeration value="de" />
1609
+ <enumeration value="dz" />
1610
+ <enumeration value="el" />
1611
+ <enumeration value="en" />
1612
+ <enumeration value="eo" />
1613
+ <enumeration value="es" />
1614
+ <enumeration value="et" />
1615
+ <enumeration value="eu" />
1616
+ <enumeration value="fa" />
1617
+ <enumeration value="fi" />
1618
+ <enumeration value="fj" />
1619
+ <enumeration value="fo" />
1620
+ <enumeration value="fr" />
1621
+ <enumeration value="fy" />
1622
+ <enumeration value="ga" />
1623
+ <enumeration value="gd" />
1624
+ <enumeration value="gl" />
1625
+ <enumeration value="gn" />
1626
+ <enumeration value="gu" />
1627
+ <enumeration value="ha" />
1628
+ <enumeration value="hi" />
1629
+ <enumeration value="hr" />
1630
+ <enumeration value="hu" />
1631
+ <enumeration value="hy" />
1632
+ <enumeration value="ia" />
1633
+ <enumeration value="ie" />
1634
+ <enumeration value="ik" />
1635
+ <enumeration value="in" />
1636
+ <enumeration value="is" />
1637
+ <enumeration value="it" />
1638
+ <enumeration value="iw" />
1639
+ <enumeration value="ja" />
1640
+ <enumeration value="ji" />
1641
+ <enumeration value="jw" />
1642
+ <enumeration value="ka" />
1643
+ <enumeration value="kk" />
1644
+ <enumeration value="kl" />
1645
+ <enumeration value="km" />
1646
+ <enumeration value="kn" />
1647
+ <enumeration value="ko" />
1648
+ <enumeration value="ks" />
1649
+ <enumeration value="ku" />
1650
+ <enumeration value="ky" />
1651
+ <enumeration value="la" />
1652
+ <enumeration value="ln" />
1653
+ <enumeration value="lo" />
1654
+ <enumeration value="lt" />
1655
+ <enumeration value="lv" />
1656
+ <enumeration value="mg" />
1657
+ <enumeration value="mi" />
1658
+ <enumeration value="mk" />
1659
+ <enumeration value="ml" />
1660
+ <enumeration value="mn" />
1661
+ <enumeration value="mo" />
1662
+ <enumeration value="mr" />
1663
+ <enumeration value="ms" />
1664
+ <enumeration value="mt" />
1665
+ <enumeration value="my" />
1666
+ <enumeration value="na" />
1667
+ <enumeration value="ne" />
1668
+ <enumeration value="nl" />
1669
+ <enumeration value="no" />
1670
+ <enumeration value="oc" />
1671
+ <enumeration value="om" />
1672
+ <enumeration value="or" />
1673
+ <enumeration value="pa" />
1674
+ <enumeration value="pl" />
1675
+ <enumeration value="ps" />
1676
+ <enumeration value="pt" />
1677
+ <enumeration value="qu" />
1678
+ <enumeration value="rm" />
1679
+ <enumeration value="rn" />
1680
+ <enumeration value="ro" />
1681
+ <enumeration value="ru" />
1682
+ <enumeration value="rw" />
1683
+ <enumeration value="sa" />
1684
+ <enumeration value="sd" />
1685
+ <enumeration value="sg" />
1686
+ <enumeration value="sh" />
1687
+ <enumeration value="si" />
1688
+ <enumeration value="sk" />
1689
+ <enumeration value="sl" />
1690
+ <enumeration value="sm" />
1691
+ <enumeration value="sn" />
1692
+ <enumeration value="so" />
1693
+ <enumeration value="sq" />
1694
+ <enumeration value="sr" />
1695
+ <enumeration value="ss" />
1696
+ <enumeration value="st" />
1697
+ <enumeration value="su" />
1698
+ <enumeration value="sv" />
1699
+ <enumeration value="sw" />
1700
+ <enumeration value="ta" />
1701
+ <enumeration value="te" />
1702
+ <enumeration value="tg" />
1703
+ <enumeration value="th" />
1704
+ <enumeration value="ti" />
1705
+ <enumeration value="tk" />
1706
+ <enumeration value="tl" />
1707
+ <enumeration value="tn" />
1708
+ <enumeration value="to" />
1709
+ <enumeration value="tr" />
1710
+ <enumeration value="ts" />
1711
+ <enumeration value="tt" />
1712
+ <enumeration value="tw" />
1713
+ <enumeration value="uk" />
1714
+ <enumeration value="ur" />
1715
+ <enumeration value="uz" />
1716
+ <enumeration value="vi" />
1717
+ <enumeration value="vo" />
1718
+ <enumeration value="wo" />
1719
+ <enumeration value="xh" />
1720
+ <enumeration value="yo" />
1721
+ <enumeration value="zh" />
1722
+ <enumeration value="zu" />
1723
+ </restriction>
1724
+ </simpleType>
1725
+
1726
+ <!-- countries -->
1727
+
1728
+ <simpleType name="iso3166">
1729
+ <annotation>
1730
+ <documentation>
1731
+ <summary>
1732
+
1733
+ </summary>
1734
+
1735
+ <remarks>
1736
+
1737
+ </remarks>
1738
+ </documentation>
1739
+ </annotation>
1740
+ <restriction base="string">
1741
+ <enumeration value="AF" />
1742
+ <enumeration value="AX" />
1743
+ <enumeration value="AL" />
1744
+ <enumeration value="DZ" />
1745
+ <enumeration value="AS" />
1746
+ <enumeration value="AD" />
1747
+ <enumeration value="AO" />
1748
+ <enumeration value="AI" />
1749
+ <enumeration value="AQ" />
1750
+ <enumeration value="AG" />
1751
+ <enumeration value="AR" />
1752
+ <enumeration value="AM" />
1753
+ <enumeration value="AW" />
1754
+ <enumeration value="AU" />
1755
+ <enumeration value="AT" />
1756
+ <enumeration value="AZ" />
1757
+ <enumeration value="BS" />
1758
+ <enumeration value="BH" />
1759
+ <enumeration value="BD" />
1760
+ <enumeration value="BB" />
1761
+ <enumeration value="BY" />
1762
+ <enumeration value="BE" />
1763
+ <enumeration value="BZ" />
1764
+ <enumeration value="BJ" />
1765
+ <enumeration value="BM" />
1766
+ <enumeration value="BT" />
1767
+ <enumeration value="BO" />
1768
+ <enumeration value="BA" />
1769
+ <enumeration value="BW" />
1770
+ <enumeration value="BV" />
1771
+ <enumeration value="BR" />
1772
+ <enumeration value="IO" />
1773
+ <enumeration value="BN" />
1774
+ <enumeration value="BG" />
1775
+ <enumeration value="BF" />
1776
+ <enumeration value="BI" />
1777
+ <enumeration value="KH" />
1778
+ <enumeration value="CM" />
1779
+ <enumeration value="CA" />
1780
+ <enumeration value="CV" />
1781
+ <enumeration value="KY" />
1782
+ <enumeration value="CF" />
1783
+ <enumeration value="TD" />
1784
+ <enumeration value="CL" />
1785
+ <enumeration value="CN" />
1786
+ <enumeration value="CX" />
1787
+ <enumeration value="CC" />
1788
+ <enumeration value="CO" />
1789
+ <enumeration value="KM" />
1790
+ <enumeration value="CG" />
1791
+ <enumeration value="CD" />
1792
+ <enumeration value="CK" />
1793
+ <enumeration value="CR" />
1794
+ <enumeration value="CI" />
1795
+ <enumeration value="HR" />
1796
+ <enumeration value="CU" />
1797
+ <enumeration value="CY" />
1798
+ <enumeration value="CZ" />
1799
+ <enumeration value="DK" />
1800
+ <enumeration value="DJ" />
1801
+ <enumeration value="DM" />
1802
+ <enumeration value="DO" />
1803
+ <enumeration value="EC" />
1804
+ <enumeration value="EG" />
1805
+ <enumeration value="SV" />
1806
+ <enumeration value="GQ" />
1807
+ <enumeration value="ER" />
1808
+ <enumeration value="EE" />
1809
+ <enumeration value="ET" />
1810
+ <enumeration value="FK" />
1811
+ <enumeration value="FO" />
1812
+ <enumeration value="FJ" />
1813
+ <enumeration value="FI" />
1814
+ <enumeration value="FR" />
1815
+ <enumeration value="GF" />
1816
+ <enumeration value="PF" />
1817
+ <enumeration value="TF" />
1818
+ <enumeration value="GA" />
1819
+ <enumeration value="GM" />
1820
+ <enumeration value="GE" />
1821
+ <enumeration value="DE" />
1822
+ <enumeration value="GH" />
1823
+ <enumeration value="GI" />
1824
+ <enumeration value="GR" />
1825
+ <enumeration value="GL" />
1826
+ <enumeration value="GD" />
1827
+ <enumeration value="GP" />
1828
+ <enumeration value="GU" />
1829
+ <enumeration value="GT" />
1830
+ <enumeration value="GN" />
1831
+ <enumeration value="GW" />
1832
+ <enumeration value="GY" />
1833
+ <enumeration value="HT" />
1834
+ <enumeration value="HM" />
1835
+ <enumeration value="VA" />
1836
+ <enumeration value="HN" />
1837
+ <enumeration value="HK" />
1838
+ <enumeration value="HU" />
1839
+ <enumeration value="IS" />
1840
+ <enumeration value="IN" />
1841
+ <enumeration value="ID" />
1842
+ <enumeration value="IR" />
1843
+ <enumeration value="IQ" />
1844
+ <enumeration value="IE" />
1845
+ <enumeration value="IL" />
1846
+ <enumeration value="IT" />
1847
+ <enumeration value="JM" />
1848
+ <enumeration value="JP" />
1849
+ <enumeration value="JO" />
1850
+ <enumeration value="KZ" />
1851
+ <enumeration value="KE" />
1852
+ <enumeration value="KI" />
1853
+ <enumeration value="KP" />
1854
+ <enumeration value="KR" />
1855
+ <enumeration value="KW" />
1856
+ <enumeration value="KG" />
1857
+ <enumeration value="LA" />
1858
+ <enumeration value="LV" />
1859
+ <enumeration value="LB" />
1860
+ <enumeration value="LS" />
1861
+ <enumeration value="LR" />
1862
+ <enumeration value="LY" />
1863
+ <enumeration value="LI" />
1864
+ <enumeration value="LT" />
1865
+ <enumeration value="LU" />
1866
+ <enumeration value="MO" />
1867
+ <enumeration value="MK" />
1868
+ <enumeration value="MG" />
1869
+ <enumeration value="MW" />
1870
+ <enumeration value="MY" />
1871
+ <enumeration value="MV" />
1872
+ <enumeration value="ML" />
1873
+ <enumeration value="MT" />
1874
+ <enumeration value="MH" />
1875
+ <enumeration value="MQ" />
1876
+ <enumeration value="MR" />
1877
+ <enumeration value="MU" />
1878
+ <enumeration value="YT" />
1879
+ <enumeration value="MX" />
1880
+ <enumeration value="FM" />
1881
+ <enumeration value="MD" />
1882
+ <enumeration value="MC" />
1883
+ <enumeration value="MN" />
1884
+ <enumeration value="MS" />
1885
+ <enumeration value="MA" />
1886
+ <enumeration value="MZ" />
1887
+ <enumeration value="MM" />
1888
+ <enumeration value="NA" />
1889
+ <enumeration value="NR" />
1890
+ <enumeration value="NP" />
1891
+ <enumeration value="NL" />
1892
+ <enumeration value="AN" />
1893
+ <enumeration value="NC" />
1894
+ <enumeration value="NZ" />
1895
+ <enumeration value="NI" />
1896
+ <enumeration value="NE" />
1897
+ <enumeration value="NG" />
1898
+ <enumeration value="NU" />
1899
+ <enumeration value="NF" />
1900
+ <enumeration value="MP" />
1901
+ <enumeration value="NO" />
1902
+ <enumeration value="OM" />
1903
+ <enumeration value="PK" />
1904
+ <enumeration value="PW" />
1905
+ <enumeration value="PS" />
1906
+ <enumeration value="PA" />
1907
+ <enumeration value="PG" />
1908
+ <enumeration value="PY" />
1909
+ <enumeration value="PE" />
1910
+ <enumeration value="PH" />
1911
+ <enumeration value="PN" />
1912
+ <enumeration value="PL" />
1913
+ <enumeration value="PT" />
1914
+ <enumeration value="PR" />
1915
+ <enumeration value="QA" />
1916
+ <enumeration value="RE" />
1917
+ <enumeration value="RO" />
1918
+ <enumeration value="RU" />
1919
+ <enumeration value="RW" />
1920
+ <enumeration value="SH" />
1921
+ <enumeration value="KN" />
1922
+ <enumeration value="LC" />
1923
+ <enumeration value="PM" />
1924
+ <enumeration value="VC" />
1925
+ <enumeration value="WS" />
1926
+ <enumeration value="SM" />
1927
+ <enumeration value="ST" />
1928
+ <enumeration value="SA" />
1929
+ <enumeration value="SN" />
1930
+ <enumeration value="CS" />
1931
+ <enumeration value="SC" />
1932
+ <enumeration value="SL" />
1933
+ <enumeration value="SG" />
1934
+ <enumeration value="SK" />
1935
+ <enumeration value="SI" />
1936
+ <enumeration value="SB" />
1937
+ <enumeration value="SO" />
1938
+ <enumeration value="ZA" />
1939
+ <enumeration value="GS" />
1940
+ <enumeration value="ES" />
1941
+ <enumeration value="LK" />
1942
+ <enumeration value="SD" />
1943
+ <enumeration value="SR" />
1944
+ <enumeration value="SJ" />
1945
+ <enumeration value="SZ" />
1946
+ <enumeration value="SE" />
1947
+ <enumeration value="CH" />
1948
+ <enumeration value="SY" />
1949
+ <enumeration value="TW" />
1950
+ <enumeration value="TJ" />
1951
+ <enumeration value="TZ" />
1952
+ <enumeration value="TH" />
1953
+ <enumeration value="TL" />
1954
+ <enumeration value="TG" />
1955
+ <enumeration value="TK" />
1956
+ <enumeration value="TO" />
1957
+ <enumeration value="TT" />
1958
+ <enumeration value="TN" />
1959
+ <enumeration value="TR" />
1960
+ <enumeration value="TM" />
1961
+ <enumeration value="TC" />
1962
+ <enumeration value="TV" />
1963
+ <enumeration value="UG" />
1964
+ <enumeration value="UA" />
1965
+ <enumeration value="AE" />
1966
+ <enumeration value="GB" />
1967
+ <enumeration value="US" />
1968
+ <enumeration value="UM" />
1969
+ <enumeration value="UY" />
1970
+ <enumeration value="UZ" />
1971
+ <enumeration value="VU" />
1972
+ <enumeration value="VE" />
1973
+ <enumeration value="VN" />
1974
+ <enumeration value="VG" />
1975
+ <enumeration value="VI" />
1976
+ <enumeration value="WF" />
1977
+ <enumeration value="EH" />
1978
+ <enumeration value="YE" />
1979
+ <enumeration value="ZM" />
1980
+ <enumeration value="ZW" />
1981
+ </restriction>
1982
+ </simpleType>
1983
+
1984
+ <!-- currencies -->
1985
+
1986
+ <simpleType name="iso4217">
1987
+ <annotation>
1988
+ <documentation>
1989
+ <summary>
1990
+
1991
+ </summary>
1992
+
1993
+ <remarks>
1994
+
1995
+ </remarks>
1996
+ </documentation>
1997
+ </annotation>
1998
+ <restriction base="string">
1999
+ <enumeration value="aed" />
2000
+ <enumeration value="afa" />
2001
+ <enumeration value="all" />
2002
+ <enumeration value="amd" />
2003
+ <enumeration value="ang" />
2004
+ <enumeration value="aoa" />
2005
+ <enumeration value="ars" />
2006
+ <enumeration value="aud" />
2007
+ <enumeration value="awg" />
2008
+ <enumeration value="azm" />
2009
+ <enumeration value="bam" />
2010
+ <enumeration value="bbd" />
2011
+ <enumeration value="bdt" />
2012
+ <enumeration value="bgn" />
2013
+ <enumeration value="bhd" />
2014
+ <enumeration value="bif" />
2015
+ <enumeration value="bmd" />
2016
+ <enumeration value="bnd" />
2017
+ <enumeration value="bob" />
2018
+ <enumeration value="brl" />
2019
+ <enumeration value="bsd" />
2020
+ <enumeration value="btn" />
2021
+ <enumeration value="bwp" />
2022
+ <enumeration value="byr" />
2023
+ <enumeration value="bzd" />
2024
+ <enumeration value="cad" />
2025
+ <enumeration value="cdf" />
2026
+ <enumeration value="chf" />
2027
+ <enumeration value="clp" />
2028
+ <enumeration value="cny" />
2029
+ <enumeration value="cop" />
2030
+ <enumeration value="crc" />
2031
+ <enumeration value="csd" />
2032
+ <enumeration value="cup" />
2033
+ <enumeration value="cve" />
2034
+ <enumeration value="cyp" />
2035
+ <enumeration value="czk" />
2036
+ <enumeration value="djf" />
2037
+ <enumeration value="dkk" />
2038
+ <enumeration value="dop" />
2039
+ <enumeration value="dzd" />
2040
+ <enumeration value="eek" />
2041
+ <enumeration value="egp" />
2042
+ <enumeration value="ern" />
2043
+ <enumeration value="etb" />
2044
+ <enumeration value="eur" />
2045
+ <enumeration value="fjd" />
2046
+ <enumeration value="fkp" />
2047
+ <enumeration value="gbp" />
2048
+ <enumeration value="gel" />
2049
+ <enumeration value="ggp" />
2050
+ <enumeration value="ghc" />
2051
+ <enumeration value="gip" />
2052
+ <enumeration value="gmd" />
2053
+ <enumeration value="gnf" />
2054
+ <enumeration value="gtq" />
2055
+ <enumeration value="gyd" />
2056
+ <enumeration value="hkd" />
2057
+ <enumeration value="hnl" />
2058
+ <enumeration value="hrk" />
2059
+ <enumeration value="htg" />
2060
+ <enumeration value="huf" />
2061
+ <enumeration value="idr" />
2062
+ <enumeration value="ils" />
2063
+ <enumeration value="imp" />
2064
+ <enumeration value="inr" />
2065
+ <enumeration value="iqd" />
2066
+ <enumeration value="irr" />
2067
+ <enumeration value="isk" />
2068
+ <enumeration value="jep" />
2069
+ <enumeration value="jmd" />
2070
+ <enumeration value="jod" />
2071
+ <enumeration value="jpy" />
2072
+ <enumeration value="kes" />
2073
+ <enumeration value="kgs" />
2074
+ <enumeration value="khr" />
2075
+ <enumeration value="kmf" />
2076
+ <enumeration value="kpw" />
2077
+ <enumeration value="krw" />
2078
+ <enumeration value="kwd" />
2079
+ <enumeration value="kyd" />
2080
+ <enumeration value="kzt" />
2081
+ <enumeration value="lak" />
2082
+ <enumeration value="lbp" />
2083
+ <enumeration value="lkr" />
2084
+ <enumeration value="lrd" />
2085
+ <enumeration value="lsl" />
2086
+ <enumeration value="ltl" />
2087
+ <enumeration value="lvl" />
2088
+ <enumeration value="lyd" />
2089
+ <enumeration value="mad" />
2090
+ <enumeration value="mdl" />
2091
+ <enumeration value="mga" />
2092
+ <enumeration value="mkd" />
2093
+ <enumeration value="mmk" />
2094
+ <enumeration value="mnt" />
2095
+ <enumeration value="mop" />
2096
+ <enumeration value="mro" />
2097
+ <enumeration value="mtl" />
2098
+ <enumeration value="mur" />
2099
+ <enumeration value="mvr" />
2100
+ <enumeration value="mwk" />
2101
+ <enumeration value="mxn" />
2102
+ <enumeration value="myr" />
2103
+ <enumeration value="mzm" />
2104
+ <enumeration value="nad" />
2105
+ <enumeration value="ngn" />
2106
+ <enumeration value="nio" />
2107
+ <enumeration value="nok" />
2108
+ <enumeration value="npr" />
2109
+ <enumeration value="nzd" />
2110
+ <enumeration value="omr" />
2111
+ <enumeration value="pab" />
2112
+ <enumeration value="pen" />
2113
+ <enumeration value="pgk" />
2114
+ <enumeration value="php" />
2115
+ <enumeration value="pkr" />
2116
+ <enumeration value="pln" />
2117
+ <enumeration value="pyg" />
2118
+ <enumeration value="qar" />
2119
+ <enumeration value="rol" />
2120
+ <enumeration value="rub" />
2121
+ <enumeration value="rwf" />
2122
+ <enumeration value="sar" />
2123
+ <enumeration value="sbd" />
2124
+ <enumeration value="scr" />
2125
+ <enumeration value="sdd" />
2126
+ <enumeration value="sek" />
2127
+ <enumeration value="sgd" />
2128
+ <enumeration value="shp" />
2129
+ <enumeration value="sit" />
2130
+ <enumeration value="skk" />
2131
+ <enumeration value="sll" />
2132
+ <enumeration value="sos" />
2133
+ <enumeration value="spl" />
2134
+ <enumeration value="srd" />
2135
+ <enumeration value="std" />
2136
+ <enumeration value="svc" />
2137
+ <enumeration value="syp" />
2138
+ <enumeration value="szl" />
2139
+ <enumeration value="thb" />
2140
+ <enumeration value="tjs" />
2141
+ <enumeration value="tmm" />
2142
+ <enumeration value="tnd" />
2143
+ <enumeration value="top" />
2144
+ <enumeration value="trl" />
2145
+ <enumeration value="try" />
2146
+ <enumeration value="ttd" />
2147
+ <enumeration value="tvd" />
2148
+ <enumeration value="twd" />
2149
+ <enumeration value="tzs" />
2150
+ <enumeration value="uah" />
2151
+ <enumeration value="ugx" />
2152
+ <enumeration value="usd" />
2153
+ <enumeration value="uyu" />
2154
+ <enumeration value="uzs" />
2155
+ <enumeration value="veb" />
2156
+ <enumeration value="vnd" />
2157
+ <enumeration value="vuv" />
2158
+ <enumeration value="wst" />
2159
+ <enumeration value="xaf" />
2160
+ <enumeration value="xag" />
2161
+ <enumeration value="xau" />
2162
+ <enumeration value="xcd" />
2163
+ <enumeration value="xdr" />
2164
+ <enumeration value="xof" />
2165
+ <enumeration value="xpd" />
2166
+ <enumeration value="xpf" />
2167
+ <enumeration value="xpt" />
2168
+ <enumeration value="yer" />
2169
+ <enumeration value="zar" />
2170
+ <enumeration value="zmk" />
2171
+ <enumeration value="zwd" />
2172
+ </restriction>
2173
+ </simpleType>
2174
+
2175
+ <!-- internal identifiers -->
2176
+
2177
+ <complexType name="Group">
2178
+ <annotation>
2179
+ <documentation>
2180
+ <summary>
2181
+ Defines a group to which on or more people may be a member.
2182
+ </summary>
2183
+
2184
+ <remarks>
2185
+ Groups are used for security purposes. They make
2186
+ it easier to grant access rights to a Microsoft
2187
+ Health Service method, authorize people to a
2188
+ record, or grant access rights to particular data
2189
+ in a health record. They are not meant to be used
2190
+ as distribution lists for email or other forms of
2191
+ communication.<br/>
2192
+ <br/>
2193
+ For example, all the doctors at a particular clinic
2194
+ may belong to a group to which an individual may
2195
+ grant permission to see medications in their health
2196
+ record.
2197
+ </remarks>
2198
+ </documentation>
2199
+ </annotation>
2200
+ <sequence>
2201
+ <element name="name" type="wc-types:string255">
2202
+ <annotation>
2203
+ <documentation>
2204
+ <summary>
2205
+ The name of the group.
2206
+ </summary>
2207
+ </documentation>
2208
+ </annotation>
2209
+ </element>
2210
+
2211
+
2212
+ <element name="id" type="wc-types:guid">
2213
+ <annotation>
2214
+ <documentation>
2215
+ <summary>
2216
+ A unique identifier for the group.
2217
+ </summary>
2218
+
2219
+ <remarks>
2220
+ Each group in the Microsoft Health Service
2221
+ is assigned a unique identifier which is a
2222
+ 128-bit integer (16 bytes) and is used to
2223
+ identify the group when calling methods on
2224
+ the service.
2225
+ </remarks>
2226
+ </documentation>
2227
+ </annotation>
2228
+ </element>
2229
+
2230
+
2231
+ <element name="contact-email" type="wc-types:EmailAddress">
2232
+ <annotation>
2233
+ <documentation>
2234
+ <summary>
2235
+ The email address at which to contact the "owner"
2236
+ of the group.
2237
+ </summary>
2238
+
2239
+ <remarks>
2240
+ The email address for the group should refer to
2241
+ a person or set of people that can manage the group
2242
+ membership. It should not be used to define a
2243
+ mailing list for the entire group.
2244
+ </remarks>
2245
+ </documentation>
2246
+ </annotation>
2247
+ </element>
2248
+
2249
+
2250
+ </sequence>
2251
+ </complexType>
2252
+
2253
+ <complexType name="Groups">
2254
+ <annotation>
2255
+ <documentation>
2256
+ <summary>
2257
+ Contains a list of the groups a person is a member of.
2258
+ </summary>
2259
+ </documentation>
2260
+ </annotation>
2261
+ <sequence>
2262
+ <element name="group" type="wc-types:Group"
2263
+ minOccurs="1" maxOccurs="unbounded">
2264
+ <annotation>
2265
+ <documentation>
2266
+ <summary>
2267
+ A group that a person is a member of.
2268
+ </summary>
2269
+
2270
+ <remarks>
2271
+ Groups are used for security purposes. They make
2272
+ it easier to grant access rights to a Microsoft
2273
+ Health Service method, authorize people to a
2274
+ record, or grant access rights to particular data
2275
+ in a health record. They are not meant to be used
2276
+ as distribution lists for email or other forms of
2277
+ communication.<br/>
2278
+ <br/>
2279
+ For example, all the doctors at a particular clinic
2280
+ may belong to a group to which an individual may
2281
+ grant permission to see medications in their health
2282
+ record.
2283
+ </remarks>
2284
+ </documentation>
2285
+ </annotation>
2286
+ </element>
2287
+
2288
+
2289
+ </sequence>
2290
+ </complexType>
2291
+
2292
+ <complexType name="PersonInfo">
2293
+ <annotation>
2294
+ <documentation>
2295
+ <summary>
2296
+ Basic information about a person.
2297
+ </summary>
2298
+
2299
+ <remarks>
2300
+ Basic information about a person including their
2301
+ name, login name, email address, application
2302
+ specific settings, record selected for use by the
2303
+ application, and other records that are the person
2304
+ authorized the application to use.
2305
+ </remarks>
2306
+ </documentation>
2307
+ </annotation>
2308
+ <sequence>
2309
+ <element name="person-id" type="wc-types:guid">
2310
+ <annotation>
2311
+ <documentation>
2312
+ <summary>
2313
+ The unique identifier for a person.
2314
+ </summary>
2315
+
2316
+ <remarks>
2317
+ Each account in the Microsoft Health Service
2318
+ is assigned a unique identifier which is a
2319
+ 128-bit integer (16 bytes) and is used to
2320
+ identify the account when calling methods on
2321
+ the service.
2322
+ </remarks>
2323
+ </documentation>
2324
+ </annotation>
2325
+ </element>
2326
+
2327
+ <element name="name" type="wc-types:string255">
2328
+ <annotation>
2329
+ <documentation>
2330
+ <summary>
2331
+ The name of the person.
2332
+ </summary>
2333
+
2334
+ <remarks>
2335
+ This is the full name of the person. Note,
2336
+ it may be different than the name associated with
2337
+ the record the person has authorized the
2338
+ application to use.
2339
+ </remarks>
2340
+ </documentation>
2341
+ </annotation>
2342
+ </element>
2343
+
2344
+ <element name="app-settings" type="wc-types:AppSettings"
2345
+ minOccurs="0" maxOccurs="1">
2346
+ <annotation>
2347
+ <documentation>
2348
+ <summary>
2349
+ The application specific settings for the person.
2350
+ </summary>
2351
+
2352
+ <remarks>
2353
+ An application can store person preferences and other
2354
+ settings for the person in the Microsoft Health
2355
+ Service. These settings are automatically returned
2356
+ when GetPersonInfo is called.<br/>
2357
+ <br/>
2358
+ If you are familiar with Windows development, this
2359
+ would be analogus to HKEY_CURRENT_USER settings in
2360
+ the Windows Registry.<br/>
2361
+ <br/>
2362
+ The Microsoft Health Service does not interpret this
2363
+ data at all and only acts as storage for it on
2364
+ behalf of the application.
2365
+ </remarks>
2366
+ </documentation>
2367
+ </annotation>
2368
+ </element>
2369
+
2370
+
2371
+ <element name="selected-record-id" type="wc-types:guid"
2372
+ minOccurs="0" maxOccurs="1">
2373
+ <annotation>
2374
+ <documentation>
2375
+ <summary>
2376
+ The health record the person selected to be used
2377
+ by default for the application.
2378
+ </summary>
2379
+
2380
+ <remarks>
2381
+ When a person uses an application for the first time
2382
+ they are required to select a health record to use
2383
+ with the application. The application is then
2384
+ authorized to use the application and the Microsoft
2385
+ Health Service remembers the selection and returns
2386
+ the health record unique identifier to the application.
2387
+ A person may chose to have multiple records
2388
+ authorized for one application but the application
2389
+ should use the selected record by default.
2390
+ </remarks>
2391
+ </documentation>
2392
+ </annotation>
2393
+ </element>
2394
+
2395
+ <element name="more-records" type="boolean" minOccurs="0">
2396
+ <annotation>
2397
+ <documentation>
2398
+ <summary>
2399
+ Tells the caller whether more records exist for
2400
+ the user that weren't returned.
2401
+ </summary>
2402
+ <remarks>
2403
+ HealthVault will return a maximum number of
2404
+ records for a person during a GetPersonInfo call
2405
+ based on configuration (default is 25 but subject
2406
+ to change).
2407
+ This element will be true if more than the maximum
2408
+ number of records exist for the user and some were
2409
+ not returned.
2410
+ </remarks>
2411
+ </documentation>
2412
+ </annotation>
2413
+ </element>
2414
+
2415
+ <element name="record" type="wc-types:Record"
2416
+ minOccurs="0" maxOccurs="unbounded" >
2417
+ <annotation>
2418
+ <documentation>
2419
+ <summary>
2420
+ All the records that a person has authorized
2421
+ an application to use.
2422
+ </summary>
2423
+
2424
+ <remarks>
2425
+ A person may authorize an application to use any
2426
+ number of health records that the person has rights
2427
+ to. These are returned as a list of information
2428
+ about each of the records. Most applications should
2429
+ use the selected-record-id, but some applications
2430
+ that can work with many health records at one time
2431
+ can retrieve them using this element.
2432
+ </remarks>
2433
+ </documentation>
2434
+ </annotation>
2435
+ </element>
2436
+
2437
+
2438
+ <element name="groups" type="wc-types:Groups"
2439
+ minOccurs="0" maxOccurs="1" >
2440
+ <annotation>
2441
+ <documentation>
2442
+ <summary>
2443
+ The set of groups the person is a member of.
2444
+ </summary>
2445
+
2446
+ <remarks>
2447
+ This element contains group elements containing the
2448
+ name, unique identifier, and contact email for the
2449
+ group.
2450
+ </remarks>
2451
+ </documentation>
2452
+ </annotation>
2453
+ </element>
2454
+
2455
+ <element name="preferred-culture" type="wc-types:Culture"
2456
+ minOccurs="0" maxOccurs="1" >
2457
+ <annotation>
2458
+ <documentation>
2459
+ <summary>
2460
+ The user's preferred culture for use with
2461
+ comparisons, collation, currency, dates, etc.
2462
+ </summary>
2463
+
2464
+ <remarks>
2465
+ If not present, the application should use the
2466
+ operating system or browser settings as appropriate.
2467
+ </remarks>
2468
+ </documentation>
2469
+ </annotation>
2470
+ </element>
2471
+
2472
+ <element name="preferred-uiculture" type="wc-types:Culture"
2473
+ minOccurs="0" maxOccurs="1" >
2474
+ <annotation>
2475
+ <documentation>
2476
+ <summary>
2477
+ The user's preferred UI culture for use with
2478
+ selecting the language that the application should
2479
+ use when showing text and images to the user.
2480
+ </summary>
2481
+
2482
+ <remarks>
2483
+ If not present, the application should use the
2484
+ operating system or browser settings as appropriate.
2485
+ </remarks>
2486
+ </documentation>
2487
+ </annotation>
2488
+ </element>
2489
+ </sequence>
2490
+ </complexType>
2491
+
2492
+ <complexType name="AppSettings">
2493
+ <annotation>
2494
+ <documentation>
2495
+ <summary>
2496
+ Application specific settings for a person.
2497
+ </summary>
2498
+
2499
+ <remarks>
2500
+ An application can store person preferences and other
2501
+ settings for the person in the Microsoft Health
2502
+ Service. These settings are automatically returned
2503
+ when GetPersonInfo is called.<br/>
2504
+ <br/>
2505
+ If you are familiar Windows development, this would
2506
+ be analogus to HKEY_CURRENT_USER settings in the
2507
+ Windows Registry.<br/>
2508
+ <br/>
2509
+ The Microsoft Health Service does not interpret this
2510
+ data at all and only acts as storage for it on
2511
+ behalf of the application.
2512
+ </remarks>
2513
+ </documentation>
2514
+ </annotation>
2515
+ <sequence>
2516
+ <any namespace="##any"
2517
+ minOccurs="0"
2518
+ maxOccurs="unbounded"
2519
+ processContents="skip">
2520
+ <annotation>
2521
+ <documentation>
2522
+ <summary>
2523
+ Application specific XML.
2524
+ </summary>
2525
+
2526
+ <remarks>
2527
+ An application can provide any XML which defines
2528
+ settings for the application for a particular
2529
+ person.
2530
+ </remarks>
2531
+ </documentation>
2532
+ </annotation>
2533
+ </any>
2534
+ </sequence>
2535
+ </complexType>
2536
+
2537
+ <simpleType name="RecordState">
2538
+ <annotation>
2539
+ <documentation>
2540
+ <summary>
2541
+ The state of a person's authorization to a record.
2542
+ </summary>
2543
+
2544
+ <remarks>
2545
+ Authorization to a record may be suspended or
2546
+ revoked if there is suspicion of fraud. In most
2547
+ cases the state will be Active.
2548
+ </remarks>
2549
+ </documentation>
2550
+ </annotation>
2551
+ <restriction base="string">
2552
+ <enumeration value="Active">
2553
+ <annotation>
2554
+ <documentation>
2555
+ <summary>
2556
+ The authorization is active and the authenticated
2557
+ person can access the record with as much rights
2558
+ as was granted to the person.
2559
+ </summary>
2560
+ </documentation>
2561
+ </annotation>
2562
+ </enumeration>
2563
+ <enumeration value="ReadOnly">
2564
+ <annotation>
2565
+ <documentation>
2566
+ <summary>
2567
+ The authorization is in question and the
2568
+ authenticated person can read data in the record
2569
+ but cannot write to the record even if they
2570
+ were previously granted write privileges.
2571
+ </summary>
2572
+ </documentation>
2573
+ </annotation>
2574
+ </enumeration>
2575
+ <enumeration value="Suspended">
2576
+ <annotation>
2577
+ <documentation>
2578
+ <summary>
2579
+ The authorization was used in a fraudulent manor
2580
+ and can no longer be used.
2581
+ </summary>
2582
+
2583
+ <remarks>
2584
+ In most cases attempts to use a suspended record
2585
+ will result in INVALID_RECORD_STATE being returned
2586
+ from the method.
2587
+ </remarks>
2588
+ </documentation>
2589
+ </annotation>
2590
+ </enumeration>
2591
+ <enumeration value="Deleted">
2592
+ <annotation>
2593
+ <documentation>
2594
+ <summary>
2595
+ The record authorization has been deleted and can
2596
+ no longer be used to access the record.
2597
+ </summary>
2598
+
2599
+ <remarks>
2600
+ In most cases attempts to use a deleted record
2601
+ will result in INVALID_RECORD_STATE being returned
2602
+ from the method.
2603
+ </remarks>
2604
+ </documentation>
2605
+ </annotation>
2606
+ </enumeration>
2607
+ </restriction>
2608
+ </simpleType>
2609
+
2610
+ <complexType name="Record">
2611
+ <annotation>
2612
+ <documentation>
2613
+ <summary>
2614
+ Basic information about the authenticated person's view
2615
+ of a health record.
2616
+ </summary>
2617
+
2618
+ <remarks>
2619
+ Health records are a place to store health and fitness
2620
+ related data. Each person may be authorized to zero to
2621
+ many health records. This type represents the metadata
2622
+ about the authenticated person's view of the record,
2623
+ including it's unique identifier, the relationship the
2624
+ authorized person has with the owner of the record, the
2625
+ name of the record, whether the authorized person is a
2626
+ custodian of the record, and more.
2627
+ </remarks>
2628
+ </documentation>
2629
+ </annotation>
2630
+ <simpleContent>
2631
+ <extension base="wc-types:string255">
2632
+ <attribute name="id" type="wc-types:guid" use="required">
2633
+ <annotation>
2634
+ <documentation>
2635
+ <summary>
2636
+ The unique identifier of the health record.
2637
+ </summary>
2638
+
2639
+ </documentation>
2640
+ </annotation>
2641
+ </attribute>
2642
+
2643
+ <attribute name="record-custodian" type="boolean"
2644
+ use="optional">
2645
+ <annotation>
2646
+ <documentation>
2647
+ <summary>
2648
+ States whether the authenticated person is
2649
+ a record custodian.
2650
+ </summary>
2651
+
2652
+ <remarks>
2653
+ If true, the authenticated person has rights
2654
+ to perform special operations on the record
2655
+ like sharing it with other people or modifying
2656
+ the permissions someone has on the record.
2657
+ Other than the owner of the record,
2658
+ custodianship is usually granted to a person
2659
+ that has the legal right to make medical
2660
+ decisions on behalf of the person. For example,
2661
+ a parent would likely be a custodian of a
2662
+ child's record until that child reaches a
2663
+ legally mature age, or if someone has power
2664
+ of attorney over the individual.
2665
+ </remarks>
2666
+ </documentation>
2667
+ </annotation>
2668
+ </attribute>
2669
+
2670
+ <attribute name="rel-type" type="int" use="required">
2671
+ <annotation>
2672
+ <documentation>
2673
+ <summary>
2674
+ The relationship the authorized person has to
2675
+ the owner of the record.
2676
+ </summary>
2677
+ </documentation>
2678
+ </annotation>
2679
+ </attribute>
2680
+
2681
+ <attribute name="rel-name" type="wc-types:string255" use="optional">
2682
+ <annotation>
2683
+ <documentation>
2684
+ <summary>
2685
+ A string representation of the relationship.
2686
+ </summary>
2687
+
2688
+ <remarks>
2689
+ This value is localized using the language and
2690
+ country specified in the request.
2691
+ </remarks>
2692
+ </documentation>
2693
+ </annotation>
2694
+ </attribute>
2695
+
2696
+ <attribute name="auth-expires" type="dateTime"
2697
+ use="optional">
2698
+ <annotation>
2699
+ <documentation>
2700
+ <summary>
2701
+ The date the authenticated person's
2702
+ authorization to the record expires.
2703
+ </summary>
2704
+
2705
+ <remarks>
2706
+ Once authorization expires to the record, a
2707
+ record custodian must extend the expiration
2708
+ period for the person to be able to access
2709
+ data in the record.
2710
+ </remarks>
2711
+ </documentation>
2712
+ </annotation>
2713
+ </attribute>
2714
+
2715
+ <attribute name="auth-expired" type="boolean" use="optional">
2716
+ <annotation>
2717
+ <documentation>
2718
+ <summary>
2719
+ States whether authorization has already
2720
+ expired.
2721
+ </summary>
2722
+ </documentation>
2723
+ </annotation>
2724
+ </attribute>
2725
+
2726
+ <attribute name="display-name" type="wc-types:string255"
2727
+ use="optional">
2728
+ <annotation>
2729
+ <documentation>
2730
+ <summary>
2731
+ The display name for the record.
2732
+ </summary>
2733
+
2734
+ <remarks>
2735
+ It may be possible for a person to provide
2736
+ an alternate name for a record rather than
2737
+ the person's name. For instance, a child
2738
+ authorized to a parent's health record may
2739
+ change the display name to "Mom" rather than
2740
+ the parent's name.
2741
+ </remarks>
2742
+ </documentation>
2743
+ </annotation>
2744
+ </attribute>
2745
+
2746
+ <attribute name="state" type="wc-types:RecordState" >
2747
+ <annotation>
2748
+ <documentation>
2749
+ <summary>
2750
+ The state of the person's authorization to the
2751
+ record.
2752
+ </summary>
2753
+
2754
+ <remarks>
2755
+ Authorization to a record may be suspended or
2756
+ revoked if there is suspicion of fraud. In most
2757
+ cases the state will be Active.
2758
+ </remarks>
2759
+ </documentation>
2760
+ </annotation>
2761
+ </attribute>
2762
+
2763
+ <attribute name="date-created" type="dateTime" use="optional">
2764
+ <annotation>
2765
+ <documentation>
2766
+ <summary>
2767
+ The date the health record was created.
2768
+ </summary>
2769
+ </documentation>
2770
+ </annotation>
2771
+ </attribute>
2772
+
2773
+ <attribute name="max-size-bytes" type="wc-types:positiveLong" use="optional">
2774
+ <annotation>
2775
+ <documentation>
2776
+ <summary>
2777
+ The maximum total size in bytes that all the things in the record
2778
+ can occupy together.
2779
+ </summary>
2780
+ </documentation>
2781
+ </annotation>
2782
+ </attribute>
2783
+
2784
+ <attribute name="size-bytes" type="wc-types:positiveLong" use="optional">
2785
+ <annotation>
2786
+ <documentation>
2787
+ <summary>
2788
+ The total size in bytes that all the things in the record
2789
+ currently occupy together.
2790
+ </summary>
2791
+ </documentation>
2792
+ </annotation>
2793
+ </attribute>
2794
+ </extension>
2795
+ </simpleContent>
2796
+ </complexType>
2797
+
2798
+ <!-- localization stuff -->
2799
+
2800
+ <complexType name="LanguageCompetency">
2801
+ <annotation>
2802
+ <documentation>
2803
+ <summary>
2804
+
2805
+ </summary>
2806
+
2807
+ <remarks>
2808
+
2809
+ </remarks>
2810
+ </documentation>
2811
+ </annotation>
2812
+ <simpleContent>
2813
+ <extension base="wc-types:iso639-1">
2814
+ <attribute name="is-primary" type="boolean" use="optional">
2815
+ <annotation>
2816
+ <documentation>
2817
+ <summary>
2818
+
2819
+ </summary>
2820
+
2821
+ <remarks>
2822
+
2823
+ </remarks>
2824
+ </documentation>
2825
+ </annotation>
2826
+ </attribute>
2827
+
2828
+ </extension>
2829
+ </simpleContent>
2830
+ </complexType>
2831
+
2832
+ <complexType name="LocalizedString">
2833
+ <annotation>
2834
+ <documentation>
2835
+ <summary>
2836
+
2837
+ </summary>
2838
+
2839
+ <remarks>
2840
+
2841
+ </remarks>
2842
+ </documentation>
2843
+ </annotation>
2844
+ <simpleContent>
2845
+ <extension base="string">
2846
+ <attribute name="language"
2847
+ type="wc-types:iso639-1" use="optional">
2848
+ <annotation>
2849
+ <documentation>
2850
+ <summary>
2851
+
2852
+ </summary>
2853
+
2854
+ <remarks>
2855
+
2856
+ </remarks>
2857
+ </documentation>
2858
+ </annotation>
2859
+ </attribute>
2860
+
2861
+ </extension>
2862
+ </simpleContent>
2863
+ </complexType>
2864
+
2865
+ <complexType name="OpenQueryInfo">
2866
+ <annotation>
2867
+ <documentation>
2868
+ <summary>
2869
+ Information describing a saved OpenQuery.
2870
+ </summary>
2871
+
2872
+ <remarks>
2873
+ This information is used to invoke an OpenQuery
2874
+ after it is saved.
2875
+ </remarks>
2876
+ </documentation>
2877
+ </annotation>
2878
+ <sequence>
2879
+ <element name="query-id" type="wc-types:guid" >
2880
+ <annotation>
2881
+ <documentation>
2882
+ <summary>
2883
+ Identifier of the saved query.
2884
+ </summary>
2885
+
2886
+ <remarks>
2887
+ This identifier may be used to invoke the
2888
+ corresponding saved query by using the
2889
+ openquery.ashx HTTP handler. The handler takes
2890
+ one HTTP query parameter, id, the text
2891
+ string representation of this identifier.<br/>
2892
+ <br/>
2893
+ Example 1:<br/>
2894
+ https://&lt;server&gt;/wildcat/openquery.ashx?id=9C4C77CF-1DF0-4c41-BD3D-EC9232B5BC8A
2895
+ will invoke a saved request that corresponds
2896
+ to the specified identifier.<br/>
2897
+ <br/>
2898
+ Example 2:<br/>
2899
+ https://&lt;server&gt;/wildcat/openquery.ashx?id=9C4C77CF-1DF0-4c41-BD3D-EC9232B5BC8A?pin=91640108-453e-4882-ba4f-d9cda629d81d
2900
+ will invoke a saved query that corresponds
2901
+ to the specified identifier that is protected
2902
+ with the specified pin.
2903
+ <br/>
2904
+ Currently the only supported request method
2905
+ of a saved query is GetThings. Attempting to
2906
+ save queries for other methods will result
2907
+ in the INVALID_OPENQUERY error.<br/>
2908
+ <br/>
2909
+ Security warning: Invocation of the saved
2910
+ queries does not require authentication.
2911
+ Authorization is applied as the person who saved
2912
+ the query. The query may be protected with a pin.
2913
+ </remarks>
2914
+ </documentation>
2915
+ </annotation>
2916
+ </element>
2917
+
2918
+ <element name="app-name" type="wc-types:string255" >
2919
+ <annotation>
2920
+ <documentation>
2921
+ <summary>
2922
+ The name of the application that created the
2923
+ open query.
2924
+ </summary>
2925
+ </documentation>
2926
+ </annotation>
2927
+ </element>
2928
+
2929
+ <element name="date-created" type="dateTime" >
2930
+ <annotation>
2931
+ <documentation>
2932
+ <summary>
2933
+ Date the open query was created.
2934
+ </summary>
2935
+ </documentation>
2936
+ </annotation>
2937
+ </element>
2938
+
2939
+ <element name="expires-date" type="dateTime"
2940
+ minOccurs="0" maxOccurs="1" >
2941
+ <annotation>
2942
+ <documentation>
2943
+ <summary>
2944
+ Expiration date of the open query.
2945
+ </summary>
2946
+ <remarks>
2947
+ </remarks>
2948
+ </documentation>
2949
+ </annotation>
2950
+ </element>
2951
+
2952
+ <element name="pin-required" type="boolean" >
2953
+ <annotation>
2954
+ <documentation>
2955
+ <summary>
2956
+ Specifies whether a PIN is required.
2957
+ </summary>
2958
+ </documentation>
2959
+ </annotation>
2960
+ </element>
2961
+
2962
+ <element name="note" type="wc-types:string128"
2963
+ minOccurs="0" maxOccurs="1" >
2964
+ <annotation>
2965
+ <documentation>
2966
+ <summary>
2967
+ A note attached to the open query during its
2968
+ creation.
2969
+ </summary>
2970
+ </documentation>
2971
+ </annotation>
2972
+ </element>
2973
+ </sequence>
2974
+ </complexType>
2975
+
2976
+ <complexType name="coded-value">
2977
+ <annotation>
2978
+ <documentation>
2979
+ <summary>
2980
+ Defines a value which has been coded in a Microsoft Health
2981
+ Vocabulary.
2982
+ </summary>
2983
+ <remarks>
2984
+ The Microsoft Health Service provides a set of vocabularies
2985
+ containing common health and fitness terms and codes.
2986
+ Vocabularies are identified by their family, type, and
2987
+ version and contain values which identify an entry in that
2988
+ vocabulary by code.<br/>
2989
+ <br/>
2990
+ For example, a prescription
2991
+ vocabulary may be identified by the family 'NCPDP', type
2992
+ 'SCRIPT', and version '1.0' and contain a code of 10 which
2993
+ identifies a 'tablet' form of medication.
2994
+ </remarks>
2995
+ </documentation>
2996
+ </annotation>
2997
+ <sequence>
2998
+ <element name="value" type="string">
2999
+ <annotation>
3000
+ <documentation>
3001
+ <summary>
3002
+ The code value which identifies the item in the
3003
+ vocabulary.
3004
+ </summary>
3005
+ <remarks>
3006
+ Codes are unique to the vocabulary they reside in.
3007
+ The codes for a particular vocabulary can be
3008
+ enumerated using GetVocabulary.
3009
+ </remarks>
3010
+ </documentation>
3011
+ </annotation>
3012
+ </element>
3013
+ <element name="family" type="string" minOccurs="0">
3014
+ <annotation>
3015
+ <documentation>
3016
+ <summary>
3017
+ The family of the vocabulary.
3018
+ </summary>
3019
+ <remarks>
3020
+ The family of a vocabulary partially identifies the
3021
+ vocabulary instance along with type and version. If
3022
+ the value is missing the family is assumed to be
3023
+ 'wc' which is the Microsoft Health Lexicon.
3024
+ <br/>
3025
+ For example, 'NCPDP' is the vocabulary family for
3026
+ codes in the National Council for Prescription Drug
3027
+ Programs.
3028
+ </remarks>
3029
+ </documentation>
3030
+ </annotation>
3031
+ </element>
3032
+ <element name="type" type="string">
3033
+ <annotation>
3034
+ <documentation>
3035
+ <summary>
3036
+ The type of the vocabulary.
3037
+ </summary>
3038
+ <remarks>
3039
+ This is the name that identifies the vocabulary in
3040
+ the family of vocabularies.<br/>
3041
+ <br/>
3042
+ For example, 'SCRIPT' is the vocabulary name for
3043
+ medical prescriptions in the 'NCPDP' family of
3044
+ vocabularies.
3045
+ </remarks>
3046
+ </documentation>
3047
+ </annotation>
3048
+ </element>
3049
+ <element name="version" type="string" minOccurs="0">
3050
+ <annotation>
3051
+ <documentation>
3052
+ <summary>
3053
+ The version of the vocabulary.
3054
+ </summary>
3055
+ <remarks>
3056
+ The version identifies which version of a vocabulary
3057
+ identified by the 'type' element the code is in if
3058
+ more than one version is present.
3059
+ </remarks>
3060
+ </documentation>
3061
+ </annotation>
3062
+ </element>
3063
+ </sequence>
3064
+ </complexType>
3065
+ <complexType name="codable-value">
3066
+ <annotation>
3067
+ <documentation>
3068
+ <summary>
3069
+ A value that may have codes from one or more Microsoft
3070
+ Health vocabularies associated with it.
3071
+ </summary>
3072
+ <remarks>
3073
+ A codable value represents a value that may reference a
3074
+ coded value in one or more of the Microsoft Health
3075
+ vocabularies. Though it does not require the value to
3076
+ be in a vocabulary.<br/>
3077
+ <br/>
3078
+ For example, aerobic session data has a mode element
3079
+ of type codable-value. Although many common forms of
3080
+ aerobic session mode can be found in the Microsoft
3081
+ Health Lexicon using the 'wildcat-activies' vocabulary,
3082
+ not all possible activies can be found there. If the
3083
+ activity does exist in the vocabulary it is recommended
3084
+ that applications add the coded-value for that code as
3085
+ a 'code' element and set the 'text' element to the
3086
+ display value for that code. If the activity does not
3087
+ exist in the vocabulary the 'code' element should not
3088
+ be specified and the 'text' element should contain the
3089
+ data the user entered.<br/>
3090
+ <br/>
3091
+ By using the coded-value when available the data can
3092
+ be easily localized by the Microsoft Health Service and
3093
+ can also be utilized by applications that are mining the
3094
+ data based on certain code values.
3095
+ </remarks>
3096
+ </documentation>
3097
+ </annotation>
3098
+ <sequence>
3099
+ <element name="text" type="string">
3100
+ <annotation>
3101
+ <documentation>
3102
+ <summary>
3103
+ The textual representation of the value.
3104
+ </summary>
3105
+ <remarks>
3106
+ This may be the display value from one of the
3107
+ coded-values or it may be the user entered
3108
+ value.
3109
+ </remarks>
3110
+ </documentation>
3111
+ </annotation>
3112
+ </element>
3113
+ <element name="code" type="wc-types:coded-value" minOccurs="0" maxOccurs="unbounded">
3114
+ <annotation>
3115
+ <documentation>
3116
+ <summary>
3117
+ The codes representing the value from a
3118
+ Microsoft Health vocabulary.
3119
+ </summary>
3120
+ <remarks>
3121
+ Some values can be represented by codes in more
3122
+ that one vocabulary. If appropriate add coded-values
3123
+ from as many vocabularies as are relevant.
3124
+ </remarks>
3125
+ </documentation>
3126
+ </annotation>
3127
+ </element>
3128
+ </sequence>
3129
+ </complexType>
3130
+ </schema>
3131
+