Vue d'ensemble
FHIR (Fast Healthcare Interoperability Resources) est un ensemble d'outils pour lire, écrire et interroger les données de santé via les API REST FHIR. Travaillez avec les ressources Patient, Observation, Condition, MedicationRequest et Encounter provenant des systèmes EHR.
Installation
uv pip install fhir.resources requests
Interroger les patients
import requests
from fhir.resources.patient import Patient
base_url = "https://hapi.fhir.org/baseR4"
resp = requests.get(f"{base_url}/Patient", params={"family": "Smith", "birthdate": "gt1970"})
data = resp.json()
for entry in data.get("entry", []):
patient = Patient.parse_obj(entry["resource"])
name = patient.name[0]
print(f"{name.family}, {name.given[0]}")
Créer une ressource
patient = Patient(
name=[{"family": "Doe", "given": ["John"], "use": "official"}],
birthDate="1980-05-15",
gender="male",
)
resp = requests.post(
f"{base_url}/Patient",
json=patient.dict(),
headers={"Content-Type": "application/fhir+json"},
)
print(f"Created: {resp.json()['id']}")
Flux de travail
- Identifier le point de terminaison du serveur FHIR (HAPI, Epic, Cerner)
- Interroger les ressources avec les paramètres de recherche
- Analyser les réponses en objets de ressources typés
- Créer/mettre à jour avec POST/PUT
- Utiliser
$everythingpour les données complètes du patient