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 onlytelecom
: 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 :
Fields | Definition | Patient Identity Fields for INS requirement | FR only | Possible values |
---|---|---|---|---|
extension[ReliabilityINS] | Return the status of the Patient INS Reliability | true | true | QUALI = qualified, VALI = validate, PROV = temporary |
extension[birthPlace] | Birthplace address of the patient | true | false | district = INSEE code |
identifier[IPP] | "Identifiant Permanent du Patient" unique identifier for a patient in a specific hospital | false | true | Patient.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 France | true | true | Patient.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-NIR | false | true | Patient.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 birthname | true | false | - |
name[usual] | Patient's current name | false | false | - |
gender | Sex of the patient | true | false | - |
birthdate | Birthdate of the patient | true | false | - |
address | Current address of the patient | false | false | - |
telecom[email] | Email of the patient | false | false | - |
telecom[phone] | Phone number of the patient | false | false | - |
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 atype
attribute with the valuereplaced-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 thelink
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"
]
}
]
}
Updated about 2 years ago