exceptions
EHR-related exceptions.
Classes
DataError
class DataError(*args, **kwargs):Exception for unexpected data encountered unable to be processed.
Subclasses
EHRFetchUnsupportedError
class EHRFetchUnsupportedError(*args, **kwargs):This backend cannot serve this fetch at all.
The structural half of "no data": not "the fetch failed this time" but
"this backend has no way to answer it", which is identical on every run
for every patient. Consumers deciding whether a blank is worth retrying —
or whether the write guard should count it
(steps/ehr_query/functions._every_supported_group_failed) — branch on
this type rather than on a capability lookup performed after the fact.
Raised by the backend that knows, at the point it knows: the FHIR R4
client on an unsupported-type OperationOutcome (and the querier when its
CapabilityStatement already rules the type out), and the NextGen querier
from the endpoints it does not implement. Whether the gap is permanent or
merely unimplemented is not encoded here; both are fixed properties of the
backend, which is all any consumer needs.
Subclasses GetPatientInfoError so that every handler written for a
failed fetch keeps working — the type adds information rather than
demanding new handling. A handler that means "could not retrieve this
time" has to catch this first and re-raise; the danger is silent, since
swallowing it reports a structural gap as a transient one and keeps the
guard counting the group for as long as the gap persists.
Ancestors
Subclasses
GetPatientInfoError
class GetPatientInfoError(*args, **kwargs):Could not retrieve patient info.
NoMatchingPatientError
class NoMatchingPatientError(*args, **kwargs):Exception raised when no patient matching filters is found.
NoPatientIDError
class NoPatientIDError(*args, **kwargs):Exception raised when patient ID could not be extracted.
Subclasses
NonSpecificPatientError
class NonSpecificPatientError(*args, **kwargs):Exception raised when patient could not be narrowed to a single person.
QuotaExceeded
class QuotaExceeded(*args, **kwargs):Exception raised when we have exceeded our API call quota limit.