19.1.86. camcops_server.tasks.diagnosis


Copyright (C) 2012-2018 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.diagnosis.DiagnosesSequence(*args, minimum_number: int = 0, **kwargs)[source]
class camcops_server.tasks.diagnosis.DiagnosisAllReport[source]

Report to show all diagnoses.

get_query(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → sqlalchemy.sql.selectable.SelectBase[source]

Return the Select statement to execute the report. Must override. Parameters are passed in via the Request.

class camcops_server.tasks.diagnosis.DiagnosisBase(**kwargs)[source]
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 dictionaries.

Return None (default) for a task that doesn’t provide clinical text, or [] for one with no information, or a list of CtvInfo objects.

get_hl7_extra_data_segments(recipient_def: camcops_server.cc_modules.cc_recipdef.RecipientDefinition) → List[hl7.containers.Segment][source]

Return a list of any extra HL7 data segments.

May be overridden.

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

HTML for the main task content. Overridden by derived classes.

is_complete() → bool[source]

Is the task instance complete? Must be overridden.

class camcops_server.tasks.diagnosis.DiagnosisFinderReportBase[source]

Report to show all diagnoses.

render_html(req: camcops_server.cc_modules.cc_request.CamcopsRequest, column_names: List[str], page: camcops_server.cc_modules.cc_pyramid.CamcopsPage) → pyramid.response.Response[source]

If you wish, you can override this for more report customization.

class camcops_server.tasks.diagnosis.DiagnosisFinderReportSchema(*arg, **kw)[source]
class camcops_server.tasks.diagnosis.DiagnosisICD10FinderReport[source]
get_query(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → sqlalchemy.sql.selectable.SelectBase[source]

Return the Select statement to execute the report. Must override. Parameters are passed in via the Request.

static get_test_querydict() → Dict[str, Any][source]

What this function returns is used as the specimen appstruct for unit tests.

class camcops_server.tasks.diagnosis.DiagnosisICD10Report[source]

Report to show ICD-10 diagnoses.

get_query(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → sqlalchemy.sql.selectable.SelectBase[source]

Return the Select statement to execute the report. Must override. Parameters are passed in via the Request.

class camcops_server.tasks.diagnosis.DiagnosisICD9CMFinderReport[source]
get_query(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → sqlalchemy.sql.selectable.SelectBase[source]

Return the Select statement to execute the report. Must override. Parameters are passed in via the Request.

static get_test_querydict() → Dict[str, Any][source]

What this function returns is used as the specimen appstruct for unit tests.

class camcops_server.tasks.diagnosis.DiagnosisICD9CMReport[source]

Report to show ICD-9-CM (DSM-IV-TR) diagnoses.

get_query(req: camcops_server.cc_modules.cc_request.CamcopsRequest) → sqlalchemy.sql.selectable.SelectBase[source]

Return the Select statement to execute the report. Must override. Parameters are passed in via the Request.

class camcops_server.tasks.diagnosis.DiagnosisIcd10(**kwargs)[source]
class camcops_server.tasks.diagnosis.DiagnosisIcd10Item(**kwargs)[source]
class camcops_server.tasks.diagnosis.DiagnosisIcd9CM(**kwargs)[source]
class camcops_server.tasks.diagnosis.DiagnosisIcd9CMItem(**kwargs)[source]
class camcops_server.tasks.diagnosis.DiagnosisItemBase(**kwargs)[source]
class camcops_server.tasks.diagnosis.DiagnosisNode(*arg, **kw)[source]
schema_type

alias of colander.String

camcops_server.tasks.diagnosis.get_diagnosis_inc_exc_report_query(req: camcops_server.cc_modules.cc_request.CamcopsRequest, diagnosis_class: Type[camcops_server.tasks.diagnosis.DiagnosisBase], item_class: Type[camcops_server.tasks.diagnosis.DiagnosisItemBase], item_fk_fieldname: str, system: str, which_idnum: int, inclusion_dx: List[str], exclusion_dx: List[str], age_minimum_y: int, age_maximum_y: int) → sqlalchemy.sql.selectable.SelectBase[source]

As for get_diagnosis_report_query, but this makes some modifications to do inclusion and exclusion criteria.

  • We need a linking number to perform exclusion criteria.
  • Therefore, we use a single ID number, which must not be NULL.