{
  "resourceType": "StructureDefinition",
  "id": "sgrdv-release-lock-request-parameters",
  "url": "http://sante.quebec/fhir/StructureDefinition/sgrdv-release-lock-request-parameters",
  "name": "SGRDVReleaseLockRequestParameters",
  "title": "Paramètres de demande de retrait de verrou — Surface API SGRDV",
  "status": "draft",
  "experimental": true,
  "description": "Paramètres d'entrée de l'opération $release-lock pour la surface API SGRDV (portail → SGRDV). Le portail fournit le lockIdentifier reçu lors du $lock initial, la référence logique de la disponibilité verrouillée et celles de ses slots, ainsi que la provenance. Interdit lockRequestedDuration (sans objet pour le retrait). En sortie : HTTP 204 en succès, ou HTTP 400 avec OperationOutcome en erreur. SGRDV étant stateless, ces références logiques permettent à SGRDV de propager le retrait au DMÉ aval sans avoir conservé l'association lock ↔ appointment ↔ slots.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Parameters",
  "baseDefinition": "http://sante.quebec/fhir/StructureDefinition/sgrdv-base-lock-reference-parameters",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Parameters.parameter",
        "path": "Parameters.parameter",
        "min": 4
      },
      {
        "id": "Parameters.parameter:appointmentReference",
        "path": "Parameters.parameter",
        "sliceName": "appointmentReference",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:appointmentReference.name",
        "path": "Parameters.parameter.name",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x]",
        "path": "Parameters.parameter.value[x]",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:slotReference",
        "path": "Parameters.parameter",
        "sliceName": "slotReference",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:slotReference.name",
        "path": "Parameters.parameter.name",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:slotReference.value[x]",
        "path": "Parameters.parameter.value[x]",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockIdentifier",
        "path": "Parameters.parameter",
        "sliceName": "lockIdentifier",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockIdentifier.name",
        "path": "Parameters.parameter.name",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockIdentifier.value[x]",
        "path": "Parameters.parameter.value[x]",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration",
        "path": "Parameters.parameter",
        "sliceName": "lockRequestedDuration",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:provenance",
        "path": "Parameters.parameter",
        "sliceName": "provenance",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:provenance.name",
        "path": "Parameters.parameter.name",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:provenance.resource",
        "path": "Parameters.parameter.resource",
        "mustSupport": true
      }
    ]
  }
}