{
  "resourceType": "StructureDefinition",
  "id": "HESConnecta-Bundle-Activation",
  "url": "https://fhir.catsalut.cat/r4/mConnectaHES/StructureDefinition/HESConnecta-Bundle-Activation",
  "version": "1.0.0",
  "name": "HESConnecta_Bundle_Activation",
  "title": "Bundle de activación de servicio y dispositivo",
  "date": "2026-05-04",
  "publisher": "HESConnecta",
  "description": "Perfil del recurso Bundle para la activación de servicios de telemonitorización. El bundle es auto-contenible y está destinado a terceros (proveedores logísticos / de dispositivos) sin acceso a repositorios FHIR. Contiene obligatoriamente los recursos Patient, Practitioner, ServiceRequest y Device, completos a nivel operativo.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Bundle",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Bundle",
        "path": "Bundle",
        "definition": "Bundle de activación auto-contenible para envío a terceros."
      },
      {
        "id": "Bundle.type",
        "path": "Bundle.type",
        "definition": "El bundle de activación se envía como transacción.",
        "fixedCode": "transaction",
        "mustSupport": true
      },
      {
        "id": "Bundle.entry",
        "path": "Bundle.entry",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "resource"
            }
          ],
          "rules": "open"
        },
        "definition": "Entradas del bundle de activación.",
        "min": 4,
        "max": "4",
        "mustSupport": true
      },
      {
        "id": "Bundle.entry:patient",
        "path": "Bundle.entry",
        "sliceName": "patient",
        "definition": "Paciente destinatario del servicio y del dispositivo.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Bundle.entry:patient.resource",
        "path": "Bundle.entry.resource",
        "min": 1
      },
      {
        "id": "Bundle.entry:patient.request.method",
        "path": "Bundle.entry.request.method",
        "fixedCode": "PUT"
      },
      {
        "id": "Bundle.entry:patient.request.url",
        "path": "Bundle.entry.request.url"
      },
      {
        "id": "Bundle.entry:practitioner",
        "path": "Bundle.entry",
        "sliceName": "practitioner",
        "definition": "Profesional solicitante o contacto operativo.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Bundle.entry:practitioner.resource",
        "path": "Bundle.entry.resource",
        "min": 1
      },
      {
        "id": "Bundle.entry:practitioner.request.method",
        "path": "Bundle.entry.request.method",
        "fixedCode": "PUT"
      },
      {
        "id": "Bundle.entry:practitioner.request.url",
        "path": "Bundle.entry.request.url"
      },
      {
        "id": "Bundle.entry:device",
        "path": "Bundle.entry",
        "sliceName": "device",
        "definition": "Dispositivo a activar y enviar al paciente.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Bundle.entry:device.resource",
        "path": "Bundle.entry.resource",
        "min": 1
      },
      {
        "id": "Bundle.entry:device.request.method",
        "path": "Bundle.entry.request.method",
        "fixedCode": "PUT"
      },
      {
        "id": "Bundle.entry:device.request.url",
        "path": "Bundle.entry.request.url"
      },
      {
        "id": "Bundle.entry:serviceRequest",
        "path": "Bundle.entry",
        "sliceName": "serviceRequest",
        "definition": "Solicitud de activación del servicio de telemonitorización.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Bundle.entry:serviceRequest.resource",
        "path": "Bundle.entry.resource",
        "min": 1
      },
      {
        "id": "Bundle.entry:serviceRequest.request.method",
        "path": "Bundle.entry.request.method",
        "fixedCode": "PUT"
      },
      {
        "id": "Bundle.entry:serviceRequest.request.url",
        "path": "Bundle.entry.request.url"
      }
    ]
  }
}