rubyhealthvault 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (477) hide show
  1. data/LICENSE +52 -0
  2. data/README +19 -0
  3. data/Rakefile +149 -0
  4. data/bin/certs/HelloWorld-SDK_ID-05a059c9-c309-46af-9b86-b06d42510550.pfx +0 -0
  5. data/bin/certs/helloWorld.pem +52 -0
  6. data/bin/example.rb +80 -0
  7. data/bin/hv.log +118 -0
  8. data/lib/application.rb +37 -0
  9. data/lib/code_generation/xsd_parser.rb +376 -0
  10. data/lib/config.rb +28 -0
  11. data/lib/connection.rb +61 -0
  12. data/lib/healthvault.rb +2 -0
  13. data/lib/request.rb +113 -0
  14. data/lib/response.rb +50 -0
  15. data/lib/templates/complex_type_template.erb +64 -0
  16. data/lib/templates/simple_type_template.erb +65 -0
  17. data/lib/templates/thing_class_extension_template.erb +22 -0
  18. data/lib/utils/crypto_utils.rb +69 -0
  19. data/lib/utils/string_utils.rb +35 -0
  20. data/lib/wc_data/complex_type.rb +249 -0
  21. data/lib/wc_data/generated/application/app.rb +217 -0
  22. data/lib/wc_data/generated/application/app_id_and_incr_auth.rb +118 -0
  23. data/lib/wc_data/generated/application/app_large_logo.rb +56 -0
  24. data/lib/wc_data/generated/application/app_large_logo_info.rb +66 -0
  25. data/lib/wc_data/generated/application/app_persistent_tokens.rb +64 -0
  26. data/lib/wc_data/generated/application/app_small_logo.rb +56 -0
  27. data/lib/wc_data/generated/application/app_small_logo_info.rb +66 -0
  28. data/lib/wc_data/generated/application/app_with_logos.rb +291 -0
  29. data/lib/wc_data/generated/application/public_key.rb +43 -0
  30. data/lib/wc_data/generated/application/public_keys.rb +48 -0
  31. data/lib/wc_data/generated/application/statement.rb +30 -0
  32. data/lib/wc_data/generated/application/statement_info.rb +66 -0
  33. data/lib/wc_data/generated/auth/app_record_auth_action.rb +61 -0
  34. data/lib/wc_data/generated/auth/associated_cred_info.rb +70 -0
  35. data/lib/wc_data/generated/auth/auth.rb +44 -0
  36. data/lib/wc_data/generated/auth/auth_session_credential.rb +68 -0
  37. data/lib/wc_data/generated/auth/auth_session_sub_credential.rb +45 -0
  38. data/lib/wc_data/generated/auth/auth_xml.rb +44 -0
  39. data/lib/wc_data/generated/auth/federating_cred.rb +48 -0
  40. data/lib/wc_data/generated/auth/rule.rb +187 -0
  41. data/lib/wc_data/generated/auth/rules.rb +48 -0
  42. data/lib/wc_data/generated/auth/set.rb +70 -0
  43. data/lib/wc_data/generated/auth/simple_card_space_credential.rb +48 -0
  44. data/lib/wc_data/generated/auth/simple_passport_credential.rb +47 -0
  45. data/lib/wc_data/generated/auth/simple_user_pass_credential.rb +48 -0
  46. data/lib/wc_data/generated/auth/textual_permissions.rb +66 -0
  47. data/lib/wc_data/generated/auth/textual_permissions_type.rb +81 -0
  48. data/lib/wc_data/generated/auth/textual_rule.rb +154 -0
  49. data/lib/wc_data/generated/auth/token.rb +90 -0
  50. data/lib/wc_data/generated/auth/user_pass_auth_session_cred.rb +92 -0
  51. data/lib/wc_data/generated/auth/user_pass_cred.rb +70 -0
  52. data/lib/wc_data/generated/dates/approx_date.rb +82 -0
  53. data/lib/wc_data/generated/dates/approx_date_time.rb +62 -0
  54. data/lib/wc_data/generated/dates/date.rb +86 -0
  55. data/lib/wc_data/generated/dates/date_time.rb +82 -0
  56. data/lib/wc_data/generated/dates/day.rb +56 -0
  57. data/lib/wc_data/generated/dates/hour.rb +56 -0
  58. data/lib/wc_data/generated/dates/millisecond.rb +56 -0
  59. data/lib/wc_data/generated/dates/minute.rb +56 -0
  60. data/lib/wc_data/generated/dates/month.rb +56 -0
  61. data/lib/wc_data/generated/dates/second.rb +56 -0
  62. data/lib/wc_data/generated/dates/structured_approx_date.rb +82 -0
  63. data/lib/wc_data/generated/dates/time.rb +102 -0
  64. data/lib/wc_data/generated/dates/year.rb +56 -0
  65. data/lib/wc_data/generated/methods/add_application/info.rb +375 -0
  66. data/lib/wc_data/generated/methods/create_authenticated_session_token/auth_token_info.rb +72 -0
  67. data/lib/wc_data/generated/methods/create_authenticated_session_token/credential.rb +88 -0
  68. data/lib/wc_data/generated/methods/create_authenticated_session_token/info.rb +50 -0
  69. data/lib/wc_data/generated/methods/create_connect_request/info.rb +136 -0
  70. data/lib/wc_data/generated/methods/delete_open_query/info.rb +50 -0
  71. data/lib/wc_data/generated/methods/delete_pending_connect_request/info.rb +49 -0
  72. data/lib/wc_data/generated/methods/get_authorized_connect_requests/info.rb +48 -0
  73. data/lib/wc_data/generated/methods/get_authorized_records/info.rb +52 -0
  74. data/lib/wc_data/generated/methods/get_open_query_info/info.rb +50 -0
  75. data/lib/wc_data/generated/methods/get_person_info/info.rb +48 -0
  76. data/lib/wc_data/generated/methods/get_thing_type/info.rb +118 -0
  77. data/lib/wc_data/generated/methods/get_thing_type/thing_type_section_spec.rb +63 -0
  78. data/lib/wc_data/generated/methods/get_things/info.rb +51 -0
  79. data/lib/wc_data/generated/methods/get_things/thing_filter_spec.rb +296 -0
  80. data/lib/wc_data/generated/methods/get_things/thing_format_spec.rb +75 -0
  81. data/lib/wc_data/generated/methods/get_things/thing_request_group.rb +197 -0
  82. data/lib/wc_data/generated/methods/get_things/thing_section_spec.rb +67 -0
  83. data/lib/wc_data/generated/methods/get_vocabulary/info.rb +48 -0
  84. data/lib/wc_data/generated/methods/get_vocabulary/vocabulary_parameters.rb +73 -0
  85. data/lib/wc_data/generated/methods/put_things/info.rb +51 -0
  86. data/lib/wc_data/generated/methods/query_permissions/info.rb +51 -0
  87. data/lib/wc_data/generated/methods/remove_things/info.rb +52 -0
  88. data/lib/wc_data/generated/methods/response/add_application/info.rb +51 -0
  89. data/lib/wc_data/generated/methods/response/any/info.rb +52 -0
  90. data/lib/wc_data/generated/methods/response/create_authenticated_session_token/app_auth_token_absence_reason.rb +72 -0
  91. data/lib/wc_data/generated/methods/response/create_authenticated_session_token/auth_token_absence_reason.rb +49 -0
  92. data/lib/wc_data/generated/methods/response/create_authenticated_session_token/info.rb +78 -0
  93. data/lib/wc_data/generated/methods/response/create_connect_request/info.rb +52 -0
  94. data/lib/wc_data/generated/methods/response/delete_open_query/info.rb +52 -0
  95. data/lib/wc_data/generated/methods/response/get_application_settings/app_settings.rb +54 -0
  96. data/lib/wc_data/generated/methods/response/get_application_settings/info.rb +70 -0
  97. data/lib/wc_data/generated/methods/response/get_authorized_connect_requests/connect_request.rb +114 -0
  98. data/lib/wc_data/generated/methods/response/get_authorized_connect_requests/info.rb +72 -0
  99. data/lib/wc_data/generated/methods/response/get_authorized_records/info.rb +53 -0
  100. data/lib/wc_data/generated/methods/response/get_people_for_record/info.rb +76 -0
  101. data/lib/wc_data/generated/methods/response/get_person_info/info.rb +52 -0
  102. data/lib/wc_data/generated/methods/response/get_service_definition/configuration_entry.rb +71 -0
  103. data/lib/wc_data/generated/methods/response/get_service_definition/info.rb +141 -0
  104. data/lib/wc_data/generated/methods/response/get_service_definition/platform.rb +98 -0
  105. data/lib/wc_data/generated/methods/response/get_service_definition/sdk_assembly.rb +94 -0
  106. data/lib/wc_data/generated/methods/response/get_service_definition/shell.rb +95 -0
  107. data/lib/wc_data/generated/methods/response/get_service_definition/shell_redirect_token.rb +93 -0
  108. data/lib/wc_data/generated/methods/response/get_service_definition/xml_method.rb +75 -0
  109. data/lib/wc_data/generated/methods/response/get_service_definition/xml_method_version.rb +92 -0
  110. data/lib/wc_data/generated/methods/response/get_thing_type/column.rb +130 -0
  111. data/lib/wc_data/generated/methods/response/get_thing_type/columns.rb +52 -0
  112. data/lib/wc_data/generated/methods/response/get_thing_type/image.rb +71 -0
  113. data/lib/wc_data/generated/methods/response/get_thing_type/info.rb +53 -0
  114. data/lib/wc_data/generated/methods/response/get_thing_type/thing_type_info.rb +232 -0
  115. data/lib/wc_data/generated/methods/response/get_thing_type/transform_source.rb +72 -0
  116. data/lib/wc_data/generated/methods/response/get_thing_type/transforms.rb +52 -0
  117. data/lib/wc_data/generated/methods/response/get_things/info.rb +54 -0
  118. data/lib/wc_data/generated/methods/response/get_things/thing_response_group.rb +118 -0
  119. data/lib/wc_data/generated/methods/response/get_things/unprocessed_thing_key_info.rb +95 -0
  120. data/lib/wc_data/generated/methods/response/get_vocabulary/info.rb +76 -0
  121. data/lib/wc_data/generated/methods/response/put_things/info.rb +53 -0
  122. data/lib/wc_data/generated/methods/response/query_permissions/info.rb +54 -0
  123. data/lib/wc_data/generated/methods/response/query_permissions/permissions.rb +53 -0
  124. data/lib/wc_data/generated/methods/response/query_permissions/thing_type_permission.rb +89 -0
  125. data/lib/wc_data/generated/methods/response/search_vocabulary/info.rb +74 -0
  126. data/lib/wc_data/generated/methods/save_open_query/info.rb +227 -0
  127. data/lib/wc_data/generated/methods/search_vocabulary/info.rb +70 -0
  128. data/lib/wc_data/generated/methods/search_vocabulary/vocabulary_search_params.rb +69 -0
  129. data/lib/wc_data/generated/methods/search_vocabulary/vocabulary_search_string.rb +68 -0
  130. data/lib/wc_data/generated/methods/send_insecure_message/info.rb +155 -0
  131. data/lib/wc_data/generated/methods/send_insecure_message_from_application/from_mailbox.rb +71 -0
  132. data/lib/wc_data/generated/methods/send_insecure_message_from_application/info.rb +178 -0
  133. data/lib/wc_data/generated/methods/set_application_settings/app_settings.rb +52 -0
  134. data/lib/wc_data/generated/methods/set_application_settings/info.rb +48 -0
  135. data/lib/wc_data/generated/methods/update_application/info.rb +384 -0
  136. data/lib/wc_data/generated/methods/update_external_id/info.rb +70 -0
  137. data/lib/wc_data/generated/record/active_app_authorization.rb +196 -0
  138. data/lib/wc_data/generated/record/active_person_authorization.rb +290 -0
  139. data/lib/wc_data/generated/record/active_person_authorization_no_ids.rb +250 -0
  140. data/lib/wc_data/generated/record/authorized_record_state.rb +53 -0
  141. data/lib/wc_data/generated/record/non_active_authorization.rb +340 -0
  142. data/lib/wc_data/generated/record/non_active_authorization_no_ids.rb +300 -0
  143. data/lib/wc_data/generated/request/authenticated_session_info.rb +88 -0
  144. data/lib/wc_data/generated/request/header.rb +274 -0
  145. data/lib/wc_data/generated/request/info.rb +48 -0
  146. data/lib/wc_data/generated/request/offline_person_info.rb +46 -0
  147. data/lib/wc_data/generated/request/request.rb +86 -0
  148. data/lib/wc_data/generated/request/xsl.rb +64 -0
  149. data/lib/wc_data/generated/thing/access_avenue.rb +49 -0
  150. data/lib/wc_data/generated/thing/aerobic/aerobic_session.rb +112 -0
  151. data/lib/wc_data/generated/thing/aerobic_profile/aerobic_profile.rb +153 -0
  152. data/lib/wc_data/generated/thing/aerobic_profile/heartrate_zone.rb +90 -0
  153. data/lib/wc_data/generated/thing/aerobic_profile/heartrate_zone_group.rb +72 -0
  154. data/lib/wc_data/generated/thing/aerobic_profile/max_vo2.rb +68 -0
  155. data/lib/wc_data/generated/thing/aerobic_profile/zone_boundary.rb +68 -0
  156. data/lib/wc_data/generated/thing/aerobic_weekly/aerobic_weekly.rb +72 -0
  157. data/lib/wc_data/generated/thing/allergic_episode/allergic_episode.rb +108 -0
  158. data/lib/wc_data/generated/thing/allergy/allergy.rb +186 -0
  159. data/lib/wc_data/generated/thing/annotation/annotation.rb +144 -0
  160. data/lib/wc_data/generated/thing/application/app_specific.rb +137 -0
  161. data/lib/wc_data/generated/thing/appointment/appointment.rb +166 -0
  162. data/lib/wc_data/generated/thing/audit.rb +150 -0
  163. data/lib/wc_data/generated/thing/audit_action.rb +53 -0
  164. data/lib/wc_data/generated/thing/basic/basic.rb +180 -0
  165. data/lib/wc_data/generated/thing/basic/birthyear.rb +58 -0
  166. data/lib/wc_data/generated/thing/basic/country.rb +45 -0
  167. data/lib/wc_data/generated/thing/basic/firstdow.rb +58 -0
  168. data/lib/wc_data/generated/thing/basic/gender.rb +51 -0
  169. data/lib/wc_data/generated/thing/blood_glucose/blood_glucose.rb +172 -0
  170. data/lib/wc_data/generated/thing/blood_pressure/blood_pressure.rb +133 -0
  171. data/lib/wc_data/generated/thing/cardiac_profile/cardiac_profile.rb +209 -0
  172. data/lib/wc_data/generated/thing/cholesterol_profile/cholesterol_profile.rb +129 -0
  173. data/lib/wc_data/generated/thing/common.rb +126 -0
  174. data/lib/wc_data/generated/thing/concern/concern.rb +71 -0
  175. data/lib/wc_data/generated/thing/condition/condition.rb +127 -0
  176. data/lib/wc_data/generated/thing/contact/contact.rb +49 -0
  177. data/lib/wc_data/generated/thing/contraindication/contraindication.rb +129 -0
  178. data/lib/wc_data/generated/thing/daily_medication_usage/daily_medication_usage.rb +218 -0
  179. data/lib/wc_data/generated/thing/data_other.rb +82 -0
  180. data/lib/wc_data/generated/thing/data_xml.rb +80 -0
  181. data/lib/wc_data/generated/thing/diabetic_profile/diabetic_profile.rb +92 -0
  182. data/lib/wc_data/generated/thing/diabetic_profile/target_glucose_zone.rb +90 -0
  183. data/lib/wc_data/generated/thing/diabetic_profile/target_glucose_zone_group.rb +72 -0
  184. data/lib/wc_data/generated/thing/diabetic_profile/zone_boundary.rb +68 -0
  185. data/lib/wc_data/generated/thing/dietary_intake_daily/dietary_intake_daily.rb +249 -0
  186. data/lib/wc_data/generated/thing/directive/directive.rb +343 -0
  187. data/lib/wc_data/generated/thing/discharge_summary/discharge_summary.rb +366 -0
  188. data/lib/wc_data/generated/thing/effective_permissions.rb +66 -0
  189. data/lib/wc_data/generated/thing/emotion/emotion.rb +109 -0
  190. data/lib/wc_data/generated/thing/encounter/encounter.rb +143 -0
  191. data/lib/wc_data/generated/thing/equipment/device.rb +163 -0
  192. data/lib/wc_data/generated/thing/extension.rb +123 -0
  193. data/lib/wc_data/generated/thing/family_history/family_history.rb +203 -0
  194. data/lib/wc_data/generated/thing/family_history_condition/family_history_condition.rb +49 -0
  195. data/lib/wc_data/generated/thing/family_history_person/family_history_person.rb +107 -0
  196. data/lib/wc_data/generated/thing/file/file.rb +90 -0
  197. data/lib/wc_data/generated/thing/guid_and_name.rb +66 -0
  198. data/lib/wc_data/generated/thing/hb_a1_c/hb_a1_c.rb +111 -0
  199. data/lib/wc_data/generated/thing/healthcare_proxy/healthcare_proxy.rb +144 -0
  200. data/lib/wc_data/generated/thing/height/height.rb +71 -0
  201. data/lib/wc_data/generated/thing/immunization/immunization.rb +244 -0
  202. data/lib/wc_data/generated/thing/inhaler/alert.rb +74 -0
  203. data/lib/wc_data/generated/thing/inhaler/asthma_inhaler.rb +272 -0
  204. data/lib/wc_data/generated/thing/inhaler/dow.rb +58 -0
  205. data/lib/wc_data/generated/thing/inhaler/purpose.rb +55 -0
  206. data/lib/wc_data/generated/thing/inhaler_use/asthma_inhaler_use.rb +152 -0
  207. data/lib/wc_data/generated/thing/insulin/insulin_injection.rb +93 -0
  208. data/lib/wc_data/generated/thing/insulin_injection_use/diabetes_insulin_injection_use.rb +114 -0
  209. data/lib/wc_data/generated/thing/lab_test_results/lab_test_results.rb +89 -0
  210. data/lib/wc_data/generated/thing/life_goal/life_goal.rb +68 -0
  211. data/lib/wc_data/generated/thing/link/link.rb +68 -0
  212. data/lib/wc_data/generated/thing/medication/dose_value.rb +107 -0
  213. data/lib/wc_data/generated/thing/medication/medication.rb +491 -0
  214. data/lib/wc_data/generated/thing/microbiology/microbiology_lab_results.rb +186 -0
  215. data/lib/wc_data/generated/thing/password/protected/package/algorithm_name.rb +59 -0
  216. data/lib/wc_data/generated/thing/password/protected/package/package_encryption_type.rb +71 -0
  217. data/lib/wc_data/generated/thing/password/protected/package/password_protected_package.rb +53 -0
  218. data/lib/wc_data/generated/thing/password/protected/package/pbe_parameters_type.rb +97 -0
  219. data/lib/wc_data/generated/thing/payer/payer.rb +265 -0
  220. data/lib/wc_data/generated/thing/personal/personal.rb +303 -0
  221. data/lib/wc_data/generated/thing/personal_image/personal_image.rb +28 -0
  222. data/lib/wc_data/generated/thing/problem/importance.rb +45 -0
  223. data/lib/wc_data/generated/thing/problem/problem.rb +114 -0
  224. data/lib/wc_data/generated/thing/procedure/procedure.rb +125 -0
  225. data/lib/wc_data/generated/thing/radiology_lab_results/radiology_lab_results.rb +106 -0
  226. data/lib/wc_data/generated/thing/related_thing.rb +88 -0
  227. data/lib/wc_data/generated/thing/respiratory_profile/respiratory_profile.rb +109 -0
  228. data/lib/wc_data/generated/thing/sjam/awakening.rb +70 -0
  229. data/lib/wc_data/generated/thing/sjam/sleep_am.rb +195 -0
  230. data/lib/wc_data/generated/thing/sjam/wake_state.rb +58 -0
  231. data/lib/wc_data/generated/thing/sjpm/activity.rb +70 -0
  232. data/lib/wc_data/generated/thing/sjpm/sleep_pm.rb +162 -0
  233. data/lib/wc_data/generated/thing/sjpm/sleepiness.rb +58 -0
  234. data/lib/wc_data/generated/thing/spirometer/spirometer.rb +317 -0
  235. data/lib/wc_data/generated/thing/spirometer/volume_value.rb +69 -0
  236. data/lib/wc_data/generated/thing/thing.rb +213 -0
  237. data/lib/wc_data/generated/thing/thing_key.rb +66 -0
  238. data/lib/wc_data/generated/thing/thing_state.rb +49 -0
  239. data/lib/wc_data/generated/thing/thing_type.rb +64 -0
  240. data/lib/wc_data/generated/thing/types/address.rb +176 -0
  241. data/lib/wc_data/generated/thing/types/aerobic_lap_session.rb +86 -0
  242. data/lib/wc_data/generated/thing/types/aerobic_session.rb +745 -0
  243. data/lib/wc_data/generated/thing/types/aerobic_session_samples.rb +310 -0
  244. data/lib/wc_data/generated/thing/types/altitude_value.rb +70 -0
  245. data/lib/wc_data/generated/thing/types/blood_glucose_value.rb +69 -0
  246. data/lib/wc_data/generated/thing/types/codable_value.rb +74 -0
  247. data/lib/wc_data/generated/thing/types/coded_value.rb +112 -0
  248. data/lib/wc_data/generated/thing/types/communication_type.rb +112 -0
  249. data/lib/wc_data/generated/thing/types/condition.rb +148 -0
  250. data/lib/wc_data/generated/thing/types/contact.rb +97 -0
  251. data/lib/wc_data/generated/thing/types/display_value.rb +90 -0
  252. data/lib/wc_data/generated/thing/types/document_reference_type.rb +112 -0
  253. data/lib/wc_data/generated/thing/types/double_range.rb +70 -0
  254. data/lib/wc_data/generated/thing/types/dow.rb +58 -0
  255. data/lib/wc_data/generated/thing/types/duration_value.rb +69 -0
  256. data/lib/wc_data/generated/thing/types/email.rb +89 -0
  257. data/lib/wc_data/generated/thing/types/flow_value.rb +69 -0
  258. data/lib/wc_data/generated/thing/types/general_measurement.rb +74 -0
  259. data/lib/wc_data/generated/thing/types/goal.rb +86 -0
  260. data/lib/wc_data/generated/thing/types/goal_status.rb +55 -0
  261. data/lib/wc_data/generated/thing/types/insulin_injection_value.rb +69 -0
  262. data/lib/wc_data/generated/thing/types/lab_result_type.rb +149 -0
  263. data/lib/wc_data/generated/thing/types/lab_test_result_type.rb +167 -0
  264. data/lib/wc_data/generated/thing/types/lab_test_result_value_type.rb +99 -0
  265. data/lib/wc_data/generated/thing/types/lab_test_results_group_type.rb +138 -0
  266. data/lib/wc_data/generated/thing/types/lab_test_type.rb +209 -0
  267. data/lib/wc_data/generated/thing/types/language.rb +69 -0
  268. data/lib/wc_data/generated/thing/types/length_value.rb +69 -0
  269. data/lib/wc_data/generated/thing/types/name.rb +148 -0
  270. data/lib/wc_data/generated/thing/types/non_negative_double.rb +45 -0
  271. data/lib/wc_data/generated/thing/types/one_to_five.rb +58 -0
  272. data/lib/wc_data/generated/thing/types/organization.rb +106 -0
  273. data/lib/wc_data/generated/thing/types/pace_value.rb +69 -0
  274. data/lib/wc_data/generated/thing/types/percentage.rb +58 -0
  275. data/lib/wc_data/generated/thing/types/person.rb +146 -0
  276. data/lib/wc_data/generated/thing/types/phone.rb +89 -0
  277. data/lib/wc_data/generated/thing/types/positive_double.rb +45 -0
  278. data/lib/wc_data/generated/thing/types/power_value.rb +69 -0
  279. data/lib/wc_data/generated/thing/types/sample.rb +88 -0
  280. data/lib/wc_data/generated/thing/types/sample_set.rb +116 -0
  281. data/lib/wc_data/generated/thing/types/speed_value.rb +69 -0
  282. data/lib/wc_data/generated/thing/types/structured_measurement.rb +71 -0
  283. data/lib/wc_data/generated/thing/types/temperature_value.rb +69 -0
  284. data/lib/wc_data/generated/thing/types/test_result_range.rb +71 -0
  285. data/lib/wc_data/generated/thing/types/torque_value.rb +69 -0
  286. data/lib/wc_data/generated/thing/types/weight_value.rb +69 -0
  287. data/lib/wc_data/generated/thing/vital_signs/vital_sign_result_type.rb +166 -0
  288. data/lib/wc_data/generated/thing/vital_signs/vital_signs.rb +110 -0
  289. data/lib/wc_data/generated/thing/weight/weight.rb +70 -0
  290. data/lib/wc_data/generated/thing/weight_goal/weight_goal.rb +106 -0
  291. data/lib/wc_data/generated/types/address.rb +162 -0
  292. data/lib/wc_data/generated/types/app_info.rb +66 -0
  293. data/lib/wc_data/generated/types/app_server_cred.rb +70 -0
  294. data/lib/wc_data/generated/types/app_server_cred_info.rb +70 -0
  295. data/lib/wc_data/generated/types/app_settings.rb +50 -0
  296. data/lib/wc_data/generated/types/base64_sha1.rb +56 -0
  297. data/lib/wc_data/generated/types/card_space_cred.rb +50 -0
  298. data/lib/wc_data/generated/types/char2.rb +56 -0
  299. data/lib/wc_data/generated/types/codable_value.rb +72 -0
  300. data/lib/wc_data/generated/types/coded_value.rb +110 -0
  301. data/lib/wc_data/generated/types/culture.rb +64 -0
  302. data/lib/wc_data/generated/types/date_range.rb +62 -0
  303. data/lib/wc_data/generated/types/email.rb +82 -0
  304. data/lib/wc_data/generated/types/email_address.rb +56 -0
  305. data/lib/wc_data/generated/types/gender.rb +49 -0
  306. data/lib/wc_data/generated/types/group.rb +91 -0
  307. data/lib/wc_data/generated/types/groups.rb +50 -0
  308. data/lib/wc_data/generated/types/guid.rb +43 -0
  309. data/lib/wc_data/generated/types/hash_finalized.rb +48 -0
  310. data/lib/wc_data/generated/types/hash_finalized_data.rb +68 -0
  311. data/lib/wc_data/generated/types/hmac_algorithm.rb +48 -0
  312. data/lib/wc_data/generated/types/hmac_algorithm_data.rb +68 -0
  313. data/lib/wc_data/generated/types/hmac_finalized.rb +48 -0
  314. data/lib/wc_data/generated/types/hmac_finalized_data.rb +68 -0
  315. data/lib/wc_data/generated/types/iso3166.rb +1001 -0
  316. data/lib/wc_data/generated/types/iso4217.rb +733 -0
  317. data/lib/wc_data/generated/types/iso639_1.rb +585 -0
  318. data/lib/wc_data/generated/types/language_competency.rb +64 -0
  319. data/lib/wc_data/generated/types/localized_string.rb +64 -0
  320. data/lib/wc_data/generated/types/login_name.rb +56 -0
  321. data/lib/wc_data/generated/types/name_match_type.rb +53 -0
  322. data/lib/wc_data/generated/types/omb_ethnicity.rb +65 -0
  323. data/lib/wc_data/generated/types/open_query_info.rb +149 -0
  324. data/lib/wc_data/generated/types/permission.rb +61 -0
  325. data/lib/wc_data/generated/types/person_info.rb +214 -0
  326. data/lib/wc_data/generated/types/phone.rb +82 -0
  327. data/lib/wc_data/generated/types/positive_long.rb +43 -0
  328. data/lib/wc_data/generated/types/puid.rb +43 -0
  329. data/lib/wc_data/generated/types/rcpt_address.rb +69 -0
  330. data/lib/wc_data/generated/types/rcpt_person.rb +68 -0
  331. data/lib/wc_data/generated/types/rcpt_record.rb +48 -0
  332. data/lib/wc_data/generated/types/record.rb +264 -0
  333. data/lib/wc_data/generated/types/record_state.rb +57 -0
  334. data/lib/wc_data/generated/types/sig.rb +112 -0
  335. data/lib/wc_data/generated/types/string1024.rb +56 -0
  336. data/lib/wc_data/generated/types/string128.rb +56 -0
  337. data/lib/wc_data/generated/types/string16.rb +56 -0
  338. data/lib/wc_data/generated/types/string255.rb +56 -0
  339. data/lib/wc_data/generated/types/string32.rb +56 -0
  340. data/lib/wc_data/generated/types/string512.rb +56 -0
  341. data/lib/wc_data/generated/types/string64.rb +56 -0
  342. data/lib/wc_data/generated/types/stringnz.rb +43 -0
  343. data/lib/wc_data/generated/types/stringz1024.rb +56 -0
  344. data/lib/wc_data/generated/types/stringz128.rb +56 -0
  345. data/lib/wc_data/generated/types/stringz16.rb +56 -0
  346. data/lib/wc_data/generated/types/stringz255.rb +56 -0
  347. data/lib/wc_data/generated/types/stringz32.rb +56 -0
  348. data/lib/wc_data/generated/types/stringz512.rb +56 -0
  349. data/lib/wc_data/generated/types/stringz64.rb +56 -0
  350. data/lib/wc_data/generated/types/url.rb +56 -0
  351. data/lib/wc_data/generated/types/version.rb +56 -0
  352. data/lib/wc_data/generated/vocab/info_xml.rb +46 -0
  353. data/lib/wc_data/generated/vocab/vocabulary_code_item.rb +104 -0
  354. data/lib/wc_data/generated/vocab/vocabulary_code_set.rb +133 -0
  355. data/lib/wc_data/generated/vocab/vocabulary_key.rb +106 -0
  356. data/lib/wc_data/generated/vocab/vocabulary_key_info.rb +26 -0
  357. data/lib/wc_data/init.rb +27 -0
  358. data/lib/wc_data/raw_info_xml.rb +12 -0
  359. data/lib/wc_data/simple_type.rb +16 -0
  360. data/lib/wc_data/thing.rb +78 -0
  361. data/lib/xsd/bootstrap/request.xsd +107 -0
  362. data/lib/xsd/bootstrap/response-getservicedefinition.xsd +119 -0
  363. data/lib/xsd/bootstrap/types.xsd +1117 -0
  364. data/lib/xsd/common/application.xsd +766 -0
  365. data/lib/xsd/common/auth.xsd +1093 -0
  366. data/lib/xsd/common/dates.xsd +510 -0
  367. data/lib/xsd/common/record.xsd +1160 -0
  368. data/lib/xsd/common/request.xsd +524 -0
  369. data/lib/xsd/common/thing.xsd +881 -0
  370. data/lib/xsd/common/types.xsd +3131 -0
  371. data/lib/xsd/common/vocab.xsd +359 -0
  372. data/lib/xsd/requests/method-addapplication.xsd +349 -0
  373. data/lib/xsd/requests/method-createauthenticatedsessiontoken.xsd +216 -0
  374. data/lib/xsd/requests/method-createconnectrequest.xsd +143 -0
  375. data/lib/xsd/requests/method-deleteopenquery.xsd +75 -0
  376. data/lib/xsd/requests/method-deletependingconnectrequest.xsd +77 -0
  377. data/lib/xsd/requests/method-getauthorizedconnectrequests.xsd +78 -0
  378. data/lib/xsd/requests/method-getauthorizedrecords.xsd +82 -0
  379. data/lib/xsd/requests/method-getopenqueryinfo.xsd +74 -0
  380. data/lib/xsd/requests/method-getpersoninfo.xsd +80 -0
  381. data/lib/xsd/requests/method-getthings.xsd +516 -0
  382. data/lib/xsd/requests/method-getthingtype.xsd +201 -0
  383. data/lib/xsd/requests/method-getvocabulary.xsd +135 -0
  384. data/lib/xsd/requests/method-putthings.xsd +80 -0
  385. data/lib/xsd/requests/method-querypermissions.xsd +79 -0
  386. data/lib/xsd/requests/method-removethings.xsd +78 -0
  387. data/lib/xsd/requests/method-saveopenquery.xsd +219 -0
  388. data/lib/xsd/requests/method-searchvocabulary.xsd +222 -0
  389. data/lib/xsd/requests/method-sendinsecuremessage.xsd +185 -0
  390. data/lib/xsd/requests/method-sendinsecuremessagefromapplication.xsd +274 -0
  391. data/lib/xsd/requests/method-setapplicationsettings.xsd +166 -0
  392. data/lib/xsd/requests/method-updateapplication.xsd +357 -0
  393. data/lib/xsd/requests/method-updateexternalid.xsd +84 -0
  394. data/lib/xsd/responses/response-addapplication.xsd +79 -0
  395. data/lib/xsd/responses/response-any.xsd +59 -0
  396. data/lib/xsd/responses/response-createauthenticatedsessiontoken.xsd +167 -0
  397. data/lib/xsd/responses/response-createconnectrequest.xsd +88 -0
  398. data/lib/xsd/responses/response-deleteopenquery.xsd +87 -0
  399. data/lib/xsd/responses/response-getapplicationsettings.xsd +192 -0
  400. data/lib/xsd/responses/response-getauthorizedconnectrequests.xsd +135 -0
  401. data/lib/xsd/responses/response-getauthorizedrecords.xsd +76 -0
  402. data/lib/xsd/responses/response-getopenqueryinfo.xsd +64 -0
  403. data/lib/xsd/responses/response-getpeopleforrecord.xsd +95 -0
  404. data/lib/xsd/responses/response-getpersoninfo.xsd +87 -0
  405. data/lib/xsd/responses/response-getservicedefinition.xsd +515 -0
  406. data/lib/xsd/responses/response-getthings.xsd +198 -0
  407. data/lib/xsd/responses/response-getthingtype.xsd +457 -0
  408. data/lib/xsd/responses/response-getvocabulary.xsd +93 -0
  409. data/lib/xsd/responses/response-putthings.xsd +63 -0
  410. data/lib/xsd/responses/response-querypermissions.xsd +182 -0
  411. data/lib/xsd/responses/response-saveopenquery.xsd +62 -0
  412. data/lib/xsd/responses/response-searchvocabulary.xsd +90 -0
  413. data/lib/xsd/things/Advance Directive.xsd +60 -0
  414. data/lib/xsd/things/Aerobic Exercise Session.xsd +19 -0
  415. data/lib/xsd/things/Aerobic Profile.xsd +143 -0
  416. data/lib/xsd/things/Allergic Episode.xsd +17 -0
  417. data/lib/xsd/things/Allergy.xsd +39 -0
  418. data/lib/xsd/things/Application-Specific Information.xsd +42 -0
  419. data/lib/xsd/things/Appointment.xsd +24 -0
  420. data/lib/xsd/things/Asthma Inhaler Usage.xsd +44 -0
  421. data/lib/xsd/things/Asthma Inhaler.xsd +99 -0
  422. data/lib/xsd/things/Base Thing Type.xsd +1000 -0
  423. data/lib/xsd/things/Basic Demographic Information.xsd +49 -0
  424. data/lib/xsd/things/Blood Glucose Measurement.xsd +28 -0
  425. data/lib/xsd/things/Blood Pressure Measurement.xsd +30 -0
  426. data/lib/xsd/things/Cardiac Profile.xsd +80 -0
  427. data/lib/xsd/things/Cholesterol Profile (Lipid Profile).xsd +38 -0
  428. data/lib/xsd/things/Concern.xsd +17 -0
  429. data/lib/xsd/things/Condition.xsd +28 -0
  430. data/lib/xsd/things/Continuity of Care Record.xsd +3 -0
  431. data/lib/xsd/things/Contraindication.xsd +27 -0
  432. data/lib/xsd/things/Daily Dietary Intake.xsd +51 -0
  433. data/lib/xsd/things/Daily Medication Usage.xsd +41 -0
  434. data/lib/xsd/things/Device.xsd +24 -0
  435. data/lib/xsd/things/Diabetes Insulin Injection Use.xsd +26 -0
  436. data/lib/xsd/things/Diabetic Profile.xsd +92 -0
  437. data/lib/xsd/things/Discharge Summary.xsd +43 -0
  438. data/lib/xsd/things/Emergency or Provider Contact.xsd +11 -0
  439. data/lib/xsd/things/Emotional State.xsd +24 -0
  440. data/lib/xsd/things/Encounter (old).xsd +21 -0
  441. data/lib/xsd/things/Encounter.xsd +19 -0
  442. data/lib/xsd/things/Family History Condition.xsd +12 -0
  443. data/lib/xsd/things/Family History Person.xsd +18 -0
  444. data/lib/xsd/things/Family History.xsd +27 -0
  445. data/lib/xsd/things/File.xsd +28 -0
  446. data/lib/xsd/things/HL7 Continuity of Care Document.xsd +33 -0
  447. data/lib/xsd/things/HbA1C Measurement.xsd +23 -0
  448. data/lib/xsd/things/Healthcare Proxy.xsd +21 -0
  449. data/lib/xsd/things/Height Measurement.xsd +13 -0
  450. data/lib/xsd/things/Immunization.xsd +32 -0
  451. data/lib/xsd/things/Insulin Injection.xsd +30 -0
  452. data/lib/xsd/things/Insurance Plan.xsd +46 -0
  453. data/lib/xsd/things/Lab Test Result.xsd +11 -0
  454. data/lib/xsd/things/Life Goal.xsd +19 -0
  455. data/lib/xsd/things/Link.xsd +12 -0
  456. data/lib/xsd/things/Medical Annotation.xsd +21 -0
  457. data/lib/xsd/things/Medical Problem.xsd +15 -0
  458. data/lib/xsd/things/Medication.xsd +82 -0
  459. data/lib/xsd/things/Microbiology Lab Test Result.xsd +25 -0
  460. data/lib/xsd/things/Password Protected Package.xsd +23 -0
  461. data/lib/xsd/things/Personal Contact Information.xsd +18 -0
  462. data/lib/xsd/things/Personal Demographic Information.xsd +63 -0
  463. data/lib/xsd/things/Personal Image.xsd +13 -0
  464. data/lib/xsd/things/Procedure.xsd +19 -0
  465. data/lib/xsd/things/Radiology Lab Result.xsd +19 -0
  466. data/lib/xsd/things/Respiratory Profile.xsd +33 -0
  467. data/lib/xsd/things/Sleep Related Activity.xsd +45 -0
  468. data/lib/xsd/things/Sleep Session.xsd +51 -0
  469. data/lib/xsd/things/Spirometer Measurement.xsd +113 -0
  470. data/lib/xsd/things/Vital Signs.xsd +31 -0
  471. data/lib/xsd/things/Weekly Aerobic Exercise Goal.xsd +25 -0
  472. data/lib/xsd/things/Weight Goal.xsd +33 -0
  473. data/lib/xsd/things/Weight Measurement.xsd +10 -0
  474. data/spec/connection_spec.rb +17 -0
  475. data/spec/request_spec.rb +42 -0
  476. data/spec/support/test_server.rb +42 -0
  477. metadata +646 -0
@@ -0,0 +1,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
+