Exemplo n.º 1
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     diagnoses = (self.get_psychiatric_diagnoses(req) +
                  self.get_medical_diagnoses())
     return [
         CtvInfo(
             heading=ws.webify(self.wxstring(req, "discharge_reason")),
             content=self.get_discharge_reason(req),
         ),
         CtvInfo(
             heading=ws.webify(self.wxstring(req, "referral_reason_t")),
             content=", ".join(self.get_referral_reasons(req)),
         ),
         CtvInfo(
             heading=ws.webify(self.wxstring(req, "diagnoses_t")),
             content=", ".join(diagnoses),
         ),
         CtvInfo(
             heading=ws.webify(self.wxstring(req, "management_t")),
             content=", ".join(self.get_managements(req)),
         ),
         CtvInfo(
             heading=ws.webify(self.wxstring(req, "outcome_t")),
             content=self.outcome,
         ),
     ]
Exemplo n.º 2
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     infolist = [
         CtvInfo(content="Pertains to: {}. Category: {}.".format(
             format_datetime(self.date_pertains_to, DateFormat.LONG_DATE),
             self.get_full_description(req)))
     ]
     if self.comments:
         infolist.append(CtvInfo(content=ws.webify(self.comments)))
     return infolist
Exemplo n.º 3
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     category = (("Meets" if self.meets_criteria() else "Does not meet") +
                 " criteria for mixed affective episode")
     infolist = [
         CtvInfo(content="Pertains to: {}. {}.".format(
             format_datetime(self.date_pertains_to, DateFormat.LONG_DATE),
             category))
     ]
     if self.comments:
         infolist.append(CtvInfo(content=ws.webify(self.comments)))
     return infolist
Exemplo n.º 4
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content="PSWQ total score {} (range {}–{})".format(
             self.total_score(), self.MIN_TOTAL, self.MAX_TOTAL))
     ]
Exemplo n.º 5
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content="BADLS total score {}/60 (lower is better)".format(
             self.total_score()))
     ]
Exemplo n.º 6
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(
             content=f"CAGE score {self.total_score()}/{self.NQUESTIONS}")
     ]
Exemplo n.º 7
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     return [
         CtvInfo(
             heading=ws.webify(self.wxstring(req, "f_referral_reason_t")),
             content=self.referral_reason,
         )
     ]
Exemplo n.º 8
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content="{} total score {}/{}".format(
             self.shortname, self.total_score(), self.MAX_SCORE))
     ]
Exemplo n.º 9
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=f"PSWQ total score {self.total_score()} "
                 f"(range {self.MIN_TOTAL}–{self.MAX_TOTAL})")
     ]
Exemplo n.º 10
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=(f"{ws.webify(self.bdi_scale)} "
                          f"total score {self.total_score()}/{MAX_SCORE}"))
     ]
Exemplo n.º 11
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=f"WSAS total score "
                 f"{self.total_score()}/{self.max_score()}")
     ]
Exemplo n.º 12
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=(f"{self.shortname} total score "
                          f"{self.total_score()}/{self.MAX_SCORE}"))
     ]
Exemplo n.º 13
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(
             content="CGI-I rating: {}".format(self.get_rating_text(req)))
     ]
Exemplo n.º 14
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(
             content="AUDIT-C total score {}/12".format(self.total_score()))
     ]
Exemplo n.º 15
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content="WSAS total score {t}/{m}".format(
             t=self.total_score(), m=self.max_score()))
     ]
Exemplo n.º 16
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     a = self.attn_score()
     m = self.mem_score()
     f = self.fluency_score()
     lang = self.lang_score()
     v = self.vsp_score()
     t = a + m + f + lang + v
     text = ("ACE-III total: {t}/{tmax} "
             "(attention {a}/{amax}, memory {m}/{mmax}, "
             "fluency {f}/{fmax}, language {lang}/{lmax}, "
             "visuospatial {v}/{vmax})").format(t=t,
                                                a=a,
                                                m=m,
                                                f=f,
                                                lang=lang,
                                                v=v,
                                                tmax=TOTAL_MAX,
                                                amax=ATTN_MAX,
                                                mmax=MEMORY_MAX,
                                                fmax=FLUENCY_MAX,
                                                lmax=LANG_MAX,
                                                vmax=VSP_MAX)
     return [CtvInfo(content=text)]
Exemplo n.º 17
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content="SMAST total score {}/{} ({})".format(
             self.total_score(), self.NQUESTIONS, self.likelihood(req)))
     ]
Exemplo n.º 18
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     infolist = []
     for item in self.items:
         infolist.append(
             CtvInfo(content="<b>{}</b>: {}".format(
                 ws.webify(item.code), ws.webify(item.description))))
     return infolist
Exemplo n.º 19
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content="Quality of life: {}".format(
             ws.number_to_dp(self.utility, DP)))
     ]
Exemplo n.º 20
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content="HAM-D-7 total score {}/{} ({})".format(
             self.total_score(), self.MAX_SCORE, self.severity(req)))
     ]
Exemplo n.º 21
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=(
             f"Total score {ws.number_to_dp(self.total_score(), DP)} "
             f"(range {self.MIN_SCORE}–{self.MAX_SCORE}, higher better)"))
     ]
Exemplo n.º 22
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     contact_type = "Patient" if self.patient_contact else "Non-patient"
     return [
         CtvInfo(content="{} contact. Duration (hours:minutes) {}.".format(
             contact_type, get_duration_h_m(self.start, self.end)))
     ]
Exemplo n.º 23
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=(
             f"PHQ-15 total score {self.total_score()}/{self.MAX_TOTAL} "  # noqa: E501
             f"({self.severity( req)})"))
     ]
Exemplo n.º 24
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=f"SLUMS total score "
                 f"{self.total_score()}/{self.MAX_SCORE} "
                 f"({self.category(req)})")
     ]
Exemplo n.º 25
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     classification = "positive" if self.is_positive() else "negative"
     return [
         CtvInfo(content="FAST total score {}/{} ({})".format(
             self.total_score(), self.MAX_SCORE, classification))
     ]
Exemplo n.º 26
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=(
             f"GAD-7 total score {self.total_score()}/{self.MAX_SCORE} "
             f"({self.severity(req)})"))
     ]
Exemplo n.º 27
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(
             content="anxiety score {}/{}, depression score {}/21".format(
                 self.anxiety_score(), self.MAX_ANX_SCORE,
                 self.depression_score()))
     ]
Exemplo n.º 28
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=(
             "PANSS total score {} (P {}, N {}, G {}, "
             "composite P–N {})".format(self.total_score(), self.score_p(
             ), self.score_n(), self.score_g(), self.composite())))
     ]
Exemplo n.º 29
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     if not self.is_complete():
         return CTV_INCOMPLETE
     t = self.total_score()
     c = ws.number_to_dp(self.composite_score(), DP, default="?")
     return [
         CtvInfo(content="PDSS total score {t}/{mt} (composite {c}/{mc})".
                 format(t=t, mt=self.MAX_TOTAL, c=c, mc=self.MAX_COMPOSITE))
     ]
Exemplo n.º 30
0
 def get_clinical_text(self, req: CamcopsRequest) -> List[CtvInfo]:
     scoredict = self.get_score()
     if not self.is_complete():
         return CTV_INCOMPLETE
     return [
         CtvInfo(content=(
             f"Total: {scoredict['total']}/{self.MAX_TOTAL}; "
             f"working memory index {scoredict['wm']}/{self.MAX_WM}"))
     ]