Tutoriel: Documenter un code avec Doxygen

Introduction à Doxygen

    A l'instar de Javadoc, Doxygen est un lgociel libre de documentation de code possédant des capacités de génération de documentation à partir du code source d'un programme. Pour cela il tient compte de la syntaxe et de la structure du langage du programme ainsi que des commentaires associés à condition que ceux-ci soient écrit dans un format adapté. C'est cette manière de commenter que nous allons étudier dans cet article.
    La génération de documentation peut être faite à partir de code dans les langages suivants: C, C++, Java, Objective C, Python, IDL, VHDL et dans une certaine mesure PHP, C# et D. Le résultat final est une documentation complète générée en HTML (compressé ou non), LaTeX, RTF, PostScript, PDF avec hyperliens, et XML.
 
Les logiciels nécessaires à cette génération sont:
    - Doxygen, pour la génération de documentation au format HTML, LaTex, PostScript et XML...
                Installation sous windows:
                   télécharger la dernière version et puis lancer doxygen-xxx-setup.exe
                Installation sous Linux:
                   sudo apt-get install doxygen doxygen-gui
 
    - Graphviz, pour la génération de graphes (graphes d'appel, de dépendances, ...).
                Installation sous windows:
                   télécharger la dernière version et puis lancer graphviz-xxx.msi
                Installation sous Linux:
                   sudo apt-get install graphviz
 
    - MikTex pour la génération de documentation au format pdf avec hyperliens.
                Installation sous windows:
                   télécharger la dernière version et puis lancer basic-miktex-xxx.exe
 
    - HTML WorkShop, pour la génération de documentation au format HTML compressé.
                Installation sous windows:
                   télécharger la dernière version et puis lancer htmlhelp.exe

Commenter son code avec Doxygen

Généralités dans les commentaires

    Afin de différencier dans un fichier les commentaires à l'intention de Doxygen de ceux qui ne sont pas à prendre en compte, Doxygen possède sa propre norme de documentation, ou plutôt ses propres normes puiqu'il vous permet le choix entre l'une ou l'autre de ses différentes formes suivantes:
                     /**
                      * Ceci est un commentaire multiligne compris par Doxygen.
                      * C'est cette convention que nous utiliserons par la suite....
                      */
 
                     /*!
                      * ... Remarquez toutefois que suivant votre propre goût,
                      * vous pouvez utilisez celle-ci.....
                      */
 
                     //!
                     //! ... ou celle-là. L'important comme souligné dans l'article précédent de ce dossier,
                     //! c'est de concerver la même convention tout au long de votre programme....
                     //!
 
                     ///
                     /// ... Toutes ces formes de commentaires multilignes
                     /// peuvent toutefois être utilisez de façon monoligne...
                     ///
 
                     int iValeur = 5; /** ... et ce même après une ligne de code. */
 
                     /* En revanche, les formes de commentaires conventionnelles */
                     // ne seront pas pris en compte par Doxygen.

Listes des attributs

    Afin de préciser et de donner du sens aux commentaires, chaque information essentielle dispose d'une balise pour en préciser la nature. Une balise peut s'écrire \balise ou @balise. Par la suite, nous utiliserons la convention \balise.
Voici la liste des balises Doxygen les plus courantes (par ordre alphabétique):
    \a           Utiliser pour faire ressortir un paramètre dans sa description.
                      ex:   /** ...les coordonnées \a x et \a y du point.... */
                             donne 
                             ...les coordonnées x et y du point....
    \author  {liste d'auteur}    
                   Utiliser pour indiquer l'auteur du fichier ou de la fonction, structure ou de la chose décrite.
                       ex:   /** \author Miroslav */
    \b           Utiliser pour mettre en gras un mot dans une description; équivalent à mot en HTML.
                      ex:   /** ...il est \b important que.... */   donne   ...il est important que....
    \brief     Utiliser pour créer un résumé de description.
                      ex:    /**
                                 * \brief Ici le résumé de la description...
                                 *...qui peut prendre plusieurs lignes (mais rester bref)
                                 *
                                 * Ici la description complète...
                                 */
    \bug       Utiliser pour indiquer un bug dans une fonction ou un morceau de programme.
                      ex:   /** \bug La probabilité calculée dépasse parfois 1. */
    \class [] []    
                  Utiliser pour décrire une classe. Le premier paramètre est obligatoire, les suivants optionnels.
                  Attention toutefois à ce que les paramètres soit corrects, la casse est prise en compte.
                      ex:   /** \class Voiture voiture.h "inc/voiture.h" */
                             class Voiture { };
    \date     Utiliser pour indiquer la date de création de la partie commentée.
                     ex:    /**  \date 7 juin 1954 */
    \def       Utiliser pour indiquer un commentaire pour une macro #define.
                     ex:   /**  \def  MAX(x,y)  */
    \e          Utiliser pour emphasier un mot dans une phrase. Equivalent à la balise HTML em.
                     ex:   /** ....ceci constitue un \e vraiment bon exemple.... */  
                            donne 
                            ...ceci constitue un vraiment bon exemple...
    \enum     Uiliser pour introduire la description d'une énumération de type enum.
                                     ex:   /** \enum COULEUR */
    \file        Utiliser pour décrire un fichier.
                                L'attribut doit être exact et fourni avec l'extension.
                                     ex:   /** \file mon_fichier.c */
    \fn                       Utiliser pour introduire la description d'une fonction. 
                                Peut-être omis si la description est placée immédiatement
                                sous la déclaration de la fonction et sans saut de ligne.
                                     ex:   /** \fn Cette fonction calcul le..... */
    \namespace    Utiliser pour introduire la description d'un espace de nommage.
                                          L'attribut doit être exact.
                                              ex:    /** \namespace maths */
    \param {description}
                  Utiliser pour lister et décrire les paramètres d'une fonction.
                  Le nom doit être exact et la description optionnelle peut-être multiligne.
                  Peut être suivi de [in], [out] ou [in,ou] pour indiquer si les paramètres sont input-output.
                      ex:   /** Cette fonction copie les \a n premiers caractères d'une chaîne dans une autre.
                               * \param[out]   dst   la chaîne de destination
                               * \param[in]     src    la chaîne à copier
                               * \param          n      le nombre de caractère à copier
                               */
                               char *strncpy (char *dst, const char *src, size_t n);
    \return {description}
                  Utiliser pour décrire le paramètre renvoyé par une fonction. La description peut-être multiligne.
                       ex:  il suffit d'ajouter à l'exemple précédent la ligne:
                              * \return       renvoit la chaîne de caractère contenu dans src.
    \struct [] []    

                   Utiliser pour décrire une structure. Le premier paramètre est obligatoire, les suivants optionnels.
                   Attention toutefois à ce que les paramètres soit corrects, la casse est prise en compte.
                       ex:   /** \struct Pixel pixel.h "inc/pixel.h" */
                               struct Pixel{ };
    \todo {description}
                   Utiliser pour indiquer ce qu'il reste à faire. La description peut être multiligne.
                        ex:   /**
                                 * \todo  Finir l'implémentation des accesseurs de la classe...
                                 *              ...et encore détails nécessitant plusieurs lignes
                                 */
    \typedef      Utiliser pour introduire la description d'un typedef.
                            ex:  /**  \typedef  Voiture: la classe voiture  */
    \union [] []    

                        Utiliser pour décrire une union. Le premier paramètre est obligatoire, les suivants optionnels.
                        Attention toutefois à ce que les paramètres soit corrects, la casse est prise en compte.
                            ex:   /** \union Couleurs couleurs.h "inc/couleurs.h" */
                                    union Couleurs{ };
    \version      Utiliser pour définir la version d'un fichier.
                            ex:  /** \version 1.0beta */
    \@ \& \\ \< \~ \# \% ...
                         Utiliser pour insérer le caractère correspondant dans une description.
                             ex:   /** Applique aux attributs \#1 et \#2 parsé en XML.
                                       *{cf fichier \~.tmp; en cas de problème contacter l'@auteur}  */
                                    donne
                                    Applique aux attributs #1 et #2 parsé en XML.
                                    {cf fichier ~.tmp  en cas de problème contacter l'@uteur}
 
Le lecteur est évidement invité à consulter la liste complète de toutes les balises Doxygen pour documenter au mieux son projet.

Commenter un fichier

    Voici un exemple de commentaire d'en-tête de fichier s'appliquant au fichier module_modeleVoiture.c .  L'ordre des balises n'a pas d'importance.
/**
 * \file          module_modeleVoiture.c
 * \author    Miroslav
 * \version   1.0
 * \date       12 Novembre 2009
 * \brief       Définit les modèles de voiture et leur particularités.
 *
 * \details    Cette classe surcharge les accesseurs standards du module_voiture pour
 *                  convenir aux spécificités des différents modèles possibles.
 */
La documentation résultante après analyse simple (pas de graphe d'appel ni de dépendance) par Doxygen:
exemple de documentation résultant du traitement Doxygen

Commenter une fonction ou une méthode

    Voici un exemple de commentaire de fonction ou de méthode.  L'ordre des balises n'a pas d'importance mais les balises \param ne peuvent être omises.
/**
 * \brief       Calcule la distance entre deux points
 * \details    La distance entre les \a point1 et \a point2 est calculée par l'intermédiaire
 *                  des coordonnées des points. (cf #Point)
 * \param    point1         Point 1 pour le calcul de distance.
 * \param    point2         Point 2 pour le calcul de distance.
 * \return    Un \e float représentant la distance calculée.
 */
La documentation résultante après analyse simple (pas de graphe d'appel ni de dépendance) par Doxygen:
exemple de documentation de fonction résultant du traitement par Doxygen

Commenter une structure ou une union

    Voici un exemple de commentaire de structure ou d'union.  L'ordre des balises n'a pas d'importance. Comme vous le remarquerez, nous introduisons ici l'opération < permettant d'insérer un commentaire pour un membre de la structure ou de l'union.
/**
 * \brief      Couleur possible pour un Point.
 * \details   La table de correspondance de couleurs est disponible en modification par les accesseurs.
 */
typedef enum
{
   COLOR_BLUE,               /*!< Couleur bleu (0,0,255)               */
   COLOR_DARK_RED,      /*!< Couleur rouge sombre (64,0,0)  */
   COLOR_OLIVE              /*!< Couleur olive (51,51,0)               */
}
Color;
La documentation résultante après analyse simple par Doxygen:
exemple de documentation d'énumération résultant du traitement par Doxygen

Générer la documentation Doxygen

Doxygen est installé? Votre code est entièrement documenté? Il ne reste plus qu'à générer votre documentation. Pour cela lancer doxywizard.exe depuis windows ou la commande doxywizard depuis linux.
 
Etape 1: Entrer un chemin vers un répertoire de travail.
Etape 2: Remplir les 4 parties de l'assistant Wizard de Doxygen. Outre le mode Wizard, vous remarquerez que le logiciel propose le mode Expert. L'onglet Run sert à lancer la génération de la documentation une fois que la configuration est correctement effectuée, soit par l'onglet Wizard soit par l'onglet Expert.

Présentation générale de l'interface graphique de Doxygen

Utilisation de l'assistant

Voyons comment remplir les quatres parties de l'onglet Wizard:
 
Projet:
   Cette partie est très simple à remplir et les différentes options ne méritent pas de long commentaire. Elle sert à fournir les informations générales nécessaires à la génération de la documentation.
Project name:       Remplir le nom du projet.
Project version:    La version du projet.
Source code directory:   Le répertoire contenant le code source à analyser et documenter.
Scan recursively:  En cochant cette case, l'analyse du répertoire source se fera de façon récursive.
                               Les sources contenus dans les sous-répertoires seront alors analysée.
Destination directory:    Le répertoire dans lequel sera crée la documentation.
 
Mode:
    La partie Mode spécifie les options des sources à analyser ainsi que la méthode d'analyse.
Documented entities only:  Seules les entités (fonctions, méthodes, fichiers, structures...) documentées seront analysées et placées dans la documentation résultante.
All Entities:   Toutes les entités présentent dans le source seront analysées et documentées. Cette option ne peut pas générer du texte de documentation à votre place mais permet en revanche d'inclure toutes les entités dans les structures avec des liens entre elles pour une relecture plus aisée.
Include cross-referenced: Les fichiers sources seront insérés dans la documentation avec une coloration syntaxique appropriée et des liens vers les documentations précises.
Select programming language to optimize the result for: Ces options spéciales permettent de choisir la présentation de la documentation résultante la mieux adaptées au langage de votre source.
 
Output:
    Cette partie spécifie les options de génération de la documentation, notamment le format de sortie.
    - HTML : générer une documentation au format HTML
    - Plain HTML : HTML pur
    - with frame and navigation tree : Ajoute une navigation facilitée par une présentation arborescente.
    - compressed HTML : Format des documentations Windows (.chm)
    - with search function : ajoute une barre de recherche dans la documentation.
                                          Attention: ne fonctionne que sur un serveur interprétant le PHP.
- Latex : générer une documentation LaTex
    - intermediaire format for :
           Propose trois options de sorties au format LaTex adaptées pour un post-traitement de conversion de la documentation au format PDF avec hyperliens, PDF pur ou PostScript.
- Man Pages : générer une documentation au format ManPages: format des documentations Linux.
- RTF :  générer une documentation au format RTF (Rich Text Format).
- XML : générer une documentation au format XML.
 
Diagrams:
     Cette partie permet de configurer la création de diagramme dans la documentation. 
- no diagrams: Pas de création de diagramme.
- built-in class diagram generator: Créer la documentation par défaut.
- use GraphViz: Permet la création de diagram supplémentaires insérés dans la documentation.
    Les diagrammes sont des schémas graphiques représentant des situations données. Les différents diagrammes proposées sont nombreux:
- Créer une représentation des relations directes et indirectes entre les classes.
- Montre les relations d'interdépendance des classes et structures.
   (ex: un membre de classe A est du type classe B )
- Créer les diagrammes représentant la hiérarchie des classes.
- Créer les graphes de dépendances des fonctions.
- Créer les graphes des fonctions dont dépendent directement et indirectement les fonctions documentées.
- Créer les graphes d'appel direct et indirect des fonctions.
- Créer les graphes des fonctions appelées directement et indirectement par les fonctions documentées.
 
Quand toutes les options sont configurées, la génération se lance tout simplement en cliquant sur Run Doxygen dans l'onglet Run.
La struture du dossier de documentation résultante sera la suivante:
Hiérarchie de la documentation résultante de Doxygen
 
Vous trouverez => ici <= un exemple de documentation effectué avec Doxygen. Il s'agit de la traduction effectuée par AxiomCafe de la documentation du noyau ChibiOS v1.0

Utilisation du mode expert

Afin de faciliter l'usage du mode Expert, il convient de compléter entièrement le mode Wizard puis de passer en mode Expert avant d'utiliser le Run. Nous n'allons cependant ici présenter que quelques une des fonctions intéressantes du mode Expert. Nous ne reprendrons de plus que les paramètres supplémentaires par rapport au mode Wizard.
Présentation générale de l'interface Doxygen en mode expert
Project :
    - DOXYFILE_ENCODING :     Permet de forcer l'encodage des fichiers de la documentation Doxygen.
    - OUTPUT_LANGUAGE :        Permet de choisir la langue de la documentation générée.
    - BRIEF_MEMBER_DESC :     Permet d'afficher (ou non) la description courte dans la liste des fonctions/structures/fichiers/classes/....
                                                   Cette description est placée en début de fichier avant la description détaillée.
    - REPEAT_BRIEF :                 Permet d'afficher (ou non) la description courte en haut de la description détaillée dans les fichiers.
    - SHORT_NAME :                   Permet de générer des noms de fichiers courts pour la documentation. 
                                                   Certains systèmes d'exploitation ne supportent pas les noms longs.
Build :
    - EXTRACT_PRIVATE :          Permet d'afficher la documentation pour les fonctions/méthodes/membres ayant le qualificateur private.
    - EXTRACT_STATIC :            Permet d'afficher la documentation pour les fonctions/méthodes/membres ayant le qualificateur static.
    - SHOW_DIRECTORIES :     Permet d'afficher la hiérarchie des fichiers sources dans la documentation.
    - SORT_BRIEF_DOCS :        Permet d'afficher la documentation des fichiers, namespaces et fichiers extraits par ordre alphabétique.
                                                  Si non cochée, affiche la documentation par ordre de déclaration dans le code source.
Input :
    - INPUT_ENCODING :          Force la prise en compte de l'encodage des fichiers sources.
Source Browser :
    - INLINE_SOURCES :           Permet d'insérer le corps des fonctions/méthodes/structures/... extraites dans la documentation.
Index :
    - ALPHABETICAL_ORDER :  Permet d'afficher la documentation de toutes entités extraites par alphabétique.
                                                  Si non cochée, l'ordre dans la documentation est celle de définition dans les fichiers sources.
HTML :
    - HTML_HEADER :                 Permet de forcer le header des fichiers de la documentation. Si laissé vide, le header par défaut est utilisé.
    - HTML_FOOTER :                 Permet de forcer le footer des fichiers de la documentation. Si laissé vide, le footer par défaut est utilisé.
Dot :
    - UML_LOOK :                             Permet de forcer la génération des diagrammes d'héritage et de dépendance selon la norme UML.
    - DOT_IMAGE_FORMAT :           Permet de forcer le format d'encodage des images (png, jpeg ou gif).
    - DOT_GRAPH_MAX_NODES :   Permet de limiter le nombre maximum de noeuds d'un graphe.
                                                        Si le nombre de noeud dépasse cette valeur alors le graphe est tronqué.
    - MAX_DOT_GRAPH_WIDTH et MAX_DOT_GRAPH_HEIGHT: Permet de limiter la taille des graphes générés.
    - MAX_DOT_GRAPH_DEPTH :    Permet de limiter la profondeur de génération de noeuds d'un graphe.
                                                         Si la profondeur dépasse cette valeur alors le graphe est tronqué.
    - DOT_TRANSPARENT :              Permet de générer des graphes sur fond transparent. 
                                                         Attention, cette option ne semble pas supportée sous Windows.
Votre note : Aucun(e) Moyenne : 4.5 (37 votes)

Commentaires

Utilisateur non enregistré

Methods to measure GFR in this population, such as I-iothalamate clearance, are cumbersome and costly especially in the acute care setting. Typically this type of DILD is more rapid in onset (less than 2 months from start of therapy) and fulminant. Of note, ceftazidime shares a common side chain with aztreonam. https://keiindemaatschappij.nl/stmap_dh2z55.html?adapalene.lariam.orapred Cases of acute pneumonitis and eosinophilia have been reported to occur with phenytoin and carbamazepine therapy. Ebola virus also triggers release of cytokines and inflammatory mediators causing subsequent vascular leak and a systemic inflammatory response. https://keiindemaatschappij.nl/stmap_dh2z86.html?buspar.klacid.tarivid Responses to therapy for organisms that are moderately susceptible/intermediately susceptible/indeterminate can be variable. The AHRQ has published two reports that summarize the literature available regarding the association between health literacy and outcomes. https://keiindemaatschappij.nl/stmap_dh2z10.html?anacin.lanoxin.celecoxib To facilitate travel with medications (non-prescription or prescription) it is best to avoid having opened containers with loose tablets and capsules when possible. The process of self-evaluation may begin with the simple act of a practitioner reflecting on the values and beliefs that shape their world view, their perceptions of health and illness, and the existence of stereotypes or myths about other cultures. https://keiindemaatschappij.nl/stmap_dh2z218.html?hoodia.astelin.droxia Urinary Incontinence. Drug metabolism usually occurs in the liver through one or both of two types of reactions. https://keiindemaatschappij.nl/stmap_dh2z115.html?risperdal.efferalgan.r... The ATM plays a significant role in activation of the adenosine monophosphate-activated protein kinase (AMPK), which is considered the mechanism of action of metformin. In this continuum, providers may move from being unconsciously incompetent (not aware of lack of competence), consciously incompetent (aware of lack of competence), consciously competent (aware of improving competence) toward unconscious competence. A heightened awareness of the impact of climate change and environmental transformations (ie, deforestation, modifying waterways, and urbanization), on the frequency of severe weather events and natural disasters as well as animal and human disease.

Utilisateur non enregistré

Barium sulfate enema technique is an established method for evaluating the colon and to opacity the colonic lumen during abdominal and pelvis CT imaging. Renal failure decreases the dosage requirement of drugs eliminated by the kidneys. https://deskule.nl/stmap_yi8v92.html?kamagra.origin.zicam Metoclopramide and domperidone, an antiemxetic available in Europe, are potent dopamine-receptor antagonists reported to induce hyperprolactinemia. Which one of the following actions should not be part of a pretravel health consultation? Numerous studies, including some head-to-head trials, have yielded a high sensitivity and specificity for these technologies. https://deskule.nl/stmap_yi8v109.html?levaquin.zyprexa.asacol The rabbits then produce antibodies against human immunoglobulins and complement, which becomes the antiglobulin serum. The onset usually occurs several weeks into therapy. However, the distinction between an allergic contact dermatitis (ACD) and irritant contact dermatitis (ICD) has become increasingly blurred; the two types may and often do coexist. https://deskule.nl/stmap_yi8v15.html?ciloxan.mebeverine.ampicillin Other studies have slightly different descriptions of the medication ordering process. Diurnal variation in Scr may also affect the accuracy of the CLcr determination. The tissue effects of histamine are evident within 1 to 2 minutes, but it is rapidly metabolized within 10 to 15 minutes. https://deskule.nl/stmap_yi8v116.html?para.rumalaya.capecitabine Permethrin is a derivative of the flowers of the plant Chrysanthemum cinerariifolium. Specific antimalarial recommendations vary depending on local susceptibility patterns and can be found in the CDC Yellow Book or on the CDC Web site. https://deskule.nl/stmap_yi8v195.html?periostat.voltarol.fludrocortisone Because catheterization is an invasive procedure, its performance is associated with major and minor risks. Acetazolamide has been used for many years for the treatment and prevention of AMS and HACE. The combination of diphenhydramine and an H2 receptor blocker (eg, ranitidine) has been shown to be superior to diphenhydramine alone in the treatment of cutaneous manifestations of anaphylaxis.

Utilisateur non enregistré

The pharmacist plays an essential role in the development and management of a pharmacotherapeutic care plan for the CF patient. The second theory, IgE-mediated reaction, is supported by reported cases of sulfite-sensitive anaphylaxis reaction in patients with positive sulfite skin test. A clinical advisory was released May 15, 2014 stating the study suspended enrollment for the clinical study BMT CTN 0901 following preliminary data indicating superiority of myeloablative regimens for allogeneic HSCT patients eligible for the study. https://ilsemarije.nl/shop/stmap_76jc128.html?celadrin.detrol.atarax Compared with thalidomide, lenalidomide causes less fluid retention, peripheral neuropathy, thrombosis, and constipation but more frequently induces neutropenia and thrombocytopenia. Ideally, clinical specimens should be collected within 3 days of rash appearance to increase the likelihood of isolating the virus. https://ilsemarije.nl/shop/stmap_76jc133.html?kytril.flixotide.zumo Studies of inappropriate drug use in US long-term care facilities found that 25% to 42% of residents took one or more inappropriate medications as defined by explicit criteria. The highest rates of infection occur in Asia, the Middle East, Africa, Central America, and South America. https://ilsemarije.nl/shop/stmap_76jc112.html?suprax.femara.cipramil Based on CMS 2010 estimates, 10% of Medicare beneficiaries still did not have coverage under Medicare Part D or other sources of creditable coverage. It may mean separating look-alike, sound-alike medications. https://ilsemarije.nl/shop/stmap_76jc121.html?dipyridamole.advair.prostatic Malarial infection does not produce immunity in patients, and active research has been initiated to develop a malaria vaccine. VFR trips make up about 33% of all travelers. https://ilsemarije.nl/shop/stmap_76jc197.html?glyset.claravis.vanadyl A different study of older adults confirmed the increased risk of mortality in those with low health literacy (hazard ratio = 1.40). The risk factor for pulmonary fibrosis is the cumulative dose of carmustin. The CLcr-to-CLDPTA ratio declined from 1.33 with placebo to 1.07 when 400 mg of cimetidine was administered four times a day for 2 days prior to and during the clearance determination.

Utilisateur non enregistré

The exact mechanism of entry after receptor binding is still unknown. Prolonged infection causes malnutrition, inadequate nutrient absorption, and dehydration. https://bvmweststellingwerf.nl/stmap_syu6135.html?symbicort.cephalexin.i... Activated charcoal administration is not useful because it adsorbs iron poorly. These databases are organized and maintained by pharmaceutical companies that manufacture GH products. https://bvmweststellingwerf.nl/stmap_syu657.html?albendazole.medroxyprog... Creatine or methyl guanidine acetic acid is found in many commonly ingested food sources such as fish and red meat. One of the overarching goals of Healthy People 2020 (Table e2-1), which frames the national health agenda, is to eliminate health disparities that exist in our population and achieve health equity. Further studies of combination therapy in varying risk groups and cytogenetics groups are ongoing and the role of combination therapy should be limited to the clinical trial setting. https://bvmweststellingwerf.nl/stmap_syu6123.html?tindamax.dexamethasone... Obtaining an accurate history may be difficult because a number of neurologic diseases may affect patients' communication and memory. Vaginal preparations of bromocriptine may be used in women to decrease the incidence of adverse effects associated with oral adminstration. https://bvmweststellingwerf.nl/stmap_syu6198.html?mevacor.plendil.doxepin In addition, the American College of Cardiology Foundation/American Heart Association practice guideline for the management of heart failure supports the incorporation of palliative care into the management of patients with advanced heart failure due to its effectiveness in increasing quality of life. This complex activates the platelets. Enforcement will be at the discretion of each state, but it is expected that applying these standards will reduce adverse drug events and medication misuse. https://bvmweststellingwerf.nl/stmap_syu664.html?celexa.clopidogrel.vala... New RNA and viral proteins are assembled into infectious virions and released out of host cell via vesicles and exocytosis. Intensive chemotherapy can be used as a bridge to allogeneic HSCT to reduce tumor burden and control disease while a suitable donor is found and a referral is made to a transplant center. In the patient with chest pain, the resting ECG is examined for ST segment abnormalities that may indicate myocardial ischemia or infarction (ie, ST segment depression or elevation).

Utilisateur non enregistré

An extra thymine-adenine (TA) repeat within the TATA section of the UGT1A1 promoter results in the (TA)7TAA allele (also known as UGT1A1*28), which possesses lower enzyme activity than the wild-type (TA)6TAA allele. The definitive diagnosis is made by aspirin provocation tests, which may be done via different routes. It is a proactive approach in which risks are reviewed and outcomes of events are evaluated. https://choir-practice.com/stmap_rqk1134.html?mupirocin.genox.sertralin Counts of 500 cells/mm (0.5 Г— 10/L) or greater are preferred for immunization, if possible. During 2014, whole-bowel irrigation was used in 0.3% of 612,184 cases managed at a healthcare facility. Cephalosporins rarely induce immune responses mediated by the core ОІ-lactam structure, but they are more likely to do so via unique R-group side-chain determinants. https://choir-practice.com/stmap_rqk1171.html?silenor.tindamax.alavert Therapeutic ranges for drugs are first established in adults and often are applied directly to pediatric patients, but specific efficacy and safety studies should be conducted in pediatric patients to define optimal therapeutic ranges of drugs. In light of these rapid changes in GFR, estimation of GFR is not recommended for infants younger than 1 week. https://choir-practice.com/stmap_rqk1218.html?levitra.duracef.aygestin The second goal of therapy in contact dermatitis is to provide symptomatic relief while decreasing skin lesions. Fixed drug eruptions are simple eruptions presenting as pruritic, red, raised lesions that may blister. https://choir-practice.com/stmap_rqk1164.html?imipramine.lotrimin.norplant Patients with known G6PD enzyme deficiencies should be advised to avoid medications capable of inducing the hemolysis. Insulin requirements are highest during adolescence because of the individual's rapid growth. The rate of progression to AML was significantly lower with azacitidine (15%) compared with supportive care alone (38%), but azacitidine did not significantly improve overall survival. https://choir-practice.com/stmap_rqk17.html?cephalexin.alli.diclofenac The overall erythroid response was 49%, 50.6%, and 64.5% for patients who received standard EPO (30,000-40,000 units/wk), standard EPO plus G-CSF or GM-CSF, or high-dose EPO (60,000-80,000 units/wk), respectively. If available, use of recommended vaccines and chemoprophylaxis when indicated is also essential.

Utilisateur non enregistré

brand nabdame viagra for sale|mens health viagra|descuento barato viagra|we recommend buy cheap viagra|viagra online contrassegno|viagra 100 mg normal dosage|viagra sales in bali|viagra professionnel 100 mg|buy viagra dallas|we recommend viagra overnight|viagra cost in india|livraison rapide de viagra|viagra femminile corriere|nome formula generico viagra|viagra en pharmacie a paris|viagra comparison prices|lowest price real viagra|erectile dysfun4b4ction viagra|viagra cialis free pills |viagra getting cheaper|viagra sublingual sale generic|viagra over counter california|viagra combien temps avant|viagra tienda en lnea co uk|taking viagra for fun|cheapest viagra prices canada|obat generic viagra kamagra|viagra 4 tablets price|buy viagra jelly 80 mg online|viagra in toronto|viagra samples in london uk|viagra pill for sale uk|viagra uk salepeople group|viagra testpackung kostenlos|100g viagra how do i use|just try online rx viagra|how does viagra work wikipedia|free trial of generic viagra|viagra bestellen kaufen|pfizer viagra usa|valium and viagra|kaufen viagra berlin|online purchase of viagra|achat du viagra 50 mg|viagra senza ricetta yaho|viagra 100mg preci|viagras genericas en venezuela|generic viagra canada online|how long till viagra works|viagra shelflife|viagra loss of vision|ebay viagra cialis levitr|just try fast shipping viagra|try it viagra england|comprare viagra|viagra australia suppliers|viagra soft tabs online cheap|try it buying generic viagra|genericos para viagra|viagra super active mail order|can i buy viagra in pakistan|where to buy vegetal viagra|when will viagra go generic|einkaufen viagra|comprar genericos viagra|finegra viagra cialis levitra|viagra plus canada|buying viagra in cabo|viagra most mg|come viagra al sicuro in linea|viagra naturale vendita line|viagra uk customs|plant viagra chinese|only today budget viagra|buy viagra sublingual 20|buy viagra pharmacy online|viagra cialis sales|cost of viagra at walmart|viagra 100 mg caplin piont|try it viagra sent from canada|prozac viagra|viagra over counter uk 2011|walmart drug price viagra|levitra viagra economico|trouver viagra acheter|only today official viagra|walmart viagra price|viagra tesco online|can i buy viagra over counter|look there lowest viagra price|precio viagra sin recet|generic viagra by ranbaxy|achat viagra en ligne|canada viagra sales|viagra in svizzer|viagra kaufen apotheke preis|visit web site super viagra|viagra rennes|viagra amlodipine interactions|viagra by post|viagra preis mit rezept|viagra original achat|einfuhrbestimmungen viagra|viagra en barcelona|cheap non prescription viagra|viagra costco cost|viagra basso prezzo|viagra online mexico|buy viagra sale|can you buy viagra without px|viagra 4 free|viagra in montreal drug store|viagra petite dose|il viagra cost|viagra werbung email|bad news viagra|viagra pricing at walmart|viagra for ladies|le prix de viagra nz|viagra vendita farmacia|viagra 877|cialis viagra mix|viagra bestellen rezept|viagra prescription refills|much do viagra cost|can we buy viagra in amsterdam|viagra 50 ou 100 mg|best online generic viagra|viagra e il cuor|viagra cialis alcoo|wo einkaufen online viagra|viagra kaufen munchen|sales viagra 2009|viagra price lahore|is 100mg of viagra too much|where can i order viagra|follow link viagra en gel|viagra para tienda de venta|levitra cialis viagra comprar|produit generique viagra|viagra e zoloft|generic viagra pill online|effet viagra et ciali|how viagra works|reviews buy viagra|viagra and women use|cheap viagra super plus|wher to buy viagra in dublin|prix du viagra non generiqu|viagra ind|generic viagra for cheap in uk|viagra samples for sale|viagra mit 1|where to buy 150ml viagra|cialis vs viagra price|cheap viagra with dapoxetine|viagra mail order pharmacy|viagra for sale brisbane|viagra significat|viagra costs in mexico|buy cialis viagra in sydney|medical viagra tablets|le viagra en pharmacie|enter site viagra 30 mg|buy 200 mg viagra cut in half|can india in i viagra buy|cheap viagra on line in texas|prix du viagra en parapharmaci|viagra cialis contrareembolso|viagra pfizer fr|viagra online kaufen paypal|no prescription viagra soft|viagra soft flavoured uk|cost of a viagra|viagra 25mg timing|viagra for sale lowest prices|indian viagra tablets|we use it cheep viagra uk|viagra online foro|viagra pour homme effet|viagra online bestellen legal|viagra richtig einnehmen|is 150 mg viagra too much|best age take viagra|buy viagra cialis|viagra 100mg effect|online dr for viagra|in to buy viagra online how|generic viagra soft tabs|overnight delivery viagra|can you get viagra free nhs|authentic viagra|viagra united kingdom|viagra naturel|viagra generico aus|viagra origins|order viagra online buy cheap|buy single viagra pills couk|try it getting viagra|coupons viagra online|dapoxetine et viagra|cost viagra cvs pharmavy|how to get viagra uk|viagra dosage 150 mg|viagra or cialis which is best|click now cheap viagra online|viagra effect and how to take|is price viagra walmart|mens health generic viagra|muestra del viagra|viagra oder cialis wirkung|preise viagra 5|best online source for viagra|look here viagra 20|lowest prices soft viagra|viagra in delhi 25 mg|viagra generic when available|i take 800mg viagra|viagra di ordine britannici|viagra levitra lilly|viagra nebenwirkungen gefahren|viagra di sergio rubin|very good site viagra prices|viagra massachusetts|difference viagra and cialis|much does 50mg viagra cost|viagra 25 mg o 50 mg|il viagra per vendita eu|original viagra discounted|can i buy viagra in chemist|viagra oslo|buying cheap viagra canada|dose efficace viagra|cialis glaucoma levitra viagra|best prices generic viagra|viagra jelly 100|site fiable achat viagra|usefull link cheap soft viagra|how to buy viagra canada|viagra prescription nz|viagra discret|enter site viagra overnite|buy viagra ottawa|viagra in linea sicuro|il viagra napoletan|achat viagra fr|best results with viagra 50mg|click now viagra mail order|viagra australia express|generic viagra vs brand name

http://viagraaloq.com/ - cheap viagra,online viagra,viagra online,viagra cheap,buy viagra,viagra,viagra,viagra cheap,buy viagra,buy viagra online
cheap viagra,online viagra,viagra online,viagra cheap,buy viagra,viagra,viagra,viagra cheap,buy viagra,buy viagra online

brand nabdame viagra for sale|mens health viagra|descuento barato viagra|we recommend buy cheap viagra|viagra online contrassegno|viagra 100 mg normal dosage|viagra sales in bali|viagra professionnel 100 mg|buy viagra dallas|we recommend viagra overnight|viagra cost in india|livraison rapide de viagra|viagra femminile corriere|nome formula generico viagra|viagra en pharmacie a paris|viagra comparison prices|lowest price real viagra|erectile dysfun4b4ction viagra|viagra cialis free pills |viagra getting cheaper|viagra sublingual sale generic|viagra over counter california|viagra combien temps avant|viagra tienda en lnea co uk|taking viagra for fun|cheapest viagra prices canada|obat generic viagra kamagra|viagra 4 tablets price|buy viagra jelly 80 mg online|viagra in toronto|viagra samples in london uk|viagra pill for sale uk|viagra uk salepeople group|viagra testpackung kostenlos|100g viagra how do i use|just try online rx viagra|how does viagra work wikipedia|free trial of generic viagra|viagra bestellen kaufen|pfizer viagra usa|valium and viagra|kaufen viagra berlin|online purchase of viagra|achat du viagra 50 mg|viagra senza ricetta yaho|viagra 100mg preci|viagras genericas en venezuela|generic viagra canada online|how long till viagra works|viagra shelflife|viagra loss of vision|ebay viagra cialis levitr|just try fast shipping viagra|try it viagra england|comprare viagra|viagra australia suppliers|viagra soft tabs online cheap|try it buying generic viagra|genericos para viagra|viagra super active mail order|can i buy viagra in pakistan|where to buy vegetal viagra|when will viagra go generic|einkaufen viagra|comprar genericos viagra|finegra viagra cialis levitra|viagra plus canada|buying viagra in cabo|viagra most mg|come viagra al sicuro in linea|viagra naturale vendita line|viagra uk customs|plant viagra chinese|only today budget viagra|buy viagra sublingual 20|buy viagra pharmacy online|viagra cialis sales|cost of viagra at walmart|viagra 100 mg caplin piont|try it viagra sent from canada|prozac viagra|viagra over counter uk 2011|walmart drug price viagra|levitra viagra economico|trouver viagra acheter|only today official viagra|walmart viagra price|viagra tesco online|can i buy viagra over counter|look there lowest viagra price|precio viagra sin recet|generic viagra by ranbaxy|achat viagra en ligne|canada viagra sales|viagra in svizzer|viagra kaufen apotheke preis|visit web site super viagra|viagra rennes|viagra amlodipine interactions|viagra by post|viagra preis mit rezept|viagra original achat|einfuhrbestimmungen viagra|viagra en barcelona|cheap non prescription viagra|viagra costco cost|viagra basso prezzo|viagra online mexico|buy viagra sale|can you buy viagra without px|viagra 4 free|viagra in montreal drug store|viagra petite dose|il viagra cost|viagra werbung email|bad news viagra|viagra pricing at walmart|viagra for ladies|le prix de viagra nz|viagra vendita farmacia|viagra 877|cialis viagra mix|viagra bestellen rezept|viagra prescription refills|much do viagra cost|can we buy viagra in amsterdam|viagra 50 ou 100 mg|best online generic viagra|viagra e il cuor|viagra cialis alcoo|wo einkaufen online viagra|viagra kaufen munchen|sales viagra 2009|viagra price lahore|is 100mg of viagra too much|where can i order viagra|follow link viagra en gel|viagra para tienda de venta|levitra cialis viagra comprar|produit generique viagra|viagra e zoloft|generic viagra pill online|effet viagra et ciali|how viagra works|reviews buy viagra|viagra and women use|cheap viagra super plus|wher to buy viagra in dublin|prix du viagra non generiqu|viagra ind|generic viagra for cheap in uk|viagra samples for sale|viagra mit 1|where to buy 150ml viagra|cialis vs viagra price|cheap viagra with dapoxetine|viagra mail order pharmacy|viagra for sale brisbane|viagra significat|viagra costs in mexico|buy cialis viagra in sydney|medical viagra tablets|le viagra en pharmacie|enter site viagra 30 mg|buy 200 mg viagra cut in half|can india in i viagra buy|cheap viagra on line in texas|prix du viagra en parapharmaci|viagra cialis contrareembolso|viagra pfizer fr|viagra online kaufen paypal|no prescription viagra soft|viagra soft flavoured uk|cost of a viagra|viagra 25mg timing|viagra for sale lowest prices|indian viagra tablets|we use it cheep viagra uk|viagra online foro|viagra pour homme effet|viagra online bestellen legal|viagra richtig einnehmen|is 150 mg viagra too much|best age take viagra|buy viagra cialis|viagra 100mg effect|online dr for viagra|in to buy viagra online how|generic viagra soft tabs|overnight delivery viagra|can you get viagra free nhs|authentic viagra|viagra united kingdom|viagra naturel|viagra generico aus|viagra origins|order viagra online buy cheap|buy single viagra pills couk|try it getting viagra|coupons viagra online|dapoxetine et viagra|cost viagra cvs pharmavy|how to get viagra uk|viagra dosage 150 mg|viagra or cialis which is best|click now cheap viagra online|viagra effect and how to take|is price viagra walmart|mens health generic viagra|muestra del viagra|viagra oder cialis wirkung|preise viagra 5|best online source for viagra|look here viagra 20|lowest prices soft viagra|viagra in delhi 25 mg|viagra generic when available|i take 800mg viagra|viagra di ordine britannici|viagra levitra lilly|viagra nebenwirkungen gefahren|viagra di sergio rubin|very good site viagra prices|viagra massachusetts|difference viagra and cialis|much does 50mg viagra cost|viagra 25 mg o 50 mg|il viagra per vendita eu|original viagra discounted|can i buy viagra in chemist|viagra oslo|buying cheap viagra canada|dose efficace viagra|cialis glaucoma levitra viagra|best prices generic viagra|viagra jelly 100|site fiable achat viagra|usefull link cheap soft viagra|how to buy viagra canada|viagra prescription nz|viagra discret|enter site viagra overnite|buy viagra ottawa|viagra in linea sicuro|il viagra napoletan|achat viagra fr|best results with viagra 50mg|click now viagra mail order|viagra australia express|generic viagra vs brand name

Utilisateur non enregistré

Although coronary angiography can identify the presence of a coronary arterial stenosis, it does not provide information regarding its functional significance (ie, whether it potentially may cause myocardial ischemia). A meta-analysis of sunitinib in patients with RCC or gastrointestinal stromal tumors was performed to explore the relationship between exposures of sunitinib and its active metabolite, SU12662, and clinical outcomes. https://keiindemaatschappij.nl/stmap_dh2z151.html?choice.cortisol.isotre... In addition, Hartwig, Denger, and Schneider developed a more elaborate, severity indexed classification program. Under normoxic conditions, hypoxia-inducible factor (HIF)-1О± is marked for ubiquination. https://keiindemaatschappij.nl/stmap_dh2z83.html?lamisil.rosuvastatin.pr... In a retrospective study, the risk factors for development of IPS and prognostic factors for outcomes were evaluated in 94 patients with relapsed Hodgkin disease treated with BCNU containing high-dose chemotherapy and hematopoietic support. The mechanism of drug-induced hemolytic anemia can be divided into two categories, immune or metabolic (ie, oxidative). https://keiindemaatschappij.nl/stmap_dh2z118.html?altace.relafen.anadin Although the incidence of prostate cancer increased during the late 1980s and early 1990s related to widespread prostate-specific antigen (PSA) screening, deaths from prostate cancer have been declining since 1995. These reports emphasize that in vitro susceptibility does not correlate unequivocally with clinical success and that resistant organisms do not always equate with impending clinical failure. https://keiindemaatschappij.nl/stmap_dh2z34.html?voltarol.trandate.azole Normal PFTs with reduced Dlco should suggest the possibility of pulmonary vascular disease (eg, pulmonary embolus and pulmonary hypertension), anemia or early interstitial lung disease as well as mild Pneumocystis jiroveci pneumonia (PJP) infection. Diarrhea is defined as a decrease in consistency of bowel movements (ie, unformed stool) and an increase in frequency of stools to three or more per day. Altitude sickness or high altitude illnesses (HAI) result when the partial pressure of oxygen (PO2) in the inspired air is lower than that to which the patient is accustomed. https://keiindemaatschappij.nl/stmap_dh2z184.html?hart.avant.omnicef Vupputuri et al. Dengue fever is caused by one of four related single-stranded RNA Flaviviruses, named Dengue Virus (DENV) 1, 2, 3, or 4.

Utilisateur non enregistré

Optimal outcomes are usually associated with Cmax,ss/MIC ratios equal to 8 to 10, where MIC is the minimum inhibitory concentration (MIC) for the bacteria causing the infection. The OS rate for the entire cohort at 24 months was 43%. trevilor.cycrin.soloxine Restrictive lung disease is defined as an inability to get air into the lungs and to maintain normal lung volumes. In about 33% of the evaluable patients below the target total trough level at 37.5 mg of sunitinib, the dose could be increased without additional toxicities. imitrex.glumet.norgestimate Clinically, the patient had improved somewhat, but her white blood cell count was still elevated, and the patient was still febrile. Over the past decade, the FDA approved 293 new molecular entities, all of which needed brand and generic names. MIC values of antibiotics that are highly bound to plasma proteins are significantly higher when the test medium contains human serum. betoptic.nebilet.celebrex The negotiation between provider and patient is the art of patient care and is a skill that requires continual practice. The route of administration may also influence drug sensitivity. Extensive metabolizers" have the standard gene for the isozyme and metabolize the drugs normally. aciclovir.valette.sumatriptan Bhatnagar and colleagues evaluated 22 MDS or AML patients with disease progression or lack of response to azacitidine who went on to receive decitabine. When a drug is given at a continuous IV infusion rate equal to k0, the Css is determined by the quotient of k0 and CL (Css = k0/CL). Intolerance was four times more likely in homozygous carriers of reduced-function OCT1 alleles who were taking an OCT1 inhibitor concurrently (OR 4.13 <>5% CI 2.09-8.16, P < 0.001]). tofranil.digoxin.casodex Smaller proteins (less than 20 kDa) pass across the glomerular basement membrane but are usually readily reabsorbed in the proximal tubule. One solution to this problem is to dilute these concentrated products, but such alterations can influence the stability or compatibility of these drugs.

Utilisateur non enregistré

Patients with evidence of infection should have appropriate diagnostic evaluation based on history and physical examination and then appropriate antimicrobial therapy. Drug allergies appear to develop with equal frequency in atopic and nonatopic individuals. The larvae matures in about 8 weeks and remain as a semitransparent, oval-shaped, fluid-filled bladder in tissues. https://keiindemaatschappij.nl/stmap_dh2z106.html?suhagra.zetia.retin However, prospective data in large numbers of pregnancies are lacking. EGD, upper endoscopy, is used to examine the esophagus, stomach, and duodenum. Raynor and colleagues also found that consumer medication information handouts do not meet people's information needs. https://keiindemaatschappij.nl/stmap_dh2z125.html?protease.fluvoxamine.z... The age-adjusted death rates from poisonings from all circumstances have been increasing steadily, with a 224% increase from 2000 to 2014, representing 51,966 deaths in 2014 of which 91% were drug-related poisonings. For example, some countries may require a YF vaccine booster at 10 years. https://keiindemaatschappij.nl/stmap_dh2z76.html?piroxicam.panadeine.hyzaar The mechanism of toxicity is unknown; however, epithelial cell damage that triggers the arachidonic acid inflammatory cascade may be the initiating event. Despite these advances, there are still stark disparities in technology use and internet access among different incomes, education levels, age groups, geography, and ethnicities (Table e1-9). However, some cases require different dosing and selection of medications. https://keiindemaatschappij.nl/stmap_dh2z57.html?macrobid.lexapro.carbatrol Even travelers staying at all-inclusive Caribbean resorts are subject to travel health issues. The other proteins that may be found in the urine are secreted by the tubules (Tamm-Horsfall, immunoglobulin A, and urokinase) or composed of smaller proteins such as ОІ2-microglobulin, apoproteins, enzymes, or peptide hormones. https://keiindemaatschappij.nl/stmap_dh2z202.html?methocarbamol.canasa.t... Other dopamine agonists that have been used in the treatment of hyperprolactinemia but are not commercially available in the United States include lisuride, terguride, metergoline, dihydroergocristine, and quinagolide. Drugs also can be eliminated via bile produced by the liver or air expired by the lungs. The greater the distance covered, the better the patient's general fitness and exercise tolerance.

Utilisateur non enregistré

It describes the "major" direction of QRS depolarization, which is typically toward the apex of the heart (ie, toward the left side of the chest and downward). These regimens have improved response rates and outcomes compared to conventional chemotherapeutic agents. PAD patients with HTN should achieve a target goal of less than 140/90 mm Hg in nondiabetics or less than 130/80 mm Hg in diabetics to reduce risk factors for PAD. glycomet.phenazopyridine.colchicine Given the propensity for exacerbations of mental illness while travelling internationally and the possibility of suicide due to untreated or unrecognized depression, it is prudent to purchase travel insurance that includes medical evacuation coverage and coverage for repatriation of remains. Adverse effects include injection-site pain, GI complaints such as nausea and diarrhea, and flu-like symptoms. The body is able to tolerate and, in some cases, detoxify a certain dose of a chemical; however, toxicity ensues once a critical exposure threshold is exceeded. azathioprine.levlen.rozex A number of cancer chemotherapeutic agents produce pulmonary fibrosis. In Europe, skin testing can be accomplished with a kit containing both the major and minor determinant mixture (Diater Labs, Madrid, Spain). One of the overarching goals of Healthy People 2020 (Table e2-1), which frames the national health agenda, is to eliminate health disparities that exist in our population and achieve health equity. roaccutane.ethiopia.diphenhydramine In vitro studies with the offending agent and cells or plasma from the patient's blood can be performed to determine causality. The term anthrax is derived from the Greek word anthrakis meaning coal, because of the classic black eschar lesions (Fig. luvox.atenolol.xatral Interpretation of the results of exercise testing should include exercise capacity as well as the clinical, hemodynamic, and electrocardiographic responses. Trust in the U.S. postinor.cephalexin.redustat Agranulocytosis is a rare reaction that typically presents with fever. Information on the history of the current episode and reasons for presenting to the clinician should also be gathered. They determined that none of the five categories of leg pain (no pain, pain on exertion and rest, noncalf pain, atypical calf pain, and classic claudication) was sufficiently sensitive or specific to enable a link to a PAD diagnosis.