> ## Documentation Index
> Fetch the complete documentation index at: https://docs.drugs.locusmedical.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Démarrer

> Un premier appel à l'API, avec une clé d'éditeur.

## Prérequis

Une clé d'éditeur de LGC, remise par Locus à la signature du contrat, et l'identifiant de l'abonné (le médecin) chez l'éditeur. Voir [Authentification](https://docs.drugs.locusmedical.fr/guides/authentification.md).

## Premiers appels

```bash theme={null}
BASE=https://drugs.locusmedical.fr
H=(-H "X-Locus-Editeur: $CLE" -H "X-Locus-Abonne: rpps:10001234567")

# Identité et édition
curl -s "${H[@]}" "$BASE/v1/meta" | jq .edition

# Recherche, tri par prix unitaire, sans les produits à l'aspartam
curl -s "${H[@]}" "$BASE/v1/produits/recherche?q=paracetamol%201%20g&tri=prix_ucd&exclure_excipients=E951"

# Une fiche, puis ses posologies de référence
curl -s "${H[@]}" "$BASE/v1/specialites/61234567" | jq '.composition, .statuts'
curl -s "${H[@]}" "$BASE/v1/specialites/61234567/posologies" | jq '.posologies[] | {population: .population.libelle, max24h: .quantite_max_par_24h}'

# Ce qui a changé depuis l'édition que le LGC a en cache
curl -s "${H[@]}" "$BASE/v1/changements?depuis=2026.09.1"
```

## Analyser une ordonnance

```bash theme={null}
curl -s "${H[@]}" -H "Content-Type: application/json" "$BASE/v1/analyse" -d '{
  "patient": {"date_naissance": "1958-04-12", "sexe": "F", "poids": {"kg": 68}},
  "traitement_en_cours": [],
  "prescription": [{
    "ligne": 1,
    "produits": [{"dc": "dc:amoxicilline-1-g-comprime-dispersible"}],
    "posologie": {"sequences": [{"duree": 7, "unite_duree": "j",
      "prises": [{"quantite": 1, "unite": "{comprime}", "moments": ["matin", "soir"]}]}]},
    "duree_jours": 7
  }]
}' | jq '.resultats[] | {niveau, controle, message}'
```

## Faire tourner l'API en local

```bash theme={null}
uv sync
# Sur le jeu de données de référence (démonstration, essai de type) :
LOCUS_DRUGS_JEU=reference uv run locus-drugs-api
# Sur la base Postgres :
DRUGS_DATABASE_URL=postgresql://... LOCUS_DRUGS_CLES="almapro:une-cle" uv run locus-drugs-api
```

`HOST` et `PORT` (par défaut `127.0.0.1:8080`). Sans `LOCUS_DRUGS_CLES`, l'API démarre ouverte et le dit sur la sortie d'erreur ; une instance en ligne ne l'est jamais.

> [!TIP]
>
> `creer_app(referentiel)` (`drugs/api/app.py`) accepte n'importe quelle implémentation du protocole `Referentiel`. `MemoireReferentiel` sert un jeu en mémoire : un éditeur peut écrire les tests d'intégration de son LAP sans base.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.