Assessment
Introduction #
The Assessment model represents a clinical assessment or evaluation of a patient’s medical Condition.
Basic usage #
To get an assessment by identifier, use the get method on the Assessment model manager:
from canvas_sdk.v1.data.assessment import Assessment
assessment = Assessment.objects.get(id="b80b1cdc-2e6a-4aca-90cc-ebc02e683f35")
If you have a patient object, the assessments for a patient can be accessed with the assessments attribute on a Patient object:
from canvas_sdk.v1.data.patient import Patient
patient = Patient.objects.get(id="1eed3ea2a8d546a1b681a2a45de1d790")
assessments = patient.assessments.all()
Filtering #
Assessments can be filtered by any attribute that exists on the model.
Filtering for assessments is done with the filter method on the Assessment model manager.
By attribute #
Specify an attribute with filter to filter by that attribute:
from canvas_sdk.v1.data.assessment import Assessment, AssessmentStatus
assessments = Assessment.objects.filter(patient__id="1eed3ea2a8d546a1b681a2a45de1d790", status=AssessmentStatus.STATUS_IMPROVING)
Committed assessments #
The committed method returns assessments that have been committed and not entered in error:
from canvas_sdk.v1.data.assessment import Assessment
committed_assessments = Assessment.objects.committed()
Attributes #
Assessment #
| Field Name | Type | |
|---|---|---|
| id | UUID | |
| dbid | Integer | |
| created | DateTime | |
| modified | DateTime | |
| originator | CanvasUser | |
| entered_in_error | CanvasUser | |
| committer | CanvasUser | |
| patient | Patient | |
| note | Note | |
| condition | Condition | |
| interview | Interview | |
| status | AssessmentStatus | |
| narrative | String | |
| background | String | |
| care_team | String | |
| treatments_stated | MedicationStatement[] | |
| billinglineitem_set | BillingLineItem[] | |
| referrals | Referral[] |
Commands linked to an assessment #
Plan- and Procedures-section commands, and the order, medication, and educational material commands, can be linked to an assessment made in the same note. The command holds the link on its own assessment field, and each accessor below reads the link back from the assessment’s side.
A link only joins a command and an assessment in the same note. When a command moves to another note without its assessment, or an assessment moves without the commands linked to it, Canvas clears those links. A command and its assessment that move together stay linked. Carrying a command forward into a new note copies its data but not its link, so the new command starts with no assessment.
Linking a prescription or an order also adds the assessed condition to the command’s diagnosis codes. Each command’s assessment_id parameter in the commands module gives the details. Clearing the link leaves those codes in place.
On an instance in the revamped note beta program, a printed note in the revamped format lists each linked command indented under its assessment.
| Field Name | Type |
|---|---|
| follow_ups | FollowUp[] |
| goals | Goal[] |
| immunizations | Immunization[] |
| instructions | Instruction[] |
| linked_change_medications | ChangeMedication[] |
| linked_dme_orders | DmeOrder[] |
| linked_educational_materials | EducationalMaterial[] |
| linked_imaging_orders | ImagingOrder[] |
| linked_lab_orders | LabOrder[] |
| linked_prescriptions | Prescription[] |
| linked_referrals | Referral[] |
| note_tasks | NoteTask[] |
| plans | Plan[] |
| procedures | Procedure[] |
| stopped_medications | StopMedicationEvent[] |
| updategoals | UpdateGoal[] |
Use linked_referrals for referrals linked this way. The referrals accessor above reads a referral’s separate assessments list instead.
A linked Close Goal command arrives on updategoals rather than through an accessor of its own, because both the Update Goal and Close Goal commands record an UpdateGoal.
Enumeration types #
Assessment Status #
| Value | Label |
|---|---|
| STATUS_IMPROVING | Improved |
| STATUS_STABLE | Unchanged |
| STATUS_DETERIORATING | Deteriorated |