# Ophelix > API de facturation de l'Assurance Maladie. Le mode test passe par un simulateur et ne touche ni l'Assurance Maladie ni une vraie carte. La spécification OpenAPI est sur https://docs.ophelix.fr/openapi.json. ## Guides - [Erreurs](https://docs.ophelix.fr/erreurs): Le format commun des erreurs de l'API Ophelix, et chaque code avec ce qu'il faut en faire. - [Cartes et scénarios de test](https://docs.ophelix.fr/guides/cartes-de-test): Tout ce que le simulateur sait jouer : cartes Vitale, cartes CPS, factures de test et retours à la demande. - [Clés d'API](https://docs.ophelix.fr/guides/cles): Clés secrètes et restreintes, modes test et production, rotation sans coupure. - [Conventions de l'API](https://docs.ophelix.fr/guides/conventions): Ce qui vaut pour toutes les routes : authentification, listes, objets liés, versions, débit, montants et dates. - [Démarrer en mode test](https://docs.ophelix.fr/guides/demarrage): Votre première facture de test en dix minutes : une clé, un praticien, un patient, une facture payée. - [Droits](https://docs.ophelix.fr/guides/droits): Lire les droits d'un patient depuis sa carte Vitale, ou les saisir en mode dégradé. - [Événements et requêtes](https://docs.ophelix.fr/guides/evenements): Relire ce qui s'est passé : la chronologie d'un objet, le journal de vos appels. - [Factures](https://docs.ophelix.fr/guides/factures): Mener une facture du brouillon au paiement : états, prestations, validation et retours. - [Idempotence](https://docs.ophelix.fr/guides/idempotence): Rejouez une écriture sans risque après une coupure réseau, avec l'en-tête Idempotency-Key. - [Patients](https://docs.ophelix.fr/guides/patients): Comment un patient naît, ce qui en sort par l'API et ce qui n'en sort jamais. - [Postes](https://docs.ophelix.fr/guides/postes): Appairer un poste, suivre ses lecteurs et ses cartes, le révoquer. - [Praticiens](https://docs.ophelix.fr/guides/praticiens): Créer un praticien depuis sa carte CPS, comprendre ses situations d'exercice, le suspendre. - [Webhooks](https://docs.ophelix.fr/guides/webhooks): Déclarer un point de terminaison, vérifier la signature, répondre, comprendre les reprises. ## Référence - [Référence](https://docs.ophelix.fr/reference): La référence de l'API Ophelix, ressource par ressource. - [Prestations](https://docs.ophelix.fr/reference/claim-lines): Une ligne d'une facture. Toute modification rend la facture retarifée. - [Ajouter une prestation à un brouillon](https://docs.ophelix.fr/reference/claim-lines/create): Rend la facture retarifée. - [Retirer une prestation d'un brouillon](https://docs.ophelix.fr/reference/claim-lines/delete): Rend la facture retarifée. - [Corriger une prestation d'un brouillon](https://docs.ophelix.fr/reference/claim-lines/update): Rend la facture retarifée. - [Factures](https://docs.ophelix.fr/reference/claims): Une FSE ou une DRE, du brouillon au paiement. - [Annuler une facture](https://docs.ophelix.fr/reference/claims/cancel): Possible jusqu'à la sécurisation. Une facture mise en lot ne s'annule plus. - [Ouvrir un brouillon de facture](https://docs.ophelix.fr/reference/claims/create): Un brouillon s'enregistre même incomplet. `validate` dit ce qui manque. - [Passer une facture à prêt](https://docs.ophelix.fr/reference/claims/finalize): Un brouillon invalide répond 422 `claim_invalid`, avec les mêmes `violations` que `validate`. - [Lister les factures](https://docs.ophelix.fr/reference/claims/list): Chaque facture rendue laisse une trace dans le journal d'audit. - [Lire une facture](https://docs.ophelix.fr/reference/claims/retrieve): Lire une facture - [Sécuriser une facture](https://docs.ophelix.fr/reference/claims/secure): En mode test, le simulateur signe. Le moteur réel n'est pas encore raccordé : 503. - [Modifier un brouillon](https://docs.ophelix.fr/reference/claims/update): Change le contexte de facturation et retarife. Seul un brouillon se modifie. - [Valider une facture à blanc](https://docs.ophelix.fr/reference/claims/validate): Rend toutes les règles enfreintes d'un coup, avec la ligne visée, et les alertes à part. Chaque constat cite l'identifiant de sa règle. Rien ne change. - [Droits](https://docs.ophelix.fr/reference/coverages): Une lecture des droits d'un patient. Elle ne se modifie jamais : on en fait une autre. - [Lire les droits d'un patient](https://docs.ophelix.fr/reference/coverages/create): Chaque lecture crée une nouvelle Coverage, et le patient s'il est nouveau. Une Coverage ne se modifie jamais. `source: manual` saisit les droits en mode dégradé. - [Lire une Coverage](https://docs.ophelix.fr/reference/coverages/retrieve): Lire une Coverage - [Événements](https://docs.ophelix.fr/reference/events): Ce qui s'est passé, dans l'ordre. Les événements ne se modifient jamais. - [Lister les événements](https://docs.ophelix.fr/reference/events/list): Du plus récent au plus ancien. `type` accepte un joker : `claim.*`. `object` retient les événements d'un objet, `request` ceux d'une requête, `created[gte]` et `created[lte]` bornent la date, en secondes depuis l'époque Unix. - [Lire un événement](https://docs.ophelix.fr/reference/events/retrieve): Lire un événement - [Patients](https://docs.ophelix.fr/reference/patients): Une personne soignée. Un patient naît de la lecture de ses droits. - [Lister les droits lus d'un patient](https://docs.ophelix.fr/reference/patients/coverages): Du plus récent au plus ancien : la première Coverage est la dernière lecture. - [Lister les patients](https://docs.ophelix.fr/reference/patients/list): Chaque patient rendu laisse une trace dans le journal d'audit. - [Lire un patient](https://docs.ophelix.fr/reference/patients/retrieve): Lire un patient - [Santé](https://docs.ophelix.fr/reference/ping): Dit si l'API répond, sans clé. - [Vérifier que l'API répond](https://docs.ophelix.fr/reference/ping/ping): Ne demande aucune clé. - [Lire l'état de la plateforme](https://docs.ophelix.fr/reference/ping/status): Ne demande aucune clé. L'état se relève au plus toutes les trente secondes. - [Praticiens](https://docs.ophelix.fr/reference/practitioners): Un professionnel de santé qui facture, créé par la lecture de sa carte. - [Lire une carte de praticien](https://docs.ophelix.fr/reference/practitioners/create): Crée le praticien avec toutes ses situations, ou le remet à jour s'il existe déjà. Ses situations viennent de la carte et ne se saisissent pas. - [Lister les praticiens](https://docs.ophelix.fr/reference/practitioners/list): Lister les praticiens - [Lever une suspension](https://docs.ophelix.fr/reference/practitioners/reactivate): Lever une suspension - [Lire un praticien](https://docs.ophelix.fr/reference/practitioners/retrieve): Lire un praticien - [Suspendre un praticien](https://docs.ophelix.fr/reference/practitioners/suspend): Une relecture de sa carte ne lève pas la suspension. - [Requêtes](https://docs.ophelix.fr/reference/requests): Le journal des appels reçus avec une clé. - [Lister les requêtes](https://docs.ophelix.fr/reference/requests/list): `status` accepte un code (`404`) ou une famille (`4xx`), `route` une route, `key` une clé, `object` l'identifiant d'un objet visé par le chemin. - [Lire une requête](https://docs.ophelix.fr/reference/requests/retrieve): Lire une requête - [Aides du mode test](https://docs.ophelix.fr/reference/test-helpers): Le simulateur : cartes de test, factures de test et retours à la demande. Ces routes refusent une clé de production. - [Simuler la lecture d'une carte](https://docs.ophelix.fr/reference/test-helpers/card-reads): Simuler la lecture d'une carte - [Créer une facture de test](https://docs.ophelix.fr/reference/test-helpers/claims-create): Lit deux cartes du simulateur et ouvre un brouillon avec une prestation fictive. - [Déclencher un retour simulé](https://docs.ophelix.fr/reference/test-helpers/claims-returns): `arl_positive`, `arl_negative`, `payment`, `partial_payment` ou `rejection`. - [Lister les scénarios de test](https://docs.ophelix.fr/reference/test-helpers/scenarios): Cartes Vitale, cartes CPS et retours simulés, avec leur identifiant. - [Points de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints): Une adresse de votre serveur qui reçoit les événements. - [Créer un point de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints/create): Le secret de signature n'apparaît que dans cette réponse, sous `secret`. - [Supprimer un point de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints/delete): Supprimer un point de terminaison - [Lister les livraisons d'un point de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints/deliveries): Lister les livraisons d'un point de terminaison - [Lister les points de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints/list): Lister les points de terminaison - [Renvoyer un événement à un point de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints/resend): Renvoyer un événement à un point de terminaison - [Lire un point de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints/retrieve): Lire un point de terminaison - [Renouveler le secret de signature](https://docs.ophelix.fr/reference/webhook-endpoints/rotate-secret): L'ancien secret cesse de signer aussitôt. Le nouveau n'apparaît que dans cette réponse. - [Envoyer un événement de test](https://docs.ophelix.fr/reference/webhook-endpoints/test): Produit un événement `webhook_endpoint.test`, livré à ce seul point. - [Modifier un point de terminaison](https://docs.ophelix.fr/reference/webhook-endpoints/update): Passer `status` à `enabled` réactive un point désactivé après trois jours d'échecs. - [Codes d'appairage](https://docs.ophelix.fr/reference/workstation-pairing-codes): Le code à usage unique qui relie un poste à votre organisation. - [Annuler un code d'appairage](https://docs.ophelix.fr/reference/workstation-pairing-codes/cancel): Annuler un code d'appairage - [Confirmer le rattachement d'un poste déjà appairé](https://docs.ophelix.fr/reference/workstation-pairing-codes/confirm-transfer): Quand `stage` vaut `already_paired`. Le poste quitte son organisation au moment où l'agent termine l'appairage. - [Créer un code d'appairage](https://docs.ophelix.fr/reference/workstation-pairing-codes/create): Valable dix minutes et une seule fois, dans le mode de la requête. `code` ne se rend qu'ici. Cette route ignore `Idempotency-Key` : un rejeu devrait garder le code en clair. - [Lire un code d'appairage](https://docs.ophelix.fr/reference/workstation-pairing-codes/retrieve): Lire un code d'appairage - [Postes](https://docs.ophelix.fr/reference/workstations): Un poste du cabinet, relié par l'agent. Il dit quels lecteurs sont branchés et quelles cartes sont insérées. - [Lister les postes](https://docs.ophelix.fr/reference/workstations/list): Lister les postes - [Lire un poste](https://docs.ophelix.fr/reference/workstations/retrieve): Lire un poste - [Révoquer un poste](https://docs.ophelix.fr/reference/workstations/revoke): Son jeton cesse à la requête suivante, sans délai de grâce. - [Renommer un poste](https://docs.ophelix.fr/reference/workstations/update): Renommer un poste ## Événements - [Catalogue des événements](https://docs.ophelix.fr/evenements): Tous les types d'événements de l'API Ophelix, avec leur charge. - [Événements : lots](https://docs.ophelix.fr/evenements/batch): batch.created, batch.sent, batch.acknowledged, batch.failed - [Événements : cartes](https://docs.ophelix.fr/evenements/card): card.inserted, card.removed - [Événements : factures](https://docs.ophelix.fr/evenements/claim): claim.created, claim.ready, claim.secured, claim.batched, claim.transmitted, claim.acknowledged, claim.paid, claim.partially_paid, claim.adjusted, claim.rejected, claim.flagged, claim.canceled - [Événements : droits](https://docs.ophelix.fr/evenements/coverage): coverage.retrieved - [Événements : patients](https://docs.ophelix.fr/evenements/patient): patient.updated - [Événements : praticiens](https://docs.ophelix.fr/evenements/practitioner): practitioner.created, practitioner.updated, practitioner.onboarding_completed - [Événements : lecteurs](https://docs.ophelix.fr/evenements/reader): reader.connected, reader.disconnected - [Événements : référentiels](https://docs.ophelix.fr/evenements/referential): referential.updated - [Événements : retours de paiement](https://docs.ophelix.fr/evenements/remittance): remittance.received - [Événements : points de terminaison](https://docs.ophelix.fr/evenements/webhook-endpoint): webhook_endpoint.test - [Événements : postes](https://docs.ophelix.fr/evenements/workstation): workstation.paired, workstation.revoked