22. Things to do¶
22.1. Client¶
22.1.1. Tasks¶
- Cardinal_ExpDet* tasks: generate noise on the fly?
22.1.2. Client core¶
- Windows build.
- OS/X build.
- iOS build.
- Google Play Store general release.
- Apple App Store.
- Ability to search for tasks in the master task list.
- Consider a “chain of tasks” concept again (see e.g. ResearchMenu.js; MenuTableRow.js; QuestionnaireHeader.js…)… or is that pointless relative to a “set of tasks” concept?
- Whisker framework.
- Desktop-style menu for desktop clients. (Faster to navigate around.)
- Search for
“// ***”
- Think about a web-based client, e.g. via VNC.
- Validator options, e.g. the server says “ID type 72 uses the ‘NHS number’ validator”, so checksums are checked.
22.2. Server¶
- Superuser facility to list all users’ e-mail addresses or provide
mailto:
URL. - Search for all
‘***’
and fix. - Implement (from command line) “export to anonymisation staging database” = with patient info per table. (Extend cc_dump.)
- Test the HL7 backend. Think re HL7 implementation carefully; see hl7_design.txt. Also: ensure we can efficiently distinguish between “previously sent” and “needs to be sent” in the context of re-sending stuff that changes in important ways (if we continue to allow this).
- Ensure that the “system user” and “server device” are used everywhere they should be.
- Finish manual.
- Test SQL Server support. (Main work was the implementation of the ISO-8601 field, 2018-05-22; the rest should be automatic.) Document that the minimum SQL Server version is 2008 (below that, there’s no time zone conversion support).
- (SERVER + CLIENT) Concept of “tasks that need doing” in the context of a
research study.
- define patients on server (per group)
- share main patient/patient_idnum tables
- use the “server device” to create them, and always in era “NOW”
- ScheduledTask – “task needs doing”
- patient (by ID number); group; task; due_from; due_by; cancelled?
- Example: “PHQ9 due for Mr X on 1 July; must be completed by 1 Aug”
- then for metacreation: “StudySchedule” or “TaskPanel”
- … a list of tasks, each with: task; due_from_relative_to_start_date; due_by_relative_to_start_date
- example: “In our study, we want a PHQ9 and GAD7 at the start, a PHQ9 at 3 months, and a PHQ9 and GAD7 at 6 months.”
- PatientSchedule
- instantiate a “StudySchedule”/“TaskPanel” with patient, group, start date
- e.g. “Mr Jones starts today…. enrol!”
- Tablets should fetch “what needs doing” for any patients defined on the
- tablet, and display them nicely.
- Tasks must be complete to satisfy the requirement.
- define patients on server (per group)
- … Relating to that: consider, on the client, a “single-patient” mode (distinct from the current “researcher” mode), tied to a specific server. “This tablet client is attached to a specific patient and will operate in a patient-friendly, single-patient mode. Show me what needs completing.” The operating concept would be: if you would like someone geographically far away to be able to download CamCOPS and complete a set of tasks for you, how could you organize so that would be simplest for them? The minimum would that you’d create login details for them, and give them a URL, username, and password.
22.3. Documentation to-do list¶
- Move some of the internal client notes into the main documentation.
- Consider autodocumentation for C++ code; see https://stackoverflow.com/questions/11246637/using-sphinx-apidoc-to-generate-documentation-from-c-code
Todo
Submit CamCOPS to Apple App Store.
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/client/client_installation.rst, line 74.)
Todo
Package CamCOPS client for easier Windows distribution.
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/client/client_installation.rst, line 79.)
Todo
Package CamCOPS client for easier Linux distribution.
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/client/client_installation.rst, line 84.)
Todo
Have the default ID number type configurable per group?
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/introduction/patient_identification.rst, line 88.)
Todo
This tour is a little outdated; apologies! The screenshots are of the older Javascript/Titanium application, not the newer C++/Qt application, and the server front end has also improved. We’ll update this when we can.
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/introduction/tour.rst, line 25.)
Todo
The HL7 implementation is currently disabled. This needs fixing.
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/server/server_front_end_admin.rst, line 199.)
Todo
upload to PyPI; write description of how to install via Pip
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/server/server_installation.rst, line 82.)
Todo
implement Windows service
(The original entry is located in /home/rudolf/Documents/code/camcops/documentation/source/server/server_installation.rst, line 84.)
Todo
fix get_cris_dd_rows
(The original entry is located in /home/rudolf/Documents/code/camcops/server/camcops_server/cc_modules/cc_task.py:docstring of camcops_server.cc_modules.cc_task.Task.get_cris_dd_rows, line 1.)
Todo
fix make_cris_tables
(The original entry is located in /home/rudolf/Documents/code/camcops/server/camcops_server/cc_modules/cc_task.py:docstring of camcops_server.cc_modules.cc_task.Task.make_cris_tables, line 1.)