care.emr.resources.inventory.product_knowledge.spec module¶
- class ProductTypeOptions(*values)¶
-
- medication = 'medication'¶
- nutritional_product = 'nutritional_product'¶
- consumable = 'consumable'¶
- class ProductNameTypes(*values)¶
-
- trade_name = 'trade_name'¶
- alias = 'alias'¶
- original_name = 'original_name'¶
- preferred = 'preferred'¶
- class ProductKnowledgeStatusOptions(*values)¶
-
- draft = 'draft'¶
- active = 'active'¶
- retired = 'retired'¶
- unknown = 'unknown'¶
- class DrugCharacteristicCode(*values)¶
-
- imprint_code = 'imprint_code'¶
- size = 'size'¶
- shape = 'shape'¶
- color = 'color'¶
- coating = 'coating'¶
- scoring = 'scoring'¶
- logo = 'logo'¶
- image = 'image'¶
- class ProductName(*, name_type: ProductNameTypes, name: str)¶
Bases:
BaseModel- name_type: ProductNameTypes¶
- 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]] = {'name': FieldInfo(annotation=str, required=True), 'name_type': FieldInfo(annotation=ProductNameTypes, 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 StorageGuideline(*, note: str, stability_duration: DurationSpec)¶
Bases:
BaseModel- stability_duration: DurationSpec¶
- 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]] = {'note': FieldInfo(annotation=str, required=True), 'stability_duration': FieldInfo(annotation=DurationSpec, 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 ProductStrength(*, ratio: Ratio, quantity: Quantity)¶
Bases:
BaseModel- 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]] = {'quantity': FieldInfo(annotation=Quantity, required=True), 'ratio': FieldInfo(annotation=Ratio, 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 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- substance: BoundCoding¶
- strength: ProductStrength¶
- 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]] = {'is_active': FieldInfo(annotation=bool, required=True), 'strength': FieldInfo(annotation=ProductStrength, required=True), 'substance': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, 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 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_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]] = {'amount': FieldInfo(annotation=ProductStrength, required=True), 'item': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, 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 DrugCharacteristic(*, code: DrugCharacteristicCode, value: str)¶
Bases:
BaseModel- code: DrugCharacteristicCode¶
- 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]] = {'code': FieldInfo(annotation=DrugCharacteristicCode, required=True), 'value': FieldInfo(annotation=str, 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 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¶
- ingredients: list[ProductIngredient]¶
- nutrients: list[ProductNutrient]¶
- drug_characteristic: list[DrugCharacteristic]¶
- 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]] = {'dosage_form': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=True), 'drug_characteristic': FieldInfo(annotation=list[DrugCharacteristic], required=False, default=[]), 'ingredients': FieldInfo(annotation=list[ProductIngredient], required=False, default=[]), 'intended_routes': FieldInfo(annotation=list[Coding], required=False, default=[]), 'nutrients': FieldInfo(annotation=list[ProductNutrient], required=False, default=[])}¶
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 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] = [], storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] = [], definitional: ~care.emr.resources.inventory.product_knowledge.spec.ProductDefinitionSpec | None = None)¶
Bases:
EMRResourceBase model for healthcare service
- status: ProductKnowledgeStatusOptions¶
- product_type: ProductTypeOptions¶
- base_unit: BoundCoding¶
- names: list[ProductName]¶
- storage_guidelines: list[StorageGuideline]¶
- definitional: ProductDefinitionSpec | None¶
- 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]] = {'alternate_identifier': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'base_unit': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'definitional': FieldInfo(annotation=Union[ProductDefinitionSpec, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'names': FieldInfo(annotation=list[ProductName], required=False, default=[]), 'product_type': FieldInfo(annotation=ProductTypeOptions, required=True), 'status': FieldInfo(annotation=ProductKnowledgeStatusOptions, required=True), 'storage_guidelines': FieldInfo(annotation=list[StorageGuideline], required=False, default=[])}¶
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 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] = [], storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] = [], 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=25), ~pydantic.functional_validators.AfterValidator(func=~care.emr.utils.slug_type.slug_validator)])¶
Bases:
BaseProductKnowledgeSpec- slug_value: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=5), MaxLen(max_length=25)]), AfterValidator(func=slug_validator)]¶
- 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]] = {'alternate_identifier': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'base_unit': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'category': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'definitional': FieldInfo(annotation=Union[ProductDefinitionSpec, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'names': FieldInfo(annotation=list[ProductName], required=False, default=[]), 'product_type': FieldInfo(annotation=ProductTypeOptions, required=True), 'slug_value': FieldInfo(annotation=str, required=True, metadata=[MinLen(min_length=5), MaxLen(max_length=25), AfterValidator(func=<function slug_validator>)]), 'status': FieldInfo(annotation=ProductKnowledgeStatusOptions, required=True), 'storage_guidelines': FieldInfo(annotation=list[StorageGuideline], required=False, default=[])}¶
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 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] = [], storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] = [], 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=25), ~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:
ProductKnowledgeUpdateSpecPayment reconciliation write specification
- 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]] = {'alternate_identifier': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'base_unit': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'category': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'definitional': FieldInfo(annotation=Union[ProductDefinitionSpec, NoneType], required=False, default=None), 'facility': 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={}), 'name': FieldInfo(annotation=str, required=True), 'names': FieldInfo(annotation=list[ProductName], required=False, default=[]), 'product_type': FieldInfo(annotation=ProductTypeOptions, required=True), 'slug_value': FieldInfo(annotation=str, required=True, metadata=[MinLen(min_length=5), MaxLen(max_length=25), AfterValidator(func=<function slug_validator>)]), 'status': FieldInfo(annotation=ProductKnowledgeStatusOptions, required=True), 'storage_guidelines': FieldInfo(annotation=list[StorageGuideline], required=False, default=[])}¶
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 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] = [], storage_guidelines: list[~care.emr.resources.inventory.product_knowledge.spec.StorageGuideline] = [], 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:
BaseProductKnowledgeSpecInvoice read specification
- 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]] = {'alternate_identifier': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'base_unit': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'category': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'definitional': FieldInfo(annotation=Union[ProductDefinitionSpec, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'is_instance_level': FieldInfo(annotation=bool, required=True), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'names': FieldInfo(annotation=list[ProductName], required=False, default=[]), 'product_type': FieldInfo(annotation=ProductTypeOptions, required=True), 'slug': FieldInfo(annotation=str, required=True), 'slug_config': FieldInfo(annotation=dict, required=True), 'status': FieldInfo(annotation=ProductKnowledgeStatusOptions, required=True), 'storage_guidelines': FieldInfo(annotation=list[StorageGuideline], required=False, default=[])}¶
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.