
//------------------------------------ makeCIBlock -------------------------------
QString       C_BDM_TheriaquePlugin::makeCIBlock(QString &html, const QString &s_codeId, const QString &type,
                                                 int &indexCollapsiblePanel, const QString &path, QString &javaS_CreatePanel_Body)
{   QString block       = "";
    C_GET_CIPEMG_SPE_CUR          C_GET_CIPEMG_SPE         ( database(), this );     // retirer les CI
    C_GET_THE_DET_CIPEMG_CUR      C_GET_THE_DET_CIPEMG     ( database(), this );     // extraire les info
    C_GET_THE_REF_CIPEMG_CUR      C_GET_THE_REF_CIPEMG     ( database(), this );     // extraire les dates et amm concernés
    QString niveau = "";
    //........... Extraction des CI niveau 'type'  pour la specialite 's_codeId' ............
    while ( C_GET_CIPEMG_SPE.next( s_codeId, type) )      // "'C', 'P','I','N'"
          { QMap <QString , QString > cimMap;
            QString tmp    = "";
            QString str    = "";
            int isResult;
            while ( (isResult=C_GET_THE_DET_CIPEMG.next( C_GET_CIPEMG_SPE.CODE_CIPEMG() , C_GET_CIPEMG_SPE.CODE_TERRAIN() , C_GET_CIPEMG_SPE.CODE_NATURE() , C_GET_CIPEMG_SPE.NUM_SEQ() , 1  )) )
                 { tmp += "<br/>" + C_GET_THE_DET_CIPEMG.TEXTDET();   // 1 titres secondaires de la CI
                 }
            tmp = tmp.prepend(C_GET_CIPEMG_SPE.LIBELLE());   // prefixer par le titre principal
            while ( C_GET_THE_DET_CIPEMG.next( C_GET_CIPEMG_SPE.CODE_CIPEMG() , C_GET_CIPEMG_SPE.CODE_TERRAIN() , C_GET_CIPEMG_SPE.CODE_NATURE() , C_GET_CIPEMG_SPE.NUM_SEQ() , 2  ) )
                  { niveau  = C_GET_THE_DET_CIPEMG.TEXTDET()
                              .remove("CONTRE-INDICATION");          // 2 niveau de la CI
                  }
            while ( (isResult=C_GET_THE_DET_CIPEMG.next( C_GET_CIPEMG_SPE.CODE_CIPEMG() , C_GET_CIPEMG_SPE.CODE_TERRAIN() , C_GET_CIPEMG_SPE.CODE_NATURE() , C_GET_CIPEMG_SPE.NUM_SEQ() , 3  )) )
                  { if (isResult>1) str += "<br/>";
                    str += C_GET_THE_DET_CIPEMG.TEXTDET();           // 3 lignes accesoires :  Cf. GROSSESSE ET ALLAITEMENT Cf. GROSSESSE ET ALLAITEMENT
                  }
            while ( C_GET_THE_DET_CIPEMG.next( C_GET_CIPEMG_SPE.CODE_CIPEMG() , C_GET_CIPEMG_SPE.CODE_TERRAIN() , C_GET_CIPEMG_SPE.CODE_NATURE() , C_GET_CIPEMG_SPE.NUM_SEQ() , 4  ) )
                  { str +=  "<br/>" + C_GET_THE_DET_CIPEMG.TEXTDET(); // 4 grande information de texte
                  }
            while ( C_GET_THE_DET_CIPEMG.next( C_GET_CIPEMG_SPE.CODE_CIPEMG() , C_GET_CIPEMG_SPE.CODE_TERRAIN() , C_GET_CIPEMG_SPE.CODE_NATURE() , C_GET_CIPEMG_SPE.NUM_SEQ() , 5  ) )
                  { cimMap[C_GET_THE_DET_CIPEMG.INFO_01()] = C_GET_THE_DET_CIPEMG.TEXTDET();
                                                                     // 5 CIM10 relié au terrain
                  }
            while ( C_GET_THE_DET_CIPEMG.next( C_GET_CIPEMG_SPE.CODE_CIPEMG() , C_GET_CIPEMG_SPE.CODE_TERRAIN() , C_GET_CIPEMG_SPE.CODE_NATURE() , C_GET_CIPEMG_SPE.NUM_SEQ() , 6  ) )
                  { cimMap[C_GET_THE_DET_CIPEMG.INFO_01()] = C_GET_THE_DET_CIPEMG.TEXTDET().replace(">","&gt;").replace("<","&lt;");
                                                                     // 6 CIM10 relié au commentaires terrain
                  }
            while ( C_GET_THE_REF_CIPEMG.next( s_codeId.toInt() , C_GET_CIPEMG_SPE.CODE_CIPEMG()  ) )
                  { QString dt = C_GET_THE_REF_CIPEMG.DTREFOFF().toString("dd-MM-yyyy");
                    str += "<br/><b><u>" + C_GET_THE_REF_CIPEMG.REFOFF()+"</u></b> "+ dt +"<br/>";
                  }
            //........... liste des patho CIM10 ............
            QString cim10  = "";
            QMapIterator <QString, QString> it(cimMap) ;
            while ( it.hasNext() )
                  { it.next();
                    if (! it.value().toLower().startsWith("non con") && ! it.value().toLower().startsWith("non att"))
                         cim10 +=  it.value() + " (<b>" + it.key()+"</b>)<br/>";
                  }
            if (cim10.endsWith("<br/>"))
               {//cim10 = cim10.left(cim10.length()-4);
                cim10 = cim10.prepend("<b><u>Pathologie CIM 10</u></b><br/>");
                str   = str.prepend(cim10);
               }
            //........... ajout de la ligne de CI ............
            block += addCollapsibleJSPanel       ( indexCollapsiblePanel++,
                                                                    tmp,
                                                                    "",                                        // code cim 10 si il exite
                                                                    "NIVEAU CI",   //str.length()?"NIVEAU SMR <br/>":"",
                                                                    QString("<br/>")+niveau,    // str.remove("NIVEAU "),                                        // smr
                                                                    "",
                                                                    path,   //Réf. : Journal Officiel du
                                                                    str.replace("- ","<br/>° "),
                                                                    javaS_CreatePanel_Body,
                                                                    "panel_EffeNotoireCss");
          }

    niveau = codeNatureCi_to_Text(QString(type).remove('\'').toAscii()[0]);
    if (block.length()) html  += tr("<p class=nom_chapitres> %2 </p> %1") .arg(block, niveau);
    return block;
}
