These docs are for v2. Click to read the latest docs for v3.

Access Patient Information v2

The Search Patient gives you access to patient's information and their care pathways.

Access Control

You have to use the Access Token of an authenticated user with the PATIENT_READ permission in the scope to access the FHIR Patient API. For user authentication, take a look at the Connect Users v2.

With the Lifen Connect Pro, you can only access to patients for whom the user is the referring physician.

With the Lifen Connect Patient, you can only access to patients associated with your account. There is one FHIR Patient resource per doctor
that follows the patient.

Patient administrative data

The FHIR Patient resource contains the following patient administrative search param:

  • name : combination between "given" and "family" field, minimum 2 characters needed for this search. This search is based on the beginning of the word.
  • given : search on "given" field required minimum of 2 characters. This search is based on the beginning of the word.
  • family : search on "family" field required minimum of 2 characters. This search is based on the beginning of the word.
  • birthdate : search on exact value only
  • telecom: a list of dematerialized communication channels with the patient (mail and/or phone), search on exact value only.
  • address: his postal address. This search is done word by word based on the beginning of the word.
  • identifier: A list of national or institutional identifiers that can be associated with it (e.g. NIR, INS, IPP, etc.), search on exact value only.

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

Example Patient resource return by the API :

{
    "resourceType": "Patient",
    "extension": [
        {
            "url": "http://lifen.fr/fhir/StructureDefinition/Patient/Extension/ReliabilityINS",
            "valueCode": "QUALI"
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/birthPlace",
          "valueAddress": {
            "city": "RENNES",
            "district": "35135",
            "postalCode": "35000",
            "country": "FRA"
          }
        }
    ],
    "identifier": [
        {
          "use": "official",
          "type": {
            "coding": [
              {
                "system": "http://interopsante.org/fhir/valueset/fr-patient-identifier-type",
                "version": "1.0",
                "code": "PI",
                "display": "PI"
              }
            ]
          },
          "system": "urn:oid:1.2.250.1.71.4.2.2.4444444444", 
          "value": "3333333333" 
        },
        {
            "use": "official",
            "type": {
                "coding": [
                    {
                        "system": "http://interopsante.org/fhir/valueset/fr-patient-identifier-type",
                        "version": "1.0",
                        "code": "INS-NIR",
                        "display": "NIR définitif"
                    }
                ]
            },
            "system": "urn:oid:1.2.250.1.213.1.4.10",
            "value": "11111111111111111"
        },
        {
          "use": "official",
          "type": {
            "coding": [
              {
                "system": "http://interopsante.org/fhir/valueset/fr-patient-identifier-type",
                "version": "1.0",
                "code": "NIR-OD",
                "display": "NIR ouvrant-droit"
              }
            ]
          },
          "system": "http://lifen.fr/fhir/Identifier/patient-nir-od",
          "value": "555555555555"
        }
    ],
    "name": [
        {
            "use": "official",
            "family": "DURAND",
            "given": [
                "Paulette"
            ],
            "prefix": [
                "Mme"
            ]
        },
        {
            "use": "usual", 
            "family": "Michue",
            "given": [
                "Paulette"
            ],
            "prefix": [
                "Mme"
            ]
        }
    ],
    "gender": "female",
    "birthDate": "1957-06-28",
    "address": [
        {
            "line": [
              "Pierre-Alain D'ARTAGNAN DE L'HERAULT",
              "14 impasse des fleurs",
              "14000 CAEN"
            ],
            "city": "CAEN",
            "postalCode": "14000",
            "country": "FRANCE"
        }
    ],
    "telecom": [
        {
          "system": "email",
          "value": "[email protected]",
        },
        {
          "system": "phone",
          "value": "+33644301200",
          "use": "mobile"
        }
    ]
}

Fields describe :

FieldsDefinitionPatient Identity Fields for INS requirementFR onlyPossible values
extension[ReliabilityINS]Return the status of the Patient INS ReliabilitytruetrueQUALI = qualified, VALI = validate, PROV = temporary
extension[birthPlace]Birthplace address of the patienttruefalsedistrict = INSEE code
identifier[IPP]"Identifiant Permanent du Patient" unique identifier for a patient in a specific hospitalfalsetruePatient.identifier.type.coding.system = http://interopsante.org/fhir/valueset/fr-patient-identifier-type and Patient.identifier.type.coding.code = PI
identifier[INS-NIR/INS-NIA]"Identité National de Santé" unique identifier for a patient in FrancetruetruePatient.identifier.type.coding.system = http://interopsante.org/fhir/valueset/fr-patient-identifier-type and Patient.identifier.type.coding.code = INS-NIR
identifier[NIR-OD]"Numéro d’Identification au Répertoire des personnes physiques" can be the same as INS-NIRfalsetruePatient.identifier.type.coding.system = http://interopsante.org/fhir/valueset/fr-patient-identifier-type and Patient.identifier.type.coding.code = NIR-OD
name[official]Patient's birthnametruefalse-
name[usual]Patient's current namefalsefalse-
genderSex of the patienttruefalse-
birthdateBirthdate of the patienttruefalse-
addressCurrent address of the patientfalsefalse-
telecom[email]Email of the patientfalsefalse-
telecom[phone]Phone number of the patientfalsefalse-

Patient update and merge

In every hospital, patients change, merge continuously which is why, in order to stay up to date, we recommend that you handle the following
processes:

  • each time you want to use a patient's data, call the Patient Lifen API again to update the data (by IPP or ID for example)
  • if the new fetched data contains the link field (with a type attribute with the value replaced-by), this means that the patient has been
    merged
    with another and that it has become obsolete. From
    now
    on, you must therefore base yourself on the reference of the Patient present in the link field.

Example of old patient merge :

{
  "resourceType": "Patient",
  "id": "1111111",
  "active": false,
  "link": [
    {
      "type": "replaced-by",
      "other": {
        "reference": "Patient/12345"
      }
    }
  ],
  "name": [
    {
      "use": "usual",
      "family": "Michue",
      "given": [
        "Paulette"
      ],
      "prefix": [
        "MME"
      ]
    }
  ]
}