Skip to content

Commit acaa503

Browse files
committed
PY: regenerate python-us-core example and writer snapshots for strict profiles
1 parent 38b6d6d commit acaa503

16 files changed

Lines changed: 380 additions & 348 deletions

examples/python-us-core/fhir_types/example_folder_structures/profiles/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@
33
# Any manual changes made to this file may be overwritten.
44

55
from .bundle_example_typed_bundle import ExampleTypedBundleProfile
6+
7+
__all__ = [
8+
'ExampleTypedBundleProfile',
9+
]

examples/python-us-core/fhir_types/example_folder_structures/profiles/bundle_example_typed_bundle.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from __future__ import annotations
66

7-
from typing import Literal
7+
from typing import Any, Literal, cast
88

99
from fhir_types.hl7_fhir_r4_core.bundle import Bundle
1010
from fhir_types.hl7_fhir_r4_core.bundle import BundleEntry
@@ -25,8 +25,8 @@ class ExampleTypedBundleProfile:
2525

2626
canonical_url: str = "http://example.org/fhir/StructureDefinition/ExampleTypedBundle"
2727

28-
_patient_entry_slice_match: dict = {"resource":{"resourceType":"Patient"}}
29-
_organization_entry_slice_match: dict = {"resource":{"resourceType":"Organization"}}
28+
_patient_entry_slice_match: dict[str, Any] = {"resource":{"resourceType":"Patient"}}
29+
_organization_entry_slice_match: dict[str, Any] = {"resource":{"resourceType":"Organization"}}
3030

3131
def __init__(self, resource: Bundle[Patient | Organization, Resource]) -> None:
3232
self._resource = resource
@@ -65,20 +65,20 @@ def to_resource(self) -> Bundle[Patient | Organization, Resource]:
6565
return self._resource
6666

6767
def get_type(self) -> Literal["document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"] | None:
68-
return getattr(self._resource, "type", None)
68+
return cast('Literal["document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"] | None', getattr(self._resource, "type", None))
6969

7070
def set_type(self, value: Literal["document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"]) -> "ExampleTypedBundleProfile":
7171
setattr(self._resource, "type", value)
7272
return self
7373

7474
def get_patient_entry(self, mode: str | None = None) -> BundleEntry[Patient] | None:
7575
match = self.__class__._patient_entry_slice_match
76-
return get_array_slice(getattr(self._resource, "entry", None), match)
76+
return cast('BundleEntry[Patient] | None', get_array_slice(getattr(self._resource, "entry", None), match))
7777

7878
def get_organization_entry(self, mode: str | None = None) -> list[BundleEntry[Organization]] | None:
7979
match = self.__class__._organization_entry_slice_match
8080
result = get_array_slices(getattr(self._resource, "entry", None), match)
81-
return result or None
81+
return cast('list[BundleEntry[Organization]] | None', result or None)
8282

8383
def set_patient_entry(self, value: BundleEntry[Patient] | None = None) -> "ExampleTypedBundleProfile":
8484
match = self.__class__._patient_entry_slice_match

examples/python-us-core/fhir_types/hl7_fhir_r4_core/profiles/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@
33
# Any manual changes made to this file may be overwritten.
44

55
from .observation_observation_vitalsigns import ObservationVitalsignsProfile
6+
7+
__all__ = [
8+
'ObservationVitalsignsProfile',
9+
]

examples/python-us-core/fhir_types/hl7_fhir_r4_core/profiles/observation_observation_vitalsigns.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from __future__ import annotations
66

7-
from typing import Literal, overload
7+
from typing import Any, Literal, cast, overload
88

99
from fhir_types.hl7_fhir_r4_core.observation import Observation
1010
from fhir_types.hl7_fhir_r4_core.base import CodeableConcept, Period, Reference
@@ -23,7 +23,7 @@ class ObservationVitalsignsProfile:
2323

2424
canonical_url: str = "http://hl7.org/fhir/StructureDefinition/vitalsigns"
2525

26-
_vscat_slice_match: dict = {"coding":[{"code":"vital-signs","system":"http://terminology.hl7.org/CodeSystem/observation-category"}]}
26+
_vscat_slice_match: dict[str, Any] = {"coding":[{"code":"vital-signs","system":"http://terminology.hl7.org/CodeSystem/observation-category"}]}
2727

2828
def __init__(self, resource: Observation) -> None:
2929
self._resource = resource
@@ -67,62 +67,62 @@ def to_resource(self) -> Observation:
6767
return self._resource
6868

6969
def get_status(self) -> Literal["registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown"] | None:
70-
return getattr(self._resource, "status", None)
70+
return cast('Literal["registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown"] | None', getattr(self._resource, "status", None))
7171

7272
def set_status(self, value: Literal["registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown"]) -> "ObservationVitalsignsProfile":
7373
setattr(self._resource, "status", value)
7474
return self
7575

7676
def get_code(self) -> CodeableConcept | None:
77-
return getattr(self._resource, "code", None)
77+
return cast('CodeableConcept | None', getattr(self._resource, "code", None))
7878

7979
def set_code(self, value: CodeableConcept) -> "ObservationVitalsignsProfile":
8080
setattr(self._resource, "code", value)
8181
return self
8282

8383
def get_subject(self) -> Reference | None:
84-
return getattr(self._resource, "subject", None)
84+
return cast('Reference | None', getattr(self._resource, "subject", None))
8585

8686
def set_subject(self, value: Reference) -> "ObservationVitalsignsProfile":
8787
setattr(self._resource, "subject", value)
8888
return self
8989

9090
def get_category(self) -> list[CodeableConcept] | None:
91-
return getattr(self._resource, "category", None)
91+
return cast('list[CodeableConcept] | None', getattr(self._resource, "category", None))
9292

9393
def set_category(self, value: list[CodeableConcept]) -> "ObservationVitalsignsProfile":
9494
setattr(self._resource, "category", value)
9595
return self
9696

9797
def get_effective_date_time(self) -> str | None:
98-
return getattr(self._resource, "effective_date_time", None)
98+
return cast('str | None', getattr(self._resource, "effective_date_time", None))
9999

100100
def set_effective_date_time(self, value: str) -> "ObservationVitalsignsProfile":
101101
setattr(self._resource, "effective_period", None)
102102
setattr(self._resource, "effective_date_time", value)
103103
return self
104104

105105
def get_effective_period(self) -> Period | None:
106-
return getattr(self._resource, "effective_period", None)
106+
return cast('Period | None', getattr(self._resource, "effective_period", None))
107107

108108
def set_effective_period(self, value: Period) -> "ObservationVitalsignsProfile":
109109
setattr(self._resource, "effective_date_time", None)
110110
setattr(self._resource, "effective_period", value)
111111
return self
112112

113113
@overload
114-
def get_vscat(self) -> dict | None: ...
114+
def get_vscat(self) -> dict[str, Any] | None: ...
115115
@overload
116116
def get_vscat(self, mode: Literal["raw"]) -> CodeableConcept | None: ...
117-
def get_vscat(self, mode: Literal["raw"] | None = None) -> dict | CodeableConcept | None:
117+
def get_vscat(self, mode: Literal["raw"] | None = None) -> dict[str, Any] | CodeableConcept | None:
118118
match = self.__class__._vscat_slice_match
119119
item = get_array_slice(getattr(self._resource, "category", None), match)
120120
if mode == "raw":
121-
return item
121+
return cast('CodeableConcept | None', item)
122122
item_dict = item if isinstance(item, dict) else item.model_dump(by_alias=True, exclude_none=True)
123123
return strip_match_keys(item_dict, ["coding"])
124124

125-
def set_vscat(self, value: dict | None = None) -> "ObservationVitalsignsProfile":
125+
def set_vscat(self, value: dict[str, Any] | None = None) -> "ObservationVitalsignsProfile":
126126
match = self.__class__._vscat_slice_match
127127
merged = apply_slice_match((value or {}), match)
128128
merged = CodeableConcept(**merged)

examples/python-us-core/fhir_types/hl7_fhir_us_core/profiles/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,15 @@
1111
from .extension_uscore_race_extension import UscoreRaceExtension
1212
from .extension_uscore_tribal_affiliation_extension import UscoreTribalAffiliationExtension
1313
from .observation_uscore_vital_signs_profile import UscoreVitalSignsProfile
14+
15+
__all__ = [
16+
'UscoreBloodPressureProfile',
17+
'UscoreBodyWeightProfile',
18+
'UscoreEthnicityExtension',
19+
'UscoreIndividualSexExtension',
20+
'UscoreInterpreterNeededExtension',
21+
'UscorePatientProfile',
22+
'UscoreRaceExtension',
23+
'UscoreTribalAffiliationExtension',
24+
'UscoreVitalSignsProfile',
25+
]

examples/python-us-core/fhir_types/hl7_fhir_us_core/profiles/extension_uscore_ethnicity_extension.py

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44

55
from __future__ import annotations
66

7-
from typing import Any, Literal, overload
7+
from typing import Any, Literal, cast, overload
88

99
from fhir_types.hl7_fhir_r4_core.base import Extension
1010
from fhir_types.hl7_fhir_r4_core.base import Extension
11-
from fhir_types.hl7_fhir_r4_core.base import Coding
1211
from fhir_types.profile_helpers import (
1312
_get_key, apply_slice_match, build_resource, ensure_slice_defaults, get_array_slice, get_extension_value, \
1413
is_extension, matches_value, push_extension, set_array_slice, strip_match_keys, unwrap_slice_choice, validate_fixed_value, \
@@ -27,9 +26,9 @@ class UscoreEthnicityExtension:
2726

2827
canonical_url: str = "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity"
2928

30-
_omb_category_slice_match: dict = {"url":"ombCategory"}
31-
_detailed_slice_match: dict = {"url":"detailed"}
32-
_text_slice_match: dict = {"url":"text"}
29+
_omb_category_slice_match: dict[str, Any] = {"url":"ombCategory"}
30+
_detailed_slice_match: dict[str, Any] = {"url":"detailed"}
31+
_text_slice_match: dict[str, Any] = {"url":"text"}
3332

3433
def __init__(self, resource: Extension) -> None:
3534
self._resource = resource
@@ -60,34 +59,34 @@ def to_resource(self) -> Extension:
6059
return self._resource
6160

6261
def get_extension(self) -> list[Extension] | None:
63-
return getattr(self._resource, "extension", None)
62+
return cast('list[Extension] | None', getattr(self._resource, "extension", None))
6463

6564
def set_extension(self, value: list[Extension]) -> "UscoreEthnicityExtension":
6665
setattr(self._resource, "extension", value)
6766
return self
6867

6968
def get_url(self) -> str | None:
70-
return getattr(self._resource, "url", None)
69+
return cast('str | None', getattr(self._resource, "url", None))
7170

7271
def set_url(self, value: str) -> "UscoreEthnicityExtension":
7372
setattr(self._resource, "url", value)
7473
return self
7574

7675
@overload
77-
def get_omb_category(self) -> dict | None: ...
76+
def get_omb_category(self) -> dict[str, Any] | None: ...
7877
@overload
7978
def get_omb_category(self, mode: Literal["raw"]) -> Extension | None: ...
80-
def get_omb_category(self, mode: Literal["raw"] | None = None) -> dict | Extension | None:
79+
def get_omb_category(self, mode: Literal["raw"] | None = None) -> dict[str, Any] | Extension | None:
8180
exts = getattr(self._resource, "extension", None) or []
8281
ext = next((e for e in exts if is_extension(e, "ombCategory")), None)
8382
if ext is None:
8483
return None
8584
ext_obj = ext if not isinstance(ext, dict) else Extension(**ext)
8685
if mode == "raw":
8786
return ext_obj
88-
return ext if isinstance(ext, dict) else ext.model_dump(by_alias=True, exclude_none=True)
87+
return cast("dict[str, Any] | None", ext if isinstance(ext, dict) else ext.model_dump(by_alias=True, exclude_none=True))
8988

90-
def set_omb_category(self, value: "Extension | dict") -> "UscoreEthnicityExtension":
89+
def set_omb_category(self, value: "Extension | dict[str, Any]") -> "UscoreEthnicityExtension":
9190
if is_extension(value):
9291
if _get_key(value, "url") != "ombCategory":
9392
raise ValueError(f"Expected extension url 'ombCategory', got {_get_key(value, 'url')!r}")
@@ -97,20 +96,20 @@ def set_omb_category(self, value: "Extension | dict") -> "UscoreEthnicityExtensi
9796
return self
9897

9998
@overload
100-
def get_detailed(self) -> dict | None: ...
99+
def get_detailed(self) -> dict[str, Any] | None: ...
101100
@overload
102101
def get_detailed(self, mode: Literal["raw"]) -> Extension | None: ...
103-
def get_detailed(self, mode: Literal["raw"] | None = None) -> dict | Extension | None:
102+
def get_detailed(self, mode: Literal["raw"] | None = None) -> dict[str, Any] | Extension | None:
104103
exts = getattr(self._resource, "extension", None) or []
105104
ext = next((e for e in exts if is_extension(e, "detailed")), None)
106105
if ext is None:
107106
return None
108107
ext_obj = ext if not isinstance(ext, dict) else Extension(**ext)
109108
if mode == "raw":
110109
return ext_obj
111-
return ext if isinstance(ext, dict) else ext.model_dump(by_alias=True, exclude_none=True)
110+
return cast("dict[str, Any] | None", ext if isinstance(ext, dict) else ext.model_dump(by_alias=True, exclude_none=True))
112111

113-
def set_detailed(self, value: "Extension | dict") -> "UscoreEthnicityExtension":
112+
def set_detailed(self, value: "Extension | dict[str, Any]") -> "UscoreEthnicityExtension":
114113
if is_extension(value):
115114
if _get_key(value, "url") != "detailed":
116115
raise ValueError(f"Expected extension url 'detailed', got {_get_key(value, 'url')!r}")
@@ -120,20 +119,20 @@ def set_detailed(self, value: "Extension | dict") -> "UscoreEthnicityExtension":
120119
return self
121120

122121
@overload
123-
def get_text(self) -> dict | None: ...
122+
def get_text(self) -> dict[str, Any] | None: ...
124123
@overload
125124
def get_text(self, mode: Literal["raw"]) -> Extension | None: ...
126-
def get_text(self, mode: Literal["raw"] | None = None) -> dict | Extension | None:
125+
def get_text(self, mode: Literal["raw"] | None = None) -> dict[str, Any] | Extension | None:
127126
exts = getattr(self._resource, "extension", None) or []
128127
ext = next((e for e in exts if is_extension(e, "text")), None)
129128
if ext is None:
130129
return None
131130
ext_obj = ext if not isinstance(ext, dict) else Extension(**ext)
132131
if mode == "raw":
133132
return ext_obj
134-
return ext if isinstance(ext, dict) else ext.model_dump(by_alias=True, exclude_none=True)
133+
return cast("dict[str, Any] | None", ext if isinstance(ext, dict) else ext.model_dump(by_alias=True, exclude_none=True))
135134

136-
def set_text(self, value: "Extension | dict") -> "UscoreEthnicityExtension":
135+
def set_text(self, value: "Extension | dict[str, Any]") -> "UscoreEthnicityExtension":
137136
if is_extension(value):
138137
if _get_key(value, "url") != "text":
139138
raise ValueError(f"Expected extension url 'text', got {_get_key(value, 'url')!r}")
@@ -143,42 +142,42 @@ def set_text(self, value: "Extension | dict") -> "UscoreEthnicityExtension":
143142
return self
144143

145144
@overload
146-
def get_extension_omb_category(self) -> Coding | None: ...
145+
def get_extension_omb_category(self) -> dict[str, Any] | None: ...
147146
@overload
148147
def get_extension_omb_category(self, mode: Literal["raw"]) -> Extension | None: ...
149-
def get_extension_omb_category(self, mode: Literal["raw"] | None = None) -> Coding | Extension | None:
148+
def get_extension_omb_category(self, mode: Literal["raw"] | None = None) -> dict[str, Any] | Extension | None:
150149
match = self.__class__._omb_category_slice_match
151150
item = get_array_slice(getattr(self._resource, "extension", None), match)
152151
if mode == "raw":
153-
return item
152+
return cast('Extension | None', item)
154153
item_dict = item if isinstance(item, dict) else item.model_dump(by_alias=True, exclude_none=True)
155154
return unwrap_slice_choice(item_dict, ["url"], "valueCoding")
156155

157156
@overload
158-
def get_extension_detailed(self) -> Coding | None: ...
157+
def get_extension_detailed(self) -> dict[str, Any] | None: ...
159158
@overload
160159
def get_extension_detailed(self, mode: Literal["raw"]) -> Extension | None: ...
161-
def get_extension_detailed(self, mode: Literal["raw"] | None = None) -> Coding | Extension | None:
160+
def get_extension_detailed(self, mode: Literal["raw"] | None = None) -> dict[str, Any] | Extension | None:
162161
match = self.__class__._detailed_slice_match
163162
item = get_array_slice(getattr(self._resource, "extension", None), match)
164163
if mode == "raw":
165-
return item
164+
return cast('Extension | None', item)
166165
item_dict = item if isinstance(item, dict) else item.model_dump(by_alias=True, exclude_none=True)
167166
return unwrap_slice_choice(item_dict, ["url"], "valueCoding")
168167

169168
@overload
170-
def get_extension_text(self) -> dict | None: ...
169+
def get_extension_text(self) -> dict[str, Any] | None: ...
171170
@overload
172171
def get_extension_text(self, mode: Literal["raw"]) -> Extension | None: ...
173-
def get_extension_text(self, mode: Literal["raw"] | None = None) -> dict | Extension | None:
172+
def get_extension_text(self, mode: Literal["raw"] | None = None) -> dict[str, Any] | Extension | None:
174173
match = self.__class__._text_slice_match
175174
item = get_array_slice(getattr(self._resource, "extension", None), match)
176175
if mode == "raw":
177-
return item
176+
return cast('Extension | None', item)
178177
item_dict = item if isinstance(item, dict) else item.model_dump(by_alias=True, exclude_none=True)
179178
return strip_match_keys(item_dict, ["url"])
180179

181-
def set_extension_omb_category(self, value: dict | None = None) -> "UscoreEthnicityExtension":
180+
def set_extension_omb_category(self, value: dict[str, Any] | None = None) -> "UscoreEthnicityExtension":
182181
match = self.__class__._omb_category_slice_match
183182
wrapped = wrap_slice_choice((value or {}), "valueCoding")
184183
merged = apply_slice_match(wrapped, match)
@@ -188,7 +187,7 @@ def set_extension_omb_category(self, value: dict | None = None) -> "UscoreEthnic
188187
setattr(self._resource, "extension", items)
189188
return self
190189

191-
def set_extension_detailed(self, value: dict | None = None) -> "UscoreEthnicityExtension":
190+
def set_extension_detailed(self, value: dict[str, Any] | None = None) -> "UscoreEthnicityExtension":
192191
match = self.__class__._detailed_slice_match
193192
wrapped = wrap_slice_choice((value or {}), "valueCoding")
194193
merged = apply_slice_match(wrapped, match)
@@ -198,7 +197,7 @@ def set_extension_detailed(self, value: dict | None = None) -> "UscoreEthnicityE
198197
setattr(self._resource, "extension", items)
199198
return self
200199

201-
def set_extension_text(self, value: dict | None = None) -> "UscoreEthnicityExtension":
200+
def set_extension_text(self, value: dict[str, Any] | None = None) -> "UscoreEthnicityExtension":
202201
match = self.__class__._text_slice_match
203202
merged = apply_slice_match((value or {}), match)
204203
merged = Extension(**merged)

examples/python-us-core/fhir_types/hl7_fhir_us_core/profiles/extension_uscore_individual_sex_extension.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
from __future__ import annotations
66

7+
from typing import cast
8+
79
from fhir_types.hl7_fhir_r4_core.base import Extension
810
from fhir_types.hl7_fhir_r4_core.base import Coding
911
from fhir_types.profile_helpers import (
@@ -46,14 +48,14 @@ def to_resource(self) -> Extension:
4648
return self._resource
4749

4850
def get_value_coding(self) -> Coding | None:
49-
return getattr(self._resource, "value_coding", None)
51+
return cast('Coding | None', getattr(self._resource, "value_coding", None))
5052

5153
def set_value_coding(self, value: Coding) -> "UscoreIndividualSexExtension":
5254
setattr(self._resource, "value_coding", value)
5355
return self
5456

5557
def get_url(self) -> str | None:
56-
return getattr(self._resource, "url", None)
58+
return cast('str | None', getattr(self._resource, "url", None))
5759

5860
def set_url(self, value: str) -> "UscoreIndividualSexExtension":
5961
setattr(self._resource, "url", value)

0 commit comments

Comments
 (0)