Access Appointment Information

Introduction


The Appointment API Service provides you with access to information about appointments in a hospital.

The current version of the Appointment API Service gives access to appointments as registered by the hospitals. All ressources linked to the appointment are referenced by identifier (i.e. business identifier) and not by literal reference (i.e. reference through a FHIR technical id of the ressource).
Some identifiers may be used to access ressources on other API (ex. Lifen Patient/Encounter API Services for Patient or Encounter, Annuaire Santé for Practitioners), others may be internal identifiers for ressources that are not accessible outside the hospital.

Although it is mostly the case, reference to a Patient or to an Encounter in the Appointment API Service doesn’t imply that the corresponding resource is available through LifenPatient/Encounter API Service.

Access Control

You need a Machine To Machine Communications to use this API.

You need to have the APPOINTMENT_GAM_SEARCH scope to access the Appointment API service.

This functional scope will give you access to the following technical scopes : APPOINTMENT_READ , APPOINTMENT_SEARCH.

Search an appointment

You can search for an appointment in 2 different ways : search by search parameters (ex. date, patient identifier, practitioner identifier…) or read by id (see section Read an Appointment).

To search an appointment by search parameters, use the following route : POST {{host}}/fhir/v3/Appointment/_search

The Appointment API Service uses the _search feature from FHIR with :

  • HTTP Verb = POST
  • Content-type = application/x-www-form-urlencoded

The response will be a bundle resource that contains all the appointments that match the search.

Search parameters

Parameter     Value typeDescription & RestrictionsExample
identifierstringIdentifier of the appointment as assigned by placer or by filler.
Search on exact value only.
Note: Only the value of the identifier is to be provided here, system|identifier format is not supported yet
RDV43654, 5437, 34-APP-436
patient-identifierstringPatient local identifier (IPP) assigned by the hospital.
Note: Only the value of the identifier is to be provided here, system|identifier format is not supported yet
ID43654, 3230654, PAT-54474
practitioner-identifierstringPractitioner identifier as provided by the hospital. May be PS_IdNat format or local identifier format.
Note: Only the value of the identifier is to be provided here, system|identifier format is not supported yet
801234534765, MED-43675
encounter-identifierstring

Identifier of the encounter to which the appointment is linked.
Note: Only the value of the identifier is to be provided here, system|identifier format is not supported yet

Expression: Appointment.supportingInformation.where(resolve() is Encounter)

VN-43765, 4344756, VENUE4345765
statustokenpossible values booked or cancelled or noshow or entered-in-error or waitlist or arrived or fullfilledbooked
datedate

Search on date of the appointment.

Can use FHIR prefixes (available prefixes: gt, ge, lt, le).

Can be multivalued

(FHIR 'and' operation, ex. date=gt2022-01-01&date=lt2022-10-10). You are limited to 10 values max.

2026-06-13
_sortstringCan be followed by date to sort from the oldest to the most recent or by -date-date
_countintNumber of results on the page (max: 100) - 0 not supported10

To better understand the FHIR standard definition of each field, you can refer to the FHIR documentation here : FHIR Appointment.

Example of CURL query

curl --request POST \
  --url https://api.post-prod.lifen.fr/fhir/v3/Appointment/_search \
  --header 'Authorization: Bearer xxxxxxxxxxxxxx'
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data date=2026-06-12

Example of a bundle resource

{
    "resourceType": "Bundle",
    "type": "searchset",
    "total": 2,
    "entry": [
        {
            "fullUrl": "https://api.lifen.fr/fhir/v3/Appointment/1590811279:APT-c7aff434",
            "resource": {
                "resourceType": "Appointment",
                "id": "1590811279:APT-c7aff434",
                "identifier": [
                    {
                        "value": "APT-c7aff434"
                    },
                    {
                        "value": "57658"
                    }
                ],
                "status": "booked",
                "reasonCode": [
                    {
                        "coding": [
                            {
                                "code": "MEQH001",
                                "system": "urn:oid:1.2.250.1.213.2.5",
                                "display": "Arthrographie de l'epaule"
                            }
                        ]
                    }
                ],
                "supportingInformation": [
                    {
                        "type": "Encounter",
                        "identifier": {
                            "value": "VN-dca702b2"
                        }
                    },
                    {
                        "type": "Location",
                        "identifier": {
                            "value": "SALLE-28"
                        }
                    },
                    {
                        "display": "RAD-57",
                        "identifier": {
                            "value": "45476",
                            "system": "urn:lifen:1590811279:REF_EQUIP_LOURD"
                        }
                    }
                ],
                "start": "2026-06-12T10:05:00Z",
                "comment": "Epaule gauche",
                "participant": [
                    {
                        "actor": {
                            "type": "Patient",
                            "identifier": {
                                "value": "18a24195"
                            }
                        }
                    },
                    {
                        "actor": {
                            "type": "Practitioner",
                            "identifier": {
                                "value": "4576e43",
                                "system": "urn:lifen:1590811279:ID-INT"
                            }
                        }
                    }
                ]
            }
        },
        {
            "fullUrl": "https://api.lifen.fr/fhir/v3/Appointment/1590811279:APT-c7aff467",
            "resource": {
                "resourceType": "Appointment",
                "id": "1590811279:APT-c7aff467",
                "identifier": [
                    {
                        "value": "APT-c7aff467"
                    },
                    {
                        "value": "A-54643"
                    }
                ],
                "status": "booked",
                "reasonCode": [
                    {
                        "coding": [
                            {
                                "code": "NBQK001",
                                "system": "urn:oid:1.2.250.1.213.2.5",
                                "display": "Radiographie de la cuisse"
                            }
                        ]
                    }
                ],
                "supportingInformation": [
                    {
                        "type": "Encounter",
                        "identifier": {
                            "value": "VN-5478"
                        }
                    },
                    {
                        "type": "Location",
                        "identifier": {
                            "value": "SALLE-34"
                        }
                    },
                    {
                        "display": "RAD-53",
                        "identifier": {
                            "value": "45423",
                            "system": "urn:lifen:1590811279:REF_EQUIP_LOURD"
                        }
                    }
                ],
                "start": "2026-06-12T15:05:00Z",
                "comment": "Cuisse droite",
                "participant": [
                    {
                        "actor": {
                            "type": "Patient",
                            "identifier": {
                                "value": "25b57324"
                            }
                        }
                    },
                    {
                        "actor": {
                            "type": "Practitioner",
                            "identifier": {
                                "value": "4346d547",
                                "system": "urn:lifen:1590811279:ID-INT"
                            }
                        }
                    }
                ]
            }
        }
    ]
}

Read an appointment (by id)

To read an appointment, use the following route {{host}}/fhir/v3/Appointment/id with :

  • HTTP Verb = GET
  • Content-type = application/fhir+json

The response will be an appointment resource.

Example of an Appointment Resource

{
    "resourceType": "Appointment",
    "id": "1590811279:APT-c7aff497",
    "identifier": [
        {
            "value": "APT-c7aff497"
        },
        {
            "value": "4537654A"
        }
    ],
    "status": "booked",
    "reasonCode": [
        {
            "coding": [
                {
                    "code": "ANEST-PRE-OP",
                    "system": "urn:lifen:1590811279:MOTIF_RDV",
                    "display": "Consultation d'anesthésie préopératoire"
                }
            ]
        }
    ],
    "supportingInformation": [
        {
            "type": "Encounter",
            "identifier": {
                "value": "VN-365d57"
            }
        },
        {
            "type": "Location",
            "identifier": {
                "value": "B-28674"
            }
        }
    ],
    "start": "2026-06-14T14:30:00Z",
    "participant": [
        {
            "actor": {
                "type": "Patient",
                "identifier": {
                    "value": "5437654"
                }
            }
        },
        {
            "actor": {
                "type": "Practitioner",
                "identifier": {
                    "value": "801040756478",
                    "system": "urn:oid:1.2.250.1.71.4.2.1",
                    "typeCode": "RPPS"
                }
            }
        }
    ]
}

Fields description

FieldsCardinalityDefinition / Content
identifier[0..2]
identifier.valuewithin identifier [1..1]Identifier of the appointment as assigned by placer or by filler.
status[1..1]supported codes: booked , cancelled , noshow , entered-in-error , waitlist , arrived , fullfilled
reasonCode[0..*]
reasonCode.coding.codewithin reasonCode [1..1]reasonCode as provided by the hospital
reasonCode.coding.displaywithin reasonCode [0..1]display of reasonCode as provided by the hospital
reasonCode.coding.systemwithin reasonCode [0..1]System in urn format derived from assigning authority name provided by the hospital (see section “Translation of assigning authority name provided by the hospital into FHIR complaint system”) 
supportingInformation[0..*]
supportingInformation.type within supportingInformation [0..1]For supportingInformation referring to an encounter, valued at Encounter
For supportingInformation referring to a location, valued at Location
For other type of supportingInformation (from AIG segments in the SIU message), not used
supportingInformation.identifier.value within supportingInformation [1..1]Identifier as provided by the hospital. If no identifier is provided no corresponding supportingInformation is created
supportingInformation.identifier.system within supportingInformation [0..1]

For supportingInformation referring to a location, not used

For supportingInformation referring to an encounter and other type of supportingInformation, system in urn format derived from assigning authority name provided by the hospital (see section “Translation of assigning authority name provided by the hospital into FHIR complaint system”)

supportingInformation.display within supportingInformation [0..1]Display as provided by the hospital
start [0..1]Beginning date and hour of the appointment
comment [0..1]Comment(s) provided by the hospital. If several comments are provided in the SIU message, they are all concatenated in this field separated by a line feed
participant [0..*]
participant.type within participant [1..1]For participant referring to a patient, valued at Patient
For participant referring to a practitioner, valued at Practitioner 
participant.actor.identifier.value within participant [1..1]Identifier as provided by the hospital. If no identifier is provided no corresponding actor is created
participant.actor.identifier.system within participant [0..1]

For actor referring to a patient, not used

For actor referring to a practitioner, system in urn format derived from assigning authority name provided by the hospital (see section “Translation of assigning authority name provided by the hospital into FHIR complaint system”)

participant.actor.identifier.type.coding.code within participant [0..1]

For actor referring to a patient, not used

For actor referring to a practitioner, type of identifier as provided by the hospital

Translation of assinging authority and coding system names provided by the hospital into FHIR compliant system

Assigning authority / coding system name provided by the hospitalSystem used in Appointment resources
CCAMurn:oid:1.2.250.1.213.2.5
LNhttp://loinc.org
SNOMED-CThttp://snomed.info/sct
SCThttp://snomed.info/sct
RPPSurn:oid:1.2.250.1.71.4.2.1 
ADELIurn:oid:1.2.250.1.71.4.2.1 
FINESSurn:oid:1.2.250.1.71.4.2.2
any other assigning authority / coding system nameurn:lifen:XXX:YYY with XXX the databaseReference for the hospital and YYY the name of the assigning authority / coding system as provided by the hospital

Note: Hospitals are asked to provide RPPS and ADELI identifiers in PS_IdNat format (see section 5.4 of Annexe Transverse – Source des données métier pour les professionnels et les structures) and FINESS identifiers in Struct_IdNat format (see section 5.5 of Annexe Transverse – Source des données métier pour les professionnels et les structures). ​However, developers are advised that compliance to PS_IdNat and Struct_IdNat formats is not enforced and the identifiers exposed are the ones provided by hospitals (without modification).