13.2.52. camcops_server.cc_modules.cc_patientidnum

camcops_server/cc_modules/cc_patientidnum.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/>.


Represent patient ID numbers.

We were looking up ID descriptors from the device’s stored variables. However, that is a bit of a nuisance for a server-side researcher, and it’s a pain to copy the server’s storedvar values (and – all or some?) when a patient gets individually moved off the tablet. Anyway, they’re important, so a little repetition is not the end of the world. So, let’s have the tablet store its current ID descriptors in the patient record at the point of upload, and then it’s available here directly. Thus, always complete and contemporaneous.

… DECISION CHANGED 2017-07-08; see justification in tablet
overall_design.txt
class camcops_server.cc_modules.cc_patientidnum.PatientIdNum(**kwargs)[source]

SQLAlchemy ORM class representing an ID number (as a which_idnum/idnum_value pair) for a patient.

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.

description(req: CamcopsRequest) → str[source]

Returns the full description for this ID number.

get_filename_component(req: CamcopsRequest) → str[source]

Returns a string including the short description of the ID number, and the number itself, for use in filenames.

get_idnum_reference() → camcops_server.cc_modules.cc_simpleobjects.IdNumReference[source]

Returns an camcops_server.cc_modules.cc_simpleobjects.IdNumReference object summarizing this ID number.

is_superficially_valid() → bool[source]

Is this a valid ID number?

set_idnum(idnum_value: int) → None[source]

Sets the ID number value.

short_description(req: CamcopsRequest) → str[source]

Returns the short description for this ID number.

camcops_server.cc_modules.cc_patientidnum.fake_tablet_id_for_patientidnum(patient_id: int, which_idnum: int) → int[source]

Returns a fake client-side PK (tablet ID) for a patient number. Only for use in upgrading old databases.