{
  "resourceType": "StructureDefinition",
  "id": "sgrdv-lock-request-parameters",
  "url": "http://sante.quebec/fhir/StructureDefinition/sgrdv-lock-request-parameters",
  "name": "SGRDVLockRequestParameters",
  "title": "Paramètres de demande de verrou — Surface API SGRDV",
  "status": "active",
  "experimental": true,
  "description": "Paramètres d'entrée de l'opération $lock pour la surface API SGRDV (portail → SGRDV). Exige la durée et la provenance ; interdit lockEndTime (calculé par SGRDV et retourné dans la réponse). Le lockIdentifier n'est pas défini ici car uniquement présent dans la réponse SGRDV au portail.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Parameters",
  "baseDefinition": "http://sante.quebec/fhir/StructureDefinition/sgrdv-base-lock-payload-parameters",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Parameters.parameter",
        "path": "Parameters.parameter",
        "min": 3
      },
      {
        "id": "Parameters.parameter:appointment",
        "path": "Parameters.parameter",
        "sliceName": "appointment",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:appointment.name",
        "path": "Parameters.parameter.name",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:appointment.resource",
        "path": "Parameters.parameter.resource",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockIdentifier",
        "path": "Parameters.parameter",
        "sliceName": "lockIdentifier",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration",
        "path": "Parameters.parameter",
        "sliceName": "lockRequestedDuration",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration.name",
        "path": "Parameters.parameter.name",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration.value[x]",
        "path": "Parameters.parameter.value[x]",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockEndTime",
        "path": "Parameters.parameter",
        "sliceName": "lockEndTime",
        "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
      }
    ]
  }
}