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.

HealthcareService — Offered healthcare service

The information unit that answers "what does this care service offer, to whom, where and when?". Pivot of national directories (ANS Annuaire Santé, NPI, NHS Spine Directory) and online booking engines.

Purpose of the resource

The tuple Organization + Location + Practitioner + PractitionerRole is not enough to model care supply: the service itself is missing. A general cardiology consultation, a medical abortion platform, a mobile palliative care team are multi-provider, multi-location services with their own eligibility rules, opening hours and tariff conditions. HealthcareService is the pivot resource.

A user of a health directory ("Doctolib", France's ANS Annuaire Santé, the UK GUS) first searches for a service, then selects a Practitioner and a Slot within the service.

Key fields

FieldTypeCardinalityRole
identifierIdentifier[]0..*External identifiers (FINESS, RPPS…).
activeboolean0..1Active status.
providedByReference(Organization)0..1Organisation responsible for the service.
offeredInReference(HealthcareService)[]0..*Parent service.
categoryCodeableConcept[]0..*Broad category.
typeCodeableConcept[]0..*Precise type (SNOMED CT).
specialtyCodeableConcept[]0..*Medical specialties.
locationReference(Location)[]0..*Locations where the service runs.
namestring0..1Narrative name.
telecomContactPoint[]0..*Phones, emails, URLs.
appointmentRequiredboolean0..1Whether an appointment is required.
availableTimeBackboneElement[]0..*Standard opening hours.
notAvailableTimeBackboneElement[]0..*Exceptional closure periods.
eligibilityBackboneElement[]0..*Eligibility conditions.
characteristicCodeableConcept[]0..*Characteristics (accessibility, telemedicine…).
communicationCodeableConcept[]0..*Spoken languages.
programCodeableConcept[]0..*Associated public health programmes.

JSON example

General cardiology consultation at Cochin Hospital (Paris), appointment required, open Mon-Fri 8:30-17:30, wheelchair accessible, spoken in French and English:

json healthcareservice-example.json
{
  "resourceType": "HealthcareService",
  "id": "cardio-consult",
  "identifier": [{ "system": "http://annuaire.sante.fr/services", "value": "HS-PARIS-CARDIO-001" }],
  "active": true,
  "providedBy": { "reference": "Organization/hop-cochin" },
  "category": [{
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/service-category",
      "code": "8",
      "display": "Counselling"
    }]
  }],
  "type": [{
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "394579002",
      "display": "Cardiology service"
    }]
  }],
  "specialty": [{
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "394579002",
      "display": "Cardiology"
    }]
  }],
  "location": [{ "reference": "Location/cochin-cardio-floor" }],
  "name": "General cardiology consultation",
  "telecom": [{
    "system": "phone",
    "value": "+33 1 58 41 22 33",
    "use": "work"
  }, {
    "system": "url",
    "value": "https://hopital-cochin.aphp.fr/cardiologie",
    "use": "work"
  }],
  "appointmentRequired": true,
  "availableTime": [{
    "daysOfWeek": ["mon", "tue", "wed", "thu", "fri"],
    "availableStartTime": "08:30:00",
    "availableEndTime": "17:30:00"
  }],
  "eligibility": [{
    "code": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/service-eligibility",
        "code": "referral",
        "display": "Referral required"
      }]
    },
    "comment": "Referral required (GP or private cardiologist)."
  }],
  "characteristic": [{
    "coding": [{
      "system": "http://example.org/service-characteristics",
      "code": "wheelchair-access",
      "display": "Wheelchair accessible"
    }]
  }],
  "communication": [{
    "coding": [{ "system": "urn:ietf:bcp:47", "code": "fr-FR" }]
  }, {
    "coding": [{ "system": "urn:ietf:bcp:47", "code": "en-US" }]
  }]
}

Typical use cases

  • Health directories: ANS Annuaire Santé (France), NPPES (US), NHS Spine Directory (UK), HSCNI Directory (Northern Ireland).
  • Appointment booking: Doctolib, Maiia, Mondocteur — HealthcareService is the listable, filterable object.
  • Care-supply search: interactive sante.fr maps, NHS Choices.
  • Primary–secondary care coordination: referring a patient to a specialist service.
  • Out-of-hours care: SAMU, GP on call, pharmacy on call.

Common pitfalls

  • HealthcareService without Location: for an in-person service, do not omit location. For a telemedicine service, use a dedicated virtual Location.
  • HealthcareService / Organization confusion: Organization is the legal entity (hospital, practice); HealthcareService is the offer unit (cardiology clinic).
  • 24/7 mis-coded: for a 24/7 service, use availableTime with all daysOfWeek AND allDay = true.
  • Non-normative type: use SNOMED CT for type and specialty (HL7's service-type ValueSet is too generic for a national directory).
  • Unauditable eligibility: for "CPAM-insured", use a clear coding, not free text.
  • Organization — legal entity owning the service.
  • Location — practice locations.
  • PractitionerRole — practitioners attached to the service.
  • Schedule + Slot — appointment slots.
  • Endpoint — technical endpoint for telemedicine.

See also: Organization — legal entity and Schedule — calendar.