{
  "resourceType": "StructureDefinition",
  "id": "logicalmodel-Waveform-R4",
  "url": "http://linkehr.com/fhir/logicalmodel-waveform-R4",
  "identifier": [
    {
      "system": "openEHR-CKM",
      "value": "openEHR-EHR-CLUSTER.waveform.v0"
    }
  ],
  "version": "0",
  "name": "Waveform",
  "title": "Waveform",
  "status": "draft",
  "date": "2024-06-18",
  "publisher": "openEHR",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.veratech.es"
        }
      ]
    }
  ],
  "description": "A waveform of an equidistant series of time spaced measurements e.g. from a pulse oximeter.",
  "purpose": "To record a series of equidistant time-spaced observations that can be represented as a waveform e.g. a pulse plesmythography waveform from a pulse oximeter.",
  "fhirVersion": "4.0.0",
  "mapping": [
    {
      "identity": "openEHR",
      "uri": "http://openehr.org",
      "name": "openEHR Mapping"
    },
    {
      "identity": "openEHR-natural",
      "uri": "http://openehr.org",
      "name": "openEHR natural path"
    }
  ],
  "kind": "logical",
  "abstract": false,
  "type": "StructureDefinition",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element",
  "snapshot": {
    "element": [
      {
        "id": "Waveform",
        "path": "Waveform",
        "short": "Waveform",
        "definition": "A waveform of an equidistant series of time spaced measurements e.g. from a pulse oximeter.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Waveform",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Waveform.Waveform_name",
        "path": "Waveform.Waveform_name",
        "short": "Waveform name",
        "definition": "The name of the waveform e.g. pulse plesmythograph.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_name",
          "min": 0,
          "max": "1"
        }
      },
      {
        "id": "Waveform.Waveform_name.value",
        "path": "Waveform.Waveform_name.value",
        "short": "Waveform name",
        "definition": "The name of the waveform e.g. pulse plesmythograph.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_name.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": false,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Waveform.Waveform_image",
        "path": "Waveform.Waveform_image",
        "short": "Waveform image",
        "definition": "The waveform as an image or other multimedia/binary type.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_image",
          "min": 0,
          "max": "1"
        }
      },
      {
        "id": "Waveform.Waveform_image.value",
        "path": "Waveform.Waveform_image.value",
        "short": "Waveform image",
        "definition": "The waveform as an image or other multimedia/binary type.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_image.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Attachment"
          }
        ],
        "mustSupport": false,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Waveform.Sample_period",
        "path": "Waveform.Sample_period",
        "short": "Sample period",
        "definition": "The time between individual data points in the waveform.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Sample_period",
          "min": 0,
          "max": "1"
        }
      },
      {
        "id": "Waveform.Sample_period.value",
        "path": "Waveform.Sample_period.value",
        "short": "Sample period",
        "definition": "The time between individual data points in the waveform.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Sample_period.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Duration"
          }
        ],
        "mustSupport": false,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Waveform.Waveform_observation",
        "path": "Waveform.Waveform_observation",
        "short": "Waveform observation",
        "definition": "Multiple waveform observations.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Waveform.Waveform_observation",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "mustSupport": false,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Waveform.Waveform_observation.Origin",
        "path": "Waveform.Waveform_observation.Origin",
        "short": "Origin",
        "definition": "The origin of the waveform (typically 0).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_observation.Origin",
          "min": 0,
          "max": "1"
        }
      },
      {
        "id": "Waveform.Waveform_observation.Origin.value",
        "path": "Waveform.Waveform_observation.Origin.value",
        "short": "Origin",
        "definition": "The origin of the waveform (typically 0).",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_observation.Origin.value",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Waveform.Waveform_observation.Scaling_factor",
        "path": "Waveform.Waveform_observation.Scaling_factor",
        "short": "Scaling factor",
        "definition": "The scaling factor of the waveform observation.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_observation.Scaling_factor",
          "min": 0,
          "max": "1"
        }
      },
      {
        "id": "Waveform.Waveform_observation.Scaling_factor.value",
        "path": "Waveform.Waveform_observation.Scaling_factor.value",
        "short": "Scaling factor",
        "definition": "The scaling factor of the waveform observation.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_observation.Scaling_factor.value",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Waveform.Waveform_observation.Digits_series",
        "path": "Waveform.Waveform_observation.Digits_series",
        "short": "Digits series",
        "definition": "Inividual data points of a waveform as defined by the CDA-Continua Alliance PHMR documentation.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_observation.Digits_series",
          "min": 0,
          "max": "1"
        }
      },
      {
        "id": "Waveform.Waveform_observation.Digits_series.value",
        "path": "Waveform.Waveform_observation.Digits_series.value",
        "short": "Digits series",
        "definition": "Inividual data points of a waveform as defined by the CDA-Continua Alliance PHMR documentation.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Waveform.Waveform_observation.Digits_series.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": false,
        "isModifier": false,
        "isSummary": true
      }
    ]
  }
}