release commit
This commit is contained in:
66
fhirImport.py
Normal file
66
fhirImport.py
Normal file
@@ -0,0 +1,66 @@
|
||||
import requests
|
||||
from typing import List, Dict, Any
|
||||
from dotenv import load_dotenv
|
||||
import os
|
||||
from requests.auth import HTTPBasicAuth
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_dotenv()
|
||||
|
||||
def getBundle(url: str, search: str):
|
||||
headers = {
|
||||
'Accept': 'application/fhir+json',
|
||||
'Content-Type': 'application/fhir+json'
|
||||
}
|
||||
|
||||
# Get configuration from environment variables
|
||||
mode = os.getenv('MODE')
|
||||
fhir_server = os.getenv('FHIR_SERVER_URL')
|
||||
|
||||
if mode != 'testsever':
|
||||
username = os.getenv('FHIR_SERVER_USER')
|
||||
password = os.getenv('FHIR_SERVER_PW')
|
||||
|
||||
|
||||
if not fhir_server:
|
||||
raise ValueError("FHIR_SERVER_URL not found in environment variables")
|
||||
if (not username or not password) and mode != 'testserver':
|
||||
raise ValueError("FHIR_USERNAME and FHIR_SERVER_PW must be set in environment variables")
|
||||
|
||||
# Setup basic authentication
|
||||
auth = HTTPBasicAuth(username, password)
|
||||
|
||||
|
||||
if url is not None:
|
||||
link = url + '?_format=json'
|
||||
else:
|
||||
link = fhir_server + search + '&_format=json'
|
||||
|
||||
#print(link)
|
||||
|
||||
if mode != 'testserver':
|
||||
response = requests.get(
|
||||
link,
|
||||
headers=headers,
|
||||
auth=auth
|
||||
)
|
||||
else:
|
||||
response = requests.get(
|
||||
link,
|
||||
headers=headers,
|
||||
)
|
||||
return response
|
||||
|
||||
def getPatientEverything(id: str):
|
||||
search = '/Patient/' + id + '/$everything?'
|
||||
return getBundle(None, search)
|
||||
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
bundles = get_bundles(None)
|
||||
data = bundles.json()
|
||||
|
||||
# Process the bundles
|
||||
for entry in data['entry']:
|
||||
print(f"{entry['fullUrl']}")
|
||||
Reference in New Issue
Block a user