Пример #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,
         ),
     ]
Пример #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
Пример #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
Пример #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))
     ]
Пример #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()))
     ]
Пример #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}")
     ]
Пример #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,
         )
     ]
Пример #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))
     ]
Пример #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})")
     ]
Пример #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}"))
     ]
Пример #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()}")
     ]
Пример #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}"))
     ]
Пример #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)))
     ]
Пример #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()))
     ]
Пример #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()))
     ]
Пример #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)]
Пример #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)))
     ]
Пример #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
Пример #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)))
     ]
Пример #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)))
     ]
Пример #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)"))
     ]
Пример #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)))
     ]
Пример #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)})"))
     ]
Пример #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)})")
     ]
Пример #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))
     ]
Пример #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)})"))
     ]
Пример #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()))
     ]
Пример #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())))
     ]
Пример #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))
     ]
Пример #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}"))
     ]