示例#1
0
def concepts_bulk_par_resource_view(request, cui_list):
    """Get the list of parents for a given concept-parent list
    GET /concepts_bulk/<cui1>,<cui2>,<cui3>,..,<cuiN>/parent
    Parameters:
    cui_list: list of cuis
    sab: Source Vocab
    """
    sab = request.GET.get('sab')
    explode = False
    eint = request.GET.get('explode', None)
    if eint and eint == "1":
        explode = True
    cui_list = cui_list.split(',')
    cui_list = set(cui_list)
    
    rterms = {}
    for cui in cui_list:
        value = ConceptListResource()._get_parent(cui,sab,explode)
        # Removing duplicates
        rterms[cui] = { d['cui']:d for d in value }.values()
        
    # Handle AJAX Requests
    response = json.dumps(rterms, sort_keys=True)
    if 'callback' in request.GET:
        response = request.GET["callback"]+"("+response+")"

    return HttpResponse(response)
示例#2
0
def concept_par_resource_view(request, cui):
    """Get the full display name of a code for a given concept-parent

    GET /concepts/<cui>/parent

    Parameters:

    cui: cui
    sab: Source Vocab

    """
    sab = request.GET.get('sab')
    explode = False
    eint = request.GET.get('explode', None)
    if eint and eint == "1":
        explode = True

    # if sab:
    #    print request.GET['chd_sab']
    rterms = ConceptListResource()._get_parent(cui, sab, explode)

    # Handle AJAX Requests
    response = json.dumps(rterms, sort_keys=True)
    if 'callback' in request.GET:
        response = request.GET["callback"]+"("+response+")"

    return HttpResponse(response)
示例#3
0
def concepts_bulk_resource_view(request):
    """Get the list of concepts for a given list of terms
    GET /concepts_bulk?terms=term1,term2
    Parameters:
    terms: List of Terms
    sab: Source Vocab
    delimiter: delimiter between terms, default = ','
    """
    terms = None
    sab = None
    partial = None
    delimiter = ','

    if 'delimiter' in request.GET:
        delimiter = request.GET['delimiter']
    if 'terms' in request.GET:
        terms = request.GET['terms']
        terms = set(terms.split(delimiter))
    if 'sab' in request.GET:
        sab = request.GET['sab']
    if 'partial' in request.GET:
        pint = request.GET['partial']
        if pint == "1":
            partial = True
    
    rterms = []
    #for term in terms:
    rterms = ConceptListResource()._get(terms,sab,partial)

    # Handle AJAX Requests
    response = json.dumps(rterms, sort_keys=True)
    if 'callback' in request.GET:
        response = request.GET["callback"]+"("+response+")"

    return HttpResponse(response)
示例#4
0
def concept_term_resource_view(request):
    """Get the full display name of a code for a given concept

    GET /concepts?term=term&sabs=sabs

    Parameters:

    str: Term
    sab: Source Vocab

    """
    term = None
    sab = None
    partial = False

    if 'term' in request.GET:
        term = request.GET['term']
    if 'sabs' in request.GET:
        sab = request.GET['sabs']
    if 'partial' in request.GET:
        pint = request.GET['partial']
        if pint == "1":
            partial = True

    rterms = ConceptListResource()._get(term, sab, partial)

    # Handle AJAX Requests
    response = json.dumps(rterms, sort_keys=True)
    if 'callback' in request.GET:
        response = request.GET["callback"] + "(" + response + ")"

    return HttpResponse(response)