canvas 0.63.0__py3-none-any.whl → 0.89.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. {canvas-0.63.0.dist-info → canvas-0.89.0.dist-info}/METADATA +4 -1
  2. {canvas-0.63.0.dist-info → canvas-0.89.0.dist-info}/RECORD +184 -98
  3. {canvas-0.63.0.dist-info → canvas-0.89.0.dist-info}/WHEEL +1 -1
  4. canvas_cli/apps/emit/event_fixtures/UNKNOWN.ndjson +1 -0
  5. canvas_cli/apps/logs/logs.py +386 -22
  6. canvas_cli/main.py +3 -1
  7. canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/test_models.py +46 -4
  8. canvas_cli/utils/context/context.py +13 -13
  9. canvas_cli/utils/validators/manifest_schema.py +26 -1
  10. canvas_generated/messages/effects_pb2.py +5 -5
  11. canvas_generated/messages/effects_pb2.pyi +108 -2
  12. canvas_generated/messages/events_pb2.py +6 -6
  13. canvas_generated/messages/events_pb2.pyi +282 -2
  14. canvas_sdk/clients/__init__.py +1 -0
  15. canvas_sdk/clients/llms/__init__.py +17 -0
  16. canvas_sdk/clients/llms/libraries/__init__.py +11 -0
  17. canvas_sdk/clients/llms/libraries/llm_anthropic.py +87 -0
  18. canvas_sdk/clients/llms/libraries/llm_api.py +143 -0
  19. canvas_sdk/clients/llms/libraries/llm_google.py +92 -0
  20. canvas_sdk/clients/llms/libraries/llm_openai.py +98 -0
  21. canvas_sdk/clients/llms/structures/__init__.py +9 -0
  22. canvas_sdk/clients/llms/structures/llm_response.py +33 -0
  23. canvas_sdk/clients/llms/structures/llm_tokens.py +53 -0
  24. canvas_sdk/clients/llms/structures/llm_turn.py +47 -0
  25. canvas_sdk/clients/llms/structures/settings/__init__.py +13 -0
  26. canvas_sdk/clients/llms/structures/settings/llm_settings.py +27 -0
  27. canvas_sdk/clients/llms/structures/settings/llm_settings_anthropic.py +43 -0
  28. canvas_sdk/clients/llms/structures/settings/llm_settings_gemini.py +40 -0
  29. canvas_sdk/clients/llms/structures/settings/llm_settings_gpt4.py +40 -0
  30. canvas_sdk/clients/llms/structures/settings/llm_settings_gpt5.py +48 -0
  31. canvas_sdk/clients/third_party.py +3 -0
  32. canvas_sdk/commands/__init__.py +12 -0
  33. canvas_sdk/commands/base.py +33 -2
  34. canvas_sdk/commands/commands/adjust_prescription.py +4 -0
  35. canvas_sdk/commands/commands/custom_command.py +86 -0
  36. canvas_sdk/commands/commands/family_history.py +17 -1
  37. canvas_sdk/commands/commands/immunization_statement.py +42 -2
  38. canvas_sdk/commands/commands/medication_statement.py +16 -1
  39. canvas_sdk/commands/commands/past_surgical_history.py +16 -1
  40. canvas_sdk/commands/commands/perform.py +18 -1
  41. canvas_sdk/commands/commands/prescribe.py +8 -9
  42. canvas_sdk/commands/commands/refill.py +5 -5
  43. canvas_sdk/commands/commands/resolve_condition.py +5 -5
  44. canvas_sdk/commands/commands/review/__init__.py +3 -0
  45. canvas_sdk/commands/commands/review/base.py +72 -0
  46. canvas_sdk/commands/commands/review/imaging.py +13 -0
  47. canvas_sdk/commands/commands/review/lab.py +13 -0
  48. canvas_sdk/commands/commands/review/referral.py +13 -0
  49. canvas_sdk/commands/commands/review/uncategorized_document.py +13 -0
  50. canvas_sdk/commands/validation.py +43 -0
  51. canvas_sdk/effects/batch_originate.py +22 -0
  52. canvas_sdk/effects/calendar/__init__.py +13 -3
  53. canvas_sdk/effects/calendar/{create_calendar.py → calendar.py} +19 -5
  54. canvas_sdk/effects/calendar/event.py +172 -0
  55. canvas_sdk/effects/claim_label.py +93 -0
  56. canvas_sdk/effects/claim_line_item.py +47 -0
  57. canvas_sdk/effects/claim_queue.py +49 -0
  58. canvas_sdk/effects/fax/__init__.py +3 -0
  59. canvas_sdk/effects/fax/base.py +77 -0
  60. canvas_sdk/effects/fax/note.py +42 -0
  61. canvas_sdk/effects/metadata.py +15 -1
  62. canvas_sdk/effects/note/__init__.py +8 -1
  63. canvas_sdk/effects/note/appointment.py +135 -7
  64. canvas_sdk/effects/note/base.py +17 -0
  65. canvas_sdk/effects/note/message.py +22 -14
  66. canvas_sdk/effects/note/note.py +150 -1
  67. canvas_sdk/effects/observation/__init__.py +11 -0
  68. canvas_sdk/effects/observation/base.py +206 -0
  69. canvas_sdk/effects/patient/__init__.py +2 -0
  70. canvas_sdk/effects/patient/base.py +8 -0
  71. canvas_sdk/effects/payment/__init__.py +11 -0
  72. canvas_sdk/effects/payment/base.py +355 -0
  73. canvas_sdk/effects/payment/post_claim_payment.py +49 -0
  74. canvas_sdk/effects/send_contact_verification.py +42 -0
  75. canvas_sdk/effects/task/__init__.py +2 -1
  76. canvas_sdk/effects/task/task.py +30 -0
  77. canvas_sdk/effects/validation/__init__.py +3 -0
  78. canvas_sdk/effects/validation/base.py +92 -0
  79. canvas_sdk/events/base.py +15 -0
  80. canvas_sdk/handlers/application.py +7 -7
  81. canvas_sdk/handlers/simple_api/api.py +1 -4
  82. canvas_sdk/handlers/simple_api/websocket.py +1 -4
  83. canvas_sdk/handlers/utils.py +14 -0
  84. canvas_sdk/questionnaires/utils.py +1 -0
  85. canvas_sdk/templates/utils.py +17 -4
  86. canvas_sdk/test_utils/factories/FACTORY_GUIDE.md +362 -0
  87. canvas_sdk/test_utils/factories/__init__.py +115 -0
  88. canvas_sdk/test_utils/factories/calendar.py +24 -0
  89. canvas_sdk/test_utils/factories/claim.py +81 -0
  90. canvas_sdk/test_utils/factories/claim_diagnosis_code.py +16 -0
  91. canvas_sdk/test_utils/factories/coverage.py +17 -0
  92. canvas_sdk/test_utils/factories/imaging.py +74 -0
  93. canvas_sdk/test_utils/factories/lab.py +192 -0
  94. canvas_sdk/test_utils/factories/medication_history.py +75 -0
  95. canvas_sdk/test_utils/factories/note.py +52 -0
  96. canvas_sdk/test_utils/factories/organization.py +50 -0
  97. canvas_sdk/test_utils/factories/practicelocation.py +88 -0
  98. canvas_sdk/test_utils/factories/referral.py +81 -0
  99. canvas_sdk/test_utils/factories/staff.py +111 -0
  100. canvas_sdk/test_utils/factories/task.py +66 -0
  101. canvas_sdk/test_utils/factories/uncategorized_clinical_document.py +48 -0
  102. canvas_sdk/utils/metrics.py +4 -1
  103. canvas_sdk/v1/data/__init__.py +66 -7
  104. canvas_sdk/v1/data/allergy_intolerance.py +5 -11
  105. canvas_sdk/v1/data/appointment.py +18 -4
  106. canvas_sdk/v1/data/assessment.py +2 -12
  107. canvas_sdk/v1/data/banner_alert.py +2 -4
  108. canvas_sdk/v1/data/base.py +53 -14
  109. canvas_sdk/v1/data/billing.py +8 -11
  110. canvas_sdk/v1/data/calendar.py +64 -0
  111. canvas_sdk/v1/data/care_team.py +4 -10
  112. canvas_sdk/v1/data/claim.py +172 -66
  113. canvas_sdk/v1/data/claim_diagnosis_code.py +19 -0
  114. canvas_sdk/v1/data/claim_line_item.py +2 -5
  115. canvas_sdk/v1/data/coding.py +19 -0
  116. canvas_sdk/v1/data/command.py +2 -4
  117. canvas_sdk/v1/data/common.py +10 -0
  118. canvas_sdk/v1/data/compound_medication.py +3 -4
  119. canvas_sdk/v1/data/condition.py +4 -9
  120. canvas_sdk/v1/data/coverage.py +66 -26
  121. canvas_sdk/v1/data/detected_issue.py +20 -20
  122. canvas_sdk/v1/data/device.py +2 -14
  123. canvas_sdk/v1/data/discount.py +2 -5
  124. canvas_sdk/v1/data/encounter.py +44 -0
  125. canvas_sdk/v1/data/facility.py +1 -0
  126. canvas_sdk/v1/data/goal.py +2 -14
  127. canvas_sdk/v1/data/imaging.py +4 -30
  128. canvas_sdk/v1/data/immunization.py +7 -15
  129. canvas_sdk/v1/data/lab.py +12 -65
  130. canvas_sdk/v1/data/line_item_transaction.py +2 -5
  131. canvas_sdk/v1/data/medication.py +3 -8
  132. canvas_sdk/v1/data/medication_history.py +142 -0
  133. canvas_sdk/v1/data/medication_statement.py +41 -0
  134. canvas_sdk/v1/data/message.py +4 -8
  135. canvas_sdk/v1/data/note.py +37 -38
  136. canvas_sdk/v1/data/observation.py +9 -36
  137. canvas_sdk/v1/data/organization.py +70 -9
  138. canvas_sdk/v1/data/patient.py +8 -12
  139. canvas_sdk/v1/data/patient_consent.py +4 -14
  140. canvas_sdk/v1/data/payment_collection.py +2 -5
  141. canvas_sdk/v1/data/posting.py +3 -9
  142. canvas_sdk/v1/data/practicelocation.py +66 -7
  143. canvas_sdk/v1/data/protocol_override.py +3 -4
  144. canvas_sdk/v1/data/protocol_result.py +3 -3
  145. canvas_sdk/v1/data/questionnaire.py +10 -26
  146. canvas_sdk/v1/data/reason_for_visit.py +2 -6
  147. canvas_sdk/v1/data/referral.py +41 -17
  148. canvas_sdk/v1/data/staff.py +34 -26
  149. canvas_sdk/v1/data/stop_medication_event.py +27 -0
  150. canvas_sdk/v1/data/task.py +30 -11
  151. canvas_sdk/v1/data/team.py +2 -4
  152. canvas_sdk/v1/data/uncategorized_clinical_document.py +84 -0
  153. canvas_sdk/v1/data/user.py +14 -0
  154. canvas_sdk/v1/data/utils.py +5 -0
  155. canvas_sdk/value_set/v2026/__init__.py +1 -0
  156. canvas_sdk/value_set/v2026/adverse_event.py +157 -0
  157. canvas_sdk/value_set/v2026/allergy.py +116 -0
  158. canvas_sdk/value_set/v2026/assessment.py +466 -0
  159. canvas_sdk/value_set/v2026/communication.py +496 -0
  160. canvas_sdk/value_set/v2026/condition.py +52934 -0
  161. canvas_sdk/value_set/v2026/device.py +315 -0
  162. canvas_sdk/value_set/v2026/diagnostic_study.py +5243 -0
  163. canvas_sdk/value_set/v2026/encounter.py +2714 -0
  164. canvas_sdk/value_set/v2026/immunization.py +297 -0
  165. canvas_sdk/value_set/v2026/individual_characteristic.py +339 -0
  166. canvas_sdk/value_set/v2026/intervention.py +1703 -0
  167. canvas_sdk/value_set/v2026/laboratory_test.py +1831 -0
  168. canvas_sdk/value_set/v2026/medication.py +8218 -0
  169. canvas_sdk/value_set/v2026/no_qdm_category_assigned.py +26493 -0
  170. canvas_sdk/value_set/v2026/physical_exam.py +342 -0
  171. canvas_sdk/value_set/v2026/procedure.py +27869 -0
  172. canvas_sdk/value_set/v2026/symptom.py +625 -0
  173. logger/logger.py +30 -31
  174. logger/logstash.py +282 -0
  175. logger/pubsub.py +26 -0
  176. plugin_runner/allowed-module-imports.json +940 -9
  177. plugin_runner/generate_allowed_imports.py +1 -0
  178. plugin_runner/installation.py +2 -2
  179. plugin_runner/plugin_runner.py +21 -24
  180. plugin_runner/sandbox.py +34 -0
  181. protobufs/canvas_generated/messages/effects.proto +65 -0
  182. protobufs/canvas_generated/messages/events.proto +150 -51
  183. settings.py +27 -11
  184. canvas_sdk/effects/calendar/create_event.py +0 -43
  185. {canvas-0.63.0.dist-info → canvas-0.89.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,315 @@
1
+ from ..value_set import ValueSet
2
+
3
+
4
+ class FrailtyDevice(ValueSet):
5
+ """
6
+ **Clinical Focus:** The purpose of this value set is to represent concepts of devices for durable medical equipment (DME) used by frail patients.
7
+
8
+ **Data Element Scope:** This value set may use a model element related to Device.
9
+
10
+ **Inclusion Criteria:** Includes concepts that represent durable medical equipment (DME) or devices for frailty.
11
+
12
+ **Exclusion Criteria:** No exclusions.
13
+
14
+ ** Used in:** CMS131v14
15
+ """
16
+
17
+ VALUE_SET_NAME = "Frailty Device"
18
+ OID = "2.16.840.1.113883.3.464.1003.118.12.1300"
19
+ DEFINITION_VERSION = "20200310"
20
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
21
+
22
+ SNOMEDCT = {
23
+ "466986006", # Walking table (physical object)
24
+ "1142151007", # Oxygen composite cylinder (physical object)
25
+ "1255320005", # Wheeled walker (physical object)
26
+ "1256013004", # Gait rehabilitation electronic wheeled walker (physical object)
27
+ "1256014005", # Basic non-foldable wheeled walker (physical object)
28
+ "1256015006", # Basic foldable wheeled walker (physical object)
29
+ "1256019000", # Wheeled non-foldable walking chair (physical object)
30
+ "1256020006", # Wheeled foldable walking chair (physical object)
31
+ "1256022003", # Wheeled walking table (physical object)
32
+ "183240000", # Self-propelled wheelchair (physical object)
33
+ "183241001", # Pedal powered wheelchair (physical object)
34
+ "183248007", # Attendant powered wheelchair (physical object)
35
+ "228869008", # Manual wheelchair (physical object)
36
+ "23366006", # Motorized wheelchair device (physical object)
37
+ "23562009", # Household ventilator, device (physical object)
38
+ "261323006", # Portable oxygen cylinder (physical object)
39
+ "262177002", # Static oxygen cylinder (physical object)
40
+ "266731002", # Walking frame (physical object)
41
+ "336608004", # Oxygen cylinder (physical object)
42
+ "360006004", # Walking stick (physical object)
43
+ "360008003", # Commode (physical object)
44
+ "360299009", # Long cane (physical object)
45
+ "371786002", # Pressure support ventilator (physical object)
46
+ "37874008", # Continuing positive airway pressure unit, device (physical object)
47
+ "391685000", # Oxygen gas cylinder DD (physical object)
48
+ "391686004", # Oxygen gas cylinder HD (physical object)
49
+ "391687008", # Oxygen gas cylinder RD (physical object)
50
+ "391688003", # Oxygen gas cylinder DF (physical object)
51
+ "391689006", # Oxygen gas cylinder HX (physical object)
52
+ "391880008", # Oxygen gas cylinder F (physical object)
53
+ "391881007", # Oxygen gas cylinder AF (physical object)
54
+ "426160001", # Oxygen ventilator (physical object)
55
+ "464002006", # Portable ventilator, electric (physical object)
56
+ "464157006", # Multiple-base walking stick (physical object)
57
+ "464405003", # Multi-terrain sports wheelchair, attendant/occupant-driven (physical object)
58
+ "464443000", # Stand-up wheelchair (physical object)
59
+ "464571009", # Multi-terrain sports wheelchair, electric-motor-driven (physical object)
60
+ "464752005", # Multi-terrain sports wheelchair, occupant-driven (physical object)
61
+ "465159000", # Stair-climbing wheelchair (physical object)
62
+ "465556004", # Single-base walking stick (physical object)
63
+ "465565006", # Transport wheelchair, collapsible (physical object)
64
+ "465921009", # Ventilation rocking bed (physical object)
65
+ "466182009", # Wheelchair, occupant-driven, front-wheels-operated, non-collapsible (physical object)
66
+ "466193006", # Wheelchair, power-assisted, occupant-controlled, non-collapsible (physical object)
67
+ "466213002", # Wheelchair, electric-motor-driven, occupant-controlled, manual-steering, collapsible (physical object)
68
+ "466229005", # Wheelchair, occupant-driven, bimanual-lever-operated, non-collapsible (physical object)
69
+ "466284002", # Wheelchair, attendant/occupant-driven, bimanual-lever-operated, collapsible (physical object)
70
+ "466316007", # Wheelchair, combustion-engine-driven, non-collapsible (physical object)
71
+ "466322003", # Wheelchair, power-assisted, attendant/occupant-controlled, non-collapsible (physical object)
72
+ "466331003", # Wheelchair, attendant/occupant-driven, single-rear-wheel-operated, non-collapsible (physical object)
73
+ "466337004", # Wheelchair, attendant/occupant-driven, foot-operated, non-collapsible (physical object)
74
+ "466340004", # Wheelchair, occupant-driven, bimanual-lever-operated, collapsible (physical object)
75
+ "466344008", # Wheelchair, electric-motor-driven, occupant-controlled, powered-steering, non-collapsible (physical object)
76
+ "466364003", # Wheelchair, attendant/occupant-driven, rear-wheels-operated, collapsible (physical object)
77
+ "466365002", # Wheelchair, electric-motor-driven, attendant/occupant-controlled, manual-steering, collapsible (physical object)
78
+ "466366001", # Wheelchair, attendant/occupant-driven, single-lever-operated, non-collapsible (physical object)
79
+ "466378002", # Wheelchair, electric-motor-driven, occupant-controlled, powered-steering, collapsible (physical object)
80
+ "466381007", # Wheelchair, attendant-driven, non-collapsible (physical object)
81
+ "466382000", # Basic walking frame, non-foldable (physical object)
82
+ "466407009", # Walking stick/seat (physical object)
83
+ "466466002", # Wheelchair, occupant-driven, foot-operated, collapsible (physical object)
84
+ "466473007", # Wheelchair, electric-motor-driven, attendant-controlled, manual-steering, collapsible (physical object)
85
+ "466477008", # Wheelchair, electric-motor-driven, occupant-controlled, manual-steering, non-collapsible (physical object)
86
+ "466486003", # Wheelchair, attendant/occupant-driven, bimanual-lever-operated, non-collapsible (physical object)
87
+ "466494005", # Wheelchair, power-assisted, attendant-controlled, collapsible (physical object)
88
+ "466524001", # Wheelchair, attendant-driven, collapsible (physical object)
89
+ "466533004", # Wheelchair, attendant/occupant-driven, foot-operated, collapsible (physical object)
90
+ "466538008", # Room humidifier (physical object)
91
+ "466550002", # Wheelchair, attendant/occupant-driven, rear-wheels-operated, non-collapsible (physical object)
92
+ "466553000", # Wheelchair, occupant-driven, single-lever-operated, collapsible (physical object)
93
+ "466576002", # Wheelchair, occupant-driven, bimanual-chain-operated, collapsible (physical object)
94
+ "466607002", # Wheelchair, attendant/occupant-driven, single-lever-operated, collapsible (physical object)
95
+ "466616003", # Wheelchair, attendant/occupant-driven, single-rear-wheel-operated, collapsible (physical object)
96
+ "466619005", # Wheelchair, attendant/occupant-driven, bimanual-chain-operated, non-collapsible (physical object)
97
+ "466644002", # Wheelchair, occupant-driven, bimanual-chain-operated, non-collapsible (physical object)
98
+ "466671002", # Wheelchair, combustion-engine-driven, collapsible (physical object)
99
+ "466695000", # Wheelchair, attendant/occupant-driven, single-front-wheel-operated, collapsible (physical object)
100
+ "466699006", # Wheelchair, power-assisted, attendant/occupant-controlled, collapsible (physical object)
101
+ "466721007", # Wheelchair, power-assisted, attendant-controlled, non-collapsible (physical object)
102
+ "466739003", # Wheelchair, occupant-driven, front-wheels-operated, collapsible (physical object)
103
+ "466758007", # Wheelchair, electric-motor-driven, attendant-controlled, manual-steering, non-collapsible (physical object)
104
+ "466786004", # Basic electric hospital bed (physical object)
105
+ "466809001", # Wheelchair, attendant/occupant-driven, bimanual-chain-operated, collapsible (physical object)
106
+ "466813008", # Wheelchair, electric-motor-driven, attendant-controlled, powered-steering, non-collapsible (physical object)
107
+ "466851008", # Wheelchair, attendant/occupant-driven, front-wheels-operated, collapsible (physical object)
108
+ "466871004", # Wheelchair, electric-motor-driven, attendant/occupant-controlled, powered-steering, non-collapsible (physical object)
109
+ "466889003", # Wheelchair, attendant/occupant-driven, single-front-wheel-operated, non-collapsible (physical object)
110
+ "466926008", # Wheelchair, occupant-driven, rear-wheels-operated, collapsible (physical object)
111
+ "466927004", # Wheelchair, electric-motor-driven, attendant/occupant-controlled, powered-steering, collapsible (physical object)
112
+ "466938004", # Wheelchair, occupant-driven, single-rear-wheel-operated, collapsible (physical object)
113
+ "466947007", # Wheelchair, occupant-driven, rear-wheels-operated, non-collapsible (physical object)
114
+ "466966007", # Wheelchair, occupant-driven, foot-operated, non-collapsible (physical object)
115
+ "466989004", # Wheelchair, attendant/occupant-driven, front-wheels-operated, non-collapsible (physical object)
116
+ "466999009", # Wheelchair, electric-motor-driven, attendant-controlled, powered-steering, collapsible (physical object)
117
+ "467018005", # Wheelchair, occupant-driven, single-lever-operated, non-collapsible (physical object)
118
+ "467065004", # Wheelchair, occupant-driven, single-front-wheel-operated, collapsible (physical object)
119
+ "467068002", # Basic walking frame, foldable (physical object)
120
+ "467077009", # Wheelchair, electric-motor-driven, attendant/occupant-controlled, manual-steering, non-collapsible (physical object)
121
+ "467095007", # Wheelchair, power-assisted, occupant-controlled, collapsible (physical object)
122
+ "467137003", # Wheelchair, occupant-driven, single-rear-wheel-operated, non-collapsible (physical object)
123
+ "467163008", # Wheelchair, occupant-driven, single-front-wheel-operated, non-collapsible (physical object)
124
+ "469860004", # All-plastic conventional wheelchair (physical object)
125
+ "470174002", # Heat/moisture exchanger insertable filter (physical object)
126
+ "58938008", # Wheelchair device (physical object)
127
+ "66435007", # Electric bed, device (physical object)
128
+ "700593005", # Heated respiratory humidifier (physical object)
129
+ "700705005", # Non-heated respiratory humidifier (physical object)
130
+ "700910000", # Ultrasonic respiratory humidifier (physical object)
131
+ "702172008", # Home continuous positive airway pressure unit (physical object)
132
+ "702173003", # Home bilevel positive airway pressure unit (physical object)
133
+ "705419008", # Special-function wheelchair (physical object)
134
+ "705421003", # Sports wheelchair (physical object)
135
+ "705422005", # Power-driven wheelchair (physical object)
136
+ "705423000", # Electric-motor-driven wheelchair (physical object)
137
+ "705425007", # Attendant/occupant-controlled electric-motor-driven wheelchair (physical object)
138
+ "705426008", # Attendant-controlled electric-motor-driven wheelchair (physical object)
139
+ "705427004", # Power-assisted wheelchair (physical object)
140
+ "705428009", # Manual-driven wheelchair (physical object)
141
+ "706180003", # Respiratory humidifier (physical object)
142
+ "714700001", # Bilevel positive airway pressure unit hand held (physical object)
143
+ "71545009", # Household humidifier, device (physical object)
144
+ "87405001", # Cane, device (physical object)
145
+ }
146
+
147
+ class GraduatedCompressionStockings(ValueSet):
148
+ """
149
+ **Clinical Focus:** The purpose of this value set is to represent concepts for a device of graduated compression stocking devices used to prevent venous thromboembolism (VTE) in patients.
150
+
151
+ **Data Element Scope:** This value set may use a model element related to Device.
152
+
153
+ **Inclusion Criteria:** Includes concepts that represent a device for graduated compression stockings.
154
+
155
+ **Exclusion Criteria:** No exclusions.
156
+ """
157
+
158
+ VALUE_SET_NAME = "Graduated compression stockings"
159
+ OID = "2.16.840.1.113883.3.117.1.7.1.256"
160
+ DEFINITION_VERSION = "20240203"
161
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
162
+
163
+ SNOMEDCT = {
164
+ "1142009002", # Compression hosiery class I thigh length (physical object)
165
+ "1142010007", # Compression hosiery class I below knee (physical object)
166
+ "1142011006", # Compression hosiery class II anklet (physical object)
167
+ "1142012004", # Compression hosiery class II kneecap (physical object)
168
+ "1142014003", # Compression hosiery class II thigh length (physical object)
169
+ "1142015002", # Compression hosiery class II below knee (physical object)
170
+ "1142016001", # Compression hosiery class III kneecap (physical object)
171
+ "1142017005", # Compression hosiery class III below knee (physical object)
172
+ "1142018000", # Compression hosiery class III thigh length (physical object)
173
+ "1142019008", # Compression hosiery class III anklet (physical object)
174
+ "348681001", # Graduated compression elastic hosiery (physical object)
175
+ "401622003", # Compression hosiery class I below knee stocking lightweight elastic net made to measure (physical object)
176
+ "401624002", # Compression hosiery class I thigh length stocking lightweight elastic net made to measure (physical object)
177
+ "401625001", # Compression hosiery class I thigh length stocking lightweight elastic net made to measure with fitted suspender (physical object)
178
+ "401626000", # Compression hosiery class II anklet circular knit made to measure (physical object)
179
+ "401628004", # Compression hosiery class II anklet flatbed knit made to measure (physical object)
180
+ "401630002", # Compression hosiery class II anklet net made to measure (physical object)
181
+ "401631003", # Compression hosiery class II below knee stocking circular knit made to measure (physical object)
182
+ "401633000", # Compression hosiery class II below knee stocking flatbed knit made to measure (physical object)
183
+ "401634006", # Compression hosiery class II below knee stocking net made to measure (physical object)
184
+ "401635007", # Compression hosiery class II kneecap circular knit made to measure (physical object)
185
+ "401637004", # Compression hosiery class II kneecap flatbed knit made to measure (physical object)
186
+ "401639001", # Compression hosiery class II kneecap net made to measure (physical object)
187
+ "401640004", # Compression hosiery class II thigh length stocking circular knit made to measure (physical object)
188
+ "401642007", # Compression hosiery class II thigh length stocking flatbed knit made to measure (physical object)
189
+ "401643002", # Compression hosiery class II thigh length stocking flatbed knit made to measure with fitted suspender (physical object)
190
+ "401644008", # Compression hosiery class II thigh length stocking net made to measure (physical object)
191
+ "401645009", # Compression hosiery class II thigh length stocking net made to measure with fitted suspender (physical object)
192
+ "401646005", # Compression hosiery class III anklet flatbed knit made to measure (physical object)
193
+ "401648006", # Compression hosiery class III below knee stocking circular knit made to measure (physical object)
194
+ "401650003", # Compression hosiery class III below knee stocking flatbed knit made to measure (physical object)
195
+ "401651004", # Compression hosiery class III kneecap circular knit made to measure (physical object)
196
+ "401652006", # Compression hosiery class III kneecap flatbed knit made to measure (physical object)
197
+ "401654007", # Compression hosiery class III thigh length stocking circular knit made to measure (physical object)
198
+ "401656009", # Compression hosiery class III thigh length stocking flatbed knit made to measure (physical object)
199
+ "401657000", # Compression hosiery class III thigh length stocking flatbed knit made to measure with fitted suspender (physical object)
200
+ "401776005", # Class I compression hosiery (physical object)
201
+ "401777001", # Class II compression hosiery (physical object)
202
+ "401778006", # Class III compression hosiery (physical object)
203
+ "408127000", # Class I bacteriostatic thigh length stocking (physical object)
204
+ "408128005", # Class I bacteriostatic below knee stocking (physical object)
205
+ "408129002", # Class II bacteriostatic thigh length stocking (physical object)
206
+ "408130007", # Class II bacteriostatic b-knee stocking (physical object)
207
+ "408131006", # Class III bacteriostatic thigh length stocking (physical object)
208
+ "408132004", # Class III bacteriostatic below knee stocking (physical object)
209
+ }
210
+
211
+ class IntermittentPneumaticCompressionDevices(ValueSet):
212
+ """
213
+ **Clinical Focus:** The purpose of this value set is to represent concepts of devices using intermittent pneumatic compression devices for venous thromboembolism (VTE) prophylaxis.
214
+
215
+ **Data Element Scope:** This value set may use a model element related to Device.
216
+
217
+ **Inclusion Criteria:** Includes concepts that represent a device for intermittent pneumatic compression.
218
+
219
+ **Exclusion Criteria:** No exclusions.
220
+ """
221
+
222
+ VALUE_SET_NAME = "Intermittent pneumatic compression devices"
223
+ OID = "2.16.840.1.113883.3.117.1.7.1.214"
224
+ DEFINITION_VERSION = "20230117"
225
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
226
+
227
+ SNOMEDCT = {
228
+ "428411000124104", # Intermittent pneumatic compression boot (physical object)
229
+ "428421000124107", # Intermittent pneumatic compression sleeve (physical object)
230
+ "432441000124100", # Intermittent pneumatic compression device (physical object)
231
+ "442111003", # Intermittent pneumatic compression stockings (physical object)
232
+ "469317002", # Intermittent venous compression system pump (physical object)
233
+ "469365001", # Intermittent venous compression system (physical object)
234
+ }
235
+
236
+ class VenousFootPumps(ValueSet):
237
+ """
238
+ **Clinical Focus:** The purpose of this value set is to identify concepts for a device for a venous pump applied for venous thromboembolism (VTE) prophylaxis.
239
+
240
+ **Data Element Scope:** This value set may use a model element related to Device.
241
+
242
+ **Inclusion Criteria:** Includes concepts that represent a device used for venous thromboembolism (VTE) prophylaxis.
243
+
244
+ **Exclusion Criteria:** No exclusions.
245
+ """
246
+
247
+ VALUE_SET_NAME = "Venous foot pumps"
248
+ OID = "2.16.840.1.113883.3.117.1.7.1.230"
249
+ DEFINITION_VERSION = "20210220"
250
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
251
+
252
+ SNOMEDCT = {
253
+ "442023007", # Venous foot pump, device (physical object)
254
+ }
255
+
256
+ class NonInvasiveOxygenTherapyDeviceCodes(ValueSet):
257
+ """
258
+ **Clinical Focus:** N/A
259
+
260
+ **Data Element Scope:** N/A
261
+
262
+ **Inclusion Criteria:** N/A
263
+
264
+ **Exclusion Criteria:** N/A
265
+ """
266
+
267
+ VALUE_SET_NAME = "Non Invasive Oxygen Therapy Device Codes"
268
+ OID = "2.16.840.1.113762.1.4.1170.57"
269
+ DEFINITION_VERSION = "20250207"
270
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
271
+
272
+ SNOMEDCT = {
273
+ "257420000", # Breathing circuit (physical object)
274
+ "26397000", # Breathing bag, device (physical object)
275
+ "297120004", # Anesthetic face mask (physical object)
276
+ "320917000", # Product containing only oxygen in conventional release gas for inhalation (medicinal product form)
277
+ "336602003", # Oxygen mask (physical object)
278
+ "336608004", # Oxygen cylinder (physical object)
279
+ "336623009", # Oxygen nasal cannula (physical object)
280
+ "405642002", # Anesthesia breathing circuit (physical object)
281
+ "425478008", # Blow by oxygen mask (physical object)
282
+ "425826004", # Bilevel positive airway pressure oxygen nasal cannula (physical object)
283
+ "426294006", # Face tent oxygen delivery device (physical object)
284
+ "426851007", # Aerosol oxygen mask (physical object)
285
+ "426854004", # High flow oxygen nasal cannula (physical object)
286
+ "427591007", # Nonrebreather oxygen mask (physical object)
287
+ "427594004", # Oxyhood (physical object)
288
+ "428285009", # Venturi mask (physical object)
289
+ "442398003", # Nasal mask (physical object)
290
+ "463587004", # Rebreathing oxygen face mask (physical object)
291
+ "464225001", # Oxygen administration nasal catheter (physical object)
292
+ "464233000", # Partial-rebreathing oxygen face mask (physical object)
293
+ "464428002", # Moisture chamber face mask (physical object)
294
+ "464578003", # Oxygen administration face tent (physical object)
295
+ "465256000", # Tracheostomy mask, aerosol (physical object)
296
+ "465433006", # Venturi oxygen face mask (physical object)
297
+ "465839001", # Tracheostomy mask, oxygen (physical object)
298
+ "466713001", # Basic nasal oxygen cannula (physical object)
299
+ "467645007", # Continuous positive airway pressure nasal oxygen cannula (physical object)
300
+ "468246003", # Aerosol face mask, rebreathing (physical object)
301
+ "468414000", # Aerosol face mask, non-rebreathing (physical object)
302
+ "469956003", # Anesthesia breathing circuit circulator (physical object)
303
+ "701254008", # Bidirectional-anesthesia breathing circuit (physical object)
304
+ "701582002", # Vortex oxygen face mask (physical object)
305
+ "706175007", # Ventilator breathing circuit (physical object)
306
+ "719705009", # Capnography oxygen mask (physical object)
307
+ }
308
+
309
+ __exports__ = (
310
+ "FrailtyDevice",
311
+ "GraduatedCompressionStockings",
312
+ "IntermittentPneumaticCompressionDevices",
313
+ "VenousFootPumps",
314
+ "NonInvasiveOxygenTherapyDeviceCodes",
315
+ )