def METHOD_NAME(sqlite_path):
    if not os.path.exists(sqlite_path):
        raise RuntimeError("No SQLite file at: {}".format(sqlite_path))
    connection = sqlite3.connect(sqlite_path)
    # Disable the sqlite module's magical transaction handling features because
    # we want to use our own transactions below
    connection.isolation_level = None
    cursor = connection.cursor()
    bigquery_connection = Client("hscic")
    bnf_map = get_old_to_new_bnf_codes(bigquery_connection)
    for old_code, new_code in bnf_map:
        move_values_from_old_code_to_new(cursor, old_code, new_code)
    # Until we've completed the BNF code update we don't know which
    # presentations actually have prescribing data, so we have to wait until
    # now to do this cleanup
    delete_presentations_with_no_prescribing(cursor)
    connection.commit()
    connection.close()