{
  "resourceType": "StructureDefinition",
  "id": "sgrdv-base-lock-reference-parameters",
  "url": "http://sante.quebec/fhir/StructureDefinition/sgrdv-base-lock-reference-parameters",
  "name": "SGRDVBaseLockReferenceParameters",
  "title": "Paramètres neutres de verrou par référence (Base)",
  "status": "active",
  "experimental": true,
  "description": "Profil parent neutre des opérations $extend-lock et $release-lock côté api-sgrdv. Le portail transmet la disponibilité concernée et ses slots en logical references (Reference.identifier seul, Reference.reference interdit) plutôt que de rématérialiser la ressource Appointment. Ne pas utiliser directement — utiliser SGRDVExtendLockRequestParameters ou SGRDVReleaseLockRequestParameters.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Parameters",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Parameters.parameter",
        "path": "Parameters.parameter",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "name"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Parameters.parameter:appointmentReference",
        "path": "Parameters.parameter",
        "sliceName": "appointmentReference",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:appointmentReference.name",
        "path": "Parameters.parameter.name",
        "fixedString": "appointmentReference"
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Appointment"
            ]
          }
        ]
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].reference",
        "path": "Parameters.parameter.value[x].reference",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].type",
        "path": "Parameters.parameter.value[x].type",
        "min": 1,
        "fixedUri": "Appointment"
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].identifier",
        "path": "Parameters.parameter.value[x].identifier",
        "min": 1
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].identifier.type",
        "path": "Parameters.parameter.value[x].identifier.type",
        "min": 1
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].identifier.type.coding",
        "path": "Parameters.parameter.value[x].identifier.type.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].identifier.type.coding.system",
        "path": "Parameters.parameter.value[x].identifier.type.coding.system",
        "fixedUri": "http://sante.quebec/fhir/CodeSystem/sgrdv-identifier-type"
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].identifier.type.coding.code",
        "path": "Parameters.parameter.value[x].identifier.type.coding.code",
        "fixedCode": "IdDispoDME"
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].identifier.system",
        "path": "Parameters.parameter.value[x].identifier.system",
        "min": 1
      },
      {
        "id": "Parameters.parameter:appointmentReference.value[x].identifier.value",
        "path": "Parameters.parameter.value[x].identifier.value",
        "min": 1
      },
      {
        "id": "Parameters.parameter:slotReference",
        "path": "Parameters.parameter",
        "sliceName": "slotReference",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Parameters.parameter:slotReference.name",
        "path": "Parameters.parameter.name",
        "fixedString": "slotReference"
      },
      {
        "id": "Parameters.parameter:slotReference.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Slot"
            ]
          }
        ]
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].reference",
        "path": "Parameters.parameter.value[x].reference",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].type",
        "path": "Parameters.parameter.value[x].type",
        "min": 1,
        "fixedUri": "Slot"
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].identifier",
        "path": "Parameters.parameter.value[x].identifier",
        "min": 1
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].identifier.type",
        "path": "Parameters.parameter.value[x].identifier.type",
        "min": 1
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].identifier.type.coding",
        "path": "Parameters.parameter.value[x].identifier.type.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].identifier.type.coding.system",
        "path": "Parameters.parameter.value[x].identifier.type.coding.system",
        "fixedUri": "http://sante.quebec/fhir/CodeSystem/sgrdv-identifier-type"
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].identifier.type.coding.code",
        "path": "Parameters.parameter.value[x].identifier.type.coding.code",
        "fixedCode": "IdSlotDME"
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].identifier.system",
        "path": "Parameters.parameter.value[x].identifier.system",
        "min": 1
      },
      {
        "id": "Parameters.parameter:slotReference.value[x].identifier.value",
        "path": "Parameters.parameter.value[x].identifier.value",
        "min": 1
      },
      {
        "id": "Parameters.parameter:lockIdentifier",
        "path": "Parameters.parameter",
        "sliceName": "lockIdentifier",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:lockIdentifier.name",
        "path": "Parameters.parameter.name",
        "fixedString": "lockIdentifier"
      },
      {
        "id": "Parameters.parameter:lockIdentifier.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration",
        "path": "Parameters.parameter",
        "sliceName": "lockRequestedDuration",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration.name",
        "path": "Parameters.parameter.name",
        "fixedString": "lock-requestedDuration"
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Duration"
          }
        ]
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration.value[x].value",
        "path": "Parameters.parameter.value[x].value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration.value[x].system",
        "path": "Parameters.parameter.value[x].system",
        "min": 1,
        "patternUri": "http://unitsofmeasure.org",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:lockRequestedDuration.value[x].code",
        "path": "Parameters.parameter.value[x].code",
        "min": 1,
        "patternCode": "s",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:provenance",
        "path": "Parameters.parameter",
        "sliceName": "provenance",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:provenance.name",
        "path": "Parameters.parameter.name",
        "fixedString": "provenance"
      },
      {
        "id": "Parameters.parameter:provenance.resource",
        "path": "Parameters.parameter.resource",
        "min": 1,
        "type": [
          {
            "code": "Provenance",
            "profile": [
              "http://sante.quebec/fhir/StructureDefinition/sgrdv-base-request-provenance"
            ]
          }
        ]
      }
    ]
  }
}