NAV Navbar
Logo
json xml

Introduction

L'API Lifen vous permet d'envoyer de manière sécurisée un document médical à n'importe quel professionnel de santé français. Actuellement nous proposons quatre canaux d'envoi :

Canal Description
MS Santé
MS Santé
messagerie de santé officielle. Plus d'informations sur https://www.mssante.fr/home
Lifen est opérateur MSSanté (certifié par l'ASIP Santé)
Apicrypt
Apicrypt
messagerie de santé la plus utilisée. Plus d'informations sur https://www.apicrypt.org/
LIFEN
Lifen
messagerie de santé disponible uniquement pour les utilisateurs de Lifen
La Poste
La Poste
quand un envoi dématérialisé n'est pas disponible, Lifen peut utiliser des canaux plus traditionnels

Si vous avez la moindre question concernant l'API, n'hésitez pas à nous contacter à api@lifen.fr.

Présentation

L'API est actuellement conçue pour le flow suivant qui se déroule en 5 étapes :

Etape 1 : identification de l'émetteur et du destinataire du compte-rendu ainsi que du canal de communication

Etape 2 : création des informations du patient, relatif au document envoyé

Etape 3 : upload du document pdf

Etape 4 : création des metadonnées du document

Etape 5 : envoi d'un courrier médical

Une fois l'envoi d'un courrier médical effectué, il est alors possible suivre l'évolution de cet envoi.

Représentation FHIR

L'API Lifen utilise plusieurs objets construits à partir du standard de santé FHIR (version actuelle : DSTU 3.0.1).

Modélisation FHIR

Points d'accès

L'API est basé sur le standard REST, la plupart des points d'accès spécifiés par la documentation FHIR sont disponibles. Certaines actions ne sont pas accessibles pour les utilisateurs API par mesure de sécurité (exemple la suppression d'un patient, ou la modification d'un médecin).

Voici la liste des points d'accès les plus utilisés sur l'API dont l'URL de base sur la plateforme de démo est https://api-demo.lifen.fr/fhir.

🏖️ Accès à notre Sandbox

Nous mettons à disposition un environnement de démonstration pour vous permettre de tester et d'intégrer notre API. Cet environnement n'affecte pas vos données en direct et n'interagit pas avec votre réseau de messagerie.

Différences entre la Sandbox et l'environnement de production

Points d'accès

Pour commencer 🚀

Récupération de token

1 - Récupération du token

curl -XPOST -u 'CLIENTID':'SECRET' 'https://oauth-demo.lifen.fr/oauth/token?grant_type=client_credentials' 




Recherche dans l'annuaire

2 - Recherche dans l'annuaire

curl -X GET \
 'https://api-demo.lifen.fr/fhir/Practitioner?_content=eclancher&_content=Paris' \
 -H 'authorization: bearer TOKEN' \
 -H 'content-type: application/json' \

Upload de pièce jointe

3 - Upload de pièce jointe

curl -X POST \                                                                                                           
      https://api-demo.lifen.fr/fhir/Binary \
      -H 'Authorization: Bearer TOKEN' \
      -H 'Content-Type: application/pdf' \
      --data-binary "@./test.pdf"

Création d'un document

4 - Création d'un document

curl -X POST \
 https://api-demo.lifen.fr/fhir/DocumentReference \
 -H 'Authorization: bearer TOKEN' \
 -H 'Content-Type: application/fhir+json' \
 -H 'Prefer: return=representation' \
 -d '{"resourceType":"DocumentReference",
"status":"current",
"docStatus":"final",
"type":{"coding":{"system":"http://loinc.org","code":"81222-2","display":"Consultation note"}},
"description":"Test_Patient__01_01_1950__16.pdf",
"indexed":"2018-02-09T16:00:44+01:00",
"content":[{"attachment":{"url":"Binary/{{binary_id}}",
"title":"Test_Patient__01_01_1950__16.pdf"}}]}'

Création d'un patient

5 - Création d'un patient

curl -X POST \
  https://api-demo.lifen.fr/fhir/Patient \
  -H 'Authorization: bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'Prefer: return=representation' \
  -d '{
  "resourceType": "Patient",
  "name": [
    {
      "family": "Michu",
      "given": [
        "Paulette"
      ]
    }
  ]
}'

Emission du document

6 - Emission du document

curl -X POST \
  https://api-demo.lifen.fr/fhir/CommunicationRequest \
  -H 'Authorization: bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'Prefer: return=representation' \
  -d '{
  "resourceType": "CommunicationRequest",
  "id": "1074965",
  "meta": {
    "versionId": "6",
    "lastUpdated": "2019-07-08T14:11:01.000+02:00",
    "tag": [
      {
        "system": "http://lifen.fr/fhir/tag/verified/sender",
        "code": "SENDER_VERIFIED",
        "display": "Sender is verified and should not be changed."
      },
      {
        "system": "http://lifen.fr/fhir/tag/processing/mode",
        "code": "IMMEDIATE_MODE",
        "display": "request should be treated in immediate mode"
      },
      {
        "system": "http://lifen.fr/fhir/tag/processing/ia",
        "code": "PROCESSED",
        "display": "ressource processed by Irene"
      }
    ]
  },
  "status": "completed",
  "category": [
    {
      "coding": [
        {
          "system": "http://lifen.fr/fhir/ValueSet/communication-category",
          "code": "MEDICAL_REPORT"
        }
      ]
    }
  ],
  "medium": [
    {
      "coding": [
        {
          "id": "4077531",
          "system": "http://lifen.fr/fhir/ValueSet/communication-medium",
          "code": "MSSANTE",
          "display": "matthieu.faugeras@masseur-kinesitherapeute.mssante.fr"
        }
      ]
    }
  ],
  "subject": {
    "extension": [
      {
        "url": "http://lifen.fr/fhir/StructureDefinition/match-grade",
        "valueCode": "certain"
      }
    ],
    "reference": "Patient/1074966"
  },
  "recipient": [
    {
      "extension": [
        {
          "url": "http://lifen.fr/fhir/StructureDefinition/communicationrequest-recipient-details",
          "valueContactPoint": {
            "id": "4077531",
            "extension": [
              {
                "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
                "valueCoding": {
                  "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
                  "code": "mssante",
                  "display": "MSSanté"
                }
              }
            ],
            "system": "email",
            "value": "matthieu.faugeras@masseur-kinesitherapeute.mssante.fr",
            "use": "work",
            "period": {
              "start": "2018-09-14"
            }
          }
        }
      ],
      "reference": "Practitioner/333543"
    }
  ],
  "payload": [
    {
      "contentReference": {
        "reference": "DocumentReference/1074963"
      }
    }'

📚 Intégrations

La liste des librairies proposées ci-dessous n'a pas vocation à être exclusive, elle ne mentionne que les librairies utilisées en interne ou par d'autres partenaires ayant déjà intégré l'API Lifen.

Clients OAuth Lifen

Clients FHIR

🔒 Authentification

Récupération de Token

Votre clé API comporte de nombreux privilèges, assurez-vous donc de la garder en sécurité ! Ne partagez pas vos clés d'API secrètes dans des zones accessibles au public telles que GitHub, code côté client, messagerie, etc

Une fois un token obtenu, il est nécessaire de l'utiliser pour accéder aux points d'accès de l'API. L'usage de ce token, sous réserve qu'il soit valide, peut se faire de deux manières différentes :

via un header HTTP

Authorization: Bearer VALID_TOKEN

Ex : curl -X GET -H "Authorization: bearer VALID_TOKEN" "https://api-demo.lifen.fr/fhir/Practitioner"

via un paramètre d'URL

?access_token=VALID_TOKEN

Ex : curl -X GET "https://api-demo.lifen.fr/fhir/Practitioner?access_token=VALID_TOKEN"

Si le token n'est pas ou plus valide, une erreur 403 sera renvoyée.

OAuth

L'API Lifen utilise le protocole OAuth 2.0. Nous proposons actuellement qu'un scénario d'usage :

Flow applicatif

Ce flow permet à des applications tierces d'utiliser l'API sans être dépendantes d'un utilisateur. Dans le cas des actions qui peuvent être liées à un utilisateur (ex : envoi d'un courrier médical), il est possible de choisir l'émetteur cependant l'application tierce doit au préalable recueillir le consentement du professionnel de santé.

Il se déroule en une seule étape :

Exemple de réponse : (JSON uniquement)

{
  "access_token" : "XXXXXXX",
  "token_type" : "bearer",
  "expires_in" : 86400,
  "scope" : "scope1 scope2"
}

Obtention de l'access token

Requête HTTP

POST https://oauth-demo.lifen.fr/oauth/token?grant_type=client_credentials&client_id=<CLIENT_ID&client_secret=CLIENT_SECRET

Paramètre Obligatoire ? Description
client_id oui il s'agit du client ID communiqué par Lifen
client_secret oui il s'agit du client secret communiqué par Lifen
grant_type oui l'usage de ce flow nécessite la valeur client

Le token distribué par l'API se périme après expires_in. A ce moment là, l'application tierce re-demande un nouveau token grâce au même appel.

❌ Erreurs

Exemple d'erreur :

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "processing",
      "diagnostics": "diagnostics"
    }
  ]
}
<OperationOutcome xmlns="http://hl7.org/fhir">
   <issue>
      <severity value="error"/>
      <code value="processing"/>
      <diagnostics value="diagnostics"/>
   </issue>
</OperationOutcome>

L'API Lifen utilise les codes d'erreur ci-dessous. Les erreurs sont représentées par des OperationOutcome.

Code Description
403 Not Authorized
Le token utilisé n'est pas ou plus valide
404 Not Found
La resource demandée n'a pu être identifiée
422 Unprocessable Entity
La requête ne correspond pas aux attentes du serveur ou à la spécification FHIR
500 Internal Server Error
Une erreur serveur a été identifiée

💡 Usage

L'application tierce doit fournir les informations suivantes :

Paramètre Description
CommunicationRequest.sender Émetteur du document (référence Practitioner ou Organization)
CommunicationRequest.recipient Destinataire(s) du document avec le canal de destination (référence Practitioner, Organization ou Patient)
CommunicationRequest.content  Contenu de la Communication (référence d'un DocumentReference prédédemment créé)
Binary fichier pdf
DocumentReference.type Type de document
CommunicationRequest.subject Informations du patient (reference de Patient)
CommunicationRequest.category  Qualité d'impression pour le courrier postal (couleur ou N&B )

🔎 Rechercher un professionnel de santé

{
    "resourceType": "Bundle",
    "id": "2173e03d-8151-409b-9412-ea1096e7aa22",
    "meta": {
        "lastUpdated": "2018-05-17T10:16:53.292+00:00"
    },
    "type": "searchset",
    "total": 1,
    "link": [
        {
            "relation": "self",
            "url": "https://api-demo.lifen.fr/fhir/dstu3/Practitioner?name=eclancher"
        }
    ],
    "entry": [
        {
            "fullUrl": "https://api-demo.lifen.fr/fhir/dstu3/Practitioner/9201",
            "resource": {
  "resourceType": "Practitioner",
  "id": "15875",
  "meta": {
    "versionId": "1",
    "lastUpdated": "2018-03-30T20:55:37.000+02:00",
    "tag": [
      {
        "system": "https://www.lifen.fr/oauth_client",
        "code": "NEST2FHIR",
        "display": "N/A"
      }
    ]
  },
  "identifier": [
    {
      "system": "urn:oid:1.2.250.1.71.4.2.1",
      "value": "810100851152"
    },
    {
      "system": "http://lifen.fr/fhir/Identifier/practitioner-rpps",
      "value": "10100851152"
    },
    {
      "system": "http://lifen.fr/fhir/Identifier/practitioner-docbook",
      "value": "11e5c870-5aa1-4a1c-9b29-deb9993a92c0"
    },
    {
      "system": "http://lifen.fr/fhir/Identifier/fr/nestor",
      "value": "113563"
    }
  ],
  "active": true,
  "name": [
    {
      "use": "official",
      "text": "Marie Priollaud",
      "family": "Priollaud",
      "given": [
        "Marie"
      ],
      "prefix": [
        "DR"
      ]
    }
  ],
  "telecom": [
    {
      "id": "18327",
      "extension": [
        {
          "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
          "valueCoding": {
            "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
            "code": "apicrypt",
            "display": "Apicrypt"
          }
        }
      ],
      "system": "email",
      "value": "Marie.PRIOLLAUD@medical95.apicrypt.org",
      "use": "work",
      "period": {
        "start": "2018-02-22"
      }
    }
  ],
  "address": [
    {
      "id": "523430",
      "use": "work",
      "line": [
        "CABINET DU DR MARIE PRIOLLAUD",
        "DR MARIE PRIOLLAUD",
        "MAISON MEDICALE DES TOUPETS",
        "35 MAIL MENDES FRANCE",
        "95490 VAUREAL"
      ],
      "city": "Vauréal",
      "postalCode": "95490",
      "country": "FRA",
      "period": {
        "start": "2018-02-22"
      }
    }
  ],
  "qualification": [
    {
      "code": {
        "coding": [
          {
            "system": "urn:oid:1.2.250.1.213.2.28",
            "code": "SM53",
            "display": "Spécialiste en Médecine Générale"
          }
        ],
        "text": "Spécialiste en Médecine Générale"
      }
    },
    {
      "code": {
        "coding": [
          {
            "system": "urn:oid:1.2.250.1.71.1.2.7",
            "code": "10",
            "display": "Médecin"
          }
        ],
        "text": "Médecin"
      }
    }
  ]
},
            "search": {
                "mode": "match"
            }
        }
    ]
}
<Bundle xmlns="http://hl7.org/fhir">
    <id value="3d10fad1-ed01-41c3-be08-9045ad948d8f"/>
    <meta>
        <lastUpdated value="2018-05-17T10:18:01.343+00:00"/>
    </meta>
    <type value="searchset"/>
    <total value="1"/>
    <link>
        <relation value="self"/>
        <url value="https://api-demo.lifen.fr/fhir/dstu3//Practitioner?name=eclancher"/>
    </link>
    <entry>
        <fullUrl value="https://api-demo.lifen.fr/fhir/dstu3/Practitioner/9201"/>
        <resource>
            <Practitioner xmlns="http://hl7.org/fhir">
                <id value="9201"/>
                <meta>
                    <versionId value="3"/>
                    <lastUpdated value="2018-04-05T14:03:33.000+00:00"/>
                </meta>
                <identifier>
                    <system value="urn:oid:1.2.250.1.71.4.2.1"/>
                    <value value="810004085790"/>
                </identifier>
                <identifier>
                    <system value="https://api-demo.lifen.fr/fhir/Identifier/practitioner-rpps"/>
                    <value value="10004085790"/>
                </identifier>
                <active value="true"/>
                <name>
                    <use value="official"/>
                    <text value="William Eclancher"/>
                    <family value="Eclancher"/>
                    <given value="William"/>
                    <prefix value="DR"/>
                </name>
                <telecom id="1967837">
                    <system value="url"/>
                    <value value="http://honestica.com/fhir/identifier/lifen"/>
                    <use value="work"/>
                    <period>
                        <start value="2018-04-03"/>
                    </period>
                </telecom>
                <telecom id="76407">
                    <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
                        <valueCoding>
                            <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                            <code value="mssante"/>
                            <display value="MSSanté"/>
                        </valueCoding>
                    </extension>
                    <system value="email"/>
                    <value value="william.eclancher@medecin.mssante.fr"/>
                    <use value="work"/>
                    <period>
                        <start value="2018-02-22"/>
                    </period>
                </telecom>
                <telecom id="45338">
                    <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
                        <valueCoding>
                            <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                            <code value="mssante"/>
                            <display value="MSSanté"/>
                        </valueCoding>
                    </extension>
                    <system value="email"/>
                    <value value="william.eclancher@aura.mssante.fr"/>
                    <use value="work"/>
                    <period>
                        <start value="2018-02-22"/>
                    </period>
                </telecom>
                <telecom id="17288">
                    <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
                        <valueCoding>
                            <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                            <code value="apicrypt"/>
                            <display value="Apicrypt"/>
                        </valueCoding>
                    </extension>
                    <system value="email"/>
                    <value value="William.ECLANCHER@medical75.apicrypt.org"/>
                    <use value="work"/>
                    <period>
                        <start value="2018-02-22"/>
                    </period>
                </telecom>
                <address id="1017702">
                    <use value="work"/>
                    <line value="CABINET DU DR HOUSE"/>
                    <line value="DR WILLIAM ECLANCHER"/>
                    <line value="SERVICE RAPIDE"/>
                    <line value="37 RUE ::"/>
                    <line value="RESIDENCE DES RESIDANTS."/>
                    <line value="89020 CICHY"/>
                    <city value="cichy"/>
                    <postalCode value="89020"/>
                    <period>
                        <start value="2018-02-22"/>
                    </period>
                </address>
                <address id="371302">
                    <use value="work"/>
                    <line value="CABINET DU DR WILLIAM ECLANCHER"/>
                    <line value="DR WILLIAM ECLANCHER"/>
                    <line value="11 RUE CHARLES TELLIER"/>
                    <line value="75016 PARIS"/>
                    <city value="Paris"/>
                    <postalCode value="75016"/>
                    <country value="FRA"/>
                    <period>
                        <start value="2018-02-22"/>
                    </period>
                </address>
                <qualification>
                    <code>
                        <coding>
                            <system value="urn:oid:1.2.250.1.213.2.28"/>
                            <code value="SM53"/>
                            <display value="Spécialiste en Médecine Générale"/>
                        </coding>
                        <text value="Spécialiste en Médecine Générale"/>
                    </code>
                </qualification>
                <qualification>
                    <code>
                        <coding>
                            <system value="urn:oid:1.2.250.1.71.1.2.7"/>
                            <code value="10"/>
                            <display value="Médecin"/>
                        </coding>
                        <text value="Médecin"/>
                    </code>
                </qualification>
            </Practitioner>
        </resource>
        <search>
            <mode value="match"/>
        </search>
    </entry>
</Bundle>

Cette recherche vous permet d'obtenir les informations nécessaires à l'émission d'un document médical (CommunicationRequest) à savoir l'identifiant Lifen des deux professionnels de santé ainsi que l'identifiant Lifen du canal d'envoi sélectionné.

Requête HTTP

GET https://api-demo.lifen.fr/fhir/Practitioner?_content=eclancher&_content=william

GET https://api-demo.lifen.fr/fhir/Practitioner?identifier=810004085790

GET https://api-demo.lifen.fr/fhir/Practitioner?telecom=albert.coeur@medecin.mssante.fr

Paramètre Description
name Recherche sur le nom ou le prénom du médecin
_content Recherche sur tous les champs du médecin (utile pour une recherche utilisateur full text)
identifier Recherche sur les identifiants du médecin
telecom Recherche par email complet
Ex: albert.coeur@medecin.mssante.fr

Nous vous conseillons d'utiliser la recherche par _content car elle a été optimisée pour l'usage utilisateur. Il est possible de chaîner ce paramètre en utilisant le séparateur &.

Réponse

La réponse est une ressource de type Bundle qui liste les professionnels de santé (Practitioner) qui correspondent aux critères de recherche.

Dans certains cas, le destinataire n'est pas présent dans l'annuaire, il est possible de créer une nouvelle entité avec une adresse postale pour lui adresser un courrier. (POST Organization voir Ajouter une organisation

Chaque médecin et organisation dispose de plusieurs adresses et emails. Le choix du canal de destination incombe à l'application tierce.

Lifen recommande les règles de sélection suivantes : - un ou plusieurs télécom : sélection de la totalité des télécoms afin d'optimiser les chances de lecture du contenu. - pas de télécom, plusieurs adresses : sélection d'une adresse si possible par l'utilisateur qui connait peut-être le lieu d'exercice du médecin.

Lifen est à l'écoute des préférences de réception des utilisateurs. Dans le cas où le médecin cherché dans l'annuaire a communiqué ses préférences de réception, Lifen n'affichera que les canaux préférentiels dans les résultats de recherche.

Point d'accès Practitioner

Méthode URL Usage
GET Practitioner Recherche d'un médecin
GET Practitioner/id Affichage du médecin avec cet identifiant
GET Practitioner Recherche d'un médecin ( liste complète des paramètres de recherche )
{
                "resourceType": "Practitioner",
                "id": "8030",
                "identifier": [
                    {
                        "system": "http://lifen.fr/fhir/Identifier/practitioner-rpps",
                        "value": "10004085790"
                    },
                    {
                        "system": "urn:oid:1.2.250.1.71.4.2.1",
                        "value": "810004085790"
                    }
                ],
                "active": true,
                "name": [
                    {
                        "use": "official",
                        "text": "William Eclancher",
                        "family": "Eclancher",
                        "given": [
                            "William"
                        ],
                        "prefix": [
                            "DR"
                        ]
                    }
                ],
                "telecom": [
                    {
                        "id": "4008833",
                        "extension": [
                            {
                                "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
                                "valueCoding": {
                                    "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
                                    "code": "mssante",
                                    "display": "MSSanté"
                                }
                            }
                        ],
                        "system": "email",
                        "value": "william.eclancher@medecin.mssante.fr",
                        "use": "work",
                        "period": {
                            "start": "2018-02-06"
                        }
                    },
                    {
                        "id": "3890596",
                        "extension": [
                            {
                                "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
                                "valueCoding": {
                                    "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
                                    "code": "apicrypt",
                                    "display": "Apicrypt"
                                }
                            }
                        ],
                        "system": "email",
                        "value": "William.ECLANCHER@medical75.apicrypt.org",
                        "use": "work",
                        "period": {
                            "start": "2018-02-06"
                        }
                    }
                ],
                "address": [
                    {
                        "id": "4440976",
                        "use": "work",
                        "line": [
                            "CABINET DU DR WILLIAM ECLANCHER",
                            "DR WILLIAM ECLANCHER",
                            "11 RUE CHARLES TELLIER",
                            "75016 PARIS"
                        ],
                        "city": "Paris",
                        "postalCode": "75016",
                        "country": "FRA",
                        "period": {
                            "start": "2018-02-07"
                        }
                    }
                ],
                "qualification": [
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "urn:oid:1.2.250.1.71.1.2.7",
                                    "code": "10",
                                    "display": "Médecin"
                                }
                            ],
                            "text": "Médecin"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "urn:oid:1.2.250.1.213.2.28",
                                    "code": "SM53",
                                    "display": "Spécialiste en Médecine Générale"
                                }
                            ],
                            "text": "Spécialiste en Médecine Générale"
                        }
                    }
                ]
            }
<Practitioner xmlns="http://hl7.org/fhir">
    <id value="8030"/>
    <identifier>
        <system value="http://lifen.fr/fhir/Identifier/practitioner-rpps"/>
        <value value="10004085790"/>
    </identifier>
    <identifier>
        <system value="urn:oid:1.2.250.1.71.4.2.1"/>
        <value value="810004085790"/>
    </identifier>
    <active value="true"/>
    <name>
        <use value="official"/>
        <text value="William Eclancher"/>
        <family value="Eclancher"/>
        <given value="William"/>
        <prefix value="DR"/>
    </name>
    <telecom id="4008833">
        <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
            <valueCoding>
                <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                <code value="mssante"/>
                <display value="MSSanté"/>
            </valueCoding>
        </extension>
        <system value="email"/>
        <value value="william.eclancher@medecin.mssante.fr"/>
        <use value="work"/>
        <period>
            <start value="2018-02-06"/>
        </period>
    </telecom>
    <telecom id="3890596">
        <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
            <valueCoding>
                <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                <code value="apicrypt"/>
                <display value="Apicrypt"/>
            </valueCoding>
        </extension>
        <system value="email"/>
        <value value="William.ECLANCHER@medical75.apicrypt.org"/>
        <use value="work"/>
        <period>
            <start value="2018-02-06"/>
        </period>
    </telecom>
    <address id="4440976">
        <use value="work"/>
        <line value="CABINET DU DR WILLIAM ECLANCHER"/>
        <line value="DR WILLIAM ECLANCHER"/>
        <line value="11 RUE CHARLES TELLIER"/>
        <line value="75016 PARIS"/>
        <city value="Paris"/>
        <postalCode value="75016"/>
        <country value="FRA"/>
        <period>
            <start value="2018-02-07"/>
        </period>
    </address>
    <qualification>
        <code>
            <coding>
                <system value="urn:oid:1.2.250.1.71.1.2.7"/>
                <code value="10"/>
                <display value="Médecin"/>
            </coding>
            <text value="Médecin"/>
        </code>
    </qualification>
    <qualification>
        <code>
            <coding>
                <system value="urn:oid:1.2.250.1.213.2.28"/>
                <code value="SM53"/>
                <display value="Spécialiste en Médecine Générale"/>
            </coding>
            <text value="Spécialiste en Médecine Générale"/>
        </code>
    </qualification>
</Practitioner>

Un Practitioner est un professionnel de santé. Les professions présentes sont : Médecin, Sage-Femme, Masseur-Kinésithérapeute, Pharmacien, Chirurgien-Dentiste résidant en France et inscrits à l'Ordre National.

Attribut Description
id identifiant interne
identifier identifiants connus (ex : http://lifen.fr/fhir/Identifier/practitioner-rpps : RPPS, urn:oid:1.2.250.1.71.4.2.1 : Identifiant National)
telecom canaux de communication dématérialisés et sécurisés
address adresses postales disponibles (en général une par activité déclarée)
qualification profession et spécialité (jeux de valeurs utilisés : http://esante.gouv.fr/sites/default/files/asset/document/tre_g15-professionsante.tabs et http://esante.gouv.fr/sites/MOS/PDF2/TRE_R38-SpecialiteOrdinale.tabs.pdf )

Cette modélisation est basée sur https://www.hl7.org/fhir/practitioner.html.

FHIR - Practitioner

{
                "resourceType": "Practitioner",
                "id": "8030",
                "identifier": [
                    {
                        "system": "http://lifen.fr/fhir/Identifier/practitioner-rpps",
                        "value": "10004085790"
                    },
                    {
                        "system": "urn:oid:1.2.250.1.71.4.2.1",
                        "value": "810004085790"
                    }
                ],
                "active": true,
                "name": [
                    {
                        "use": "official",
                        "text": "William Eclancher",
                        "family": "Eclancher",
                        "given": [
                            "William"
                        ],
                        "prefix": [
                            "DR"
                        ]
                    }
                ],
                "telecom": [
                    {
                        "id": "4008833",
                        "extension": [
                            {
                                "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
                                "valueCoding": {
                                    "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
                                    "code": "mssante",
                                    "display": "MSSanté"
                                }
                            }
                        ],
                        "system": "email",
                        "value": "william.eclancher@medecin.mssante.fr",
                        "use": "work",
                        "period": {
                            "start": "2018-02-06"
                        }
                    },
                    {
                        "id": "3890596",
                        "extension": [
                            {
                                "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
                                "valueCoding": {
                                    "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
                                    "code": "apicrypt",
                                    "display": "Apicrypt"
                                }
                            }
                        ],
                        "system": "email",
                        "value": "William.ECLANCHER@medical75.apicrypt.org",
                        "use": "work",
                        "period": {
                            "start": "2018-02-06"
                        }
                    }
                ],
                "address": [
                    {
                        "id": "4440976",
                        "use": "work",
                        "line": [
                            "CABINET DU DR WILLIAM ECLANCHER",
                            "DR WILLIAM ECLANCHER",
                            "11 RUE CHARLES TELLIER",
                            "75016 PARIS"
                        ],
                        "city": "Paris",
                        "postalCode": "75016",
                        "country": "FRA",
                        "period": {
                            "start": "2018-02-07"
                        }
                    }
                ],
                "qualification": [
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "urn:oid:1.2.250.1.71.1.2.7",
                                    "code": "10",
                                    "display": "Médecin"
                                }
                            ],
                            "text": "Médecin"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "urn:oid:1.2.250.1.213.2.28",
                                    "code": "SM53",
                                    "display": "Spécialiste en Médecine Générale"
                                }
                            ],
                            "text": "Spécialiste en Médecine Générale"
                        }
                    }
                ]
            }
<Practitioner xmlns="http://hl7.org/fhir">
    <id value="8030"/>
    <identifier>
        <system value="http://lifen.fr/fhir/Identifier/practitioner-rpps"/>
        <value value="10004085790"/>
    </identifier>
    <identifier>
        <system value="urn:oid:1.2.250.1.71.4.2.1"/>
        <value value="810004085790"/>
    </identifier>
    <active value="true"/>
    <name>
        <use value="official"/>
        <text value="William Eclancher"/>
        <family value="Eclancher"/>
        <given value="William"/>
        <prefix value="DR"/>
    </name>
    <telecom id="4008833">
        <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
            <valueCoding>
                <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                <code value="mssante"/>
                <display value="MSSanté"/>
            </valueCoding>
        </extension>
        <system value="email"/>
        <value value="william.eclancher@medecin.mssante.fr"/>
        <use value="work"/>
        <period>
            <start value="2018-02-06"/>
        </period>
    </telecom>
    <telecom id="3890596">
        <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
            <valueCoding>
                <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                <code value="apicrypt"/>
                <display value="Apicrypt"/>
            </valueCoding>
        </extension>
        <system value="email"/>
        <value value="William.ECLANCHER@medical75.apicrypt.org"/>
        <use value="work"/>
        <period>
            <start value="2018-02-06"/>
        </period>
    </telecom>
    <address id="4440976">
        <use value="work"/>
        <line value="CABINET DU DR WILLIAM ECLANCHER"/>
        <line value="DR WILLIAM ECLANCHER"/>
        <line value="11 RUE CHARLES TELLIER"/>
        <line value="75016 PARIS"/>
        <city value="Paris"/>
        <postalCode value="75016"/>
        <country value="FRA"/>
        <period>
            <start value="2018-02-07"/>
        </period>
    </address>
    <qualification>
        <code>
            <coding>
                <system value="urn:oid:1.2.250.1.71.1.2.7"/>
                <code value="10"/>
                <display value="Médecin"/>
            </coding>
            <text value="Médecin"/>
        </code>
    </qualification>
    <qualification>
        <code>
            <coding>
                <system value="urn:oid:1.2.250.1.213.2.28"/>
                <code value="SM53"/>
                <display value="Spécialiste en Médecine Générale"/>
            </coding>
            <text value="Spécialiste en Médecine Générale"/>
        </code>
    </qualification>
</Practitioner>

Un Practitioner est un professionnel de santé. Les professions présentes sont : Médecin, Sage-Femme, Masseur-Kinésithérapeute, Pharmacien, Chirurgien-Dentiste résidant en France et inscrits à l'Ordre National.

Attribut Description
id identifiant interne
identifier identifiants connus (ex : http://lifen.fr/fhir/Identifier/practitioner-rpps : RPPS, urn:oid:1.2.250.1.71.4.2.1 : Identifiant National)
telecom canaux de communication dématérialisés et sécurisés
address adresses postales disponibles (en général une par activité déclarée)
qualification profession et spécialité (jeux de valeurs utilisés : http://esante.gouv.fr/sites/default/files/asset/document/tre_g15-professionsante.tabs et http://esante.gouv.fr/sites/MOS/PDF2/TRE_R38-SpecialiteOrdinale.tabs.pdf )

Cette modélisation est basée sur https://www.hl7.org/fhir/practitioner.html.

🙋‍ Ajouter un Patient

Le patient doit être fourni (nom, prénom et date de naissance à minima) afin de faciliter l'intégration des documents pour les destinataires (par exemple : constitution d'une entête HPRIM pour les emails Apicrypt). Les identifiants des adresses sont générés par l'API.

Il est possible de recevoir en réponse la ressource Patient nouvellement créé. (Voir : Formats. )

Requête HTTP

POST GET https://api-demo.lifen.fr/fhir/Patient


     {
                "resourceType": "Patient",
                "name": [
                    {
                        "family": "Durand",
                        "given": [
                            "Jean"
                        ]
                    }
                ],
                "birthDate": "2003-03-03",
                "address": [
                    {
                        "line": [
                            "M. et Mme DURAND",
                            "142 RUE MONTMARTRE",
                            "75002 PARIS"
                        ],
                        "city": "Paris",
                        "postalCode": "75002",
                        "country": "FRA",
                        "period": {
                            "start": "2018-02-07"
                        }
                    }
                ]
       }

<Patient xmlns="http://hl7.org/fhir">
    <name>
        <family value="Durand"/>
        <given value="Jean"/>
    </name>
    <birthDate value="2003-03-03"/>
    <address>
        <line value="M. et Mme DURAND"/>
        <line value="DR WILLIAM ECLANCHER"/>
        <line value="142 RUE MONTMARTRE"/>
        <line value="75002 PARIS"/>
        <city value="Paris"/>
        <postalCode value="75002"/>
        <country value="FRA"/>
        <period>
            <start value="2018-02-07"/>
        </period>
    </address>
</Patient>

Contraintes d'utilisation de la resource Patient

La référence de Patient peut être utilisée à différents endroits :

CommunicationRequest.subject pour faciliter l'intégration du compte-rendu dans le logiciel métier (page de couverture du compte-rendu pour l'envoi postal ou dans l'entête HPRIM pour l'envoi Apicrypt).

CommunicationRequest.recipient pour émettre le compte-rendu au patient (courrier postal seulement).

Champ Contraintes d'usages
name Obligatoire pour tous les cas d'utilisation
birthDate Obligatoire pour tous les cas d'utilisation
address Obligatoire dans le cas de l'utilisation du patient en tant que recipient de la CommunicationRequest

     {
                "resourceType": "Patient",
                "id": "894288",
                "name": [
                    {
                        "family": "Durand",
                        "given": [
                            "Jean"
                        ]
                    }
                ],
                "identifier": [
                    {
                      "use": "usual",
                      "type": {
                        "coding": [
                          {
                            "system": "http://interopsante.org/fhir/valueset/fr-patient-identifier-type",
                            "code": "INS-NIR",
                            "version":"1.0",
                            "display": "NIR définitif",
                          }
                        ]
                      },
                      "system": "http://lifen.fr/fhir/Identifier/patient-inc-nir",
                      "value": "123456789012"
                    }
                ],
                "birthDate": "2003-03-03",
                "address": [
                    {
                        "id": "4440976",
                        "line": [
                            "M. et Mme DURAND",
                            "142 RUE MONTMARTRE",
                            "75002 PARIS"
                        ],
                        "city": "Paris",
                        "postalCode": "75002",
                        "country": "FRA",
                        "period": {
                            "start": "2018-02-07"
                        }
                    }
                ]
       }

<Patient xmlns="http://hl7.org/fhir">
    <id value="894288"/>
    <identifier> 
        <type> 
            <coding>
                <system value="http://interopsante.org/fhir/valueset/fr-patient-identifier-type"/> 
                <code value="INS-NIR"/> 
                <version value="1.0"/>
                <display value="NIR définitif">
            </coding>
        </type> 
        <system value="http://lifen.fr/fhir/Identifier/patient-inc-nir" >
        <value value="123456789012"/> 
    </identifier> 
    <name>
        <family value="Durand"/>
        <given value="Jean"/>
    </name>
    <birthDate value="2003-03-03"/>
    <address id="4440976">
        <line value="M. et Mme DURAND"/>
        <line value="DR WILLIAM ECLANCHER"/>
        <line value="142 RUE MONTMARTRE"/>
        <line value="75002 PARIS"/>
        <city value="Paris"/>
        <postalCode value="75002"/>
        <country value="FRA"/>
        <period>
            <start value="2018-02-07"/>
        </period>
    </address>
</Patient>

Le Patient correspond aux informations administratives d'un patient cité dans la communication médicale (DocumentReference, CommunicationRequest et Communication).

Renseigner le patient n'est pas nécessairement obligatoire mais vivement conseillé car cela permet d'une part de lui adresser un courrier (seulement par la Poste pour le moment) et d'autre part cela permet au logiciel métier de vos correspondants de ranger automatiquement le document envoyé.

Vous pouvez ajouter le champ identifier au patient qui permet de le lier à un identifiant unique de votre système et de pouvoir le retrouver ultérieurement (exemple numéro de séjour ou de sécurité sociale).

Attribut Obligatoire ? Description
name oui nom et prénoms
birthDate non date de naissance
address non adresses postales disponibles
identifier non identifiants du patient (doivent être uniques dans un système donné)

Cette modélisation est basée sur https://www.hl7.org/fhir/patient.html. Les types des identifiants supportés par Lifen sont détaillés dans le profil Français fr-identifier Renseigner ce champ permet d'améliorer grandement l'expérience de réception en facilitant l'identification du patient lié au document pour le rangement dans le logiciel métier.


     {
                "resourceType": "Patient",
                "id": "894288",
                "name": [
                    {
                        "family": "Durand",
                        "given": [
                            "Jean"
                        ]
                    }
                ],
                "identifier": [
                    {
                      "use": "usual",
                      "type": {
                        "coding": [
                          {
                            "system": "http://interopsante.org/fhir/valueset/fr-patient-identifier-type",
                            "code": "INS-NIR",
                            "version":"1.0",
                            "display": "NIR définitif",
                          }
                        ]
                      },
                      "system": "http://lifen.fr/fhir/Identifier/patient-inc-nir",
                      "value": "123456789012"
                    }
                ],
                "birthDate": "2003-03-03",
                "address": [
                    {
                        "id": "4440976",
                        "line": [
                            "M. et Mme DURAND",
                            "142 RUE MONTMARTRE",
                            "75002 PARIS"
                        ],
                        "city": "Paris",
                        "postalCode": "75002",
                        "country": "FRA",
                        "period": {
                            "start": "2018-02-07"
                        }
                    }
                ]
       }

<Patient xmlns="http://hl7.org/fhir">
    <id value="894288"/>
    <identifier> 
        <type> 
            <coding>
                <system value="http://interopsante.org/fhir/valueset/fr-patient-identifier-type"/> 
                <code value="INS-NIR"/> 
                <version value="1.0"/>
                <display value="NIR définitif">
            </coding>
        </type> 
        <system value="http://lifen.fr/fhir/Identifier/patient-inc-nir" >
        <value value="123456789012"/> 
    </identifier> 
    <name>
        <family value="Durand"/>
        <given value="Jean"/>
    </name>
    <birthDate value="2003-03-03"/>
    <address id="4440976">
        <line value="M. et Mme DURAND"/>
        <line value="DR WILLIAM ECLANCHER"/>
        <line value="142 RUE MONTMARTRE"/>
        <line value="75002 PARIS"/>
        <city value="Paris"/>
        <postalCode value="75002"/>
        <country value="FRA"/>
        <period>
            <start value="2018-02-07"/>
        </period>
    </address>
</Patient>

Le Patient correspond aux informations administratives d'un patient cité dans la communication médicale (DocumentReference, CommunicationRequest et Communication). Un “carnet d'adresse” des patients est disponible sur Lifen mais limité à chaque compte (applicatif ou utilisateur).

Renseigner le patient n'est pas nécessairement obligatoire mais vivement conseillé car cela permet d'une part de lui adresser un courrier (seulement par la Poste pour le moment) et d'autre part cela permet au logiciel métier de vos correspondants de ranger automatiquement le document envoyé.

Vous pouvez ajouter le champ identifier au patient qui permet de le lier à un identifiant unique de votre système et de pouvoir le retrouver ultérieurement (exemple numéro de séjour ou de sécurité sociale).

Attribut Obligatoire ? Description
name oui nom et prénoms
birthDate non date de naissance
address non adresses postales disponibles
identifier non identifiants du patient (doivent être uniques dans un système donné)

Cette modélisation est basée sur https://www.hl7.org/fhir/patient.html. Les types des identifiants supportés par Lifen sont détaillés dans le profil Français fr-identifier Renseigner ce champ permet d'améliorer grandement l'expérience de réception en facilitant l'identification du patient lié au document pour le rangement dans le logiciel métier.

FHIR - Patient


     {
                "resourceType": "Patient",
                "id": "894288",
                "name": [
                    {
                        "family": "Durand",
                        "given": [
                            "Jean"
                        ]
                    }
                ],
                "identifier": [
                    {
                      "use": "usual",
                      "type": {
                        "coding": [
                          {
                            "system": "http://interopsante.org/fhir/valueset/fr-patient-identifier-type",
                            "code": "INS-NIR",
                            "version":"1.0",
                            "display": "NIR définitif",
                          }
                        ]
                      },
                      "system": "http://lifen.fr/fhir/Identifier/patient-inc-nir",
                      "value": "123456789012"
                    }
                ],
                "birthDate": "2003-03-03",
                "address": [
                    {
                        "id": "4440976",
                        "line": [
                            "M. et Mme DURAND",
                            "142 RUE MONTMARTRE",
                            "75002 PARIS"
                        ],
                        "city": "Paris",
                        "postalCode": "75002",
                        "country": "FRA",
                        "period": {
                            "start": "2018-02-07"
                        }
                    }
                ]
       }

<Patient xmlns="http://hl7.org/fhir">
    <id value="894288"/>
    <identifier> 
        <type> 
            <coding>
                <system value="http://interopsante.org/fhir/valueset/fr-patient-identifier-type"/> 
                <code value="INS-NIR"/> 
                <version value="1.0"/>
                <display value="NIR définitif">
            </coding>
        </type> 
        <system value="http://lifen.fr/fhir/Identifier/patient-inc-nir" >
        <value value="123456789012"/> 
    </identifier> 
    <name>
        <family value="Durand"/>
        <given value="Jean"/>
    </name>
    <birthDate value="2003-03-03"/>
    <address id="4440976">
        <line value="M. et Mme DURAND"/>
        <line value="DR WILLIAM ECLANCHER"/>
        <line value="142 RUE MONTMARTRE"/>
        <line value="75002 PARIS"/>
        <city value="Paris"/>
        <postalCode value="75002"/>
        <country value="FRA"/>
        <period>
            <start value="2018-02-07"/>
        </period>
    </address>
</Patient>

Le Patient correspond aux informations administratives d'un patient cité dans la communication médicale (DocumentReference, CommunicationRequest et Communication).

Renseigner le patient est obligatoire car cela permet d'une part de lui adresser un courrier (seulement par la Poste pour le moment) et d'autre part cela permet au logiciel métier de vos correspondants de ranger automatiquement le document envoyé.

Vous pouvez ajouter le champ identifier au patient qui permet de le lier à un identifiant unique de votre système et de pouvoir le retrouver ultérieurement (exemple numéro de séjour ou de sécurité sociale).

Attribut Obligatoire ? Description
name oui nom et prénoms
birthDate non date de naissance
address non adresses postales disponibles
identifier non identifiants du patient (doivent être uniques dans un système donné)

Cette modélisation est basée sur https://www.hl7.org/fhir/patient.html. Les types des identifiants supportés par Lifen sont détaillés dans le profil Français fr-identifier Renseigner ce champ permet d'améliorer grandement l'expérience de réception en facilitant l'identification du patient lié au document pour le rangement dans le logiciel métier.

🏢 Ajouter une Organization

Les identifiants des adresses sont générés par l'API.

Il est possible de recevoir en réponse la ressource Organization nouvellement créé. (Voir : Formats. )

Requête HTTP

POST https://api-demo.lifen.fr/fhir/Organization

{
    "resourceType": "Organization",
    "type": [
        {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/organization-type",
                    "code": "other",
                    "display": "Other"
                }
            ]
        }
    ],
    "name": "Service de radiologie",
    "address": [
        {
            "line": [
                "Service de radiologie",
                "18 rue de Paris",
                "Hôpital de Paris",
                "75000 Paris"
            ],
            "city": "Paris",
            "postalCode": "75000",
            "country": "FRA",
            "period": {
              "start": "2018-02-07"
            }
        }  
    ]
}
<Organization xmlns="http://hl7.org/fhir">
    <type>
        <coding>
            <system value="http://hl7.org/fhir/organization-type"/>
            <code value="other"/>
            <display value="Other"/>
        </coding>
    </type>
    <name value="Service de radiologie"/>
    <address>
        <line value="Service de radiologie"/>
        <line value="18 rue de Paris"/>
        <line value="Hôpital de Paris"/>
        <line value="75000 Paris"/>
         <city value="Paris"/>
        <postalCode value="75000"/>
        <country value="FRA"/>
        <period>
            <start value="2018-02-07"/>
        </period>
    </address>
</Organization>
 {
  "resourceType": "Organization",
  "id": "568493",
  "identifier": [
    {
      "system": "http://finess.sante.gouv.fr/fhir/Identifier/finessEt",
      "value": "570026682"
    },
    {
      "system": "http://insee.fr/fhir/Identifier/siret",
      "value": "26570280300510"
    }
  ],
  "active": true,
  "type": [
    {
      "coding": [
        {
          "system": "http://drees.solidarites-sante.gouv.fr/fhir/valueSet/nature",
          "code": "ET",
          "display": "Etablissement"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://hl7.org/fhir/organization-type",
          "code": "prov",
          "display": "Healthcare Provider"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "https://www.insee.fr/fhir/valueSet/NAFNiv5",
          "version": "rev2",
          "code": "8610Z"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/cat",
          "code": "101",
          "display": "Centre Hospitalier Régional (C.H.R.)"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/catAg",
          "code": "1101",
          "display": "Centres Hospitaliers Régionaux"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/sph",
          "code": "1",
          "display": "Etablissement public de santé"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/mft",
          "code": "03",
          "display": "ARS établissements Publics de santé dotation globale"
        }
      ]
    }
  ],
  "name": "CHR METZ - THIONVILLE - HOPITAL DE MERCY",
  "telecom": [
    {
      "id": "213118",
      "system": "phone",
      "value": "+33387553131",
      "use": "work",
      "period": {
        "start": "2018-02-22"
      }
    }
  ],
  "address": [
    {
      "id": "1087296",
      "use": "work",
      "line": [
        "SITE PRINCIPAL A LILLEBONNE",
        "DR HENRI MENARD",
        "1 ALL DU CHATEAU",
        "CS 45001",
        "57530 ARS LAQUENEXY"
      ],
      "city": "ARS LAQUENEXY",
      "postalCode": "57530",
      "period": {
        "start": "2018-02-22"
      }
    }
  ]
}
<Organization xmlns="http://hl7.org/fhir">
    <id value="568493"/>
    <identifier>
        <system value="http://finess.sante.gouv.fr/fhir/Identifier/finessEt"/>
        <value value="570026682"/>
    </identifier>
    <identifier>
        <system value="http://insee.fr/fhir/Identifier/siret"/>
        <value value="26570280300510"/>
    </identifier>
    <active value="true"/>
    <type>
        <coding>
            <system value="http://drees.solidarites-sante.gouv.fr/fhir/valueSet/nature"/>
            <code value="ET"/>
            <display value="Etablissement"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://hl7.org/fhir/organization-type"/>
            <code value="prov"/>
            <display value="Healthcare Provider"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="https://www.insee.fr/fhir/valueSet/NAFNiv5"/>
            <version value="rev2"/>
            <code value="8610Z"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/cat"/>
            <code value="101"/>
            <display value="Centre Hospitalier Régional (C.H.R.)"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/catAg"/>
            <code value="1101"/>
            <display value="Centres Hospitaliers Régionaux"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/sph"/>
            <code value="1"/>
            <display value="Etablissement public de santé"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/mft"/>
            <code value="03"/>
            <display value="ARS établissements Publics de santé dotation globale"/>
        </coding>
    </type>
    <name value="CHR METZ - THIONVILLE - HOPITAL DE MERCY"/>
    <telecom id="213118">
        <system value="phone"/>
        <value value="+33387553131"/>
        <use value="work"/>
        <period>
            <start value="2018-02-22"/>
        </period>
    </telecom>
    <address id="1087296">
        <use value="work"/>
        <line value="SITE PRINCIPAL A LILLEBONNE"/>
        <line value="DR HENRI MENARD"/>
        <line value="1 ALL DU CHATEAU"/>
        <line value="CS 45001"/>
        <line value="57530 ARS LAQUENEXY"/>
        <city value="ARS LAQUENEXY"/>
        <postalCode value="57530"/>
        <period>
            <start value="2018-02-22"/>
        </period>
    </address>
</Organization>

La ressource Organization représente un groupe de personnes ou un groupe d'organisations. En les distinguant par le champ type, l'API propose plusieurs entités :

Type Display Description
prov Healthcare Provider établissements de santé présents dans le répertoire FINESS et structures libérales présentes dans le répertoire RPPS
dept Hospital Department service, pôle ou département au sein d'un établissement
bus Non-Healthcare Business or Corporation entreprise
other Other organisation de type inconnu (type utilisé pour émettre un compte rendu vers une adresse absente de l'annuaire)

À partir du moment où l'organisation possède une adresse, il est possible de lui envoyer un document de santé via l'API. Nous vous conseillons toutefois d'utiliser préférentiellement l'entité Practitioner pour émettre un compte rendu à destination d'un médecin et non pas son cabinet libéral associé afin de permettre un envoi dématerialisé.

FHIR - Organization

 {
  "resourceType": "Organization",
  "id": "568493",
  "identifier": [
    {
      "system": "http://finess.sante.gouv.fr/fhir/Identifier/finessEt",
      "value": "570026682"
    },
    {
      "system": "http://insee.fr/fhir/Identifier/siret",
      "value": "26570280300510"
    }
  ],
  "active": true,
  "type": [
    {
      "coding": [
        {
          "system": "http://drees.solidarites-sante.gouv.fr/fhir/valueSet/nature",
          "code": "ET",
          "display": "Etablissement"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://hl7.org/fhir/organization-type",
          "code": "prov",
          "display": "Healthcare Provider"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "https://www.insee.fr/fhir/valueSet/NAFNiv5",
          "version": "rev2",
          "code": "8610Z"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/cat",
          "code": "101",
          "display": "Centre Hospitalier Régional (C.H.R.)"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/catAg",
          "code": "1101",
          "display": "Centres Hospitaliers Régionaux"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/sph",
          "code": "1",
          "display": "Etablissement public de santé"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "http://finess.sante.gouv.fr/fhir/valueSet/mft",
          "code": "03",
          "display": "ARS établissements Publics de santé dotation globale"
        }
      ]
    }
  ],
  "name": "CHR METZ - THIONVILLE - HOPITAL DE MERCY",
  "telecom": [
    {
      "id": "213118",
      "system": "phone",
      "value": "+33387553131",
      "use": "work",
      "period": {
        "start": "2018-02-22"
      }
    }
  ],
  "address": [
    {
      "id": "1087296",
      "use": "work",
      "line": [
        "SITE PRINCIPAL A LILLEBONNE",
        "DR HENRI MENARD",
        "1 ALL DU CHATEAU",
        "CS 45001",
        "57530 ARS LAQUENEXY"
      ],
      "city": "ARS LAQUENEXY",
      "postalCode": "57530",
      "period": {
        "start": "2018-02-22"
      }
    }
  ]
}
<Organization xmlns="http://hl7.org/fhir">
    <id value="568493"/>
    <identifier>
        <system value="http://finess.sante.gouv.fr/fhir/Identifier/finessEt"/>
        <value value="570026682"/>
    </identifier>
    <identifier>
        <system value="http://insee.fr/fhir/Identifier/siret"/>
        <value value="26570280300510"/>
    </identifier>
    <active value="true"/>
    <type>
        <coding>
            <system value="http://drees.solidarites-sante.gouv.fr/fhir/valueSet/nature"/>
            <code value="ET"/>
            <display value="Etablissement"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://hl7.org/fhir/organization-type"/>
            <code value="prov"/>
            <display value="Healthcare Provider"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="https://www.insee.fr/fhir/valueSet/NAFNiv5"/>
            <version value="rev2"/>
            <code value="8610Z"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/cat"/>
            <code value="101"/>
            <display value="Centre Hospitalier Régional (C.H.R.)"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/catAg"/>
            <code value="1101"/>
            <display value="Centres Hospitaliers Régionaux"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/sph"/>
            <code value="1"/>
            <display value="Etablissement public de santé"/>
        </coding>
    </type>
    <type>
        <coding>
            <system value="http://finess.sante.gouv.fr/fhir/valueSet/mft"/>
            <code value="03"/>
            <display value="ARS établissements Publics de santé dotation globale"/>
        </coding>
    </type>
    <name value="CHR METZ - THIONVILLE - HOPITAL DE MERCY"/>
    <telecom id="213118">
        <system value="phone"/>
        <value value="+33387553131"/>
        <use value="work"/>
        <period>
            <start value="2018-02-22"/>
        </period>
    </telecom>
    <address id="1087296">
        <use value="work"/>
        <line value="SITE PRINCIPAL A LILLEBONNE"/>
        <line value="DR HENRI MENARD"/>
        <line value="1 ALL DU CHATEAU"/>
        <line value="CS 45001"/>
        <line value="57530 ARS LAQUENEXY"/>
        <city value="ARS LAQUENEXY"/>
        <postalCode value="57530"/>
        <period>
            <start value="2018-02-22"/>
        </period>
    </address>
</Organization>

La ressource Organization représente un groupe de personnes ou un groupe d'organisations. En les distinguant par le champ type, l'API propose plusieurs entités :

Type Display Description
prov Healthcare Provider établissements de santé présents dans le répertoire FINESS et structures libérales présentes dans le répertoire RPPS
dept Hospital Department service, pôle ou département au sein d'un établissement
bus Non-Healthcare Business or Corporation entreprise
other Other organisation de type inconnu (type utilisé pour émettre un compte rendu vers une adresse absente de l'annuaire)

À partir du moment où l'organisation possède une adresse, il est possible de lui envoyer un document de santé via l'API. Nous vous conseillons toutefois d'utiliser préférentiellement l'entité Practitioner pour émettre un compte rendu à destination d'un médecin et non pas son cabinet libéral associé afin de permettre un envoi dématerialisé.

📥 Uploader un fichier

Exemple de réponse (201) :

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "id": "123456",
      "severity": "information",
      "diagnostics": "File uploaded."
    }
  ]
}
<OperationOutcome xmlns="http://hl7.org/fhir">
   <id value="11e71a8e-8965-881f-8652-0242ac110006"/>
   <issue>
      <severity value="information"/>
      <diagnostics value="File uploaded."/>
   </issue>
</OperationOutcome>

Pour ajouter un fichier (Binary) avant d'envoyer une CommunicationRequest il suffit d'effectuer la requête ci-dessous avec comme payload le fichier (représentation binaire).

L'identifiant de l’OperationOutcome correspond à l'identifiant du Binary ainsi créé (dans le cas présent 123456).

Requête HTTP

curl -X POST \                                                                                                           
      https://api-demo.lifen.fr/fhir/Binary \
      -H 'Authorization: Bearer TOKEN' \
      -H 'Content-Type: application/pdf' \
      -H 'x-api-version: 2' \
      -H 'Prefer: return=representation' \
      --data-binary "@./test.pdf"

Exemple d'un post Binary au format cURL

curl -X POST \                                                                                                           
      https://api-demo.lifen.fr/fhir/Binary \
      -H 'Authorization: Bearer TOKEN' \
      -H 'Content-Type: application/pdf' \
      -H 'x-api-version: 2' \
      -H 'Prefer: return=representation' \
      --data-binary "@./test.pdf"

Le Binary correspond à un document qui sera communiqué lors d'un DocumentReference. Il ne possède pas de représentation JSON ou XML, le payload correspond à la représentation binaire du fichier.

Les fichiers envoyés par Lifen peuvent avoir vocation à être imprimés et envoyés par la Poste. Pour éviter toute incohérence et perte d'information médicale lors de lors impression, seul le type de fichier pdf est accepté.

Cette modélisation est basée sur https://www.hl7.org/fhir/binary.html.

FHIR - Binary

Exemple d'un post Binary au format cURL

curl -X POST \                                                                                                           
      https://api-demo.lifen.fr/fhir/Binary \
      -H 'Authorization: Bearer TOKEN' \
      -H 'Content-Type: application/pdf' \
      -H 'x-api-version: 2' \
      -H 'Prefer: return=representation' \
      --data-binary "@./test.pdf"

Le Binary correspond à un document qui sera communiqué lors d'un DocumentReference. Il ne possède pas de représentation JSON ou XML, le payload correspond à la représentation binaire du fichier.

Les fichiers envoyés par Lifen peuvent avoir vocation à être imprimés et envoyés par la Poste. Pour éviter toute incohérence et perte d'information médicale lors de lors impression, seul le type de fichier pdf est accepté.

Cette modélisation est basée sur https://www.hl7.org/fhir/binary.html.

FHIR - DocumentReference

Exemple d'un DocumentReference :

{
  "resourceType": "DocumentReference",
  "id": "569378",
  "status": "current",
  "docStatus": "final",
  "type": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "81222-2",
        "display": "Consultation note"
      }
    ]
  },
  "subject": {
      "reference": "Patient/570953"
  },
  "indexed": "2018-04-04T09:58:09+02:00",
  "description": "764379b5-b113-433a-8983-e78863a9d020.pdf",
  "content": [
    {
      "attachment": {
        "url": "Binary/569376",
        "title": "nomDeFichier.pdf"
      }
    }
  ]
}
<DocumentReference xmlns="http://hl7.org/fhir">
    <id value="569378"/>
    <status value="current"/>
    <docStatus value="final"/>
    <type>
        <coding>
            <system value="http://loinc.org"/>
            <code value="81222-2"/>
            <display value="Consultation note"/>
        </coding>
    </type>
    <subject>
        <reference value="Patient/570953"/>
    </subject>
    <indexed value="2018-04-04T09:58:09+02:00"/>
    <content>
        <attachment>
            <url value="Binary/569376"/>
            <title value="nomDeFichier.pdf"/>
        </attachment>
    </content>
</DocumentReference>

L'objet DocumentReference permet de stocker toutes les informations liées à un document. On retrouve l'auteur, le patient, la date de rédaction, le type de document, le statut du document par exemple. C'est l'objet central de notre système de gestion des documents.

Attribut Obligatoire ? Description
status oui statut technique (fixé à la valeur current)
docStatus oui statut métier utile pour gérer la phase de validation du document par le médecin après rédaction (final ou preliminary). Attention, l'envoi d'un document preliminary sera refusé par l'API.
type oui type de document basé sur la nomenclature LOINC. Actuellement, trois types sont pris en compte par l'API : Hospital discharge studies summary 11493-4, Surgery Surgical operation note 34874-8, Consultation Note 81222-2, Medication prescribed 29551-9
indexed oui  rempli par notre serveur lors de la création de la ressource
indexed non  rempli par notre serveur lors de la création de la ressource
subject oui permet de référencer un patient
content  oui document envoyé (Référence vers l'objet Binary précédemment créé)

Cette modélisation est basée sur https://www.hl7.org/fhir/documentReference.html.

📨 Envoyer un document médical

Exemple de réponse :

{
  "resourceType": "OperationOutcome",
  "id": "156486",
  "issue": [
    {
      "severity": "information",
      "diagnostics": "CommunicationRequest accepted"
    }
  ]
}
<OperationOutcome xmlns="http://hl7.org/fhir">
   <id value="156486"/>
   <issue>
      <severity value="information"/>
      <diagnostics value="CommunicationRequest accepted"/>
   </issue>
</OperationOutcome>

Une fois les identifiants des professionnels de santé et du canal à utiliser récupérés, il suffit de communiquer un payload représentant une CommunicationRequest (exemple).

Gestion de l'émetteur

Dans le cas d'un flow utilisateur, l'émetteur est déterminé automatiquement à partir du token utilisé. Dans le cas d'un flow applicatif, l'émetteur doit être renseigné.

Exemple d'un DocumentReference :

{
  "resourceType": "DocumentReference",
  "id": "569378",
  "status": "current",
  "docStatus": "final",
  "type": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "81222-2",
        "display": "Consultation note"
      }
    ]
  },
  "subject": {
      "reference": "Patient/570953"
  },
  "indexed": "2018-04-04T09:58:09+02:00",
  "description": "764379b5-b113-433a-8983-e78863a9d020.pdf",
  "content": [
    {
      "attachment": {
        "url": "Binary/569376",
        "title": "nomDeFichier.pdf"
      }
    }
  ]
}
<DocumentReference xmlns="http://hl7.org/fhir">
    <id value="569378"/>
    <status value="current"/>
    <docStatus value="final"/>
    <type>
        <coding>
            <system value="http://loinc.org"/>
            <code value="81222-2"/>
            <display value="Consultation note"/>
        </coding>
    </type>
    <subject>
        <reference value="Patient/570953"/>
    </subject>
    <indexed value="2018-04-04T09:58:09+02:00"/>
    <content>
        <attachment>
            <url value="Binary/569376"/>
            <title value="nomDeFichier.pdf"/>
        </attachment>
    </content>
</DocumentReference>

L'objet DocumentReference permet de stocker toutes les informations liées à un document. On retrouve l'auteur, le patient, la date de rédaction, le type de document, le statut du document par exemple. C'est l'objet central de notre système de gestion des documents.

Attribut Obligatoire ? Description
status oui statut technique (fixé à la valeur current)
docStatus oui statut métier utile pour gérer la phase de validation du document par le médecin après rédaction (final ou preliminary). Attention, l'envoi d'un document preliminary sera refusé par l'API.
type oui type de document basé sur la nomenclature LOINC. Actuellement, trois types sont pris en compte par l'API : Hospital discharge studies summary 11493-4, Surgery Surgical operation note 34874-8, Consultation Note 81222-2, Medication prescribed 29551-9
indexed non  rempli par notre serveur lors de la création de la ressource
subject oui permet de référencer un patient
content  oui document envoyé (Référence vers l'objet Binary précédemment créé)

Cette modélisation est basée sur https://www.hl7.org/fhir/documentReference.html.

FHIR - CommunicationRequest

Exemple d'une Communication :

{
    "resourceType": "Communication",
    "id": "570956",
    "basedOn": [
        {
            "reference": "CommunicationRequest/570952"
        }
    ],
    "status": "completed",
    "category": [
        {
            "coding": [
                {
                    "system": "https://api-demo.lifen.fr/fhir/ValueSet/communication-category",
                    "code": "MEDICAL_REPORT"
                }
            ]
        }
    ],
    "subject": {
        "reference": "Patient/570953"
    },
    "recipient": [
        {
            "extension": [
                {
                    "url": "http://lifen.fr/fhir/StructureDefinition/communicationrequest-recipient-details",
                    "valueContactPoint": {
                        "id": "17684",
                        "extension": [
                            {
                                "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
                                "valueCoding": {
                                    "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
                                    "code": "apicrypt",
                                    "display": "Apicrypt"
                                }
                            }
                        ],
                        "system": "email",
                        "value": "David.PARLIER@medical75.apicrypt.org",
                        "use": "work",
                        "period": {
                            "start": "2018-02-22"
                        }
                    }
                }
            ],
            "reference": "Practitioner/15190"
        }
    ],
    "sent": "2018-04-13T13:20:32+00:00",
    "sender": {
        "reference": "Practitioner/72188"
    },
    "payload": [
        {
            "contentReference": {
                "reference": "DocumentReference/570775"
            }
        }
    ]
}
<Communication xmlns="http://hl7.org/fhir">
    <id value="570956"/>
    <basedOn>
        <reference value="CommunicationRequest/570952"/>
    </basedOn>
    <status value="completed"/>
    <category>
        <coding>
            <system value="http://lifen.fr/fhir/ValueSet/communication-category"/>
            <code value="MEDICAL_REPORT"/>
        </coding>
    </category>
    <subject>
        <reference value="Patient/570953"/>
    </subject>
    <recipient>
        <extension url="http://lifen.fr/fhir/StructureDefinition/communicationrequest-recipient-details">
            <valueContactPoint id="17684">
                <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
                    <valueCoding>
                        <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                        <code value="apicrypt"/>
                        <display value="Apicrypt"/>
                    </valueCoding>
                </extension>
                <system value="email"/>
                <value value="David.PARLIER@medical75.apicrypt.org"/>
                <use value="work"/>
                <period>
                    <start value="2018-02-22"/>
                </period>
            </valueContactPoint>
        </extension>
        <reference value="Practitioner/15190"/>
    </recipient>
    <sent value="2018-04-13T13:20:32+00:00"/>
    <sender>
        <reference value="Practitioner/72188"/>
    </sender>
    <payload>
        <contentReference>
            <reference value="DocumentReference/570775"/>
        </contentReference>
    </payload>
</Communication>

Une Communication est le résultat du traitement d'une CommunicationRequest. On ne peut donc pas “créer” une Communication directement.

Attribut Description
status Etat d'avancement, parmi la liste : preparation, in-progress, suspended, aborted, completed, entered-in-error
sender Référence du Practitionner en émission
recipient Référence du Practitionner en réception
payload Information concernant le document communiqué
based-on Référence de la CommunicationRequest initiale

Cette modélisation est basée sur https://www.hl7.org/fhir/communication.html.

FHIR - OperationOutcome

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "processing",
      "diagnostics": "diagnostics"
    }
  ]
}
<OperationOutcome xmlns="http://hl7.org/fhir">
   <issue>
      <severity value="error"/>
      <code value="processing"/>
      <diagnostics value="diagnostics"/>
   </issue>
</OperationOutcome>

Une OperationOutcome est un résultat d'opération, obtenu suite à une demande de communication (CommunicationRequest) ou à l'obtention d'une erreur.

Attribut Description
severity Le niveau d'alerte
fatal, error, warning, information
code Code d'erreur voir la liste complète
diagnostics Informations détaillées (message plus “humain”)
location XPath dans le payload envoyé de l'erreur détectée

Cette modélisation est basée sur https://www.hl7.org/fhir/operationoutcome.html.

📍 Suivre l'envoi d'un courrier médical

État général de l'envoi

Une fois prise en compte par Lifen une CommunicationRequest passe du status active à completed. Cela signifie que la demande est valide et bien prise en compte.

Il est possible de récupérer ce status grâce à une requête du type :

Requête HTTP

GET https://api-demo.lifen.fr/fhir/CommunicationRequest/570955?_elements=status

Exemple de réponse ne montrant que le status :

{
    "resourceType": "CommunicationRequest",
    "id": "570955",
    "status": "completed"
}
<CommunicationRequest xmlns="http://hl7.org/fhir">
    <id value="570955"/>
    <status value="completed">
</CommunicationRequest>

Détail de chaque envoi

Une CommunicationRequest génère une Communication par destinataire.

Email

Si c'est un email, l'envoi est effectué en temps réel. Le statut va passer à completed immédiatement. Il se peut dans certains cas rares que l'email ne soit pas envoyé (par soucis de stabilité des serveurs Apicrypt et MsSanté par exemple ou car l'adresse déclarée dans l'annuaire est erronée). L'envoi se met alors en état entered-in-error. Lifen traite ces cas d'erreur et renvoit une requête identique.

Courrier papier

Les courriers papiers sont générés quotidiennement, afin de regrouper dans la même enveloppe les éventuels documents addressés à la même adresse. Le statut reste à l'état suspended lorsque que le courrier est en attente d'impression. Il passe à completed lorsque le fichier est envoyé avec succès chez notre prestataire d'éditique pour impression et dépôt à La Poste. Nous traitons aussi les alertes de plis non déposés fournis par La Poste et mettons à jour le courrier dans le status entered-in-error.

Requête HTTP

GET https://api-demo.lifen.fr/fhir/Communication?based-on=CommunicationRequest/570952

Exemple de réponse contenant deux Communication (une Apicrypt et une postale) :

{
    "resourceType": "Bundle",
    "id": "e40b1b0d-109f-494d-a9bb-3807238e7bc1",
    "meta": {
        "lastUpdated": "2018-05-17T15:31:00.608+00:00"
    },
    "type": "searchset",
    "total": 2,
    "link": [
        {
            "relation": "self",
            "url": "https://api-demo.lifen.fr/fhir/dstu3//Communication?based-on=570952"
        }
    ],
    "entry": [
        {
            "fullUrl": "https://api-demo.lifen.fr/fhir/dstu3/Communication/570955",
            "resource": {
                "resourceType": "Communication",
                "id": "570955",
                "basedOn": [
                    {
                        "reference": "CommunicationRequest/570952"
                    }
                ],
                "status": "completed",
                "category": [
                    {
                        "coding": [
                            {
                                "system": "http://lifen.fr/fhir/ValueSet/communication-category",
                                "code": "MEDICAL_REPORT"
                            }
                        ]
                    }
                ],
                "subject": {
                    "reference": "Patient/570953"
                },
                "recipient": [
                    {
                        "extension": [
                            {
                                "url": "http://lifen.fr/fhir/StructureDefinition/communicationrequest-recipient-details",
                                "valueContactPoint": {
                                    "id": "100011",
                                    "extension": [
                                        {
                                            "url": "http://interopsante.org/fhir/structuredefinition/fr-email-domain",
                                            "valueCoding": {
                                                "system": "http://interopsante.org/fhir/valueset/fr-email-domain",
                                                "code": "apicrypt",
                                                "display": "Apicrypt"
                                            }
                                        }
                                    ],
                                    "system": "email",
                                    "value": "david.parlier.aphp@medical75.apicrypt.org",
                                    "use": "work",
                                    "period": {
                                        "start": "2018-02-22"
                                    }
                                }
                            }
                        ],
                        "reference": "Practitioner/15190"
                    }
                ],
                "sent": "2018-04-13T13:20:32+00:00",
                "sender": {
                    "reference": "Practitioner/72188"
                },
                "payload": [
                    {
                        "contentReference": {
                            "reference": "DocumentReference/570775"
                        }
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        },
        {
            "fullUrl": "https://api-demo.lifen.fr/fhir/dstu3/Communication/570957",
            "resource": {
                "resourceType": "Communication",
                "id": "570957",
                "basedOn": [
                    {
                        "reference": "CommunicationRequest/570952"
                    }
                ],
                "status": "suspended",
                "category": [
                    {
                        "coding": [
                            {
                                "system": "http://lifen.fr/fhir/ValueSet/communication-category",
                                "code": "MEDICAL_REPORT"
                            }
                        ]
                    }
                ],
                "subject": {
                    "reference": "Patient/570953"
                },
                "recipient": [
                    {
                        "extension": [
                            {
                                "url": "http://lifen.fr/fhir/StructureDefinition/communicationrequest-recipient-details",
                                "valueAddress": {
                                    "id": "624819",
                                    "use": "work",
                                    "line": [
                                        "CLINIQUE BIZET",
                                        "DR DAVID PARLIER",
                                        "23 RUE GEORGES BIZET",
                                        "75016 PARIS"
                                    ],
                                    "city": "Paris 16e Arrondissement",
                                    "postalCode": "75016",
                                    "period": {
                                        "start": "2018-02-22"
                                    }
                                }
                            }
                        ],
                        "reference": "Practitioner/15190"
                    }
                ],
                "sent": "2018-04-13T13:23:32+00:00",
                "sender": {
                    "reference": "Practitioner/72188"
                },
                "payload": [
                    {
                        "contentReference": {
                            "reference": "DocumentReference/570775"
                        }
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        }
    ]
}
<Bundle xmlns="http://hl7.org/fhir">
    <id value="6c395a98-34cc-4554-bd3b-27284f888ee6"/>
    <type value="searchset"/>
    <total value="2"/>
    <link>
        <relation value="self"/>
        <url value="https://api-demo.lifen.fr/fhir/dstu3//Communication?based-on=570952"/>
    </link>
    <entry>
        <fullUrl value="https://api-demo.lifen.fr/fhir/dstu3/Communication/570955"/>
        <resource>
            <Communication xmlns="http://hl7.org/fhir">
                <id value="570955"/>
                <basedOn>
                    <reference value="CommunicationRequest/570952"/>
                </basedOn>
                <status value="completed"/>
                <category>
                    <coding>
                        <system value="http://lifen.fr/fhir/ValueSet/communication-category"/>
                        <code value="MEDICAL_REPORT"/>
                    </coding>
                </category>
                <subject>
                    <reference value="Patient/570953"/>
                </subject>
                <recipient>
                    <extension url="http://lifen.fr/fhir/StructureDefinition/communicationrequest-recipient-details">
                        <valueContactPoint id="100011">
                            <extension url="http://interopsante.org/fhir/structuredefinition/fr-email-domain">
                                <valueCoding>
                                    <system value="http://interopsante.org/fhir/valueset/fr-email-domain"/>
                                    <code value="apicrypt"/>
                                    <display value="Apicrypt"/>
                                </valueCoding>
                            </extension>
                            <system value="email"/>
                            <value value="david.parlier.aphp@medical75.apicrypt.org"/>
                            <use value="work"/>
                            <period>
                                <start value="2018-02-22"/>
                            </period>
                        </valueContactPoint>
                    </extension>
                    <reference value="Practitioner/15190"/>
                </recipient>
                <sent value="2018-04-13T13:20:32+00:00"/>
                <sender>
                    <reference value="Practitioner/72188"/>
                </sender>
                <payload>
                    <contentReference>
                        <reference value="DocumentReference/570775"/>
                    </contentReference>
                </payload>
            </Communication>
        </resource>
        <search>
            <mode value="match"/>
        </search>
    </entry>
    <entry>
        <fullUrl value="https://api-demo.lifen.fr/fhir/dstu3/Communication/570957"/>
        <resource>
            <Communication xmlns="http://hl7.org/fhir">
                <id value="570957"/>
                <basedOn>
                    <reference value="CommunicationRequest/570952"/>
                </basedOn>
                <status value="completed"/>
                <category>
                    <coding>
                        <system value="http://lifen.fr/fhir/ValueSet/communication-category"/>
                        <code value="MEDICAL_REPORT"/>
                    </coding>
                </category> 
                <subject>
                    <reference value="Patient/570953"/>
                </subject>
                <recipient>
                    <extension url="http://lifen.fr/fhir/StructureDefinition/communicationrequest-recipient-details">
                        <valueAddress id="624819">
                            <use value="work"/>
                            <line value="CLINIQUE BIZET"/>
                            <line value="DR DAVID PARLIER"/>
                            <line value="23 RUE GEORGES BIZET"/>
                            <line value="75016 PARIS"/>
                            <city value="Paris 16e Arrondissement"/>
                            <postalCode value="75016"/>
                            <period>
                                <start value="2018-02-22"/>
                            </period>
                        </valueAddress>
                    </extension>
                    <reference value="Practitioner/15190"/>
                </recipient>
                <sent value="2018-04-13T13:23:32+00:00"/>
                <sender>
                    <reference value="Practitioner/72188"/>
                </sender>
                <payload>
                    <contentReference>
                        <reference value="DocumentReference/570775"/>
                    </contentReference>
                </payload>
            </Communication>
        </resource>
        <search>
            <mode value="match"/>
        </search>
    </entry>
</Bundle>

Une fois la CommunicationRequest completée, il est possible d'accéder aux envois (Communication) réalisés ainsi qu'à l'avancement de leur traitement.

Requête HTTP

GET https://api-demo.lifen.fr/fhir/Communication?based-on=COMMUNICATION_REQUEST_ID

🗄️ Historique des envois effectués

Il est possible d'effectuer des recherches dans les CommunicationRequest passées par émetteur, patient, destinataire, date… ( liste complète des paramètres de recherche )

Il est par ailleurs possible de consulter toutes les Communication rattachées au token utilisé pour effectuer les CommunicationRequests via le endpoint GET https://api.lifen.fr/fhir/Communication.

Requête HTTP

GET https://api-demo.lifen.fr/fhir/CommunicationRequest

Paramètre Description
id Identifiant de la CommunicationRequest
status  État de la CommunicationRequest
authored Date de la CommunicationRequest (voir https://www.hl7.org/fhir/search.html#date )
_count et _getpagesoffset Paramètres de pagination

Exemple

GET https://api-demo.lifen.fr/fhir/CommunicationRequest?_count=20&_getpagesoffset=0&status=active&authored=gt2017-07-28T00%3A00%3A00%2B00%3A00

Réponse

La réponse est une ressource de type Bundle qui liste les demandes de communication(CommunicationRequest) qui correspondent aux critères de recherche.

✔️ Validation de l'intégration

Avant de pouvoir accéder à notre environnement de production, des tests sont à réaliser avec nos équipes techniques pour s'assurer de la validité des appels réalisés.

Certaines étapes seront ignorées si votre intégration ne prend pas en charge ces fonctionalités (envoi vers le patient par exemple).

Etape 1 : Obtention d'un token à partir de vos identifiants

Points d'attention :

Etape 2 : Recherche d'un professionnel de santé

Points d'attention :

Etape 3 : Création du l'objet Patient

Points d'attention :

Etape 4 : Création du l'objet Organisation

Points d'attention :

Etape 5 : Création de l'objet Binary

Points d'attention :

Etape 6 : Création de l'objet DocumentReference

Points d'attention :

Etape 7 : Création de l'objet CommunicationRequest

Points d'attention :