66from fhirpy import AsyncFHIRClient
77from fhirpy .base .exceptions import OperationOutcome
88from fhirpy .base .utils import get_by_path
9- from fhirpy_types_r4b import Parameters , Questionnaire
109from fpml import resolve_template
1110from funcy .seqs import first
1211from funcy .strings import re_all
@@ -112,7 +111,7 @@ def _update_link_id_or_question(value, key):
112111 return _update_link_id_or_question
113112
114113
115- def prepare_link_ids (questionnaire : Questionnaire , variables ):
114+ def prepare_link_ids (questionnaire , variables ):
116115 return walk_dict (questionnaire , update_link_id_or_question (variables ))
117116
118117
@@ -159,15 +158,15 @@ def prepare_assemble_variables(item):
159158 return variables
160159
161160
162- def is_sdc_api (parameters : Parameters | None ) -> bool :
161+ def is_sdc_api (parameters : dict | None ) -> bool :
163162 """True when Parameters use SDC `$populate` input shape (`context` and/or `subject`)."""
164163 if not parameters or parameters .get ("resourceType" ) != "Parameters" :
165164 return False
166165 return any (p .get ("name" ) in ("context" , "subject" ) for p in parameters .get ("parameter" , []))
167166
168167
169168async def parameter_to_env (
170- client : AsyncFHIRClient , resource : Parameters , is_fhir : bool = True
169+ client : AsyncFHIRClient , resource , is_fhir : bool = True
171170) -> dict [str , Any ]:
172171 # TODO: add support for repeating values (with same name)
173172 env : dict [str , Any ] = {}
@@ -213,7 +212,7 @@ def parse_parameter_value(parameter, is_fhir: bool) -> tuple[Any, str]:
213212 return value [polimorphic_key ] if polimorphic_key else None , polimorphic_key
214213
215214
216- def get_external_fhir_base_url_from_resource (resource : Parameters | None , is_fhir : bool ):
215+ def get_external_fhir_base_url_from_resource (resource : dict | None , is_fhir : bool ):
217216 if not resource or resource .get ("resourceType" ) != "Parameters" :
218217 return None
219218 for param in resource .get ("parameter" , []):
@@ -226,7 +225,7 @@ def get_external_fhir_base_url_from_resource(resource: Parameters | None, is_fhi
226225 return None
227226
228227
229- async def load_source_queries (client , questionnaire : Questionnaire , env ):
228+ async def load_source_queries (client , questionnaire , env ):
230229 contained = {item ["id" ]: item for item in questionnaire .get ("contained" , [])}
231230 source_queries = get_source_queries (questionnaire .get ("extension" , []))
232231
0 commit comments