Endpoint — Adresse technique de service
La carte d'identité d'un service FHIR : URL, protocole, payloads acceptés, environnement. Le bottin technique des plateformes interopérables.
Objet de la ressource
Endpoint décrit une adresse technique avec laquelle communiquer : serveur FHIR
REST, MLLP HL7 v2, e-mail Direct Project, IHE XDS, SMTP, DICOM, WebSocket. Une
Organization, une Location ou une PractitionerRole peuvent référencer un ou
plusieurs Endpoint via endpoint[] — découverte par le client.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes. |
status | code | 1..1 | Obligatoire. active, suspended, error, off, test, entered-in-error. |
connectionType | CodeableConcept[] | 1..* | Obligatoire. Type de connexion (hl7-fhir-rest, hl7-fhir-msg, dicom-wado-rs, secure-email…). |
name | string | 0..1 | Nom lisible. |
description | string | 0..1 | Description. |
environmentType | CodeableConcept[] | 0..* | prod, test, dev, staging, training. |
managingOrganization | Reference(Organization) | 0..1 | Organisation responsable. |
contact | ContactPoint[] | 0..* | Contact technique. |
period | Period | 0..1 | Validité. |
payloadType | CodeableConcept[] | 0..* | Types de payload acceptés. |
payloadMimeType | code[] | 0..* | MIME types acceptés. |
address | url | 1..1 | Obligatoire. URL technique. |
header | string[] | 0..* | En-têtes HTTP requis. |
Exemple JSON
Endpoint FHIR R5 production d'un hôpital :
{
"resourceType": "Endpoint",
"id": "ep-hospital-1-fhir",
"status": "active",
"connectionType": [{
"system": "http://terminology.hl7.org/CodeSystem/endpoint-connection-type",
"code": "hl7-fhir-rest"
}],
"name": "FHIR R5 — Hospital 1",
"description": "Endpoint FHIR R5 principal de l'hôpital 1, base de production",
"environmentType": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/endpoint-environment",
"code": "prod",
"display": "Production"
}]
}],
"managingOrganization": { "reference": "Organization/hospital-1" },
"contact": [{
"system": "email",
"value": "interop@hospital-1.example.org"
}],
"period": {
"start": "2024-01-01"
},
"payloadType": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/endpoint-payload-type",
"code": "any"
}]
}],
"payloadMimeType": ["application/fhir+json", "application/fhir+xml"],
"address": "https://fhir.hospital-1.example.org/r5"
} Pièges courants
- Endpoint sans
environmentType— confondre prod et test est une cause classique de fuites de PHI vers des environnements non sécurisés. - HTTP non-HTTPS — un Endpoint FHIR doit toujours être en HTTPS ; la spec recommande TLS 1.2+.
- Pas de
contact— quand l'endpoint tombe, qui prévenir ? Indispensable. payloadMimeTypeincohérent avecconnectionType— un endpointhl7-fhir-restqui annonceapplication/jsonsimple (au lieu deapplication/fhir+json) crée des bugs Content-Negotiation.- Confondre avec CapabilityStatement — Endpoint = juste l'URL et le type, CapabilityStatement = ce que le serveur sait faire à cette URL.
Ressources liées
- Organization — référence les endpoints exposés.
- Location — endpoint local (PACS d'un service).
- CapabilityStatement — capacités à cette URL.
- Practitioner / PractitionerRole — endpoint personnel.