care.emr.resources.inventory.product_knowledge.spec module

class ProductTypeOptions(*values)

Bases: str, Enum

medication = 'medication'
nutritional_product = 'nutritional_product'
consumable = 'consumable'
class ProductNameTypes(*values)

Bases: str, Enum

trade_name = 'trade_name'
alias = 'alias'
original_name = 'original_name'
preferred = 'preferred'
class ProductKnowledgeStatusOptions(*values)

Bases: str, Enum

draft = 'draft'
active = 'active'
retired = 'retired'
unknown = 'unknown'
class DrugCharacteristicCode(*values)

Bases: str, Enum

imprint_code = 'imprint_code'
size = 'size'
shape = 'shape'
color = 'color'
coating = 'coating'
scoring = 'scoring'
image = 'image'
class ProductName(*, name_type: ProductNameTypes, name: str)

Bases: BaseModel

name_type: ProductNameTypes
name: str
model_config: ClassVar[ConfigDict] = {}

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

class StorageGuideline(*, note: str, stability_duration: DurationSpec)

Bases: BaseModel

note: str
stability_duration: DurationSpec
model_config: ClassVar[ConfigDict] = {}

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

class ProductStrength(*, ratio: Ratio, quantity: Quantity)

Bases: BaseModel

ratio: Ratio
quantity: Quantity
model_config: ClassVar[ConfigDict] = {}

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

class ProductIngredient(*, is_active: bool, substance: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, strength: ~care.emr.resources.inventory.product_knowledge.spec.ProductStrength)

Bases: BaseModel

is_active: bool
substance: BoundCoding
strength: ProductStrength
model_config: ClassVar[ConfigDict] = {}

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

class ProductNutrient(*, item: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, amount: ~care.emr.resources.inventory.product_knowledge.spec.ProductStrength)

Bases: BaseModel

item: BoundCoding
amount: ProductStrength
model_config: ClassVar[ConfigDict] = {}

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

class DrugCharacteristic(*, code: DrugCharacteristicCode, value: str)

Bases: BaseModel

code: DrugCharacteristicCode
value: str
model_config: ClassVar[ConfigDict] = {}

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

class ProductDefinitionSpec(*, dosage_form: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None, intended_routes: list[~care.emr.resources.common.coding.Coding] = [], ingredients: list[~care.emr.resources.inventory.product_knowledge.spec.ProductIngredient] = [], nutrients: list[~care.emr.resources.inventory.product_knowledge.spec.ProductNutrient] = [], drug_characteristic: list[~care.emr.resources.inventory.product_knowledge.spec.DrugCharacteristic] = [])

Bases: BaseModel

dosage_form: BoundCoding | None
intended_routes: list[Coding]
ingredients: list[ProductIngredient]
nutrients: list[ProductNutrient]
drug_characteristic: list[DrugCharacteristic]
model_config: ClassVar[ConfigDict] = {}

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

class BaseProductKnowledgeSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, alternate_identifier: str | None = None, status: ~care.emr.resources.inventory.product_knowledge.spec.ProductKnowledgeStatusOptions, product_type: ~care.emr.resources.inventory.product_knowledge.spec.ProductTypeOptions, code: ~care.emr.resources.common.coding.Coding | None = None, base_unit: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, name: str, names: list[~care.emr.resources.inventory.product_knowledge.spec.ProductName] | None = None, storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] | None = None, definitional: ~care.emr.resources.inventory.product_knowledge.spec.ProductDefinitionSpec | None = None)

Bases: EMRResource

Base model for healthcare service

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
alternate_identifier: str | None
status: ProductKnowledgeStatusOptions
product_type: ProductTypeOptions
code: Coding | None
base_unit: BoundCoding
name: str
names: list[ProductName] | None
storage_guidelines: list[StorageGuideline] | None
definitional: ProductDefinitionSpec | None
model_config: ClassVar[ConfigDict] = {}

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

class ProductKnowledgeUpdateSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, alternate_identifier: str | None = None, status: ~care.emr.resources.inventory.product_knowledge.spec.ProductKnowledgeStatusOptions, product_type: ~care.emr.resources.inventory.product_knowledge.spec.ProductTypeOptions, code: ~care.emr.resources.common.coding.Coding | None = None, base_unit: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, name: str, names: list[~care.emr.resources.inventory.product_knowledge.spec.ProductName] | None = None, storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] | None = None, definitional: ~care.emr.resources.inventory.product_knowledge.spec.ProductDefinitionSpec | None = None, category: str | None = None, slug_value: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=5), ~annotated_types.MaxLen(max_length=36), ~pydantic.functional_validators.AfterValidator(func=~care.emr.utils.slug_type.slug_validator)])

Bases: BaseProductKnowledgeSpec

category: str | None
slug_value: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=5), MaxLen(max_length=36)]), AfterValidator(func=slug_validator)]
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 ProductKnowledgeWriteSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, alternate_identifier: str | None = None, status: ~care.emr.resources.inventory.product_knowledge.spec.ProductKnowledgeStatusOptions, product_type: ~care.emr.resources.inventory.product_knowledge.spec.ProductTypeOptions, code: ~care.emr.resources.common.coding.Coding | None = None, base_unit: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, name: str, names: list[~care.emr.resources.inventory.product_knowledge.spec.ProductName] | None = None, storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] | None = None, definitional: ~care.emr.resources.inventory.product_knowledge.spec.ProductDefinitionSpec | None = None, category: str | None = None, slug_value: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=5), ~annotated_types.MaxLen(max_length=36), ~pydantic.functional_validators.AfterValidator(func=~care.emr.utils.slug_type.slug_validator)], facility: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None)

Bases: ProductKnowledgeUpdateSpec

Payment reconciliation write specification

facility: Annotated[UUID, UuidVersion(uuid_version=4)] | None
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 ProductKnowledgeReadSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, alternate_identifier: str | None = None, status: ~care.emr.resources.inventory.product_knowledge.spec.ProductKnowledgeStatusOptions, product_type: ~care.emr.resources.inventory.product_knowledge.spec.ProductTypeOptions, code: ~care.emr.resources.common.coding.Coding | None = None, base_unit: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, name: str, names: list[~care.emr.resources.inventory.product_knowledge.spec.ProductName] | None = None, storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] | None = None, definitional: ~care.emr.resources.inventory.product_knowledge.spec.ProductDefinitionSpec | None = None, is_instance_level: bool, category: dict | None = None, slug_config: dict, slug: str)

Bases: BaseProductKnowledgeSpec

Invoice read specification

is_instance_level: bool
category: dict | None
slug_config: dict
slug: str
classmethod perform_extra_serialization(mapping, obj)
model_config: ClassVar[ConfigDict] = {}

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