fhir

Par mkurman · zorai

Standard FHIR (Fast Healthcare Interoperability Resources). Outils de lecture, d'écriture et d'interrogation des données de santé via les API FHIR : patients, observations, conditions, médicaments, procédures. Interopérabilité avec les systèmes DPI (dossier patient informatisé).

npx skills add https://github.com/mkurman/zorai --skill fhir

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

  1. Identifier le point de terminaison du serveur FHIR (HAPI, Epic, Cerner)
  2. Interroger les ressources avec les paramètres de recherche
  3. Analyser les réponses en objets de ressources typés
  4. Créer/mettre à jour avec POST/PUT
  5. Utiliser $everything pour les données complètes du patient

Skills similaires