Lifen · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Lifen FHIR API

12 actions 12 updates servers extends openapi/lifen-fhir-api-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for Lifen's API. It is a proposal applied on top of the contract, not a document Lifen publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

tagsx-required-scopex-result-capdescriptioncontactx-apievangelist-enrichedx-apievangelist-artifactsservers

Targets 12

$.info
$
$.components.securitySchemes
$.paths['/v3/Patient/_search'].post
$.paths['/v3/Patient/{id}'].get
$.paths['/v3/Coverage/_search'].post
$.paths['/v3/Encounter/_search'].post
$.paths['/v3/Encounter/{id}'].get
$.paths['/v3/CommunicationRequest/$send-to-ehr'].post
$.paths['/v3/CommunicationRequest/$send-to-mss'].post
$.paths['/v3/Practitioner/$search-for-mss'].post
$.paths['/v3/Organization/$search-for-mss'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Lifen FHIR API
  version: 1.0.0
extends: openapi/lifen-fhir-api-openapi.json
x-generated: '2026-07-19'
x-method: generated
x-source: >-
  Enhancements derived from https://developer.lifen.fr/docs/api-basics and the per-service
  documentation pages; the harvested spec itself is left untouched.
actions:
- target: $.info
  update:
    description: >-
      The Lifen Platform FHIR API (v3). HL7 FHIR R4 resources for accessing patient identity,
      coverage, encounter and appointment data inside a French hospital information system, and for
      sending medical documents to hospital EHRs and to healthcare professionals over the MSSanté
      network. Machine-to-machine access uses an OAuth 2.0 client-credentials bearer token bound to
      one healthcare organisation via database_reference.
    contact:
      name: Lifen developer support
      url: https://developer.lifen.fr/
    x-apievangelist-enriched: '2026-07-19'
    x-apievangelist-artifacts:
      conventions: conventions/lifen-conventions.yml
      errors: errors/lifen-problem-types.yml
      scopes: scopes/lifen-scopes.yml
      authentication: authentication/lifen-authentication.yml
      rate_limits: rate-limits/lifen-rate-limits.yml
      webhooks: asyncapi/lifen-platform-webhooks.yml
      data_model: data-model/lifen-data-model.yml
- target: $
  update:
    servers:
    - url: https://api.lifen.fr/fhir
      description: Production
    - url: https://api.post-prod.lifen.fr/fhir
      description: Test (post-prod)
    - url: https://api.ramsay.lifen.fr/fhir
      description: Production, Ramsay hospitals
    - url: https://api-ramsay.post-prod.lifen.fr/fhir
      description: Test (post-prod), Ramsay hospitals
    tags:
    - name: Patient
      description: Patient identity and coverage.
    - name: Encounter
      description: Patient stays (séjours).
    - name: Documents
      description: Sending medical documents to EHRs and over MSSanté.
    - name: Directory
      description: MSSanté practitioner and structure lookup.
    x-rate-limit:
      requests: 10
      interval: second
      status_on_exceed: 429
- target: $.components.securitySchemes
  update:
    lifenOAuth2:
      type: oauth2
      description: >-
        OAuth 2.0 client credentials. Exchange client_id, client_secret, audience and
        database_reference at the token endpoint for a Bearer access token (172800s lifetime).
      flows:
        clientCredentials:
          tokenUrl: https://authentication.lifen.fr/v1/token
          scopes:
            PATIENT_GAM_SEARCH: Patient, coverage and encounter access within a hospital.
            APPOINTMENT_GAM_SEARCH: Appointment access within a hospital.
            SEND_TO_EHR: Send a medical document to a hospital EHR.
            SEND_TO_MSS: Send a medical document over MSSanté.
- target: $.paths['/v3/Patient/_search'].post
  update:
    tags:
    - Patient
    x-required-scope: PATIENT_GAM_SEARCH
    x-result-cap: 10
- target: $.paths['/v3/Patient/{id}'].get
  update:
    tags:
    - Patient
    x-required-scope: PATIENT_GAM_SEARCH
- target: $.paths['/v3/Coverage/_search'].post
  update:
    tags:
    - Patient
    x-required-scope: PATIENT_GAM_SEARCH
- target: $.paths['/v3/Encounter/_search'].post
  update:
    tags:
    - Encounter
    x-required-scope: PATIENT_GAM_SEARCH
    x-result-cap: 10
- target: $.paths['/v3/Encounter/{id}'].get
  update:
    tags:
    - Encounter
    x-required-scope: PATIENT_GAM_SEARCH
- target: $.paths['/v3/CommunicationRequest/$send-to-ehr'].post
  update:
    tags:
    - Documents
    x-required-scope: SEND_TO_EHR
    x-max-payload-mb: 15
- target: $.paths['/v3/CommunicationRequest/$send-to-mss'].post
  update:
    tags:
    - Documents
    x-required-scope: SEND_TO_MSS
- target: $.paths['/v3/Practitioner/$search-for-mss'].post
  update:
    tags:
    - Directory
    x-required-scope: SEND_TO_MSS
- target: $.paths['/v3/Organization/$search-for-mss'].post
  update:
    tags:
    - Directory
    x-required-scope: SEND_TO_MSS