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.

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

ChampTypeCardinalitéRôle
identifierIdentifier[]0..*Identifiants externes (numéro de prescription, numéro de demande d'achat…).
instantiatesCanonicalcanonical[]0..*Référence canonique vers un PlanDefinition ou ActivityDefinition appliqué.
instantiatesUriuri[]0..*URI externe d'un protocole.
basedOnReference(any)[]0..*Le DeviceRequest est créé en exécution d'un autre Request (CarePlan, ServiceRequest…).
replacesReference(DeviceRequest)[]0..*Le DeviceRequest remplace une demande antérieure.
groupIdentifierIdentifier0..1Identifiant de groupe pour rattacher plusieurs DeviceRequest émis ensemble.
statuscode0..1État du cycle de vie de la demande.
intentcode1..1Obligatoire. Niveau d'intention. Modifier.
prioritycode0..1routine / urgent / asap / stat.
doNotPerformboolean0..1« Ne pas utiliser » — inversion sémantique. Modifier.
codeCodeableReference(Device | DeviceDefinition)1..1Obligatoire. Quel device est demandé : par code SNOMED CT ou par référence à une instance précise.
quantityinteger0..1Quantité demandée.
parameterBackboneElement[]0..*Paramètres techniques (taille, configuration, accessoires…).
subjectReference(Patient | Group | Location | Device)1..1Obligatoire. Bénéficiaire de la demande, typiquement le patient.
encounterReference(Encounter)0..1Encounter dans lequel la demande a été formulée.
occurrence[x]dateTime | Period | Timing0..1Date / période / planning d'utilisation prévu.
authoredOndateTime0..1Date de création de la demande.
requesterReference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)0..1Auteur de la demande.
performerCodeableReference0..1Acteur prévu pour fournir le device (typiquement un DME supplier).
reasonCodeableReference[]0..*Motif clinique (Condition liée, code SNOMED CT…).
asNeededboolean0..1Demande PRN (« si nécessaire »).
asNeededForCodeableConcept0..1Condition de déclenchement du PRN.
insuranceReference(Coverage | ClaimResponse)[]0..*Couverture santé attendue (CMS DME…).
supportingInfoReference(any)[]0..*Documents supportant la demande (lettre médicale, examen radio…).
noteAnnotation[]0..*Notes additionnelles, instructions au fournisseur.
relevantHistoryReference(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 :

statusSens
draftBrouillon — non transmis au performer.
activeDemande active.
on-holdEn attente (validation, couverture, suspension).
revokedRévoquée par le requester.
completedExécutée (device livré et accepté).
entered-in-errorSaisie erronée.
unknownÉtat indéterminé.
intentSens
proposalSuggestion — pas un engagement.
planPlan — intention de prescrire à l'avenir.
directiveDirective du patient ou tuteur.
orderCommande ferme — la valeur la plus courante.
original-orderCommande d'origine, source de réplications.
reflex-orderCommande automatique déclenchée par une autre.
filler-orderCommande relayée par le filler (fournisseur).
instance-orderInstance d'une commande générique.
optionOption 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.

json devicerequest-example.json
{
  "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.
  • code SNOMED CT 58938008 = wheelchair : le DM est demandé par type, pas par instance.
  • parameter précise la longueur attendue (220 mm) — utile quand l'instance physique n'existe pas encore et que le fournisseur doit configurer.
  • reason est obligatoire pour la justification médicale auprès des assureurs (CMS DMEPOS).
  • performer pointe vers le DME supplier : la communication automatique Request → fournisseur passe par l'IG Da Vinci PDex aux US.

Pièges courants

  • intent manquant — cardinalité 1..1. C'est un modifier, donc obligatoire pour donner un sens à la ressource.
  • code vide — cardinalité 1..1. Le device demandé doit être spécifié (par concept ou par référence). Sans code, la ressource est invalide.
  • subject manquant — cardinalité 1..1. Une demande sans bénéficiaire est ininterprétable.
  • Mélange Device instance / DeviceDefinitioncode peut pointer vers une Reference(Device) (instance déjà existante) ou vers une Reference(DeviceDefinition) (catalogue produit) ou un concept. Choisir un seul.
  • Confusion doNotPerform / status=revokeddoNotPerform=true = « commande pour ne pas utiliser ce device » (rare, mais utile pour les directives anticipées). status=revoked = la commande est annulée.
  • insurance oublié pour DMEPOS — aux US, un DeviceRequest sans insurance est rejeté par CMS Medicare. Profil Da Vinci PDex/Coverage exige la couverture.
  • occurrence au 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.