{
  "resourceType": "StructureDefinition",
  "id": "NotificationDevice",
  "url": "http://fhir.synapxe.sg/StructureDefinition/NotificationDevice",
  "version": "1.0.0",
  "name": "NotificationDevice",
  "status": "draft",
  "experimental": true,
  "date": "2024-12-19",
  "publisher": "Your Organization",
  "description": "A custom FHIR resource to represent a notification device.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "NotificationDevice",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation": "specialization",
  "snapshot": {
    "element": [
      {
        "id": "NotificationDevice",
        "path": "NotificationDevice",
        "short": "A resource for representing notification devices",
        "definition": "A resource used to represent notification devices in the system.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "DomainResource"
          }
        ]
      },
      {
        "id": "NotificationDevice.platform",
        "path": "NotificationDevice.platform",
        "short": "Platform of the device",
        "definition": "The platform of the device (e.g., iOS, Android).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceId",
        "path": "NotificationDevice.deviceId",
        "short": "Unique identifier for the device",
        "definition": "A unique identifier for the device.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceManufacturer",
        "path": "NotificationDevice.deviceManufacturer",
        "short": "Manufacturer of the device",
        "definition": "The name of the device manufacturer.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceModel",
        "path": "NotificationDevice.deviceModel",
        "short": "Model of the device",
        "definition": "The model of the device.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceOsVersion",
        "path": "NotificationDevice.deviceOsVersion",
        "short": "Operating system version of the device",
        "definition": "The version of the operating system on the device.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceToken",
        "path": "NotificationDevice.deviceToken",
        "short": "Token for notification services",
        "definition": "The device token used for notification services.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.userIdentifier",
        "path": "NotificationDevice.userIdentifier",
        "short": "User identifier for the device",
        "definition": "An identifier for the user associated with the device.",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ]
      },
      {
        "id": "NotificationDevice.userIdentifier.system",
        "path": "NotificationDevice.userIdentifier.system",
        "short": "System for user identifier",
        "definition": "The system of the user identifier (e.g., PRN system).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "uri"
          }
        ]
      },
      {
        "id": "NotificationDevice.userIdentifier.value",
        "path": "NotificationDevice.userIdentifier.value",
        "short": "Value of user identifier",
        "definition": "The value of the user identifier.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.registrationType",
        "path": "NotificationDevice.registrationType",
        "short": "Registration type for the device",
        "definition": "Specifies the registration type (e.g., allow-single-user or allow-multiple-users).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "NotificationDevice",
        "path": "NotificationDevice",
        "short": "Notification Device Resource",
        "definition": "A resource representing the notification device with associated details."
      },
      {
        "id": "NotificationDevice.platform",
        "path": "NotificationDevice.platform",
        "short": "Platform of the device",
        "definition": "The platform of the notification device (e.g., iOS, Android).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceId",
        "path": "NotificationDevice.deviceId",
        "short": "Device ID",
        "definition": "Unique identifier for the device.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceManufacturer",
        "path": "NotificationDevice.deviceManufacturer",
        "short": "Device Manufacturer",
        "definition": "The manufacturer of the device (e.g., Asus, Samsung).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceModel",
        "path": "NotificationDevice.deviceModel",
        "short": "Device Model",
        "definition": "The model of the device (e.g., Zenfone, Galaxy).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceOsVersion",
        "path": "NotificationDevice.deviceOsVersion",
        "short": "Device OS Version",
        "definition": "The OS version running on the device.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.deviceToken",
        "path": "NotificationDevice.deviceToken",
        "short": "Device Token",
        "definition": "Token associated with the device for push notifications.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.userIdentifier",
        "path": "NotificationDevice.userIdentifier",
        "short": "User identifier for the device",
        "definition": "An identifier for the user associated with the device.",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ]
      },
      {
        "id": "NotificationDevice.userIdentifier.system",
        "path": "NotificationDevice.userIdentifier.system",
        "short": "System for user identifier",
        "definition": "The system of the user identifier (e.g., PRN system).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "uri"
          }
        ]
      },
      {
        "id": "NotificationDevice.userIdentifier.value",
        "path": "NotificationDevice.userIdentifier.value",
        "short": "Value of user identifier",
        "definition": "The value of the user identifier.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "NotificationDevice.registrationType",
        "path": "NotificationDevice.registrationType",
        "short": "Registration Type",
        "definition": "Type of registration for the device (e.g., allow-multiple-users).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  }
}