Parameters — détail : conteneur d'arguments d'opération
Ressource FHIR particulière : non persistée, non recherchable, dédiée au transport des arguments d'entrée et de sortie des opérations $-prefixed.
Spécificité de la ressource
Parameters est une ressource volatile :
- Pas de stockage serveur, pas de
GET /Parameters/123. - Pas de search, pas de
_lastUpdated. - Pas d'
idau sens REST FHIR. - Strictement transactionnelle : corps d'un
POST $opou réponse.
parameter / part / valueX / resource
Chaque parameter porte :
name— nom déclaré dans l'OperationDefinition correspondante.valueX— valeur typée (valueString, valueUri, valueCoding, valueQuantity, ...).resource— ressource FHIR embarquée (si l'OperationDefinition l'autorise).part— sous-paramètres (paramètres composites).
Quand utiliser Parameters
- Toujours pour
POST /[base]/$opavec body JSON ou XML. - Pour les réponses d'opérations comme
$translate,$validate,$everything(si return.type=Parameters). - Pour passer une ressource FHIR sans la persister (ex.
$validate).
Exemple : entrée pour $translate
{
"resourceType": "Parameters",
"parameter": [{
"name": "url",
"valueUri": "http://example.org/fhir/ConceptMap/icd10-to-snomed-diabetes"
}, {
"name": "system",
"valueUri": "http://hl7.org/fhir/sid/icd-10"
}, {
"name": "code",
"valueCode": "E11"
}, {
"name": "target",
"valueUri": "http://snomed.info/sct"
}, {
"name": "dependency",
"part": [{
"name": "element",
"valueUri": "http://hl7.org/fhir/StructureDefinition/Condition#Condition.severity"
}, {
"name": "concept",
"valueCoding": {
"system": "http://snomed.info/sct",
"code": "24484000",
"display": "Severe"
}
}]
}]
} Pièges courants
- Persister Parameters — la spec interdit. Si le besoin existe, sérialiser ailleurs.
- name non aligné avec OperationDefinition — le serveur ignore les paramètres inconnus.
- valueX + resource sur le même parameter — un et un seul des deux à la fois.
- Cardinalité non respectée — un
min=1manquant côté in fait échouer l'opération.