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,157 @@
1
+ from ..value_set import ValueSet
2
+
3
+
4
+ class InpatientFalls(ValueSet):
5
+ """
6
+ **Clinical Focus:** The purpose of this Grouped value set is to represent concepts for falls within the hospital setting.
7
+
8
+ **Data Element Scope:** This value set may use a model element related to Adverse Event.
9
+
10
+ **Inclusion Criteria:** Includes concepts that represent falls within the hospital setting.
11
+
12
+ **Exclusion Criteria:** Excludes concepts that represent falls outside of the hospital setting.
13
+ """
14
+
15
+ VALUE_SET_NAME = "Inpatient Falls"
16
+ OID = "2.16.840.1.113762.1.4.1147.171"
17
+ DEFINITION_VERSION = "20210605"
18
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
19
+
20
+ ICD10CM = {
21
+ "W010XXA", # Fall on same level from slipping, tripping and stumbling without subsequent striking against object, initial encounter
22
+ "W0110XA", # Fall on same level from slipping, tripping and stumbling with subsequent striking against unspecified object, initial encounter
23
+ "W01110A", # Fall on same level from slipping, tripping and stumbling with subsequent striking against sharp glass, initial encounter
24
+ "W01111A", # Fall on same level from slipping, tripping and stumbling with subsequent striking against power tool or machine, initial encounter
25
+ "W01118A", # Fall on same level from slipping, tripping and stumbling with subsequent striking against other sharp object, initial encounter
26
+ "W01119A", # Fall on same level from slipping, tripping and stumbling with subsequent striking against unspecified sharp object, initial encounter
27
+ "W01190A", # Fall on same level from slipping, tripping and stumbling with subsequent striking against furniture, initial encounter
28
+ "W01198A", # Fall on same level from slipping, tripping and stumbling with subsequent striking against other object, initial encounter
29
+ "W03XXXA", # Other fall on same level due to collision with another person, initial encounter
30
+ "W04XXXA", # Fall while being carried or supported by other persons, initial encounter
31
+ "W050XXA", # Fall from non-moving wheelchair, initial encounter
32
+ "W051XXA", # Fall from non-moving nonmotorized scooter, initial encounter
33
+ "W052XXA", # Fall from non-moving motorized mobility scooter, initial encounter
34
+ "W06XXXA", # Fall from bed, initial encounter
35
+ "W07XXXA", # Fall from chair, initial encounter
36
+ "W08XXXA", # Fall from other furniture, initial encounter
37
+ "W101XXA", # Fall (on)(from) sidewalk curb, initial encounter
38
+ "W102XXA", # Fall (on)(from) incline, initial encounter
39
+ "W108XXA", # Fall (on) (from) other stairs and steps, initial encounter
40
+ "W109XXA", # Fall (on) (from) unspecified stairs and steps, initial encounter
41
+ "W133XXA", # Fall through floor, initial encounter
42
+ "W134XXA", # Fall from, out of or through window, initial encounter
43
+ "W138XXA", # Fall from, out of or through other building or structure, initial encounter
44
+ "W139XXA", # Fall from, out of or through building, not otherwise specified, initial encounter
45
+ "W16211A", # Fall in (into) filled bathtub causing drowning and submersion, initial encounter
46
+ "W16212A", # Fall in (into) filled bathtub causing other injury, initial encounter
47
+ "W16221A", # Fall in (into) bucket of water causing drowning and submersion, initial encounter
48
+ "W16222A", # Fall in (into) bucket of water causing other injury, initial encounter
49
+ "W1789XA", # Other fall from one level to another, initial encounter
50
+ "W1800XA", # Striking against unspecified object with subsequent fall, initial encounter
51
+ "W1801XA", # Striking against sports equipment with subsequent fall, initial encounter
52
+ "W1802XA", # Striking against glass with subsequent fall, initial encounter
53
+ "W1809XA", # Striking against other object with subsequent fall, initial encounter
54
+ "W1811XA", # Fall from or off toilet without subsequent striking against object, initial encounter
55
+ "W1812XA", # Fall from or off toilet with subsequent striking against object, initial encounter
56
+ "W182XXA", # Fall in (into) shower or empty bathtub, initial encounter
57
+ "W1830XA", # Fall on same level, unspecified, initial encounter
58
+ "W1831XA", # Fall on same level due to stepping on an object, initial encounter
59
+ "W1839XA", # Other fall on same level, initial encounter
60
+ "W19XXXA", # Unspecified fall, initial encounter
61
+ }
62
+
63
+ SNOMEDCT = {
64
+ "14047009", # Fall from building (event)
65
+ "161898004", # Falls (finding)
66
+ "17886000", # Fall from wheelchair (event)
67
+ "1912002", # Fall (event)
68
+ "20902002", # Fall from bed (event)
69
+ "217082002", # Accidental fall (event)
70
+ "217083007", # Fall on or from stairs or steps (event)
71
+ "217088003", # Fall on or from stairs (event)
72
+ "217090002", # Fall from stairs (event)
73
+ "217092005", # Fall on or from steps (event)
74
+ "217093000", # Fall on steps (event)
75
+ "217094006", # Fall from steps (event)
76
+ "217142006", # Fall from chair or bed (event)
77
+ "217154006", # Fall on same level from slipping, tripping or stumbling (event)
78
+ "217155007", # Fall on same level from slipping (event)
79
+ "217156008", # Fall on same level from tripping (event)
80
+ "217157004", # Fall on same level from stumbling (event)
81
+ "217173005", # Fall from bump against object (event)
82
+ "242389003", # Fall due to wet surface (event)
83
+ "242390007", # Fall due to polished surface (event)
84
+ "242391006", # Fall due to discarded object (event)
85
+ "242392004", # Fall in bath or shower (event)
86
+ "242394003", # Fall due to accidental trip by another person (event)
87
+ "242395002", # Fall due to trip on loose carpet (event)
88
+ "242396001", # Fall due to uneven surface indoors (event)
89
+ "242398000", # Fall due to loss of equilibrium (event)
90
+ "242399008", # Fall due to failure of support (event)
91
+ "242400001", # Fall due to failure of rail (event)
92
+ "242401002", # Fall due to leaning on insecure furniture (event)
93
+ "242402009", # Fall on same level due to accidental impact with another person (event)
94
+ "242403004", # Fall on same level due to deliberate assault by another person (event)
95
+ "242413007", # Fall from furniture (event)
96
+ "242415000", # Fall from hospital gurney (event)
97
+ "242417008", # Fall from ambulance stretcher (event)
98
+ "242419006", # Fall from toilet seat (event)
99
+ "249995008", # Legs give way - falling (finding)
100
+ "269699007", # Fall on same level from impact against object (event)
101
+ "274918000", # Fall on same level due to nature of surface (event)
102
+ "274919008", # Fall on same level due to impact against another person (event)
103
+ "279992002", # Recurrent falls (finding)
104
+ "298344006", # Elderly fall (finding)
105
+ "33036003", # Fall on same level (event)
106
+ "404911003", # Unexplained recurrent falls (finding)
107
+ "404912005", # Unexplained falls (finding)
108
+ "408561005", # Falls caused by medication (finding)
109
+ "414190009", # Fall on stairs (event)
110
+ "427849003", # Fall on hard surface (event)
111
+ "429012000", # Fall on soft surface (event)
112
+ "429482004", # Fall from high place (event)
113
+ "429621003", # Fall on concrete (event)
114
+ "429636000", # Fall into water (event)
115
+ "435901000124102", # Fall due to seizure (event)
116
+ "44188002", # Fall in shower (event)
117
+ "48015001", # Fall through window (event)
118
+ "56307009", # Fall from table (event)
119
+ "60594001", # Fall while being carried (event)
120
+ "713397003", # Fall from operating room table (event)
121
+ "74541001", # Fall from bench (event)
122
+ "83468000", # Fall from chair (event)
123
+ "90619006", # Fall in bathtub (event)
124
+ "90639005", # Fall from window (event)
125
+ }
126
+
127
+
128
+ class ThrombolyticMedications(ValueSet):
129
+ """
130
+ **Clinical Focus:** The purpose of this value set is to represent concepts for thrombolytic medications used for treatment of ST-segment elevation myocardial infaction (STEMI).
131
+
132
+ **Data Element Scope:** This value set may use a model element related to Medication.
133
+
134
+ **Inclusion Criteria:** Includes RXNORM codes that represent ingredients in thrombolytic medications for STEMI treatment.
135
+
136
+ **Exclusion Criteria:** No exclusions
137
+ """
138
+
139
+ VALUE_SET_NAME = "Thrombolytic medications"
140
+ OID = "2.16.840.1.113762.1.4.1170.4"
141
+ DEFINITION_VERSION = "20211007"
142
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
143
+
144
+ RXNORM = {
145
+ "10106", # streptokinase
146
+ "11055", # urokinase
147
+ "259280", # tenecteplase
148
+ "40028", # anistreplase
149
+ "76895", # reteplase
150
+ "8410", # alteplase
151
+ }
152
+
153
+
154
+ __exports__ = (
155
+ "InpatientFalls",
156
+ "ThrombolyticMedications",
157
+ )
@@ -0,0 +1,116 @@
1
+ from ..value_set import ValueSet
2
+
3
+
4
+ class AceInhibitorOrArbOrArniIngredient(ValueSet):
5
+ """
6
+ **Clinical Focus:** The purpose of this value set is to represent concepts for medications of angiotensin-converting enzyme (ACE) inhibitor, angiotensin-receptor blocker (ARB), and angiotensin receptor/neprilysin inhibitor (ARNI) ingredients.
7
+
8
+ **Data Element Scope:** This value set may use a model element related to Allergy/Intolerance.
9
+
10
+ **Inclusion Criteria:** Includes concepts that represent an allergy or intolerance for prescribable angiotensin-converting enzyme (ACE) inhibitor, angiotensin-receptor blocker (ARB), and angiotensin receptor/neprilysin inhibitor (ARNI) ingredients only.
11
+
12
+ **Exclusion Criteria:** No exclusions.
13
+ """
14
+
15
+ VALUE_SET_NAME = "ACE Inhibitor or ARB or ARNI Ingredient"
16
+ OID = "2.16.840.1.113883.3.526.3.1489"
17
+ DEFINITION_VERSION = "20230217"
18
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
19
+
20
+ RXNORM = {
21
+ "1091643", # azilsartan
22
+ "1656328", # sacubitril
23
+ "18867", # benazepril
24
+ "1998", # captopril
25
+ "214354", # candesartan
26
+ "29046", # lisinopril
27
+ "30131", # moexipril
28
+ "321064", # olmesartan
29
+ "35208", # quinapril
30
+ "35296", # ramipril
31
+ "3827", # enalapril
32
+ "38454", # trandolapril
33
+ "50166", # fosinopril
34
+ "52175", # losartan
35
+ "54552", # perindopril
36
+ "69749", # valsartan
37
+ "73494", # telmisartan
38
+ "83515", # eprosartan
39
+ "83818", # irbesartan
40
+ }
41
+
42
+
43
+ class BetaBlockerTherapyIngredient(ValueSet):
44
+ """
45
+ **Clinical Focus:** The purpose of this value set is to represent concepts for medications containing ingredients for beta blocker therapy.
46
+
47
+ **Data Element Scope:** This value set may use a model element related to Allergy/Intolerance.
48
+
49
+ **Inclusion Criteria:** Includes concepts that represent an allergy or intolerance for prescribable beta blockers.
50
+
51
+ **Exclusion Criteria:** No exclusions.
52
+ """
53
+
54
+ VALUE_SET_NAME = "Beta Blocker Therapy Ingredient"
55
+ OID = "2.16.840.1.113883.3.526.3.1493"
56
+ DEFINITION_VERSION = "20170504"
57
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
58
+
59
+ RXNORM = {
60
+ "10600", # timolol
61
+ "10824", # metipranolol
62
+ "1202", # atenolol
63
+ "149", # acebutolol
64
+ "1520", # betaxolol
65
+ "1813", # levobunolol
66
+ "19484", # bisoprolol
67
+ "20352", # carvedilol
68
+ "2116", # carteolol
69
+ "31555", # nebivolol
70
+ "49737", # esmolol
71
+ "6185", # labetalol
72
+ "6918", # metoprolol
73
+ "7226", # nadolol
74
+ "8332", # pindolol
75
+ "8787", # propranolol
76
+ "9947", # sotalol
77
+ }
78
+
79
+
80
+ class StatinAllergen(ValueSet):
81
+ """
82
+ **Clinical Focus:** The purpose of this value set is to represent concepts of an allergy to statin medications.
83
+
84
+ **Data Element Scope:** This value set may use a model element related to Allergy/Intolerance.
85
+
86
+ **Inclusion Criteria:** Includes concepts that define an allergy to statin medications.
87
+
88
+ **Exclusion Criteria:** No exclusions.
89
+ """
90
+
91
+ VALUE_SET_NAME = "Statin Allergen"
92
+ OID = "2.16.840.1.113762.1.4.1110.42"
93
+ DEFINITION_VERSION = "20210220"
94
+ EXPANSION_VERSION = "eCQM Update 2025-05-08"
95
+
96
+ RXNORM = {
97
+ "301542", # rosuvastatin
98
+ "36567", # simvastatin
99
+ "41127", # fluvastatin
100
+ "42463", # pravastatin
101
+ "6472", # lovastatin
102
+ "83367", # atorvastatin
103
+ "861634", # pitavastatin
104
+ }
105
+
106
+ SNOMEDCT = {
107
+ "372912004", # Substance with 3-hydroxy-3-methylglutaryl-coenzyme A reductase inhibitor mechanism of action (substance)
108
+ "96302009", # Product containing 3-hydroxy-3-methylglutaryl-coenzyme A reductase inhibitor (product)
109
+ }
110
+
111
+
112
+ __exports__ = (
113
+ "AceInhibitorOrArbOrArniIngredient",
114
+ "BetaBlockerTherapyIngredient",
115
+ "StatinAllergen",
116
+ )