PHPackages                             qrcommunication/rppsapi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. qrcommunication/rppsapi

ActiveLibrary[API Development](/categories/api)

qrcommunication/rppsapi
=======================

SDK PHP pour interroger toutes les sources de données RPPS (Répertoire Partagé des Professionnels de Santé) de l'Annuaire Santé - ANS

v1.1.0(1mo ago)031↓100%PolyForm-Noncommercial-1.0.0PHPPHP &gt;=8.1CI passing

Since Mar 18Pushed 1mo agoCompare

[ Source](https://github.com/QrCommunication/rppsapi-php)[ Packagist](https://packagist.org/packages/qrcommunication/rppsapi)[ Docs](https://github.com/QrCommunication/rppsapi-php)[ RSS](/packages/qrcommunication-rppsapi/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (3)Used By (0)

@qrcommunication/rppsapi (PHP)
==============================

[](#qrcommunicationrppsapi-php)

SDK PHP pour interroger l'ensemble des sources de donnees RPPS (Repertoire Partage des Professionnels de Sante) en une seule requete.

Installation
------------

[](#installation)

```
composer require qrcommunication/rppsapi
```

Quick Start
-----------

[](#quick-start)

```
use QrCommunication\RppsApi\RppsClient;
use QrCommunication\RppsApi\RppsClientOptions;
use QrCommunication\RppsApi\Dto\RppsSearchCriteria;

$client = new RppsClient(new RppsClientOptions(
    fhirApiKey: $_ENV['FHIR_API_KEY'] ?? null,
));

// Profil complet par RPPS
$profil = $client->getByRpps('10005173140');

echo $profil->identite->civiliteExercice->libelle . ' ';
echo $profil->identite->prenomExercice . ' ' . $profil->identite->nomExercice . "\n";
echo $profil->profession->libelle . "\n";

foreach ($profil->activites as $activite) {
    echo "  - " . $activite->structure->raisonSociale . "\n";
}

foreach ($profil->diplomesEtAutorisations as $da) {
    if ($da->diplome) {
        echo "  - [Diplome] " . $da->diplome->libelle . "\n";
    }
}

// Recherche par nom + code postal
$results = $client->search(new RppsSearchCriteria(
    nom: 'DUPONT',
    codePostal: '75',
));

echo "Total: {$results->total}\n";
foreach ($results->results as $r) {
    echo "  {$r->civilite} {$r->prenomExercice} {$r->nomExercice} — {$r->profession->libelle}\n";
}
```

API Reference
-------------

[](#api-reference)

### `RppsClient`

[](#rppsclient)

```
$client = new RppsClient(new RppsClientOptions(
    fhirBaseUrl: 'https://gateway.api.esante.gouv.fr/fhir/v2',  // defaut
    fhirApiKey: 'votre-cle-gravitee',                            // optionnel
    tabularBaseUrl: 'https://tabular-api.data.gouv.fr/api/resources',  // defaut
    timeout: 30.0,                                                // secondes
    tabularPageSize: 100,                                         // defaut
    disabledSources: [],                                          // ex: ['fhir', 'mssante']
));
```

### `getByRpps(string $rpps): RppsFullProfile`

[](#getbyrppsstring-rpps-rppsfullprofile)

Retourne le profil complet avec identite, profession, activites, diplomes, savoir-faire, cartes CPS, messageries MSSante et donnees FHIR.

### `search(RppsSearchCriteria $criteria, int $page = 1, ?int $pageSize = null): RppsSearchResponse`

[](#searchrppssearchcriteria-criteria-int-page--1-int-pagesize--null-rppssearchresponse)

Recherche partielle insensible a la casse. Au moins un critere obligatoire.

### `validateRpps(string $rpps): string`

[](#validaterppsstring-rpps-string)

Valide un numero RPPS (11 chiffres). Lance `RppsException` si invalide.

Sources de donnees
------------------

[](#sources-de-donnees)

SourceAPIDonneespersonne-activiteTabular data.gouv.frIdentite, profession, structuresdiplomesTabular data.gouv.frDiplomes, autorisationssavoir-faireTabular data.gouv.frSpecialites, competencescarte-cpsTabular data.gouv.frCartes professionnellesmssanteTabular data.gouv.frMessageries securiseesfhirAPI FHIR ANSDonnees FHIR normalisees (cle requise)Configuration FHIR
------------------

[](#configuration-fhir)

Obtenir une cle gratuite sur  :

1. Creer un compte
2. Creer une application
3. S'abonner a "API Annuaire Sante en libre acces"
4. Recuperer la cle ESANTE-API-KEY

Skill AI (Claude Code, Cursor, Codex, Windsurf, Gemini...)
----------------------------------------------------------

[](#skill-ai-claude-code-cursor-codex-windsurf-gemini)

Ce SDK inclut un **skill AI** qui donne a votre agent une connaissance complete du SDK.

```
bash vendor/qrcommunication/rppsapi/skill/install.sh
```

Agents supportes : Claude Code, Cursor, Codex, Windsurf, Cline, Aider, Gemini CLI.

Installation manuelle : `cp -r vendor/qrcommunication/rppsapi/skill ~/.claude/skills/sdk-rpps`

Licence
-------

[](#licence)

PolyForm Noncommercial 1.0.0 — Voir [LICENSE](./LICENSE)

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance90

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

52d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4af9a1dce07647c267375fb7a348b52040ef59b40cb50b907b61c9364d0a0494?d=identicon)[ronylicha](/maintainers/ronylicha)

---

Top Contributors

[![ronylicha](https://avatars.githubusercontent.com/u/4362602?v=4)](https://github.com/ronylicha "ronylicha (2 commits)")

---

Tags

hl7fhirfrancehealthcaredata-gouvansrppsannuaire-santeprofessionnel-santemedecinpharmacien

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/qrcommunication-rppsapi/health.svg)

```
[![Health](https://phpackages.com/badges/qrcommunication-rppsapi/health.svg)](https://phpackages.com/packages/qrcommunication-rppsapi)
```

###  Alternatives

[saloonphp/saloon

Build beautiful API integrations and SDKs with Saloon

2.4k9.6M467](/packages/saloonphp-saloon)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[dcarbone/php-fhir-generated

Pre-generated classes from dcarbone/php-fhir

40451.6k1](/packages/dcarbone-php-fhir-generated)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
