Example #1
0
def bs_handle_search(request, resource_type):
    '''
    handle FHIR search operation
    '''
    # args = request.args
    # data = {}
    # for i in args:
    #     s = args[i]
    #     data[i] = eval(s.encode())

    search_result = get_resources(resource_type)

    search_result = json.dumps(search_result, separators=(',', ':'))
    if search_result is None:
        return error.inform_not_found()

    response = json_response(status='200')
    response.data = search_result

    version = 1
    created = False
    loc_header = 'Location' if created else 'Content-Location'
    response.headers[loc_header] = urljoin(API_BASE, '%s/_history/%s' % (
        resource_type,
        version))

    return response
Example #2
0
def ttam_handle_search(request, resource_type):
    '''
    handle FHIR search operation
    '''
    args = request.args
    data = {}
    for i in args:
        s = args[i]
        data[i] = eval(s.encode())

    search_result = search_sets(resource_type, data)

    search_result = json.dumps(search_result, separators=(',', ':'))
    if search_result is None:
        return error.inform_not_found()

    response = json_response(status='200')
    response.data = search_result

    version = 1
    created = False
    loc_header = 'Location' if created else 'Content-Location'
    response.headers[loc_header] = urljoin(
        API_BASE, '%s/_history/%s' % (resource_type, version))

    return response
Example #3
0
def ttam_handle_read(request, resource_type, resource_id):
    resource = get_resource(resource_type, resource_id)
    if resource is None:
        return error.inform_not_found()
    version = 1
    created = False

    if request.format == 'json':
        response = json_response(status='200')
        response.data = resource
    else:
        response = xml_response(status='200')
        response.data = json_to_xml(json.loads(resource))

    loc_header = 'Location' if created else 'Content-Location'
    response.headers[loc_header] = urljoin(
        API_BASE, '%s/%s/_history/%s' % (resource_type, resource_id, version))
    return response
Example #4
0
def bs_handle_read(request, resource_type, resource_id):
    resource = get_resource(resource_type, resource_id)
    if resource is None:
        return error.inform_not_found()
    version = 1
    created = False

    if request.format == 'json':
        response = json_response(status='200')
        response.data = resource
    else:
        response = xml_response(status='200')
        response.data = json_to_xml(json.loads(resource))

    loc_header = 'Location' if created else 'Content-Location'
    response.headers[loc_header] = urljoin(API_BASE, '%s/%s/_history/%s' % (
        resource_type,
        resource_id,
        version))
    return response