helix.fhir.client.sdk 4.2.26__py3-none-any.whl → 4.2.28__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.
- helix_fhir_client_sdk/utilities/fhir_scope_parser.py +12 -1
- {helix_fhir_client_sdk-4.2.26.dist-info → helix_fhir_client_sdk-4.2.28.dist-info}/METADATA +1 -1
- {helix_fhir_client_sdk-4.2.26.dist-info → helix_fhir_client_sdk-4.2.28.dist-info}/RECORD +6 -6
- {helix_fhir_client_sdk-4.2.26.dist-info → helix_fhir_client_sdk-4.2.28.dist-info}/WHEEL +1 -1
- {helix_fhir_client_sdk-4.2.26.dist-info → helix_fhir_client_sdk-4.2.28.dist-info}/licenses/LICENSE +0 -0
- {helix_fhir_client_sdk-4.2.26.dist-info → helix_fhir_client_sdk-4.2.28.dist-info}/top_level.txt +0 -0
|
@@ -113,6 +113,17 @@ class FhirScopeParser:
|
|
|
113
113
|
assert resource_type
|
|
114
114
|
assert interaction
|
|
115
115
|
|
|
116
|
+
interaction = interaction.lower()
|
|
117
|
+
interactions_list: list[str]
|
|
118
|
+
if interaction == "read":
|
|
119
|
+
# SMART on FHIR v2 defines shorthand interaction codes:
|
|
120
|
+
# - "r" = read
|
|
121
|
+
# - "rs" = read + search
|
|
122
|
+
# Include all equivalent read/search interaction values for compatibility with v2 scopes.
|
|
123
|
+
interactions_list = ["read", "r", "rs"]
|
|
124
|
+
else:
|
|
125
|
+
interactions_list = [interaction]
|
|
126
|
+
|
|
116
127
|
# note that resource_type is actually called Operation in SMART on FHIR scopes:
|
|
117
128
|
# A SMART on FHIR scope string is constructed as resourceType.operation.permission.
|
|
118
129
|
# For example, the scope string patient/*.read requests read-only access to all patient-related resources.
|
|
@@ -122,7 +133,7 @@ class FhirScopeParser:
|
|
|
122
133
|
scope.operation
|
|
123
134
|
and scope.interaction
|
|
124
135
|
and (scope.operation == "*" or scope.operation.lower() == resource_type.lower())
|
|
125
|
-
and (scope.interaction == "*" or scope.interaction.lower()
|
|
136
|
+
and (scope.interaction == "*" or scope.interaction.lower() in interactions_list)
|
|
126
137
|
):
|
|
127
138
|
return True
|
|
128
139
|
return False
|
|
@@ -97,7 +97,7 @@ helix_fhir_client_sdk/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
|
97
97
|
helix_fhir_client_sdk/utilities/async_runner.py,sha256=eQnhvszDqOM8PLebBctkIUvD6qzg6F-b-VuDFcoHRlg,4251
|
|
98
98
|
helix_fhir_client_sdk/utilities/fhir_client_logger.py,sha256=Rjbo2Q0xCGN-udyn7PH2AaOoK5apqRjS5CXXR1dPutM,932
|
|
99
99
|
helix_fhir_client_sdk/utilities/fhir_helper.py,sha256=5cR-Wu4KgIEJ3A7JB2UJrcUEiGWPYnTdfMXXVszLJeU,4070
|
|
100
|
-
helix_fhir_client_sdk/utilities/fhir_scope_parser.py,sha256=
|
|
100
|
+
helix_fhir_client_sdk/utilities/fhir_scope_parser.py,sha256=y9gwx-C1Jasqu4DIZU4JsO9PwhQIIwGuT9e5sR6vMQI,5778
|
|
101
101
|
helix_fhir_client_sdk/utilities/fhir_scope_parser_result.py,sha256=lZal4nF79AIR1D81V_y2XA_euvWCQhb7jevjorLKh0Y,378
|
|
102
102
|
helix_fhir_client_sdk/utilities/fhir_server_helpers.py,sha256=fXDMI9WsukgLr9hEvkzNJLYiMJGarL_L-ggR7fxPGJE,1368
|
|
103
103
|
helix_fhir_client_sdk/utilities/hash_util.py,sha256=YNUy7-IC_OtC0l-T45UO9UkA-_pse6XcYbuXo6rCIUw,571
|
|
@@ -130,7 +130,7 @@ helix_fhir_client_sdk/validators/async_fhir_validator.py,sha256=i1BC98hZF6JhMQQz
|
|
|
130
130
|
helix_fhir_client_sdk/validators/fhir_validator.py,sha256=HWBldSEB9yeKIcnLcV8R-LoTzwT_OMu8SchtUUBKzys,2331
|
|
131
131
|
helix_fhir_client_sdk/validators/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
132
132
|
helix_fhir_client_sdk/validators/test/test_async_fhir_validator.py,sha256=RmSowjPUdZee5nYuYujghxWyqJ20cu7U0lJFtFT-ZBs,3285
|
|
133
|
-
helix_fhir_client_sdk-4.2.
|
|
133
|
+
helix_fhir_client_sdk-4.2.28.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
134
134
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
135
135
|
tests/logger_for_test.py,sha256=UC-7F6w6fDsUIYf37aRnvUdiUUVk8qkJEUSuO17NQnI,1525
|
|
136
136
|
tests/test_fhir_client_clone.py,sha256=c5y1rWJ32nBSUnK1FfyymY005dNowd4Nf1xrbuQolNk,5368
|
|
@@ -213,7 +213,7 @@ tests_integration/test_emr_server_auth.py,sha256=2I4QUAspQN89uGf6JB2aVuYaBeDnRJz
|
|
|
213
213
|
tests_integration/test_firely_fhir.py,sha256=ll6-plwQrKfdrEyfbw0wLTC1jB-Qei1Mj-81tYTl5eQ,697
|
|
214
214
|
tests_integration/test_merge_vs_smart_merge_behavior.py,sha256=LrIuyxzw0YLaTjcRtG0jzy0M6xSv9qebmdBtMPDcacQ,3733
|
|
215
215
|
tests_integration/test_staging_server_graph.py,sha256=5RfMxjhdX9o4-n_ZRvze4Sm8u8NjRijRLDpqiz8qD_0,7132
|
|
216
|
-
helix_fhir_client_sdk-4.2.
|
|
217
|
-
helix_fhir_client_sdk-4.2.
|
|
218
|
-
helix_fhir_client_sdk-4.2.
|
|
219
|
-
helix_fhir_client_sdk-4.2.
|
|
216
|
+
helix_fhir_client_sdk-4.2.28.dist-info/METADATA,sha256=eW1jC8Zfc84auagI-wpnuWPc_FuRIDbjzzZB13oiLrc,7210
|
|
217
|
+
helix_fhir_client_sdk-4.2.28.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
218
|
+
helix_fhir_client_sdk-4.2.28.dist-info/top_level.txt,sha256=BRnDS6ceQxs-4u2jXznATObgP8G2cGAerlH0ZS4sJ6M,46
|
|
219
|
+
helix_fhir_client_sdk-4.2.28.dist-info/RECORD,,
|
{helix_fhir_client_sdk-4.2.26.dist-info → helix_fhir_client_sdk-4.2.28.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{helix_fhir_client_sdk-4.2.26.dist-info → helix_fhir_client_sdk-4.2.28.dist-info}/top_level.txt
RENAMED
|
File without changes
|