care.emr.resources.tag.config_spec module

Spec for Tag Configs Tag configs include what tags are available for a resource and their configuration

class TagCategoryChoices(*values)

Bases: str, Enum

diet = 'diet'
drug = 'drug'
lab = 'lab'
admin = 'admin'
contact = 'contact'
clinical = 'clinical'
behavioral = 'behavioral'
research = 'research'
advance_directive = 'advance_directive'
safety = 'safety'
class TagResource(*values)

Bases: str, Enum

encounter = 'encounter'
activity_definition = 'activity_definition'
service_request = 'service_request'
charge_item = 'charge_item'
patient = 'patient'
token_booking = 'token_booking'
medication_request_prescription = 'medication_request_prescription'
class TagStatus(*values)

Bases: str, Enum

active = 'active'
archived = 'archived'
class TagConfigBaseSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, display: str, category: TagCategoryChoices, description: str = '', priority: int = 100, status: TagStatus)

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
display: str
category: TagCategoryChoices
description: str
priority: int
status: TagStatus
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=TagCategoryChoices, required=True), 'description': FieldInfo(annotation=str, required=False, default=''), 'display': FieldInfo(annotation=str, required=True), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'priority': FieldInfo(annotation=int, required=False, default=100), 'status': FieldInfo(annotation=TagStatus, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class TagConfigUpdateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, display: str, category: TagCategoryChoices, description: str = '', priority: int = 100, status: TagStatus, facility_organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: TagConfigBaseSpec

facility_organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None
organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None
perform_extra_deserialization(is_update, obj)
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=TagCategoryChoices, required=True), 'description': FieldInfo(annotation=str, required=False, default=''), 'display': FieldInfo(annotation=str, required=True), 'facility_organization': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'organization': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'priority': FieldInfo(annotation=int, required=False, default=100), 'status': FieldInfo(annotation=TagStatus, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class TagConfigWriteSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, display: str, category: TagCategoryChoices, description: str = '', priority: int = 100, status: TagStatus, facility: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, facility_organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, parent: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, resource: TagResource)

Bases: TagConfigBaseSpec

facility: Annotated[UUID, UuidVersion(uuid_version=4)] | None
facility_organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None
organization: Annotated[UUID, UuidVersion(uuid_version=4)] | None
parent: Annotated[UUID, UuidVersion(uuid_version=4)] | None
resource: TagResource
validate_exists()

Validate that the facility, facility organization, organization, and parent are in order

validate_organizations()

Validate edge conditions

perform_extra_deserialization(is_update, obj)
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=TagCategoryChoices, required=True), 'description': FieldInfo(annotation=str, required=False, default=''), 'display': FieldInfo(annotation=str, required=True), 'facility': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'facility_organization': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'organization': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'parent': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'priority': FieldInfo(annotation=int, required=False, default=100), 'resource': FieldInfo(annotation=TagResource, required=True), 'status': FieldInfo(annotation=TagStatus, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class TagConfigReadSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, display: str, category: TagCategoryChoices, description: str = '', priority: int = 100, status: TagStatus, level_cache: int = 0, system_generated: bool, has_children: bool, parent: dict | None, resource: str)

Bases: TagConfigBaseSpec

level_cache: int
system_generated: bool
has_children: bool
parent: dict | None
resource: str
classmethod perform_extra_serialization(mapping, obj)
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=TagCategoryChoices, required=True), 'description': FieldInfo(annotation=str, required=False, default=''), 'display': FieldInfo(annotation=str, required=True), 'has_children': FieldInfo(annotation=bool, required=True), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'level_cache': FieldInfo(annotation=int, required=False, default=0), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'parent': FieldInfo(annotation=Union[dict, NoneType], required=True), 'priority': FieldInfo(annotation=int, required=False, default=100), 'resource': FieldInfo(annotation=str, required=True), 'status': FieldInfo(annotation=TagStatus, required=True), 'system_generated': FieldInfo(annotation=bool, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class TagConfigRetrieveSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, display: str, category: TagCategoryChoices, description: str = '', priority: int = 100, status: TagStatus, level_cache: int = 0, system_generated: bool, has_children: bool, parent: dict | None, resource: str, created_by: dict, updated_by: dict, facility_organization: dict | None = None, organization: dict | None = None)

Bases: TagConfigReadSpec

created_by: dict
updated_by: dict
facility_organization: dict | None
organization: dict | None
classmethod perform_extra_serialization(mapping, obj)
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=TagCategoryChoices, required=True), 'created_by': FieldInfo(annotation=dict, required=True), 'description': FieldInfo(annotation=str, required=False, default=''), 'display': FieldInfo(annotation=str, required=True), 'facility_organization': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'has_children': FieldInfo(annotation=bool, required=True), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'level_cache': FieldInfo(annotation=int, required=False, default=0), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'organization': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'parent': FieldInfo(annotation=Union[dict, NoneType], required=True), 'priority': FieldInfo(annotation=int, required=False, default=100), 'resource': FieldInfo(annotation=str, required=True), 'status': FieldInfo(annotation=TagStatus, required=True), 'system_generated': FieldInfo(annotation=bool, required=True), 'updated_by': FieldInfo(annotation=dict, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.