def add_relation(self, rel, concept): if isinstance(concept, pymedtermino.Concept): if rel in self.relations: getattr(self, rel).add(concept) else: self.relations.add(rel) setattr(self, rel, pymedtermino.Concepts([concept])) else: if rel in self.relations: getattr(self, rel).update(concept) else: self.relations.add(rel) setattr(self, rel, pymedtermino.Concepts(concept))
def map_concepts(self, concepts): r = pymedtermino.Concepts() for concept in concepts: db_cursor.execute(self.request, (concept.code, )) for (code, ) in db_cursor.fetchall(): c = self.terminology2.get(code) if c: r.add(c) return r
def map_concepts(self, concepts): r = pymedtermino.Concepts() for concept in concepts: code = concept.code.replace(".", "") db_cursor.execute( "SELECT cimcdf_cdf_numero_fk_pk, cimcdf_cdf_code_fk_pk FROM cimcdf_cim10_codif WHERE cimcdf_cim_code_fk_pk = %s", (code, )) for (numero, code) in db_cursor.fetchall(): c = self.terminology2.get("%s_%s" % (numero, code)) if c: r.add(c) return r
def associated_clinical_findings(self): """Return the clinical finding concepts associated to this concept (which is expected to be a anatomical structure, a morphology, etc).""" r = pymedtermino.Concepts() for i in set(self.self_and_descendants()) | set( self.descendant_parts()): for relation in MAIN_CLINICAL_FINDING_RELATIONS: relation = "INVERSE_%s" % relation if relation in i.relations: for j in getattr(i, relation): if j.is_a(SNOMEDCT[404684003]): r.add(j) return r
def map_concepts(self, concepts): r = pymedtermino.Concepts() for concept in concepts: db_cursor.execute( "SELECT cimcdf_cim_code_fk_pk FROM WHERE (cimcdf_cdf_numero_fk_pk = %s) AND (cimcdf_cdf_code_fk_pk = %s)", (concept.cdf_numero, concept.cdf_code)) for (code, ) in db_cursor.fetchall(): if (not "-" in code) and (len(code) > 3): code = "%s.%s" % (code[:3], code[3:]) c = self.terminology2.get(code) if c: r.add(c) return r