コード例 #1
0
def api_connection(n):
    '''
    Connect to API and download datafile and attachments
    Parameters:
        n(int): a whole number
    Returns:
        DataFrame: Pandas Dataframe with downloaded data from API
    Outputs:
        attachment: attachments from API
    '''
    from sodapy import Socrata

    client = Socrata("data.cms.gov", None)
    results = client.get('efgi-jnkv',
                         select='hcpcs_cd,'
                         'psps_submitted_charge_amt,'
                         'hcpcs_initial_modifier_cd,'
                         'hcpcs_second_modifier_cd,'
                         'carrier_num,'
                         'pricing_locality_cd,'
                         'type_of_service_cd,'
                         'place_of_service_cd,'
                         'provider_spec_cd,'
                         'psps_submitted_service_cnt,'
                         'psps_denied_services_cnt,'
                         'hcpcs_betos_cd',
                         where='psps_submitted_charge_amt > 5',
                         limit=n)

    results_sample = pd.DataFrame.from_records(results)
    #download attachments
    client.download_attachments(
        "efgi-jnkv",
        download_dir='C:/Users/amcgrat/Desktop/UCD PROGRAM/Project/HPCPS')
    client.close()
    return results_sample
コード例 #2
0
ファイル: test_soda.py プロジェクト: michaelpfizer/sodapy
def test_get_metadata_and_attachments():
    mock_adapter = {}
    mock_adapter["prefix"] = PREFIX
    adapter = requests_mock.Adapter()
    mock_adapter["adapter"] = adapter
    client = Socrata(DOMAIN, APPTOKEN, session_adapter=mock_adapter)

    response_data = "get_song_metadata.txt"
    setup_old_api_mock(adapter, "GET", response_data, 200)
    response = client.get_metadata(DATASET_IDENTIFIER)

    assert isinstance(response, dict)
    assert "newBackend" in response
    assert "attachments" in response["metadata"]

    response = client.download_attachments(DATASET_IDENTIFIER)

    assert isinstance(response, list)
    assert len(response) == 0

    client.close()
コード例 #3
0
                     'psps_submitted_charge_amt,'
                     'hcpcs_initial_modifier_cd,'
                     'hcpcs_second_modifier_cd,'
                     'carrier_num,'
                     'pricing_locality_cd,'
                     'type_of_service_cd,'
                     'place_of_service_cd,'
                     'provider_spec_cd,'
                     'psps_submitted_service_cnt,'
                     'psps_denied_services_cnt,'
                     'psps_hcpcs_asc_ind_cd,'
                     'hcpcs_betos_cd',
                     where='psps_submitted_charge_amt > 5',
                     limit=3400000)
results_df_sample = pd.DataFrame.from_records(results)
client.download_attachments("efgi-jnkv", download_dir="~/Desktop")
client.close()

results_df_sample = results_df_sample.sample(frac=0.25, random_state=123)

results_df_sample['hcpcs_cd'] = results_df_sample.hcpcs_cd.str.pad(
    5, side='left', fillchar='0')

#join dataframe to code categories dataframe.
results_df_sample = pd.merge(results_df_sample,
                             hcpcs_cs_cat,
                             on=['hcpcs_cd'],
                             how='left')

#Replace nulls in denied services count with zero.
results_df_sample['psps_denied_services_cnt'].replace(np.NaN,