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