DeviceRequest — Prescription d'un dispositif médical
La demande de fourniture d'un device au patient : fauteuil roulant, prothèse auditive, lit médicalisé, pompe à insuline. Brique du workflow DME (Durable Medical Equipment) côté américain et de la prescription de dispositifs en Europe.
Objet de la ressource
DeviceRequest représente une demande pour qu'un patient utilise un dispositif médical. Le cas d'usage canonique est la prescription d'un DME : fauteuil roulant, prothèse auditive, attelle, pompe à insuline, lit médicalisé. Mais la ressource couvre aussi la demande d'implantation d'un device et la prescription d'un SaMD (Software as a Medical Device).
DeviceRequest s'aligne avec les autres ressources de requête FHIR — ServiceRequest,
MedicationRequest — via la combinaison status × intent qui
forme le pattern unifié du workflow « commande FHIR ». Le device demandé peut
être référencé par un type (code SNOMED CT générique) ou par une instance
précise (Reference(Device)) si le DM est déjà identifié.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes (numéro de prescription, numéro de demande d'achat…). |
instantiatesCanonical | canonical[] | 0..* | Référence canonique vers un PlanDefinition ou ActivityDefinition appliqué. |
instantiatesUri | uri[] | 0..* | URI externe d'un protocole. |
basedOn | Reference(any)[] | 0..* | Le DeviceRequest est créé en exécution d'un autre Request (CarePlan, ServiceRequest…). |
replaces | Reference(DeviceRequest)[] | 0..* | Le DeviceRequest remplace une demande antérieure. |
groupIdentifier | Identifier | 0..1 | Identifiant de groupe pour rattacher plusieurs DeviceRequest émis ensemble. |
status | code | 0..1 | État du cycle de vie de la demande. |
intent | code | 1..1 | Obligatoire. Niveau d'intention. Modifier. |
priority | code | 0..1 | routine / urgent / asap / stat. |
doNotPerform | boolean | 0..1 | « Ne pas utiliser » — inversion sémantique. Modifier. |
code | CodeableReference(Device | DeviceDefinition) | 1..1 | Obligatoire. Quel device est demandé : par code SNOMED CT ou par référence à une instance précise. |
quantity | integer | 0..1 | Quantité demandée. |
parameter | BackboneElement[] | 0..* | Paramètres techniques (taille, configuration, accessoires…). |
subject | Reference(Patient | Group | Location | Device) | 1..1 | Obligatoire. Bénéficiaire de la demande, typiquement le patient. |
encounter | Reference(Encounter) | 0..1 | Encounter dans lequel la demande a été formulée. |
occurrence[x] | dateTime | Period | Timing | 0..1 | Date / période / planning d'utilisation prévu. |
authoredOn | dateTime | 0..1 | Date de création de la demande. |
requester | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | 0..1 | Auteur de la demande. |
performer | CodeableReference | 0..1 | Acteur prévu pour fournir le device (typiquement un DME supplier). |
reason | CodeableReference[] | 0..* | Motif clinique (Condition liée, code SNOMED CT…). |
asNeeded | boolean | 0..1 | Demande PRN (« si nécessaire »). |
asNeededFor | CodeableConcept | 0..1 | Condition de déclenchement du PRN. |
insurance | Reference(Coverage | ClaimResponse)[] | 0..* | Couverture santé attendue (CMS DME…). |
supportingInfo | Reference(any)[] | 0..* | Documents supportant la demande (lettre médicale, examen radio…). |
note | Annotation[] | 0..* | Notes additionnelles, instructions au fournisseur. |
relevantHistory | Reference(Provenance)[] | 0..* | Historique des changements de la demande (audit trail). |
status × intent
Le couple status + intent est central dans tous les Request
FHIR. Les Required bindings publiés par HL7 R5 :
| status | Sens |
|---|---|
draft | Brouillon — non transmis au performer. |
active | Demande active. |
on-hold | En attente (validation, couverture, suspension). |
revoked | Révoquée par le requester. |
completed | Exécutée (device livré et accepté). |
entered-in-error | Saisie erronée. |
unknown | État indéterminé. |
| intent | Sens |
|---|---|
proposal | Suggestion — pas un engagement. |
plan | Plan — intention de prescrire à l'avenir. |
directive | Directive du patient ou tuteur. |
order | Commande ferme — la valeur la plus courante. |
original-order | Commande d'origine, source de réplications. |
reflex-order | Commande automatique déclenchée par une autre. |
filler-order | Commande relayée par le filler (fournisseur). |
instance-order | Instance d'une commande générique. |
option | Option choisie parmi un menu prédéfini. |
Exemple JSON
Prescription d'un fauteuil roulant manuel léger pour un patient diabétique, par le Dr Adam Careful, à livrer par le fournisseur Acme DME Supplies le 25 mai 2026.
{
"resourceType": "DeviceRequest",
"id": "example",
"identifier": [{
"system": "http://example.org/identifiers/devicerequest",
"value": "DR-2026-187"
}],
"status": "active",
"intent": "order",
"priority": "routine",
"code": {
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "58938008",
"display": "Wheelchair"
}]
}
},
"quantity": 1,
"parameter": [{
"code": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "60668009",
"display": "Length"
}]
},
"valueQuantity": {
"value": 220,
"unit": "mm",
"system": "http://unitsofmeasure.org",
"code": "mm"
}
}],
"subject": { "reference": "Patient/example" },
"encounter": { "reference": "Encounter/example" },
"occurrenceDateTime": "2026-05-25T09:00:00+02:00",
"authoredOn": "2026-05-14T14:00:00+02:00",
"requester": { "reference": "Practitioner/example", "display": "Dr Adam Careful" },
"performer": {
"reference": "Organization/dme-supplier-1",
"display": "Acme DME Supplies"
},
"reason": [{
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "44054006",
"display": "Diabetes mellitus type 2"
}]
}
}],
"note": [{
"text": "Fauteuil roulant manuel léger, dossier inclinable. Livraison à domicile."
}]
} À noter dans cet exemple :
intent=order+status=active= commande ferme transmise au performer.codeSNOMED CT 58938008 = wheelchair : le DM est demandé par type, pas par instance.parameterprécise la longueur attendue (220 mm) — utile quand l'instance physique n'existe pas encore et que le fournisseur doit configurer.reasonest obligatoire pour la justification médicale auprès des assureurs (CMS DMEPOS).performerpointe vers le DME supplier : la communication automatique Request → fournisseur passe par l'IG Da Vinci PDex aux US.
Pièges courants
intentmanquant — cardinalité1..1. C'est un modifier, donc obligatoire pour donner un sens à la ressource.codevide — cardinalité1..1. Le device demandé doit être spécifié (par concept ou par référence). Sanscode, la ressource est invalide.subjectmanquant — cardinalité1..1. Une demande sans bénéficiaire est ininterprétable.- Mélange Device instance / DeviceDefinition —
codepeut pointer vers uneReference(Device)(instance déjà existante) ou vers uneReference(DeviceDefinition)(catalogue produit) ou unconcept. Choisir un seul. - Confusion
doNotPerform/status=revoked—doNotPerform=true= « commande pour ne pas utiliser ce device » (rare, mais utile pour les directives anticipées).status=revoked= la commande est annulée. insuranceoublié pour DMEPOS — aux US, un DeviceRequest sansinsuranceest rejeté par CMS Medicare. Profil Da Vinci PDex/Coverage exige la couverture.occurrenceau passé — typiquement une erreur de saisie. Le device est demandé pour le futur ; un occurrence à J-1 indique probablement un workflow rétroactif.
Ressources liées
- Device — le device demandé, soit en concept générique, soit en référence d'instance.
- DeviceDispense — la dispensation (livraison) du device en réponse au DeviceRequest.
- DeviceUsage — l'usage effectif du device par le patient.
- CarePlan — peut contenir des activités basées sur DeviceRequest.
- ServiceRequest, MedicationRequest — autres ressources de demande FHIR avec le même pattern
status×intent. - Coverage — couverture santé référencée par
insurance. - Condition — pathologie référencée par
reason.
Voir aussi : l'index FHIR R5.