{
  "resourceType": "StructureDefinition",
  "id": "sgrdv-base-cancel-response-parameters",
  "url": "http://sante.quebec/fhir/StructureDefinition/sgrdv-base-cancel-response-parameters",
  "name": "SGRDVBaseCancelResponseParameters",
  "title": "Paramètres neutres de réponse d'annulation de rendez-vous (Base)",
  "status": "draft",
  "experimental": true,
  "description": "Profil parent neutre des paramètres de sortie de l'opération $cancel. Indique si l'annulation a été effectuée avec succès via cancellationCompleted (bool). En cas d'échec, au moins un OperationOutcome explicatif doit être présent (invariant sgrdv-cancel-outcome-required). En cas de succès, les outcomes sont optionnels.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Parameters",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Parameters",
        "path": "Parameters",
        "constraint": [
          {
            "key": "sgrdv-cancel-outcome-required",
            "severity": "error",
            "human": "Au moins un paramètre 'outcome' doit être présent lorsque 'cancellationCompleted' est false.",
            "expression": "parameter.where(name='cancellationCompleted').value.ofType(boolean) = false implies parameter.where(name='outcome').exists()",
            "source": "http://sante.quebec/fhir/StructureDefinition/sgrdv-base-cancel-response-parameters"
          }
        ]
      },
      {
        "id": "Parameters.parameter",
        "path": "Parameters.parameter",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "name"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Parameters.parameter:cancellationCompleted",
        "path": "Parameters.parameter",
        "sliceName": "cancellationCompleted",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:cancellationCompleted.name",
        "path": "Parameters.parameter.name",
        "fixedString": "cancellationCompleted"
      },
      {
        "id": "Parameters.parameter:cancellationCompleted.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Parameters.parameter:outcome",
        "path": "Parameters.parameter",
        "sliceName": "outcome",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Parameters.parameter:outcome.name",
        "path": "Parameters.parameter.name",
        "fixedString": "outcome"
      },
      {
        "id": "Parameters.parameter:outcome.resource",
        "path": "Parameters.parameter.resource",
        "min": 1,
        "type": [
          {
            "code": "OperationOutcome",
            "profile": [
              "http://sante.quebec/fhir/StructureDefinition/sgrdv-base-operation-outcome"
            ]
          }
        ]
      }
    ]
  }
}