compressedfhir 1.0.4__py3-none-any.whl → 1.0.6__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.
Potentially problematic release.
This version of compressedfhir might be problematic. Click here for more details.
- compressedfhir/fhir/fhir_resource.py +21 -28
- compressedfhir/fhir/fhir_resource_map.py +1 -1
- compressedfhir/fhir/test/test_fhir_resource.py +0 -121
- compressedfhir/utilities/compressed_dict/v1/compressed_dict.py +32 -6
- compressedfhir/utilities/compressed_dict/v1/test/test_compressed_dict.py +4 -4
- compressedfhir/utilities/json_serializers/test/test_type_preservation_serializer.py +9 -4
- {compressedfhir-1.0.4.dist-info → compressedfhir-1.0.6.dist-info}/METADATA +1 -1
- {compressedfhir-1.0.4.dist-info → compressedfhir-1.0.6.dist-info}/RECORD +11 -11
- {compressedfhir-1.0.4.dist-info → compressedfhir-1.0.6.dist-info}/WHEEL +0 -0
- {compressedfhir-1.0.4.dist-info → compressedfhir-1.0.6.dist-info}/licenses/LICENSE +0 -0
- {compressedfhir-1.0.4.dist-info → compressedfhir-1.0.6.dist-info}/top_level.txt +0 -0
|
@@ -61,14 +61,10 @@ class FhirResource(CompressedDict[str, Any]):
|
|
|
61
61
|
else None
|
|
62
62
|
)
|
|
63
63
|
|
|
64
|
-
def json(self) -> str:
|
|
65
|
-
"""Convert the resource to a JSON string."""
|
|
66
|
-
return json.dumps(obj=self.dict(), cls=FhirJSONEncoder)
|
|
67
|
-
|
|
68
64
|
def __deepcopy__(self, memo: Dict[int, Any]) -> "FhirResource":
|
|
69
65
|
"""Create a copy of the resource."""
|
|
70
66
|
return FhirResource(
|
|
71
|
-
initial_dict=super().
|
|
67
|
+
initial_dict=super().raw_dict(),
|
|
72
68
|
storage_mode=self._storage_mode,
|
|
73
69
|
)
|
|
74
70
|
|
|
@@ -84,29 +80,6 @@ class FhirResource(CompressedDict[str, Any]):
|
|
|
84
80
|
"""
|
|
85
81
|
return copy.deepcopy(self)
|
|
86
82
|
|
|
87
|
-
@override
|
|
88
|
-
def dict(self, *, remove_nulls: bool = True) -> OrderedDict[str, Any]:
|
|
89
|
-
"""
|
|
90
|
-
Converts the FhirResource object to a dictionary.
|
|
91
|
-
|
|
92
|
-
:param remove_nulls: If True, removes None values from the dictionary.
|
|
93
|
-
:return: A dictionary representation of the FhirResource object.
|
|
94
|
-
"""
|
|
95
|
-
ordered_dict = super().dict()
|
|
96
|
-
result: OrderedDict[str, Any] = copy.deepcopy(ordered_dict)
|
|
97
|
-
if remove_nulls:
|
|
98
|
-
result = FhirClientJsonHelpers.remove_empty_elements_from_ordered_dict(
|
|
99
|
-
result
|
|
100
|
-
)
|
|
101
|
-
|
|
102
|
-
return result
|
|
103
|
-
|
|
104
|
-
def remove_nulls(self) -> None:
|
|
105
|
-
"""
|
|
106
|
-
Removes None values from the resource dictionary.
|
|
107
|
-
"""
|
|
108
|
-
self.replace(value=self.dict(remove_nulls=True))
|
|
109
|
-
|
|
110
83
|
@property
|
|
111
84
|
def id(self) -> Optional[str]:
|
|
112
85
|
"""Get the ID from the resource dictionary."""
|
|
@@ -171,3 +144,23 @@ class FhirResource(CompressedDict[str, Any]):
|
|
|
171
144
|
properties_to_cache=properties_to_cache,
|
|
172
145
|
),
|
|
173
146
|
)
|
|
147
|
+
|
|
148
|
+
@override
|
|
149
|
+
def json(self) -> str:
|
|
150
|
+
"""Convert the resource to a JSON string."""
|
|
151
|
+
|
|
152
|
+
# working_dict preserves the python types so create a fhir friendly version
|
|
153
|
+
raw_dict: OrderedDict[str, Any] = self.raw_dict()
|
|
154
|
+
|
|
155
|
+
raw_dict = FhirClientJsonHelpers.remove_empty_elements_from_ordered_dict(
|
|
156
|
+
raw_dict
|
|
157
|
+
)
|
|
158
|
+
return json.dumps(obj=raw_dict, cls=FhirJSONEncoder)
|
|
159
|
+
|
|
160
|
+
def to_fhir_dict(self) -> Dict[str, Any]:
|
|
161
|
+
"""
|
|
162
|
+
Convert the resource to a FHIR-compliant dictionary.
|
|
163
|
+
|
|
164
|
+
:return: A dictionary representation of the resource.
|
|
165
|
+
"""
|
|
166
|
+
return cast(Dict[str, Any], json.loads(self.json()))
|
|
@@ -43,7 +43,7 @@ class FhirResourceMap:
|
|
|
43
43
|
"""
|
|
44
44
|
result: OrderedDict[str, Any] = OrderedDict[str, Any]()
|
|
45
45
|
for key, value in self._resource_map.items():
|
|
46
|
-
result[key] = [resource.dict(
|
|
46
|
+
result[key] = [resource.dict() for resource in value]
|
|
47
47
|
return result
|
|
48
48
|
|
|
49
49
|
def get(self, *, resource_type: str) -> Optional[FhirResourceList]:
|
|
@@ -102,124 +102,3 @@ class TestFhirResource:
|
|
|
102
102
|
assert parsed_json == initial_data
|
|
103
103
|
assert "resourceType" in parsed_json
|
|
104
104
|
assert "id" in parsed_json
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
class TestFhirResourceRemoveNulls:
|
|
108
|
-
def test_remove_nulls_simple_dict(self) -> None:
|
|
109
|
-
"""
|
|
110
|
-
Test removing None values from a simple dictionary
|
|
111
|
-
"""
|
|
112
|
-
initial_dict: Dict[str, Any] = {
|
|
113
|
-
"name": "John Doe",
|
|
114
|
-
"age": None,
|
|
115
|
-
"active": True,
|
|
116
|
-
"email": None,
|
|
117
|
-
}
|
|
118
|
-
resource = FhirResource(initial_dict=initial_dict)
|
|
119
|
-
resource.remove_nulls()
|
|
120
|
-
|
|
121
|
-
with resource.transaction():
|
|
122
|
-
# Check that None values are removed
|
|
123
|
-
assert "age" not in resource
|
|
124
|
-
assert "email" not in resource
|
|
125
|
-
assert resource.get("name") == "John Doe"
|
|
126
|
-
assert resource.get("active") is True
|
|
127
|
-
|
|
128
|
-
def test_remove_nulls_nested_dict(self) -> None:
|
|
129
|
-
"""
|
|
130
|
-
Test removing None values from a nested dictionary
|
|
131
|
-
"""
|
|
132
|
-
initial_dict: Dict[str, Any] = {
|
|
133
|
-
"patient": {
|
|
134
|
-
"name": "Jane Smith",
|
|
135
|
-
"contact": None,
|
|
136
|
-
"address": {"street": None, "city": "New York"},
|
|
137
|
-
},
|
|
138
|
-
"status": None,
|
|
139
|
-
}
|
|
140
|
-
resource = FhirResource(initial_dict=initial_dict)
|
|
141
|
-
resource.remove_nulls()
|
|
142
|
-
|
|
143
|
-
with resource.transaction():
|
|
144
|
-
assert "status" not in resource
|
|
145
|
-
assert "contact" not in resource.get("patient", {})
|
|
146
|
-
assert resource.get("patient", {}).get("address", {}).get("street") is None
|
|
147
|
-
assert (
|
|
148
|
-
resource.get("patient", {}).get("address", {}).get("city") == "New York"
|
|
149
|
-
)
|
|
150
|
-
|
|
151
|
-
def test_remove_nulls_list_of_dicts(self) -> None:
|
|
152
|
-
"""
|
|
153
|
-
Test removing None values from a list of dictionaries
|
|
154
|
-
"""
|
|
155
|
-
initial_dict: Dict[str, Any] = {
|
|
156
|
-
"patients": [
|
|
157
|
-
{"name": "Alice", "age": None},
|
|
158
|
-
{"name": "Bob", "age": 30},
|
|
159
|
-
{"name": None, "active": False},
|
|
160
|
-
]
|
|
161
|
-
}
|
|
162
|
-
resource = FhirResource(initial_dict=initial_dict)
|
|
163
|
-
resource.remove_nulls()
|
|
164
|
-
|
|
165
|
-
with resource.transaction():
|
|
166
|
-
assert len(resource.get("patients", [])) == 3
|
|
167
|
-
assert resource.get("patients", [])[0].get("name") == "Alice"
|
|
168
|
-
assert resource.get("patients", [])[1].get("name") == "Bob"
|
|
169
|
-
assert resource.get("patients", [])[1].get("age") == 30
|
|
170
|
-
|
|
171
|
-
def test_remove_nulls_empty_dict(self) -> None:
|
|
172
|
-
"""
|
|
173
|
-
Test removing None values from an empty dictionary
|
|
174
|
-
"""
|
|
175
|
-
resource = FhirResource(initial_dict={})
|
|
176
|
-
resource.remove_nulls()
|
|
177
|
-
|
|
178
|
-
assert len(resource) == 0
|
|
179
|
-
|
|
180
|
-
def test_remove_nulls_no_changes(self) -> None:
|
|
181
|
-
"""
|
|
182
|
-
Test removing None values when no None values exist
|
|
183
|
-
"""
|
|
184
|
-
initial_dict: Dict[str, Any] = {
|
|
185
|
-
"name": "Test User",
|
|
186
|
-
"active": True,
|
|
187
|
-
"score": 100,
|
|
188
|
-
}
|
|
189
|
-
resource = FhirResource(initial_dict=initial_dict)
|
|
190
|
-
original_dict = resource.copy()
|
|
191
|
-
resource.remove_nulls()
|
|
192
|
-
|
|
193
|
-
assert resource == original_dict
|
|
194
|
-
|
|
195
|
-
def test_remove_nulls_with_custom_storage_mode(self) -> None:
|
|
196
|
-
"""
|
|
197
|
-
Test removing None values with a custom storage mode
|
|
198
|
-
"""
|
|
199
|
-
initial_dict: Dict[str, Any] = {
|
|
200
|
-
"name": "Custom Mode User",
|
|
201
|
-
"email": None,
|
|
202
|
-
"active": True,
|
|
203
|
-
}
|
|
204
|
-
resource = FhirResource(
|
|
205
|
-
initial_dict=initial_dict, storage_mode=CompressedDictStorageMode.default()
|
|
206
|
-
)
|
|
207
|
-
resource.remove_nulls()
|
|
208
|
-
|
|
209
|
-
with resource.transaction():
|
|
210
|
-
assert "email" not in resource
|
|
211
|
-
assert resource.get("name") == "Custom Mode User"
|
|
212
|
-
assert resource.get("active") is True
|
|
213
|
-
|
|
214
|
-
def test_remove_nulls_preserves_false_and_zero_values(self) -> None:
|
|
215
|
-
"""
|
|
216
|
-
Test that False and 0 values are not removed
|
|
217
|
-
"""
|
|
218
|
-
initial_dict: Dict[str, Any] = {"active": False, "score": 0, "name": None}
|
|
219
|
-
resource = FhirResource(initial_dict=initial_dict)
|
|
220
|
-
resource.remove_nulls()
|
|
221
|
-
|
|
222
|
-
with resource.transaction():
|
|
223
|
-
assert resource.get("active") is False
|
|
224
|
-
assert resource.get("score") == 0
|
|
225
|
-
assert "name" not in resource
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import copy
|
|
2
|
+
import json
|
|
2
3
|
from collections.abc import KeysView, ValuesView, ItemsView, MutableMapping
|
|
3
4
|
from contextlib import contextmanager
|
|
4
5
|
from typing import Dict, Optional, Iterator, cast, List, Any, overload, OrderedDict
|
|
@@ -13,6 +14,7 @@ from compressedfhir.utilities.compressed_dict.v1.compressed_dict_storage_mode im
|
|
|
13
14
|
CompressedDictStorageMode,
|
|
14
15
|
CompressedDictStorageType,
|
|
15
16
|
)
|
|
17
|
+
from compressedfhir.utilities.fhir_json_encoder import FhirJSONEncoder
|
|
16
18
|
from compressedfhir.utilities.json_serializers.type_preservation_serializer import (
|
|
17
19
|
TypePreservationSerializer,
|
|
18
20
|
)
|
|
@@ -423,19 +425,43 @@ class CompressedDict[K, V](MutableMapping[K, V]):
|
|
|
423
425
|
"""
|
|
424
426
|
return self._get_dict().items()
|
|
425
427
|
|
|
426
|
-
def
|
|
428
|
+
def raw_dict(self) -> OrderedDict[K, V]:
|
|
427
429
|
"""
|
|
428
|
-
|
|
430
|
+
Returns the raw dictionary. Deserializes if necessary.
|
|
431
|
+
Note that this dictionary preserves the python types so it is not FHIR friendly.
|
|
432
|
+
Use dict() if you want a FHIR friendly version.
|
|
429
433
|
|
|
430
434
|
Returns:
|
|
431
|
-
|
|
435
|
+
raw dictionary
|
|
432
436
|
"""
|
|
433
437
|
if self._working_dict:
|
|
434
438
|
return self._working_dict
|
|
435
439
|
else:
|
|
436
|
-
# if the working dict is None, return it but don't store it in the self._working_dict to keep memory low
|
|
440
|
+
# if the working dict is not None, return it but don't store it in the self._working_dict to keep memory low
|
|
437
441
|
return self.create_working_dict()
|
|
438
442
|
|
|
443
|
+
def dict(self) -> OrderedDict[K, V]:
|
|
444
|
+
"""
|
|
445
|
+
Convert to a FHIR friendly dictionary where the python types like datetime are converted to string versions
|
|
446
|
+
|
|
447
|
+
Returns:
|
|
448
|
+
FHIR friendly dictionary
|
|
449
|
+
"""
|
|
450
|
+
return cast(
|
|
451
|
+
OrderedDict[K, V],
|
|
452
|
+
json.loads(
|
|
453
|
+
self.json(),
|
|
454
|
+
object_pairs_hook=lambda pairs: OrderedDict(pairs),
|
|
455
|
+
),
|
|
456
|
+
)
|
|
457
|
+
|
|
458
|
+
def json(self) -> str:
|
|
459
|
+
"""Convert the resource to a JSON string."""
|
|
460
|
+
|
|
461
|
+
raw_dict: OrderedDict[K, V] = self.raw_dict()
|
|
462
|
+
|
|
463
|
+
return json.dumps(obj=raw_dict, cls=FhirJSONEncoder)
|
|
464
|
+
|
|
439
465
|
def __repr__(self) -> str:
|
|
440
466
|
"""
|
|
441
467
|
String representation of the dictionary
|
|
@@ -559,7 +585,7 @@ class CompressedDict[K, V](MutableMapping[K, V]):
|
|
|
559
585
|
"""
|
|
560
586
|
# Create a new instance with the same storage mode
|
|
561
587
|
new_instance = CompressedDict(
|
|
562
|
-
initial_dict=copy.deepcopy(self.
|
|
588
|
+
initial_dict=copy.deepcopy(self.raw_dict()),
|
|
563
589
|
storage_mode=self._storage_mode,
|
|
564
590
|
properties_to_cache=self._properties_to_cache,
|
|
565
591
|
)
|
|
@@ -633,7 +659,7 @@ class CompressedDict[K, V](MutableMapping[K, V]):
|
|
|
633
659
|
Returns:
|
|
634
660
|
Plain dictionary
|
|
635
661
|
"""
|
|
636
|
-
return OrderedDictToDictConverter.convert(self.
|
|
662
|
+
return OrderedDictToDictConverter.convert(self.raw_dict())
|
|
637
663
|
|
|
638
664
|
@classmethod
|
|
639
665
|
def from_json(cls, json_str: str) -> "CompressedDict[K, V]":
|
|
@@ -234,7 +234,7 @@ def test_transaction_basic_raw_storage() -> None:
|
|
|
234
234
|
|
|
235
235
|
# After transaction
|
|
236
236
|
assert compressed_dict._transaction_depth == 0
|
|
237
|
-
assert compressed_dict.
|
|
237
|
+
assert compressed_dict.raw_dict() == {
|
|
238
238
|
"key1": "value1",
|
|
239
239
|
"key2": "value2",
|
|
240
240
|
"key3": "value3",
|
|
@@ -262,7 +262,7 @@ def test_transaction_nested_context() -> None:
|
|
|
262
262
|
assert compressed_dict._transaction_depth == 1
|
|
263
263
|
|
|
264
264
|
assert compressed_dict._transaction_depth == 0
|
|
265
|
-
assert compressed_dict.
|
|
265
|
+
assert compressed_dict.raw_dict() == {"key1": "value1", "key2": "value2"}
|
|
266
266
|
|
|
267
267
|
|
|
268
268
|
def test_transaction_access_error() -> None:
|
|
@@ -311,7 +311,7 @@ def test_transaction_different_storage_modes() -> None:
|
|
|
311
311
|
with compressed_dict.transaction() as d:
|
|
312
312
|
d["key2"] = "value2"
|
|
313
313
|
|
|
314
|
-
assert compressed_dict.
|
|
314
|
+
assert compressed_dict.raw_dict() == {"key1": "value1", "key2": "value2"}
|
|
315
315
|
|
|
316
316
|
|
|
317
317
|
def test_transaction_with_properties_to_cache() -> None:
|
|
@@ -330,7 +330,7 @@ def test_transaction_with_properties_to_cache() -> None:
|
|
|
330
330
|
with compressed_dict.transaction() as d:
|
|
331
331
|
d["key2"] = "value2"
|
|
332
332
|
|
|
333
|
-
assert compressed_dict.
|
|
333
|
+
assert compressed_dict.raw_dict() == {
|
|
334
334
|
"key1": "value1",
|
|
335
335
|
"important_prop": "cached_value",
|
|
336
336
|
"key2": "value2",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
from collections import OrderedDict
|
|
2
3
|
from datetime import datetime, timezone, date
|
|
3
4
|
from decimal import Decimal
|
|
4
5
|
from logging import Logger
|
|
@@ -68,6 +69,8 @@ def test_nested_dict() -> None:
|
|
|
68
69
|
"""
|
|
69
70
|
logger: Logger = logging.getLogger(__name__)
|
|
70
71
|
nested_dict = {
|
|
72
|
+
"resourceType": "Coverage",
|
|
73
|
+
"id": "3456789012345670304",
|
|
71
74
|
"beneficiary": {"reference": "Patient/1234567890123456703", "type": "Patient"},
|
|
72
75
|
"class": [
|
|
73
76
|
{
|
|
@@ -94,7 +97,6 @@ def test_nested_dict() -> None:
|
|
|
94
97
|
},
|
|
95
98
|
}
|
|
96
99
|
],
|
|
97
|
-
"id": "3456789012345670304",
|
|
98
100
|
"identifier": [
|
|
99
101
|
{
|
|
100
102
|
"system": "https://sources.aetna.com/coverage/identifier/membershipid/59",
|
|
@@ -144,7 +146,6 @@ def test_nested_dict() -> None:
|
|
|
144
146
|
}
|
|
145
147
|
]
|
|
146
148
|
},
|
|
147
|
-
"resourceType": "Coverage",
|
|
148
149
|
"status": "active",
|
|
149
150
|
"subscriber": {"reference": "Patient/1234567890123456703", "type": "Patient"},
|
|
150
151
|
"subscriberId": "435679010300",
|
|
@@ -160,12 +161,16 @@ def test_nested_dict() -> None:
|
|
|
160
161
|
}
|
|
161
162
|
|
|
162
163
|
logger.info("-------- Serialized --------")
|
|
163
|
-
serialized = TypePreservationSerializer.serialize(nested_dict)
|
|
164
|
+
serialized: str = TypePreservationSerializer.serialize(nested_dict)
|
|
164
165
|
logger.info(serialized)
|
|
165
166
|
logger.info("-------- Deserialized --------")
|
|
166
|
-
deserialized = TypePreservationSerializer.deserialize(
|
|
167
|
+
deserialized: OrderedDict[str, Any] = TypePreservationSerializer.deserialize(
|
|
168
|
+
serialized
|
|
169
|
+
)
|
|
167
170
|
logger.info(deserialized)
|
|
168
171
|
|
|
172
|
+
assert isinstance(deserialized, OrderedDict)
|
|
173
|
+
|
|
169
174
|
assert isinstance(deserialized["period"]["start"], date)
|
|
170
175
|
assert isinstance(deserialized["period"]["end"], date)
|
|
171
176
|
assert nested_dict == deserialized
|
|
@@ -11,16 +11,16 @@ compressedfhir/fhir/fhir_bundle_entry_search.py,sha256=uYVJxuNN3gt3Q6BZ5FhRs47x7
|
|
|
11
11
|
compressedfhir/fhir/fhir_identifier.py,sha256=tA_nmhBaYHu5zjJdE0IWMFEF8lrIPV3_nu-yairiIKw,2711
|
|
12
12
|
compressedfhir/fhir/fhir_link.py,sha256=jf2RrwmsPrKW3saP77y42xVqI0xwHFYXxm6YHQJk7gU,1922
|
|
13
13
|
compressedfhir/fhir/fhir_meta.py,sha256=vNI4O6SoG4hJRHyd-bJ_QnYFTfBHyR3UA6h21ByQmWo,1669
|
|
14
|
-
compressedfhir/fhir/fhir_resource.py,sha256=
|
|
14
|
+
compressedfhir/fhir/fhir_resource.py,sha256=WDrS6ZAQARsTfEsKNhNIgCw8vir_U-1nBzFGt510OBw,5340
|
|
15
15
|
compressedfhir/fhir/fhir_resource_list.py,sha256=qlAAwWWphtFicBxPG8iriz2eOHGcrWJk5kGThmvkbPE,4480
|
|
16
|
-
compressedfhir/fhir/fhir_resource_map.py,sha256=
|
|
16
|
+
compressedfhir/fhir/fhir_resource_map.py,sha256=XFJ0o5_kLUeHYKp1q_Bxsoyp2-rLX7P4c9FwQ7YfGWM,6571
|
|
17
17
|
compressedfhir/fhir/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
18
|
compressedfhir/fhir/test/test_bundle_entry.py,sha256=Ki2sSu1V1WZkAM6UTCghtzjvjYYI8UcF6AXnx8FWlMI,5115
|
|
19
19
|
compressedfhir/fhir/test/test_bundle_entry_list.py,sha256=KtMrbQYezdEw9FJbBzwSePdJK2R9P03mSRfo59T-6iM,6041
|
|
20
20
|
compressedfhir/fhir/test/test_bundle_entry_request.py,sha256=9bN3Vt9BAXPLjH7FFt_MYSdanFJzWk9HbA0C9kZxPXY,2853
|
|
21
21
|
compressedfhir/fhir/test/test_bundle_entry_response.py,sha256=jk5nUi07_q-yz-qz2YR86vU91e3DVxc2cptrS6tsCco,2539
|
|
22
22
|
compressedfhir/fhir/test/test_fhir_bundle.py,sha256=Kt1IpxEnUuPOJBDWsdy4cC7kR3FR-uPOf7PB9ejJ7ZM,8700
|
|
23
|
-
compressedfhir/fhir/test/test_fhir_resource.py,sha256=
|
|
23
|
+
compressedfhir/fhir/test/test_fhir_resource.py,sha256=nsSLs-sKDaYpoTVyXuBNnKJ0-somxDNX368lpTf3HUw,3828
|
|
24
24
|
compressedfhir/fhir/test/test_fhir_resource_list.py,sha256=SrSPJ1yWU4UgMUCht6JwgKh2Y5JeTS4-Wky0kWZOXH8,5664
|
|
25
25
|
compressedfhir/fhir/test/test_fhir_resource_map.py,sha256=jtQ5fq_jhmFfhHGyK5mdiwIQiO-Sfp2eG9mco_Tr9Qk,10995
|
|
26
26
|
compressedfhir/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -28,11 +28,11 @@ compressedfhir/utilities/fhir_json_encoder.py,sha256=hn-ZuDrTEdYZmILk_5_k4R72PQB
|
|
|
28
28
|
compressedfhir/utilities/json_helpers.py,sha256=lEiPapLN0p-kLu6PFm-h971ieXRxwPB2M-8FCZ2Buo8,5642
|
|
29
29
|
compressedfhir/utilities/compressed_dict/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
30
|
compressedfhir/utilities/compressed_dict/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
compressedfhir/utilities/compressed_dict/v1/compressed_dict.py,sha256=
|
|
31
|
+
compressedfhir/utilities/compressed_dict/v1/compressed_dict.py,sha256=C2mblG2P8qx0XWpDJO-7OGBqyQRTp0WelaUbwopI7qc,22049
|
|
32
32
|
compressedfhir/utilities/compressed_dict/v1/compressed_dict_access_error.py,sha256=xuwED0KGZcQORIcZRfi--5CdXplHJ5vYLBUqpbDi344,132
|
|
33
33
|
compressedfhir/utilities/compressed_dict/v1/compressed_dict_storage_mode.py,sha256=mEdtJjPX2I9DqP0Ly_VsZZWhEMNTI1psqQ8iJtUQ2oE,1412
|
|
34
34
|
compressedfhir/utilities/compressed_dict/v1/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
compressedfhir/utilities/compressed_dict/v1/test/test_compressed_dict.py,sha256=
|
|
35
|
+
compressedfhir/utilities/compressed_dict/v1/test/test_compressed_dict.py,sha256=5yUnjkmP3A4dSPzDXY3u1YBQ8BxCANdtCF9uGF1T9i4,15840
|
|
36
36
|
compressedfhir/utilities/json_serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
37
|
compressedfhir/utilities/json_serializers/type_preservation_decoder.py,sha256=Af2ZsLZiUF9kUhRvkV7i6Ctf_OtTND_lb5PezHtolJU,4382
|
|
38
38
|
compressedfhir/utilities/json_serializers/type_preservation_encoder.py,sha256=f7RL67l7QtDbijCPq1ki6axrLte1vH--bi1AsN7Y3yk,1646
|
|
@@ -40,7 +40,7 @@ compressedfhir/utilities/json_serializers/type_preservation_serializer.py,sha256
|
|
|
40
40
|
compressedfhir/utilities/json_serializers/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
41
|
compressedfhir/utilities/json_serializers/test/test_type_preservation_decoder.py,sha256=GQotwYQJe9VZQotvLWmQWMkSIBne53bolmgflBoR7DU,4752
|
|
42
42
|
compressedfhir/utilities/json_serializers/test/test_type_preservation_encoder.py,sha256=O4VczBdsJF35WozZiwSdJ8638qDn01JQsai2wTXu5Vo,1737
|
|
43
|
-
compressedfhir/utilities/json_serializers/test/test_type_preservation_serializer.py,sha256=
|
|
43
|
+
compressedfhir/utilities/json_serializers/test/test_type_preservation_serializer.py,sha256=jRl0UEzvsjj1Kl2_7VYCf3kaJch9UZ2-8VHdKZC69xo,6171
|
|
44
44
|
compressedfhir/utilities/ordered_dict_to_dict_converter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
45
|
compressedfhir/utilities/ordered_dict_to_dict_converter/ordered_dict_to_dict_converter.py,sha256=CMerJQD7O0vMyGtUp1rKSerZA1tDZeY5GTQT3AykL4w,831
|
|
46
46
|
compressedfhir/utilities/string_compressor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -51,9 +51,9 @@ compressedfhir/utilities/string_compressor/v1/test/test_string_compressor.py,sha
|
|
|
51
51
|
compressedfhir/utilities/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
52
|
compressedfhir/utilities/test/test_fhir_json_encoder.py,sha256=6pbNmZp5eBWY66bHjgjm_pZVhs5HDKP8hCGnwNFzpEw,5171
|
|
53
53
|
compressedfhir/utilities/test/test_json_helpers.py,sha256=V0R9oHDQAs0m0012niEz50sHJxMSUQvA3km7kK8HgjE,3860
|
|
54
|
-
compressedfhir-1.0.
|
|
54
|
+
compressedfhir-1.0.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
55
55
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
56
|
-
compressedfhir-1.0.
|
|
57
|
-
compressedfhir-1.0.
|
|
58
|
-
compressedfhir-1.0.
|
|
59
|
-
compressedfhir-1.0.
|
|
56
|
+
compressedfhir-1.0.6.dist-info/METADATA,sha256=v6J1S0AOuckbI1u8KvB-OlP1BU1XyIqZ4TPnldH7sAI,3456
|
|
57
|
+
compressedfhir-1.0.6.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
58
|
+
compressedfhir-1.0.6.dist-info/top_level.txt,sha256=YMKdvBBdiCzFbpI9fG8BUDjaRd-f4R0qAvUoVETpoWw,21
|
|
59
|
+
compressedfhir-1.0.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|