У меня есть упоминание об открытом API в ссылке ниже
https://npiregistry.cms.hhs.gov/api/?version=2.1
Используя приведенный ниже запрос, даже если детали во входном файле совпадают, я не получаю NPI на выходе. Может ли кто-нибудь помочь мне изменить запрос?
Входные данные:
S Номер|название_организации|город|штат|Основной адрес
1|saint|mishawaka|in| 201 linc
Запрос:
запросы на импорт
импорт панд как pd
из файлов импорта google.colab
импортировать csv
набрав import List, Dict
def search_nppes(название_организации, город, штат, основной_адрес) -> List[Dict]:
"""
Выполните поиск совпадений с помощью NPPES API по названию организации, городу, штату и частичному совпадению основного адреса.
Returns:
List[Dict]: List of dictionaries containing the NPPES data for each matching record
"""
base_url = "https://npiregistry.cms.hhs.gov/api/"
params = {
"version": "2.1",
"organization_name": organization_name,
"enumeration_type": 2,
"city": city,
"state": state,
"limit": 100
}
response = requests.get(base_url, params=params)
if response.status_code == 200:
data = response.json()
if 'results' in data and data['results']:
results = []
for result in data['results']:
practice_location = f"{result['addresses'][0]['address_1']}, {result['addresses'][0]['city']}, {result['addresses'][0]['state']}"
if primary_address.lower()[:5] in practice_location.lower():
if (result['basic']['organization_name'].lower() == organization_name.lower() and
result['addresses'][0]['city'].lower() == city.lower() and
result['addresses'][0]['state'].lower() == state.lower()):
results.append({
'npi': result['number'],
'organization_name': result['basic']['organization_name'],
'taxonomy': result['taxonomies'][0]['desc'] if result['taxonomies'] else '',
'address': practice_location
})
return results
return []
uploaded = files.upload()
input_filename = list(uploaded.keys())[0]
с open(input_filename, 'r') как csvfile:
dialect = csv.Sniffer( ).sniff(csvfile.read(1024))
delimiter = диалект.delimiter
df = pd.read_csv(input_filename, sep=delimiter)
required_columns = ['S No', 'organization_name ', 'город', 'штат', 'Основной адрес']
missing_columns = [столбец для столбца в требуемых_столбцах, если столбца нет в df.columns]
if Missing_columns:
print(f" Ошибка: в вашем CSV-файле отсутствуют следующие обязательные столбцы: {', '.join(missing_columns)}")
print(f"Ваш CSV-файл содержит следующие столбцы: {', '.join(df.columns) }")
print("Убедитесь, что в вашем CSV-файле есть столбцы «S No», «first_name», «last_name», «city», «state» и «основной адрес».)
else:
print(f"CSV успешно загружен с разделителем: '{delimiter}'")
print(f"Найдены столбцы: {', '.join(df.columns)}")< /p>
results = []
for index, row in df.iterrows():
s_no = row['S No']
primary_address = row['Primary Address']
search_results = search_nppes(row['organization_name'], row['city'], row['state'], primary_address)
if search_results:
for result in search_results:
result['S No'] = s_no
results.append(result)
if (index + 1) % 10 == 0:
print(f"Processed {index + 1} entries...")
output_df = pd.DataFrame(results)
output_filename = 'nppes_search_results.csv'
output_df.to_csv(output_filename, index=False)
print(f"Results saved to {output_filename}")
files.download(output_filename)
Подробнее здесь: https://stackoverflow.com/questions/791 ... input-file
Извлеките NPI организации на основе данных, представленных во входном файле. ⇐ Python
Программы на Python
1731854230
Anonymous
У меня есть упоминание об открытом API в ссылке ниже
https://npiregistry.cms.hhs.gov/api/?version=2.1
Используя приведенный ниже запрос, даже если детали во входном файле совпадают, я не получаю NPI на выходе. Может ли кто-нибудь помочь мне изменить запрос?
Входные данные:
S Номер|название_организации|город|штат|Основной адрес
1|saint|mishawaka|in| 201 linc
Запрос:
запросы на импорт
импорт панд как pd
из файлов импорта google.colab
импортировать csv
набрав import List, Dict
def search_nppes(название_организации, город, штат, основной_адрес) -> List[Dict]:
"""
Выполните поиск совпадений с помощью NPPES API по названию организации, городу, штату и частичному совпадению основного адреса.
Returns:
List[Dict]: List of dictionaries containing the NPPES data for each matching record
"""
base_url = "https://npiregistry.cms.hhs.gov/api/"
params = {
"version": "2.1",
"organization_name": organization_name,
"enumeration_type": 2,
"city": city,
"state": state,
"limit": 100
}
response = requests.get(base_url, params=params)
if response.status_code == 200:
data = response.json()
if 'results' in data and data['results']:
results = []
for result in data['results']:
practice_location = f"{result['addresses'][0]['address_1']}, {result['addresses'][0]['city']}, {result['addresses'][0]['state']}"
if primary_address.lower()[:5] in practice_location.lower():
if (result['basic']['organization_name'].lower() == organization_name.lower() and
result['addresses'][0]['city'].lower() == city.lower() and
result['addresses'][0]['state'].lower() == state.lower()):
results.append({
'npi': result['number'],
'organization_name': result['basic']['organization_name'],
'taxonomy': result['taxonomies'][0]['desc'] if result['taxonomies'] else '',
'address': practice_location
})
return results
return []
uploaded = files.upload()
input_filename = list(uploaded.keys())[0]
с open(input_filename, 'r') как csvfile:
dialect = csv.Sniffer( ).sniff(csvfile.read(1024))
delimiter = диалект.delimiter
df = pd.read_csv(input_filename, sep=delimiter)
required_columns = ['S No', 'organization_name ', 'город', 'штат', 'Основной адрес']
missing_columns = [столбец для столбца в требуемых_столбцах, если столбца нет в df.columns]
if Missing_columns:
print(f" Ошибка: в вашем CSV-файле отсутствуют следующие обязательные столбцы: {', '.join(missing_columns)}")
print(f"Ваш CSV-файл содержит следующие столбцы: {', '.join(df.columns) }")
print("Убедитесь, что в вашем CSV-файле есть столбцы «S No», «first_name», «last_name», «city», «state» и «основной адрес».)
else:
print(f"CSV успешно загружен с разделителем: '{delimiter}'")
print(f"Найдены столбцы: {', '.join(df.columns)}")< /p>
results = []
for index, row in df.iterrows():
s_no = row['S No']
primary_address = row['Primary Address']
search_results = search_nppes(row['organization_name'], row['city'], row['state'], primary_address)
if search_results:
for result in search_results:
result['S No'] = s_no
results.append(result)
if (index + 1) % 10 == 0:
print(f"Processed {index + 1} entries...")
output_df = pd.DataFrame(results)
output_filename = 'nppes_search_results.csv'
output_df.to_csv(output_filename, index=False)
print(f"Results saved to {output_filename}")
files.download(output_filename)
Подробнее здесь: [url]https://stackoverflow.com/questions/79197391/extract-organization-npi-based-on-data-provided-in-input-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия