ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

HealthcareService — Service de santé proposé

L'unité d'information qui répond à la question « que propose ce service de santé, pour qui, où et quand ? ». Pivot des annuaires nationaux (ANS Annuaire Santé, NPI, NHS Spine Directory) et des moteurs de prise de RDV en ligne.

Objet de la ressource

Le couple Organization + Location + Practitioner + PractitionerRole ne suffit pas à modéliser l'offre de soins : il manque le service lui-même. Un service de consultation cardiologique générale, une plateforme d'IVG médicamenteuse, une équipe mobile de soins palliatifs sont des services multi-praticiens, multi-localisations, avec des règles d'éligibilité, des plages d'ouverture, des conditions tarifaires propres. HealthcareService est la ressource pivot.

L'utilisateur d'un annuaire de santé (« Doctolib », l'ANS Annuaire Santé en France, GUS au Royaume-Uni) cherche d'abord un service, puis sélectionne dans le service un Practitioner et un Slot horaire.

Champs clés

ChampTypeCardinalitéRôle
identifierIdentifier[]0..*Identifiants externes (FINESS, RPPS…).
activeboolean0..1Statut actif.
providedByReference(Organization)0..1Organisation responsable du service.
offeredInReference(HealthcareService)[]0..*Service parent.
categoryCodeableConcept[]0..*Catégorie large.
typeCodeableConcept[]0..*Type précis (SNOMED CT).
specialtyCodeableConcept[]0..*Spécialités médicales.
locationReference(Location)[]0..*Lieux où le service est proposé.
namestring0..1Nom narratif.
telecomContactPoint[]0..*Téléphones, e-mails, URL.
appointmentRequiredboolean0..1Indique si RDV obligatoire.
availableTimeBackboneElement[]0..*Plages d'ouverture standard.
notAvailableTimeBackboneElement[]0..*Périodes de fermeture exceptionnelle.
eligibilityBackboneElement[]0..*Conditions d'éligibilité.
characteristicCodeableConcept[]0..*Caractéristiques (accessibilité PMR, télémédecine…).
communicationCodeableConcept[]0..*Langues pratiquées.
programCodeableConcept[]0..*Programmes de santé publique associés.

Exemple JSON

Consultation cardiologie générale à l'Hôpital Cochin (Paris), RDV obligatoire, ouvert lundi-vendredi 8h30-17h30, accessible PMR, parlée en français et anglais :

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": "Consultation cardiologie générale",
  "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": "Référent obligatoire (médecin traitant ou cardiologue libéral)."
  }],
  "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" }]
  }]
}

Usages typiques

  • Annuaires de santé : ANS Annuaire Santé (France), NPPES (US), Spine Directory (UK), HSCNI Directory (Northern Ireland).
  • Prise de RDV : Doctolib, Maiia, Mondocteur — la HealthcareService est l'objet listable et filtrable.
  • Recherche d'offre de soins : Cartes interactives sante.fr, NHS Choices.
  • Coordination soins primaires-secondaires : référencement d'un patient vers un service spécialisé.
  • Permanence des soins : SAMU, garde médicale, garde pharmaceutique.

Pièges courants

  • HealthcareService sans Location : pour un service présentiel, ne pas omettre la location. Pour un service de téléconsultation, utiliser une Location virtuelle dédiée.
  • Confusion HealthcareService / Organization : l'Organization est l'entité juridique (hôpital, cabinet) ; HealthcareService est l'unité d'offre (consultation cardiologie).
  • Plage 24/7 mal codée : pour un service 24/7, utiliser availableTime avec tous les daysOfWeek ET allDay = true.
  • Type non normatif : utiliser SNOMED CT pour type et specialty (le ValueSet HL7 service-type est trop générique pour l'annuaire national).
  • Eligibility non auditable : pour « adhérent CPAM », utiliser un coding clair, pas du texte libre.

Ressources liées

  • Organization — entité juridique propriétaire du service.
  • Location — lieux d'exercice.
  • PractitionerRole — praticiens rattachés au service.
  • Schedule + Slot — créneaux de RDV.
  • Endpoint — endpoint technique pour la téléconsultation.

Voir aussi : Organization — entité juridique et Schedule — calendrier.