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-coreSchemaSerializerused to dump instances of the model. __pydantic_validator__- The
pydantic-coreSchemaValidatorused 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.selfis explicitly positional-only to allowselfas 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_configvar 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 EXACTvar FUZZY