44
55from __future__ import annotations
66
7- from typing import Any , Literal , overload
7+ from typing import Any , Literal , cast , overload
88
99from fhir_types .hl7_fhir_r4_core .base import Extension
1010from fhir_types .hl7_fhir_r4_core .base import Extension
11- from fhir_types .hl7_fhir_r4_core .base import Coding
1211from 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 )
0 commit comments