
    ;0jBC                        S r SSKrSSKrSSKrSSKrSSKJrJr  \R                  R                  \
5      r\R                  R                  \S5      r\R                  R                  \S5      r\R                  R                  \S5      rS r\R"                  " S5      r\R"                  " S	\R&                  5      r\R"                  " S
\R*                  5      rS rSS jrS/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ S Q4/
rS! rS" r0 S#S$_S%S&_S'S(_SS)_S*S+_S,S-_S.S/_S0S1_S2S3_S4S5_S6S7_S8S9_S:S;_S<S=_S>S?_S@SA_SBSC_0 SDSE_SFSG_SHSI_SJSK_SLSM_SNSO_SPSQ_SRSS_STSU_SVSW_SXSY_SZS[_S\S]_S^S__SS`_SaSb_ScSd_ESeSfSgShSiSj.ErSk r/ SlQSm/Sn./ SoQSp/Sn./ SqQSr/Sn./ SsQSt/Sn./ SuQSv/Sn./ SwQSx/Sn./ SyQSz/Sn./ S{QS|/Sn./ S}QS~/Sn./ SQS/Sn./ SQS/Sn.S.r/ SQrS r S r!\"S:X  a  \!" 5         gg)a  Monta o DATA final do rm.html a partir de build/compendio.json + build/templates.json.

Contrato real do engine (rm.html:382-435): selectedText() le as CHAVES analise/impressao
de cada patologia E do objeto-variante ativo; NAO trata variantes:[string] como texto.
Logo cada variante do compendio vira objeto {nome, analise, impressao}.

Curadoria por regiao (escolha do usuario): re-tag dos 'outros' por keyword;
o que nao casar -> categoria "Outros (nao classificados)" dentro de cranio.
coluna -> cervical/lombar (ambos quando ambiguo).
    N)OrderedDictdefaultdictzcompendio.jsonztemplates.jsonz	data.jsonc                     SR                  S [        R                  " SU =(       d    SR                  5       5       5       5      $ )N c              3   ^   #    U  H#  n[         R                  " U5      S :w  d  M  Uv   M%     g7f)MnN)unicodedatacategory).0cs     (/home/lucas/joana666/build/build_data.py	<genexpr>na.<locals>.<genexpr>   s,      7M!**1-5 1Ms   -	-NFD)joinr	   	normalizelower)ss    r   nar      s7    77 7k33EAG??;LM 7 7 7    z\b\d{1,2}/\d{1,2}/\d{2,4}\bz\bCRM[-\s]?\d[\d-]*uA   \bDr[a]?\.\s+[A-ZÀ-Ý][\wÀ-ÿ]+(?:\s+[A-ZÀ-Ý][\wÀ-ÿ]+){0,3}c                    U =(       d    SR                  5       n [        R                  SU 5      n [        R                  SU 5      n [        R                  SU 5      n [
        R                  " SSU 5      R                  5       $ )Nr   z[data]z  + )strip
CRM_INLINEsubNAME_INLINEDATEre)ts    r   scrubr       s^    	
bAr1AAA1A66&#q!''))r   c                     [         R                  " SSU =(       d    SR                  5       5      n [        U 5      U::  a  U $ U S U R	                  SS5      S   nU=(       d    U S U R                  S5      S-   $ )Nz\s+r   r      r   z ,.;:u   …)r   r   r   lenrsplitrstrip)r   ncuts      r   previewr(   $   sj    
vsQW"OO-.A
1v{
BQ%,,sA
q
!CL1Ra5  )E11r   sela)r)   hipofisselarquiasmazadeno-hipofadenohipzneuro-hipofzhaste hipofmicroadenomamacroadenomarathkeatm)temporomandibularztemporo-mandibulzdisco articularzcondilo mandibulzeminencia temporalossos_temporais)zosso temporalzossos temporaiszapice petrosozconduto auditivococlea	labirintovestibulococlearzschwannoma vestibularzviii parotospongioseznervo facial intratemporzangulo pontocerebelzponto-cerebel	mastoides)mastoide
otomastoidzouvido mediozorelha mediazcaixa timpanicatimpanocolesteatomaorbitas)orbitaorbitarizglobo ocularznervo optico
intraconal
extraconalzretro-orbitzmusculos extrinsecangio)rB   	aneurismazmalformacao arteriovenosaz mavestenosez tofzpoligono de williszcirculo de williscarotidvertebrobasilbasilarfistulaz dvazdesenvolvimento venosotrombose venosazseio venosovasculitarteriface)zseios paranasaiszseio maxilarzseio frontalzseio esfenoidaletmoidzfossa nasalzcavidade nasal
rinofaring
nasofaringcavum	sinusopatzpolipo nasalmucocelecornetospescoco)
rT   tireoidparotidazglandula salivarzglandula submandibular	linfonodofaringelaringezespaco parafaringzcadeia cervicalcoluna)vertebrzdisco intervertebralhernia discalzprotrusao discalabaulamento discalzcanal vertebralzcanal medularforame	foraminallistese	espondilomedula espinhalcone medularzcauda equinazligamento amarelomodicschmorl	odontoide	jefferson	artrodesezdisco-osteofitzprocesso espinhososeringomieliaraquimedularmielopmielitefacetaslipomieloceleuncovertebrcranio)$encefalcerebrsubstancia branca	ventricul	hipocampoglioseinfartoz avcisquemfazekas
parenquimacerebeloztronco encefal
meningiomagliomazesclerose mesialchiarihidrocefalia	cavernomadesmielinizantzesclerose multiplazcisto aracnoidehematoma
hemorragia	metastasetumor	alzheimer	parkinson
huntingtonpinealzcorpo calosoneurocisticlipomasiderosezdisplasia corticalleighc                 `   ^  [          H#  u  p[        U 4S jU 5       5      (       d  M!  Us  $    g )Nc              3   ,   >#    U  H	  oT;   v   M     g 7fN r   kblobs     r   r   $detect_modalidade.<locals>.<genexpr>U   s     &#QDy#   )KWany)r   modkwss   `  r   detect_modalidader   S   s*    &#&&&J  r   c                    ^  ST ;   =(       d     [        [        R                  " ST 5      5      n[        U 4S jS 5       5      =(       d     [        [        R                  " ST 5      5      nU(       a
  U(       d  S/$ U(       a
  U(       d  S/$ SS/$ )Ncervicalz
\bc[2-7]\bc              3   ,   >#    U  H	  oT;   v   M     g 7fr   r   r   s     r   r   split_coluna.<locals>.<genexpr>[   s     R"QQDy"Qr   )lombar
lombossacrsacrlombossacraz\b[ls][1-5]\br   )boolr   searchr   )r   cervlombs   `  r   split_colunar   Y   st    $G4		-(F#GDR"QRR 3		*D12 	D|Dz!!r   outrosu   Outros (não classificados)r*   u   Hipófise / selar/   Macroadenomau   Sela túrcicarr   u   Parênquima cerebralrq   u	   Encéfalorz   u   Parênquimart   zSistema ventricularrs   u   Substância brancar|   
Meningiomar}   Gliomar   zTumor / neoplasiar   u
   Metástaserw   zInfarto / isquemiarx   IsquemiaavcAVCr   
Hemorragiar   Hematomar   Hidrocefaliar   	Cavernomar~   Chiariru   zHipocampo / esclerose mesialrv   zGliose / microangiopatiary   zMicroangiopatia (Fazekas)rC   	AneurismaarteriaArterialrD   zEstenose arterialrH   u   FístuladvazDVA / anomalia venosarG   VertebrobasilarrI   zTrombose venosaVascularr^   zForames / neuroforaminalr[   zCorpos vertebraisu   Hérnia discalu   Abaulamento / protrusão discalzEspondilose / listesezMedula espinhalzCone medular / mielite)r\   r]   ra   rb   rc   c                     U =(       d    SR                  5       n[        U5      nU[        ;   a	  [        U   $ U(       a  US S R                  5       USS  -   $ S$ )Nr   r"   Diversos)r   r   	CAT_LABELupper)tokenr   keys      r   	cat_labelr   w   sS    	"A
Q%C
i~$%1Ra5;;=1QR5 5:5r   )u}   Parênquima encefálico com morfologia, espessura cortical e intensidade de sinal preservadas, sem lesões focais ou difusas.uG   Substância branca supra e infratentorial sem focos anômalos de sinal.u_   Sistema ventricular de morfologia, topografia e dimensões normais, sem sinais de hidrocefalia.uZ   Cisternas da base, cissuras e sulcos corticais de amplitude habitual para a faixa etária.uZ   Estruturas da linha média centradas; cerebelo e tronco encefálico de aspecto preservado.u[   As sequências ponderadas em difusão não demonstram áreas de restrição/isquemia aguda.uP   As imagens SWI não evidenciam depósitos de hemossiderina ou micro-hemorragias.u4   Ausência de realce anômalo pelo meio de contraste.uE   Ressonância magnética do crânio dentro dos limites da normalidade.analise	impressao)u   Artérias do polígono de Willis com trajeto, calibre e sinal de fluxo preservados, sem estenose, oclusão ou dilatação aneurismática.uf   Segmentos das artérias carótidas internas e do sistema vertebrobasilar pérvios e de calibre normal.zvSeios venosos durais e veias profundas com sinal de fluxo preservado, sem falhas de enchimento sugestivas de trombose.uB   Ausência de malformações arteriovenosas ou fístulas evidentes.u\   Estudo angiográfico por RM arterial e venoso intracraniano sem alterações significativas.)uD   Alinhamento e curvatura fisiológica da coluna cervical preservados.H   Corpos vertebrais com altura, morfologia e sinal medular ósseo normais.n   Discos intervertebrais com altura e hidratação preservadas, sem herniações ou abaulamentos significativos.u\   Canal vertebral e forames neurais de amplitude normal, sem compressão radicular ou medular.zWMedula cervical de espessura e intensidade de sinal habituais, sem focos de mielopatia.uK   Ressonância magnética da coluna cervical sem alterações significativas.)u6   Alinhamento e lordose lombar fisiológica preservados.r   r   u\   Canal vertebral e forames neurais de amplitude normal, sem compressão das raízes nervosas.uQ   Cone medular em topografia habitual; estruturas da cauda equina sem alterações.uN   Ressonância magnética da coluna lombossacra sem alterações significativas.)uv   Glândula hipofisária de dimensões, morfologia e intensidade de sinal normais, com realce homogêneo pelo contraste.u\   Ausência de nódulos ou áreas de hipocaptação sugestivas de adenoma no estudo dinâmico.uK   Haste hipofisária centrada e de espessura normal; neuro-hipófise tópica.uJ   Quiasma óptico, seios cavernosos e cisterna suprasselar sem alterações.uK   Ressonância magnética da sela túrcica dentro dos limites da normalidade.)u>   Globos oculares de morfologia, dimensões e sinal preservados.uL   Nervos ópticos com trajeto, espessura e sinal normais, sem realce anômalo.u@   Musculatura extrínseca ocular simétrica e de espessura normal.u_   Compartimentos intra e extraconais sem lesões expansivas; gordura retro-orbitária preservada.uE   Ressonância magnética das órbitas sem alterações significativas.)u   Discos articulares de morfologia e posição normais, com adequada relação côndilo-disco-eminência em boca fechada e aberta.uL   Côndilos mandibulares com morfologia, sinal ósseo e excursão preservados.uK   Ausência de derrame articular significativo ou alterações degenerativas.u_   Ressonância magnética das articulações temporomandibulares sem alterações significativas.)u_   Células da mastoide e orelha média com aeração e sinal preservados, sem conteúdo anômalo.uk   Condutos auditivos internos pérvios e simétricos; complexos nervosos VII/VIII sem espessamento ou realce.uG   Cisternas dos ângulos pontocerebelares livres, sem lesões expansivas.uF   Ressonância magnética das mastoides sem alterações significativas.)uj   Estruturas labirínticas (cóclea, vestíbulo e canais semicirculares) com sinal e morfologia preservados.us   Condutos auditivos internos de amplitude normal; trajetos dos nervos facial e vestibulococlear sem realce anômalo.u?   Cisternas dos ângulos pontocerebelares livres, sem schwannoma.uL   Ressonância magnética dos ossos temporais sem alterações significativas.)uU   Seios paranasais com adequada aeração e mucosa de revestimento de espessura normal.uA   Fossas nasais pérvias, com septo e cornetos de aspecto habitual.uR   Estruturas da face, espaços mastigadores e parafaríngeos sem lesões expansivas.uW   Ressonância magnética da face e dos seios paranasais sem alterações significativas.)uN   Estruturas cervicais profundas simétricas, com planos gordurosos preservados.u]   Glândulas salivares (parótidas e submandibulares) e tireoide de morfologia e sinal normais.uR   Ausência de linfonodomegalias ou massas cervicais com características suspeitas.u9   Faringe e laringe com configuração e sinal preservados.uD   Ressonância magnética do pescoço sem alterações significativas.)rp   rB   r   r   r)   r=   r1   r8   r3   rL   rT   )rp   rB   r)   r   r   r=   rL   rT   r1   r8   r3   c                 4   [        U S   5      n/ n[        5       nU R                  S/ 5       HJ  n[        U5      nU(       a  XS;   a  M  UR                  U5        UR	                  [        U5      XQS.5        ML     U(       d  g U[        US   S   S5      U/ S.$ )Ntitulo	variantes)nomer   r   r   r   Z   )r   	descricaor   campos)r    setgetaddappendr(   )itemr   r   seenvas         r   make_patologiar      s    4>"FI5DXXk2&!HAI'!*PQ ' Yq\)4b9	 r   c            
         ^ [         R                  " [        [        SS95      n [         R                  " [        [        SS95      n[        S 5      mU4S jn1 Skn[        [        5      nU  GHn  n[        U5      nUc  M  US   n[        UR                  SS5      S	-   UR                  S
5      (       a  US
   S   OS-   5      nXs;   a/  U" XuR                  S5      =(       d    SU5        XG==   S-  ss'   M  US:X  aB  [        U5       H$  n	U" XR                  S5      =(       d    SU5        M&     US==   S-  ss'   M  US:X  a{  [        U5      n
U
S:X  a,  [        U5       H  n	U" U	SU5        M     US==   S-  ss'   GM  U
(       a  U" U
SU5        USU
 3==   S-  ss'   GM;  U" SSU5        US==   S-  ss'   GMU  U" SSU5        XG S3==   S-  ss'   GMq     [        5       n[         Vs/ s H  oU;   d  M
  UPM     snU Vs/ s H  o[        ;  d  M  UPM     sn-   nU H  nX   n/ nTR                  U0 5      R                  5        H#  u  nnUR                  [!        U5      US.5        M%     UR#                  S S9  [$        R                  U/ / S.5      n['        US   5      ['        US   5      US   US   US.X'   M     SU0n[         R(                  " U[        [*        S SS9S!S"9  Sn[-        S#5        U Hj  n[/        S$ TR                  U0 5      R1                  5        5       5      nUU-  n[3        TR                  U0 5      5      n[-        S%US& S	US' S(U S)35        Ml     [-        S%S*S& S	US' 35        [-        S+5        [5        UR                  5       5       H  u  nn[-        S%US, S	U 35        M     [-        S-[6        R8                  R;                  [*        5       S.35        g s  snf s  snf )/Nzutf-8)encodingc                      [        5       $ r   )r   r   r   r   <lambda>main.<locals>.<lambda>  s    +-r   c                 R   > TU    nUR                  U/ 5      R                  U5        g r   )
setdefaultr   )r   	cat_tokenpatdbucketss       r   r   main.<locals>.add  s%    CL	Y#**3/r   >   rL   r)   rB   rp   r=   rT   r8   r3   regiao
titulo_rawr   r   r   r   	categoriar   r"   rZ   u   coluna→cervical/lombaru   outros→colunau	   outros→rp   u   outros→cranio(catch-all)u   →cranio(fallback))r   
patologiasc                 *    U S   R                  S5      $ )Nr   Outros)
startswith)r   s    r   r   r   4  s    &	 4 4X >r   )r   r   r   tecnicar   r   )r   r   normalAnalisenormalImpressao
categoriasmodalidadeswF)ensure_asciiz== patologias por modalidade ==c              3   8   #    U  H  n[        U5      v   M     g 7fr   )r#   )r   ps     r   r   main.<locals>.<genexpr>E  s     < ;1A ;s   z  16s4dz patologias / z categoriasTOTALz== roteamento de origem ==32szdata.json escrito: z bytes)jsonloadopenCOMPTPLr   intr   r   r   r   r   r   ORDERitemsr   r   sortNORMAISr    dumpOUTprintsumvaluesr#   sortedospathgetsize)comptplr   DIRECT	stats_srcr   r   regr   mr   r   r   keysr   r   catsr   patsnmdatatotalr&   ncatr   r   s                            @r   mainr     s   99T$12D
))Dw/
0C /0G0.FC IT";8n$((<,s2+/88K+@+@4$Q'bJ K=XXk*6h<NaNH_!$'Axx,8#> (01Q61H_#D)Ch%d+A8S) ,+,1,C3'IcU+,1,Hh,671<7(C(012a729 > -K)u!SAu),N1~Q,NNDH&{{3399;OItKK9!5TJK  < 			>	?[["2>?AhK(Qy\*	]!+
   ;'DIIdDcG45I E	
+,<Ar 2 9 9 ;<<
7;;q"%&1S'1R&tfK@A	 
 
Bwsm1U2J
'(	
&'y()11S'1# *	 45V
<=A *,Ns   2	O6?O6O;O;__main__)F   )#__doc__r   r   r  r	   collectionsr   r   r	  dirname__file__HEREr   r   r   r  r   compiler   Ir   Ur   r    r(   r   r   r   r   r   r  r   r   r  __name__r   r   r   <module>r$     s*  	 !   0	wwx 	ww||D*+ggll4)*ggll4%7
 
zz01ZZ.5
jj]_a_c_cd*2  V W
 7 8 ] ^  A B D E G H  L M  9 :  0 1  T U=%N"+!#1>CI? $ '0 ?KM &	 )<=Q	
 ,
 !)(
 5<=P   )*> AI* 
5  /9* N %0 ?G / 2:;U * -8 z &': =Fz 
" %./@ ( +2: ( +45H &=^(=N,#	&6	
 ^^
 uu
 dd	
 gg	
 dd
 ^^

 xx

 __

 ee

 pp
 ]]{fR	C&O>b zF r   