13.2.168. camcops_server.tasks.audit

camcops_server/tasks/audit.py


Copyright (C) 2012-2019 Rudolf Cardinal (rudolf@pobox.com).

This file is part of CamCOPS.

CamCOPS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

CamCOPS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with CamCOPS. If not, see <http://www.gnu.org/licenses/>.


class camcops_server.tasks.audit.Audit(**kwargs)[source]

Server implementation of the AUDIT task.

A simple constructor that allows initialization from kwargs.

Sets attributes on the constructed instance using the names and values in kwargs.

Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.

editing_time_s

How long has the user spent editing the task? (Calculated by the CamCOPS client.)

firstexit_is_abort

Was the first exit from the task’s editor an “abort”?

firstexit_is_finish

Was the first exit from the task’s editor a successful “finish”?

get_clinical_text(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_ctvinfo.CtvInfo][source]

Tasks that provide clinical text information should override this to provide a list of camcops_server.cc_modules.cc_ctvinfo.CtvInfo objects.

Return None (default) for a task that doesn’t provide clinical text, or [] for one that does in general but has no information for this particular instance, or a list of camcops_server.cc_modules.cc_ctvinfo.CtvInfo objects.

get_snomed_codes(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_snomed.SnomedExpression][source]

Returns all SNOMED-CT codes for this task.

Parameters:req – the camcops_server.cc_modules.cc_request.CamcopsRequest
Returns:a list of camcops_server.cc_modules.cc_snomed.SnomedExpression objects
get_summaries(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_summaryelement.SummaryElement][source]

Return a list of SummaryElement objects, for this database object (not any dependent classes/tables).

Note that this is implemented on GenericTabletRecordMixin, not camcops_server.cc_modules.cc_task.Task, so that ancillary objects can also provide summaries.

get_task_html(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → str[source]

HTML for the main task content.

Must be overridden by derived classes.

get_trackers(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_trackerhelpers.TrackerInfo][source]

Tasks that provide quantitative information for tracking over time should override this and return a list of camcops_server.cc_modules.cc_trackerhelpers.TrackerInfo objects, one per tracker.

The information is read by camcops_server.cc_modules.cc_tracker.Tracker.get_all_plots_for_one_task_html().

Time information will be retrieved using get_creation_datetime().

is_complete() → bool[source]

Is the task instance complete?

Must be overridden.

patient

SQLAlchemy relationship – “the patient for this task”.

Note that this refers to the CURRENT version of the patient. If there is an editing chain, older patient versions are not retrieved.

Compare camcops_server.cc_modules.cc_blob.blob_relationship(), which uses the same strategy, as do several other similar functions.

patient_id

SQLAlchemy Column that is a foreign key to the patient table.

special_notes

List-style SQLAlchemy relationship to any SpecialNote objects attached to this class.

when_created

Column representing the task’s creation time.

when_firstexit

Column representing when the user first exited the task’s editor (i.e. first “finish” or first “abort”).

class camcops_server.tasks.audit.AuditC(**kwargs)[source]

A simple constructor that allows initialization from kwargs.

Sets attributes on the constructed instance using the names and values in kwargs.

Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.

editing_time_s

How long has the user spent editing the task? (Calculated by the CamCOPS client.)

firstexit_is_abort

Was the first exit from the task’s editor an “abort”?

firstexit_is_finish

Was the first exit from the task’s editor a successful “finish”?

get_clinical_text(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_ctvinfo.CtvInfo][source]

Tasks that provide clinical text information should override this to provide a list of camcops_server.cc_modules.cc_ctvinfo.CtvInfo objects.

Return None (default) for a task that doesn’t provide clinical text, or [] for one that does in general but has no information for this particular instance, or a list of camcops_server.cc_modules.cc_ctvinfo.CtvInfo objects.

get_snomed_codes(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_snomed.SnomedExpression][source]

Returns all SNOMED-CT codes for this task.

Parameters:req – the camcops_server.cc_modules.cc_request.CamcopsRequest
Returns:a list of camcops_server.cc_modules.cc_snomed.SnomedExpression objects
get_summaries(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_summaryelement.SummaryElement][source]

Return a list of SummaryElement objects, for this database object (not any dependent classes/tables).

Note that this is implemented on GenericTabletRecordMixin, not camcops_server.cc_modules.cc_task.Task, so that ancillary objects can also provide summaries.

get_task_html(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → str[source]

HTML for the main task content.

Must be overridden by derived classes.

get_trackers(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → List[camcops_server.cc_modules.cc_trackerhelpers.TrackerInfo][source]

Tasks that provide quantitative information for tracking over time should override this and return a list of camcops_server.cc_modules.cc_trackerhelpers.TrackerInfo objects, one per tracker.

The information is read by camcops_server.cc_modules.cc_tracker.Tracker.get_all_plots_for_one_task_html().

Time information will be retrieved using get_creation_datetime().

is_complete() → bool[source]

Is the task instance complete?

Must be overridden.

patient

SQLAlchemy relationship – “the patient for this task”.

Note that this refers to the CURRENT version of the patient. If there is an editing chain, older patient versions are not retrieved.

Compare camcops_server.cc_modules.cc_blob.blob_relationship(), which uses the same strategy, as do several other similar functions.

patient_id

SQLAlchemy Column that is a foreign key to the patient table.

special_notes

List-style SQLAlchemy relationship to any SpecialNote objects attached to this class.

when_created

Column representing the task’s creation time.

when_firstexit

Column representing when the user first exited the task’s editor (i.e. first “finish” or first “abort”).