Labs

The Labs API is responsible for managing lab orders.

Examples

from canvas_core import events, logging
from canvas_core.labs.models import LabOrder
logger = logging.get_logger(__name__)

@events.handle_event(events.PreRecordCreate[LabOrder], origin=LabOrder)
def handle_lab_order_status_pre_create(event: events.PreRecordCreate[LabOrder]) -> None:
    logger.info("LabOrder will be created.")

@events.handle_event(events.PostRecordCreate[LabOrder], origin=LabOrder)
def handle_lab_order_post_create(event: events.PostRecordCreate[LabOrder]) -> None:
    logger.info("LabOrder Created.")

@events.handle_event(events.PreRecordUpdate[LabOrder], origin=LabOrder)
def handle_lab_order_pre_change(event: events.PreRecordUpdate[LabOrder]) -> None:
    logger.info("LabOrder will be updated.", diff=event.diff)

@events.handle_event(events.PostRecordUpdate[LabOrder], origin=LabOrder)
def handle_lab_order_post_change(event: events.PostRecordUpdate[LabOrder]) -> None:
    logger.info("LabOrder Updated.", diff=event.diff)

API Reference

canvas_core.labs.get_lab_order_model() type[LabOrder]

Return the LabOrder model class.

class canvas_core.labs.models.LabOrder(*args, **kwargs)

An order sent to lab.

exception DoesNotExist
exception MultipleObjectsReturned
class ProcessingStatus(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
class canvas_core.labs.models.LabTest(*args, **kwargs)

A lab test related to a lab order.

exception DoesNotExist
exception MultipleObjectsReturned
class Status(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)