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.
@@ -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() == interaction.lower())
136
+ and (scope.interaction == "*" or scope.interaction.lower() in interactions_list)
126
137
  ):
127
138
  return True
128
139
  return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: helix.fhir.client.sdk
3
- Version: 4.2.26
3
+ Version: 4.2.28
4
4
  Summary: helix.fhir.client.sdk
5
5
  Home-page: https://github.com/icanbwell/helix.fhir.client.sdk
6
6
  Author: Imran Qureshi
@@ -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=1rxo4zbmcaa7LGZstYOT6ft52Fj4Tjx-IKfAhKJjGdA,5315
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.26.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
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.26.dist-info/METADATA,sha256=u3xzHMJVqLGpWobmBDUQ_zEdg-C23KShPjN7_mGmPok,7210
217
- helix_fhir_client_sdk-4.2.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
218
- helix_fhir_client_sdk-4.2.26.dist-info/top_level.txt,sha256=BRnDS6ceQxs-4u2jXznATObgP8G2cGAerlH0ZS4sJ6M,46
219
- helix_fhir_client_sdk-4.2.26.dist-info/RECORD,,
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5