File size: 8,414 Bytes
f92da22 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 |
import os
def insert_texts_to_templates(texts_string, start_number=355):
"""
Insère des textes séparés par '/' dans les fichiers template
Args:
texts_string: String contenant les textes séparés par '/'
start_number: Numéro de départ pour les fichiers template
"""
# Séparer les textes par '/'
texts = [text.strip() for text in texts_string.split('*') if text.strip()]
print(f"Nombre de textes trouvés: {len(texts)}")
# Vérifier que le dossier existe
if not os.path.exists("data_txt"):
print("❌ Le dossier 'data_txt' n'existe pas!")
return
# Insérer chaque texte dans un fichier
for i, text in enumerate(texts):
file_number = start_number + i
filename = f"template{file_number}.txt"
filepath = os.path.join("data_txt", filename)
# Vérifier si le fichier existe
if not os.path.exists(filepath):
print(f"⚠️ Le fichier {filename} n'existe pas, création...")
# Créer le fichier s'il n'existe pas
with open(filepath, 'w', encoding='utf-8') as f:
pass
# Écrire le texte dans le fichier
with open(filepath, 'w', encoding='utf-8') as f:
f.write(text)
print(f"✅ Texte inséré dans {filename}: '{text[:50]}{'...' if len(text) > 50 else ''}'")
print(f"\n🎉 {len(texts)} textes insérés avec succès!")
print(f"De template{start_number}.txt à template{start_number + len(texts) - 1}.txt")
# Exemple d'utilisation
if __name__ == "__main__":
# Remplacez cette ligne par vos textes réels
mes_textes = """
Bilan cardiologique
Indication : exploration d’une dyspnée d’effort et palpitations.
Échocardiographie transthoracique : ventricule gauche de dimensions normales (51 mm de diamètre télédiastolique), fonction systolique préservée (FEVG 60%). Hypertrophie légère du septum interventriculaire (13 mm). Oreillette gauche dilatée (volume 42 ml/m²).
Valves : valve mitrale souple, sans prolapsus, insuffisance mitrale minime. Valve aortique tricuspide, calcifications modérées, pas de sténose.
Pression artérielle pulmonaire estimée : 32 mmHg.
Doppler cardiaque : flux transmitral restrictif, compatible avec une dysfonction diastolique grade I.
ECG 12 dérivations : rythme sinusal, fréquence 78/min, repolarisation normale, absence de trouble de conduction.
Test d’effort : bonne tolérance, absence de signes ischémiques, tension artérielle maximale 175/92 mmHg.
Conclusion : cardiopathie hypertensive débutante avec atteinte diastolique. Suivi cardiologique et optimisation du traitement antihypertenseur recommandés.
*
Exploration fonctionnelle respiratoire
Indication : patient tabagique chronique (25 PA) présentant une toux persistante.
Spirométrie : VEMS = 2,1 L (65% de la valeur théorique), CVF = 3,5 L (82%), rapport VEMS/CVF = 59%.
Pléthysmographie : CPT = 6,2 L (110%), VR = 2,8 L (135%), traduisant une distension thoracique.
Diffusion du CO (DLCO) : abaissée à 62%.
Gaz du sang artériel : PaO₂ = 72 mmHg, PaCO₂ = 39 mmHg, pH = 7,41.
Scanner thoracique : zones d’emphysème centrolobulaire prédominant aux lobes supérieurs, pas de nodule suspect.
Conclusion : BPCO stade GOLD II. Sevrage tabagique impératif et mise en route d’un traitement bronchodilatateur de longue durée d’action.
*
Endoscopie digestive haute
Indication : douleurs épigastriques récidivantes et reflux acide.
Œsophage : muqueuse inflammatoire, classification de Los Angeles B. Absence de sténose ou de métaplasie de type Barrett.
Estomac : antrite érythémateuse diffuse, plis gastriques réguliers. Présence d’un ulcère bulbaire de 6 mm, fond fibrineux.
Duodénum : muqueuse normale, pas d’atrophie villositaire.
Test rapide à l’uréase : positif, suggérant une infection à Helicobacter pylori.
Biopsies gastriques : en attente d’analyse histologique.
Conclusion : reflux gastro-œsophagien avec ulcère duodénal associé à Helicobacter pylori. Traitement par IPP et trithérapie antibiotique recommandé.
*
IRM du genou droit
Indication : gonalgies chroniques avec suspicion de pathologie méniscale.
Os : absence de fracture, discrète ostéophytose fémoro-tibiale interne.
Ménisques : fissure longitudinale du corne postérieure du ménisque interne.
Cartilage : amincissement focal du cartilage fémoro-tibial interne.
Ligaments : LCA et LCP intacts. Discrète laxité du ligament collatéral interne.
Épanchement articulaire : modéré, synovite réactionnelle.
Conclusion : méniscopathie interne avec début d’arthrose fémoro-tibiale interne. Indication de viscosupplémentation et kinésithérapie.
*
Bilan thyroïdien
Indication : patient présentant un goitre diffus et tachycardie.
TSH ultrasensible : <0,01 mUI/L (abaissée).
T4 libre : 34 pmol/L (augmentée).
T3 libre : 9 pmol/L (augmentée).
Anticorps anti-récepteurs de la TSH : positifs.
Échographie thyroïdienne : glande augmentée de volume (50 ml), vascularisation diffuse au Doppler. Nodules absents.
Conclusion : hyperthyroïdie de type Basedow. Indication d’un traitement par antithyroïdiens de synthèse et avis spécialisé en endocrinologie.
*
Myélogramme
Indication : anémie macrocytaire avec suspicion de syndrome myélodysplasique.
Moelle osseuse : riche, hypercellulaire.
Lignée érythroïde : anomalies de maturation avec formes mégaloblastiques.
Lignée granulocytaire : dysgranulopoïèse, neutrophiles hypogranulés.
Lignée mégacaryocytaire : micromégacaryocytes nombreux.
Blastes : 4%.
Caryotype : anomalie 5q-.
Conclusion : syndrome myélodysplasique avec délétion 5q. Discussion d’un traitement par lénalidomide.
*
IRM cérébrale
Indication : suspicion de sclérose en plaques.
Substance blanche : multiples hypersignaux en T2 et FLAIR, prédominant en péri-ventriculaire et sous-tentoriel.
Prise de contraste : deux lésions rehaussées par le gadolinium, témoignant d’une activité inflammatoire en cours.
Corps calleux : amincissement diffus.
Nerfs optiques : normalité de signal.
Conclusion : lésions démyélinisantes disséminées dans le temps et l’espace, compatible avec sclérose en plaques. Avis neurologique pour mise en route d’un traitement immunomodulateur.
*
Dermatologie – biopsie cutanée
Indication : plaques érythémato-squameuses chroniques au niveau des coudes et genoux.
Histologie : hyperkératose parakératosique, acanthose régulière, infiltration lymphocytaire du derme superficiel.
Immunofluorescence directe : négative.
Bilan sanguin : CRP légèrement augmentée (8 mg/L).
Conclusion : psoriasis en plaques. Discussion d’un traitement par photothérapie UVB ou biothérapie anti-TNF en cas de résistance.
*
Examen ophtalmologique complet
Indication : baisse progressive de l’acuité visuelle bilatérale.
Acuité visuelle : 6/10 OD, 7/10 OG.
Pression intraoculaire : 17 mmHg bilatérale.
Fond d’œil : dépôts drusénoïdes maculaires, début d’atrophie de l’épithélium pigmentaire.
OCT maculaire : épaississement rétinien central, zones d’hyporéflectivité compatibles avec une DMLA débutante.
Conclusion : dégénérescence maculaire liée à l’âge (DMLA sèche débutante). Suivi régulier avec supplémentation en vitamines antioxydantes.
*
Nasofibroscopie
Indication : obstruction nasale chronique et épistaxis récidivants.
Fosses nasales : muqueuse hypertrophiée, cornet inférieur gauche volumineux.
Septum nasal : déviation droite.
Rhinopharynx : végétations adénoïdes persistantes.
Sinus maxillaires : sécrétion purulente visible à l’orifice du méat moyen.
Biopsie : en attente pour éliminer un processus tumoral.
Conclusion : polypose naso-sinusienne avec sinusite chronique. Indication d’une chirurgie endoscopique naso-sinusienne.
"""
print("=== Script d'insertion de textes ===")
print(f"Textes à insérer: {mes_textes}")
print(f"Démarrage à partir de: template408.txt\n")
insert_texts_to_templates(mes_textes, start_number=409)
print("\n=== Pour utiliser avec vos propres textes ===")
print("Modifiez la variable 'mes_textes' avec vos textes séparés par '/'")
print("Ou appelez: insert_texts_to_templates('texte1 / texte2 / texte3', 355)") |