def parse_panel_app_gene(app_gene, hgnc_map):
    """Parse a panel app formated gene
    
    Args:
        app_gene(dict): Dict with panel app info
        hgnc_map(dict): Map from hgnc_symbol to hgnc_id
    
    Returns:
        gene_info(dict): Scout infromation
    """
    gene_info = {}
    confidence_level = app_gene['LevelOfConfidence']
    # Return empty gene if not confident gene
    if not confidence_level == 'HighEvidence':
        return gene_info
    
    hgnc_symbol = app_gene['GeneSymbol']
    # Returns a set of hgnc ids
    hgnc_ids = get_correct_ids(hgnc_symbol, hgnc_map)
    if not hgnc_ids:
        LOG.warning("Gene %s does not exist in database. Skipping gene...", hgnc_symbol)
        return gene_info
    
    if len(hgnc_ids) > 1:
        LOG.warning("Gene %s has unclear identifier. Choose random id", hgnc_symbol)

    gene_info['hgnc_symbol'] = hgnc_symbol
    for hgnc_id in hgnc_ids:
        gene_info['hgnc_id'] = hgnc_id

    gene_info['reduced_penetrance'] = INCOMPLETE_PENETRANCE_MAP.get(app_gene['Penetrance'])

    inheritance_models = []
    for model in MODELS_MAP.get(app_gene['ModeOfInheritance'],[]):
        inheritance_models.append(model)
    
    gene_info['inheritance_models'] = inheritance_models
    
    return gene_info
Parse a panel app formated gene
    
    Args:
        app_gene(dict): Dict with panel app info
        hgnc_map(dict): Map from hgnc_symbol to hgnc_id
    
    Returns:
        gene_info(dict): Scout infromation