Source code for fhirpack.extraction.endpoint
import json
import importlib
from typing import Union
import pandas as pd
from fhirpy.lib import SyncFHIRResource
from fhirpy.lib import SyncFHIRReference
import fhirpack.utils as utils
import fhirpack.extraction.base as base
import fhirpack.utils as utils
[docs]class ExtractorEndpointMixin(base.BaseExtractorMixin):
[docs] def getEndpoints(
self,
input: Union[
list[str],
list[SyncFHIRReference],
list[SyncFHIRResource],
] = None,
searchParams: dict = None,
params: dict = None,
ignoreFrame: bool = False,
):
searchActive = False if searchParams is None else True
searchParams = {} if searchParams is None else searchParams
params = {} if params is None else params
input = [] if input is None else input
result = []
if len(input):
raise NotImplementedError
elif self.isFrame and not ignoreFrame:
utils.validateFrame(self)
if self.resourceTypeIs("ImagingStudy"):
input = self.data
input = self.castOperand(input, SyncFHIRReference, "Endpoint")
result = self.getResources(input, resourceType="Endpoint", raw=True)
result = result
else:
raise NotImplementedError
elif searchActive:
raise NotImplementedError
else:
raise NotImplementedError
result = self.prepareOutput(result)
return result