Posologies complexes (detect_complex_posology)
L’option detect_complex_posology (booléen du corps de requête du scan d’ordonnance, false par défaut) active une analyse de l’ordonnance dans son ensemble, conçue pour les ordonnances dont les schémas de prise dépassent la ligne simple : perfusions et injectables (HAD), décroissances multi-phases, nutrition parentérale, consignes multi-lignes.
Request
{
"images": [{ "image": "<base64>", "isPdf": true }],
"detect_complex_posology": true
}En cas d’indisponibilité de l’analyse avancée, le scan retombe automatiquement sur le pipeline standard : la requête aboutit toujours, avec le niveau de structuration habituel.
Ce qui change dans le bundle FHIR
Le format général du bundle est inchangé (Modélisation export d’ordonnance). L’option enrichit chaque MedicationRequest des éléments suivants, lorsqu’ils sont présents sur l’ordonnance.
dosageInstruction.method — technique d’administration
La technique d’administration est codée en SNOMED CT :
| Prescription | Code SNOMED | Libellé |
|---|---|---|
| Perfusion IV | 14152002 | Intravenous infusion |
| IVD / IV lente (IVL) | 43060002 | Intravenous injection |
| IVD rapide, bolus, flash | 447963004 | Intravenous push technique |
| Diffuseur portable, pompe ambulatoire | 261754007 | Continuous infusion |
| PCA | 241716000 | Patient controlled analgesia |
| Hydratation sous-cutanée (hypodermoclyse) | 113154008 | Subcutaneous clysis of patient for fluid administration |
doseAndRate — débit prescrit
Le débit rejoint la dose dans le même élément : rateQuantity (« 500 mg/h ») ou rateRange (« 5 à 10 mL/h »).
timing.repeat — durées, phases datées
duration/durationMax: durée d’une administration (« en perfusion de 15 à 30 min » →duration: 15,durationMax: 30).boundsPeriod: bornes calendaires d’une phase (« 40 mg matin et 20 mg soir jusqu’au 15/10/2024, puis 20 mg matin et soir jusqu’au 23/10/2024 »). Le début de chaque phase est déduit : date de l’ordonnance pour la première, lendemain de la fin de la phase précédente ensuite.boundsDuration: durée de traitement relative (« pendant 7 jours », « QSP 28 jours », « OAR 3 mois » — les durées globales de pied d’ordonnance sont propagées à chaque médicament sans durée propre).
dosageInstruction.sequence — phases
Une décroissance produit plusieurs dosageInstruction : les prises d’une même phase (« 40 mg le matin et 20 mg le soir ») partagent le même sequence ; le numéro s’incrémente à chaque phase (« puis… »).
maxDosePerPeriod — plafond de dose
« Maximum 6 cp/j », « sans dépasser 8 gélules par jour » → un Ratio (numérateur : dose plafond codée, dénominateur : période). Le plafond est distinct de la dose par prise, conservée par ailleurs.
dispenseRequest.numberOfRepeatsAllowed — renouvellements
« À renouveler 3 fois », « Renouvelable trois fois » → dispenseRequest: { "numberOfRepeatsAllowed": 3 }.
Extensions dosageinstruction
Base : https://terminology.posos.co/fhir-extension/dosageinstruction/
| Extension | Valeur | Exemple d’origine |
|---|---|---|
ivMode | valueString slow/fast | « en IVD lente » |
administrationDevice | valueCoding (SNOMED ou posos) | « sur pompe » → 430033006 Infusion pump |
diluent | valueCoding (médicament lié) ou valueString | « dans NaCl 0,9 % » |
diluentVolume | valueQuantity (UCUM) | « dans 100 mL de NaCl » |
rateMax | valueQuantity | « débit maximum 10 mL/min » |
continuous | valueBoolean | administration continue sur 24 h |
Dispositifs d’administration codés : pompe à perfusion (430033006), pompe PCA (462741000), diffuseur élastomérique (468746004), pousse-seringue (465254002), et — dans la terminologie posos (https://terminology.posos.co/device), faute de concept SNOMED — la poche de nutrition parentérale (NP_BAG) pour les additifs « à introduire dans la poche de NP ».
note — consignes non structurables
Les consignes de prise sans champ FHIR dédié sont conservées verbatim dans le note du MedicationRequest : « au moins 1h avant la chimiothérapie », « après chaque selle liquide », « arrêter les injections si les plaquettes sont < 50 000/mm3 », « par gravité »…
Exemple
Ordonnance : « VANCOMYCINE 1 g dans 250 mL de NaCl 0,9 %, en perfusion IV lente au débit de 500 mg/h sur 2 heures, matin et soir, pendant 10 jours »
dosageInstruction
{
"text": "VANCOMYCINE 1 g dans 250 mL de NaCl 0,9 %, en perfusion IV lente au débit de 500 mg/h sur 2 heures, matin et soir, pendant 10 jours",
"method": {
"coding": [
{ "system": "http://snomed.info/sct", "code": "14152002", "display": "Intravenous infusion" }
]
},
"doseAndRate": [
{
"doseQuantity": { "value": 1, "unit": "g", "code": "g", "system": "https://ucum.org" },
"rateQuantity": { "value": 500, "unit": "mg/h" }
}
],
"timing": {
"repeat": {
"frequency": 2,
"period": 1,
"periodUnit": "d",
"duration": 2,
"durationUnit": "h",
"when": ["MORN", "EVE"],
"boundsDuration": { "value": 10, "unit": "day", "code": "d" }
}
},
"extension": [
{ "url": "https://terminology.posos.co/fhir-extension/dosageinstruction/ivMode", "valueString": "slow" },
{ "url": "https://terminology.posos.co/fhir-extension/dosageinstruction/diluent", "valueString": "NaCl 0,9 %" },
{ "url": "https://terminology.posos.co/fhir-extension/dosageinstruction/diluentVolume", "valueQuantity": { "value": 250, "unit": "mL", "code": "mL", "system": "https://ucum.org" } }
]
}Autres garanties
- Texte fidèle : le
textde chaquedosageInstructionreprend les lignes de l’ordonnance telles qu’écrites — jamais une phrase reconstruite. - Médicaments arrêtés : une ligne « Arrêt X, Y » n’engendre aucun
MedicationRequest. - Solutés autonomes : une ligne de soluté quantifiée (« NaCl 0,9 % poches de 100 mL : 2 poches par jour ») est un médicament à part entière ; un solvant inline (« dans NaCl 0,9 % 20 mL ») reste le
diluentdu médicament concerné. - Unités de dose codées ou absentes : une unité de prise sans code (UCUM/SNOMED) n’est pas émise — la valeur est conservée.
Limites connues
- Les dispositifs médicaux prescrits (étuis, sondes, cathéters) ne sont pas restitués par l’analyse avancée — utiliser
detect_medical_deviceavec le pipeline standard si nécessaire. - Les ordonnances de dotation (réserve PUI : « 2 ampoules », « 3 flacons ») sont restituées comme des posologies, pas comme des quantités de délivrance.