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
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes (FINESS, RPPS…). |
active | boolean | 0..1 | Statut actif. |
providedBy | Reference(Organization) | 0..1 | Organisation responsable du service. |
offeredIn | Reference(HealthcareService)[] | 0..* | Service parent. |
category | CodeableConcept[] | 0..* | Catégorie large. |
type | CodeableConcept[] | 0..* | Type précis (SNOMED CT). |
specialty | CodeableConcept[] | 0..* | Spécialités médicales. |
location | Reference(Location)[] | 0..* | Lieux où le service est proposé. |
name | string | 0..1 | Nom narratif. |
telecom | ContactPoint[] | 0..* | Téléphones, e-mails, URL. |
appointmentRequired | boolean | 0..1 | Indique si RDV obligatoire. |
availableTime | BackboneElement[] | 0..* | Plages d'ouverture standard. |
notAvailableTime | BackboneElement[] | 0..* | Périodes de fermeture exceptionnelle. |
eligibility | BackboneElement[] | 0..* | Conditions d'éligibilité. |
characteristic | CodeableConcept[] | 0..* | Caractéristiques (accessibilité PMR, télémédecine…). |
communication | CodeableConcept[] | 0..* | Langues pratiquées. |
program | CodeableConcept[] | 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 :
{
"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
availableTimeavec tous lesdaysOfWeekETallDay = true. - Type non normatif : utiliser SNOMED CT pour
typeetspecialty(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.