ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

Endpoint — Service technical address

The ID card of a FHIR service: URL, protocol, accepted payloads, environment. The technical directory of interoperable platforms.

Purpose

Endpoint describes a technical address to communicate with: FHIR REST server, HL7 v2 MLLP, Direct Project email, IHE XDS, SMTP, DICOM, WebSocket. An Organization, Location or PractitionerRole can reference one or more Endpoint via endpoint[] — client-side discovery.

Key fields

FieldTypeCardinalityRole
identifierIdentifier[]0..*External identifiers.
statuscode1..1Mandatory. active, suspended, error, off, test, entered-in-error.
connectionTypeCodeableConcept[]1..*Mandatory. Connection type (hl7-fhir-rest, hl7-fhir-msg, dicom-wado-rs, secure-email…).
namestring0..1Human-readable name.
descriptionstring0..1Description.
environmentTypeCodeableConcept[]0..*prod, test, dev, staging, training.
managingOrganizationReference(Organization)0..1Responsible organization.
contactContactPoint[]0..*Technical contact.
periodPeriod0..1Validity.
payloadTypeCodeableConcept[]0..*Accepted payload types.
payloadMimeTypecode[]0..*Accepted MIME types.
addressurl1..1Mandatory. Technical URL.
headerstring[]0..*Required HTTP headers.

JSON example

Hospital FHIR R5 production endpoint:

json endpoint-fhir-prod.json
{
  "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": "Hospital 1 main FHIR R5 endpoint, production base",
  "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"
}

Common pitfalls

  • Endpoint without environmentType — confusing prod and test is a classic cause of PHI leaks to insecure environments.
  • HTTP not HTTPS — a FHIR Endpoint must always be HTTPS; spec recommends TLS 1.2+.
  • No contact — when the endpoint goes down, who do you call? Required.
  • payloadMimeType inconsistent with connectionType — an hl7-fhir-rest endpoint announcing plain application/json (instead of application/fhir+json) creates Content-Negotiation bugs.
  • Confusing with CapabilityStatement — Endpoint = just the URL and type, CapabilityStatement = what the server can do at that URL.