Module phc.easy.summary.options.clinical_counts
Expand source code
from enum import Enum
from typing import List, Optional, Union
from phc.easy.abstract.paging_api_item import PagingApiOptions
class SummarySearchMatchOption(str, Enum):
FUZZY = "fuzzy"
EXACT = "exact"
class SummaryClinicalCountsOptions(PagingApiOptions):
match: Optional[SummarySearchMatchOption]
code: Optional[Union[str, List[str]]]
display: Optional[Union[str, List[str]]]
system: Optional[Union[str, List[str]]]
@classmethod
def transform(cls, key, value):
CODE_ATTRS = ["code", "display", "system"]
if (
key in CODE_ATTRS
and isinstance(value, list)
and any(filter(lambda v: "," in v, value))
):
raise ValueError("Commas are not supported when searching codes")
if key in CODE_ATTRS and isinstance(value, str):
return (key + "s", value)
if key in CODE_ATTRS and isinstance(value, list):
return (key + "s", ",".join(value))
return (key, value)
Classes
class SummaryClinicalCountsOptions (**data: Any)
-
Usage docs: https://docs.pydantic.dev/2.10/concepts/models/
A base class for creating Pydantic models.
Attributes
__class_vars__
- The names of the class variables defined on the model.
__private_attributes__
- Metadata about the private attributes of the model.
__signature__
- The synthesized
__init__
[Signature
][inspect.Signature] of the model. __pydantic_complete__
- Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__
- The core schema of the model.
__pydantic_custom_init__
- Whether the model has a custom
__init__
function. __pydantic_decorators__
- Metadata containing the decorators defined on the model.
This replaces
Model.__validators__
andModel.__root_validators__
from Pydantic V1. __pydantic_generic_metadata__
- Metadata for generic models; contains data used for a similar purpose to args, origin, parameters in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__
- Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__
- The name of the post-init method for the model, if defined.
__pydantic_root_model__
- Whether the model is a [
RootModel
][pydantic.root_model.RootModel]. __pydantic_serializer__
- The
pydantic-core
SchemaSerializer
used to dump instances of the model. __pydantic_validator__
- The
pydantic-core
SchemaValidator
used to validate instances of the model. __pydantic_fields__
- A dictionary of field names and their corresponding [
FieldInfo
][pydantic.fields.FieldInfo] objects. __pydantic_computed_fields__
- A dictionary of computed field names and their corresponding [
ComputedFieldInfo
][pydantic.fields.ComputedFieldInfo] objects. __pydantic_extra__
- A dictionary containing extra values, if [
extra
][pydantic.config.ConfigDict.extra] is set to'allow'
. __pydantic_fields_set__
- The names of fields explicitly set during instantiation.
__pydantic_private__
- Values of private attributes set on the model instance.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.Expand source code
class SummaryClinicalCountsOptions(PagingApiOptions): match: Optional[SummarySearchMatchOption] code: Optional[Union[str, List[str]]] display: Optional[Union[str, List[str]]] system: Optional[Union[str, List[str]]] @classmethod def transform(cls, key, value): CODE_ATTRS = ["code", "display", "system"] if ( key in CODE_ATTRS and isinstance(value, list) and any(filter(lambda v: "," in v, value)) ): raise ValueError("Commas are not supported when searching codes") if key in CODE_ATTRS and isinstance(value, str): return (key + "s", value) if key in CODE_ATTRS and isinstance(value, list): return (key + "s", ",".join(value)) return (key, value)
Ancestors
- PagingApiOptions
- pydantic.main.BaseModel
Subclasses
Class variables
var code : Union[str, List[str], ForwardRef(None)]
var display : Union[str, List[str], ForwardRef(None)]
var match : Optional[SummarySearchMatchOption]
var model_config
var system : Union[str, List[str], ForwardRef(None)]
Static methods
def transform(key, value)
-
Expand source code
@classmethod def transform(cls, key, value): CODE_ATTRS = ["code", "display", "system"] if ( key in CODE_ATTRS and isinstance(value, list) and any(filter(lambda v: "," in v, value)) ): raise ValueError("Commas are not supported when searching codes") if key in CODE_ATTRS and isinstance(value, str): return (key + "s", value) if key in CODE_ATTRS and isinstance(value, list): return (key + "s", ",".join(value)) return (key, value)
Methods
def model_dump(self)
-
Inherited from:
PagingApiOptions
.model_dump
class SummarySearchMatchOption (value, names=None, *, module=None, qualname=None, type=None, start=1)
-
An enumeration.
Expand source code
class SummarySearchMatchOption(str, Enum): FUZZY = "fuzzy" EXACT = "exact"
Ancestors
- builtins.str
- enum.Enum
Class variables
var EXACT
var FUZZY