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)
-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
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
- pydantic.utils.Representation
Subclasses
Class variables
var code : Union[str, List[str], None]
var display : Union[str, List[str], None]
var match : Optional[SummarySearchMatchOption]
var system : Union[str, List[str], 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 dict(self)
-
Inherited from:
PagingApiOptions
.dict
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
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