care.emr.resources.patient.spec module¶
- class BloodGroupChoices(*values)¶
-
- A_negative = 'A_negative'¶
- A_positive = 'A_positive'¶
- B_negative = 'B_negative'¶
- B_positive = 'B_positive'¶
- AB_negative = 'AB_negative'¶
- AB_positive = 'AB_positive'¶
- O_negative = 'O_negative'¶
- O_positive = 'O_positive'¶
- unknown = 'unknown'¶
- class GenderChoices(*values)¶
-
- male = 'male'¶
- female = 'female'¶
- non_binary = 'non_binary'¶
- transgender = 'transgender'¶
- class PatientBaseSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, gender: GenderChoices, phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), MaxLen(max_length=14), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])], emergency_phone_number: Annotated[Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None, MaxLen(max_length=14)] = None, address: str | None = None, permanent_address: str | None = None, pincode: int | None = None, deceased_datetime: Annotated[datetime, AfterValidator(func=validate_timezone_aware)] | None = None, blood_group: BloodGroupChoices | None = None)¶
Bases:
EMRResource- gender: GenderChoices¶
- phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])]¶
- emergency_phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None¶
- blood_group: BloodGroupChoices | None¶
- classmethod validate_deceased_datetime(deceased_datetime)¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- validate_identifier_config(config, value, obj=None)¶
- class PatientIdentifierConfigRequest(*, config: Annotated[UUID, UuidVersion(uuid_version=4)], value: str)¶
Bases:
BaseModel- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class PatientCreateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: Annotated[str, MaxLen(max_length=75)], gender: GenderChoices, phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), MaxLen(max_length=14), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])], emergency_phone_number: Annotated[Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None, MaxLen(max_length=14)] = None, address: str | None = None, permanent_address: str | None = None, pincode: int | None = None, deceased_datetime: Annotated[datetime, AfterValidator(func=validate_timezone_aware)] | None = None, blood_group: BloodGroupChoices | None = None, geo_organization: Annotated[UUID, UuidVersion(uuid_version=4)], date_of_birth: date | None = None, age: int | None = None, identifiers: list[PatientIdentifierConfigRequest] = [], tags: list[Annotated[UUID, UuidVersion(uuid_version=4)]] = [])¶
Bases:
PatientBaseSpec- identifiers: list[PatientIdentifierConfigRequest]¶
- classmethod validate_geo_organization(geo_organization)¶
- validate_identifiers()¶
- perform_extra_deserialization(is_update, obj)¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class PatientUpdateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: Annotated[str | None, MaxLen(max_length=75)] = None, gender: GenderChoices | None = None, phone_number: Annotated[Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None, MaxLen(max_length=14)] = None, emergency_phone_number: Annotated[Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None, MaxLen(max_length=14)] = None, address: str | None = None, permanent_address: str | None = None, pincode: int | None = None, deceased_datetime: Annotated[datetime, AfterValidator(func=validate_timezone_aware)] | None = None, blood_group: BloodGroupChoices | None = None, date_of_birth: date | None = None, age: int | None = None, geo_organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, identifiers: list[PatientIdentifierConfigRequest] = [])¶
Bases:
PatientBaseSpec- gender: GenderChoices | None¶
- phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None¶
- emergency_phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None¶
- blood_group: BloodGroupChoices | None¶
- identifiers: list[PatientIdentifierConfigRequest]¶
- classmethod validate_geo_organization(geo_organization)¶
- perform_extra_deserialization(is_update, obj)¶
- classmethod validate_identifiers(identifiers, info)¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class PatientListSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, gender: GenderChoices, phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), MaxLen(max_length=14), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])], emergency_phone_number: Annotated[Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None, MaxLen(max_length=14)] = None, address: str | None = None, permanent_address: str | None = None, pincode: int | None = None, deceased_datetime: Annotated[datetime, AfterValidator(func=validate_timezone_aware)] | None = None, blood_group: BloodGroupChoices | None = None, date_of_birth: date | None = None, year_of_birth: date | None = None, created_date: datetime, modified_date: datetime, instance_tags: list[dict] = [], facility_tags: list[dict] = [])¶
Bases:
PatientBaseSpec- classmethod perform_extra_serialization(mapping, obj, *args, **kwargs)¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class PatientPartialSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, gender: GenderChoices, phone_number: str, partial_id: str)¶
Bases:
EMRResource- gender: GenderChoices¶
- classmethod perform_extra_serialization(mapping, obj)¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class PatientIdentifierResponse(*, config: PatientIdentifierListSpec, value: str)¶
Bases:
BaseModel- config: PatientIdentifierListSpec¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class PatientRetrieveSpec(*, meta: dict = {}, permissions: list[str] = [], id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, gender: GenderChoices, phone_number: Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), MaxLen(max_length=14), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])], emergency_phone_number: Annotated[Annotated[str | PhoneNumber(country_code=None, national_number=None, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None), PhoneNumberValidator(default_region=None, number_format=E164, supported_regions=[])] | None, MaxLen(max_length=14)] = None, address: str | None = None, permanent_address: str | None = None, pincode: int | None = None, deceased_datetime: Annotated[datetime, AfterValidator(func=validate_timezone_aware)] | None = None, blood_group: BloodGroupChoices | None = None, date_of_birth: date | None = None, year_of_birth: date | None = None, created_date: datetime, modified_date: datetime, instance_tags: list[dict] = [], facility_tags: list[dict] = [], geo_organization: dict = {}, created_by: dict | None = None, updated_by: dict | None = None, instance_identifiers: list[PatientIdentifierResponse] = [], facility_identifiers: list[PatientIdentifierResponse] = [])¶
Bases:
PatientListSpec,PatientPermissionsMixin- instance_identifiers: list[PatientIdentifierResponse]¶
- facility_identifiers: list[PatientIdentifierResponse]¶
- classmethod perform_extra_serialization(mapping, obj, *args, **kwargs)¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].