{
  "resourceType": "StructureDefinition",
  "id": "pt-lm-DigitalActivity",
  "text": {
    "status": "empty",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div>"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics",
      "valueCode": "can-be-target"
    }
  ],
  "url": "http://medmij.nl/fhir/StructureDefinition/pt-lm-DigitalActivity",
  "name": "PtLmDigitalActivity",
  "title": "Digital Activity",
  "status": "draft",
  "publisher": "MedMij",
  "contact": [
    {
      "name": "MedMij",
      "telecom": [
        {
          "system": "email",
          "value": "info@medmij.nl",
          "use": "work"
        }
      ]
    }
  ],
  "description": "Reusable definition of a digital activity (module) that can be selected by a healthcare professional and presented to a patient as part of the care process. The activity describes what the patient will do (e.g., read information, complete a questionnaire, perform a home measurement) and provides the information needed to start or access the activity when applicable.",
  "purpose": "This LogicalModel represents the DigitalActivity building block for patient use cases in the context of the data service Provider Tasks (Aanbiedertaken).",
  "copyright": "Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise.",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "pt-dataset-100-alpha1-20260511",
      "name": "Dataset Aanbiedertaken MedMij 1.0.0-alpha.2 20260511"
    }
  ],
  "kind": "logical",
  "abstract": false,
  "type": "http://medmij.nl/fhir/StructureDefinition/pt-lm-DigitalActivity",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element",
  "derivation": "specialization",
  "snapshot": {
    "element": [
      {
        "id": "pt-lm-DigitalActivity",
        "path": "pt-lm-DigitalActivity",
        "short": "Digital activity",
        "definition": "Reusable definition of a digital activity (module) that can be selected by a healthcare professional and presented to a patient as part of the care process. The activity describes what the patient will do (e.g., read information, complete a questionnaire, perform a home measurement) and provides the information needed to start or access the activity when applicable.",
        "alias": [
          "DigitaleActiviteit"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "pt-lm-DigitalActivity",
          "min": 0,
          "max": "*"
        },
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-9",
            "comment": "DigitalActivity"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.id",
        "path": "pt-lm-DigitalActivity.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.extension",
        "path": "pt-lm-DigitalActivity.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Identifier",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
            "valueCode": "normative"
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
            "valueCode": "4.0.0"
          }
        ],
        "path": "pt-lm-DigitalActivity.Identifier",
        "short": "Identifier",
        "definition": "Business identifier for this digital activity definition.",
        "alias": [
          "Identificatie"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "pt-lm-DigitalActivity.Identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
          },
          {
            "identity": "rim",
            "map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
          },
          {
            "identity": "servd",
            "map": "Identifier"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-31",
            "comment": "Identifier"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Title",
        "path": "pt-lm-DigitalActivity.Title",
        "short": "Title",
        "definition": "Short, human-friendly title for the digital activity.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "alias": [
          "Titel"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "pt-lm-DigitalActivity.Title",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-10",
            "comment": "Title"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Status",
        "path": "pt-lm-DigitalActivity.Status",
        "short": "Status",
        "definition": "Lifecycle status of the digital activity.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "alias": [
          "Status"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "pt-lm-DigitalActivity.Status",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/publication-status"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-11",
            "comment": "Status"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Publisher",
        "path": "pt-lm-DigitalActivity.Publisher",
        "short": "Publisher",
        "definition": "Organization responsible for the content/functionality of this digital activity and its maintenance.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "alias": [
          "Uitgever"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "pt-lm-DigitalActivity.Publisher",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-12",
            "comment": "Publisher"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Description",
        "path": "pt-lm-DigitalActivity.Description",
        "short": "Description",
        "definition": "Guidance on how this digital activity should be used in clinical workflows.",
        "comment": "Systems are not required to have markdown support, so the text should be readable without markdown processing. The markdown syntax is GFM - see https://github.github.com/gfm/",
        "alias": [
          "Omschrijving"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "pt-lm-DigitalActivity.Description",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "markdown"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-13",
            "comment": "Description"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Schedule[x]",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
            "valueCode": "normative"
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
            "valueCode": "4.0.0"
          }
        ],
        "path": "pt-lm-DigitalActivity.Schedule[x]",
        "short": "Schedule",
        "definition": "Generic recommendation for how often/when the activity is typically performed. Patient-specific scheduling belongs in the execution order.",
        "alias": [
          "Tijdschema"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "pt-lm-DigitalActivity.Schedule[x]",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          },
          {
            "code": "Period"
          },
          {
            "code": "Timing"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-14",
            "comment": "Schedule"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Usage",
        "path": "pt-lm-DigitalActivity.Usage",
        "short": "Usage",
        "definition": "A detailed description of how the digital activity is used from a clinical perspective. In the MedMij use case, this text is intended for the healthcare professional who is selecting and assigning the activity to the patient.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "alias": [
          "Gebruik"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "pt-lm-DigitalActivity.Usage",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-30",
            "comment": "Usage"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Endpoint",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
            "valueCode": "normative"
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
            "valueCode": "4.0.0"
          }
        ],
        "path": "pt-lm-DigitalActivity.Endpoint",
        "short": "Endpoint",
        "definition": "Mandatory reference to the service application (endpoint) that provides the launchable digital activity. Can be more than one endpoint.",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "alias": [
          "Endpoint"
        ],
        "min": 1,
        "max": "*",
        "base": {
          "path": "pt-lm-DigitalActivity.Endpoint",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://medmij.nl/fhir/StructureDefinition/pt-lm-Endpoint"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-36",
            "comment": "Endpoint"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "pt-lm-DigitalActivity",
        "path": "pt-lm-DigitalActivity",
        "short": "Digital activity",
        "definition": "Reusable definition of a digital activity (module) that can be selected by a healthcare professional and presented to a patient as part of the care process. The activity describes what the patient will do (e.g., read information, complete a questionnaire, perform a home measurement) and provides the information needed to start or access the activity when applicable.",
        "alias": [
          "DigitaleActiviteit"
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-9",
            "comment": "DigitalActivity"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Identifier",
        "path": "pt-lm-DigitalActivity.Identifier",
        "short": "Identifier",
        "definition": "Business identifier for this digital activity definition.",
        "alias": [
          "Identificatie"
        ],
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-31",
            "comment": "Identifier"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Title",
        "path": "pt-lm-DigitalActivity.Title",
        "short": "Title",
        "definition": "Short, human-friendly title for the digital activity.",
        "alias": [
          "Titel"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-10",
            "comment": "Title"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Status",
        "path": "pt-lm-DigitalActivity.Status",
        "short": "Status",
        "definition": "Lifecycle status of the digital activity.",
        "alias": [
          "Status"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/publication-status"
        },
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-11",
            "comment": "Status"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Publisher",
        "path": "pt-lm-DigitalActivity.Publisher",
        "short": "Publisher",
        "definition": "Organization responsible for the content/functionality of this digital activity and its maintenance.",
        "alias": [
          "Uitgever"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-12",
            "comment": "Publisher"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Description",
        "path": "pt-lm-DigitalActivity.Description",
        "short": "Description",
        "definition": "Guidance on how this digital activity should be used in clinical workflows.",
        "alias": [
          "Omschrijving"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "markdown"
          }
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-13",
            "comment": "Description"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Schedule[x]",
        "path": "pt-lm-DigitalActivity.Schedule[x]",
        "short": "Schedule",
        "definition": "Generic recommendation for how often/when the activity is typically performed. Patient-specific scheduling belongs in the execution order.",
        "alias": [
          "Tijdschema"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          },
          {
            "code": "Period"
          },
          {
            "code": "Timing"
          }
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-14",
            "comment": "Schedule"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Usage",
        "path": "pt-lm-DigitalActivity.Usage",
        "short": "Usage",
        "definition": "A detailed description of how the digital activity is used from a clinical perspective. In the MedMij use case, this text is intended for the healthcare professional who is selecting and assigning the activity to the patient.",
        "alias": [
          "Gebruik"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-30",
            "comment": "Usage"
          }
        ]
      },
      {
        "id": "pt-lm-DigitalActivity.Endpoint",
        "path": "pt-lm-DigitalActivity.Endpoint",
        "short": "Endpoint",
        "definition": "Mandatory reference to the service application (endpoint) that provides the launchable digital activity. Can be more than one endpoint.",
        "alias": [
          "Endpoint"
        ],
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://medmij.nl/fhir/StructureDefinition/pt-lm-Endpoint"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "pt-dataset-100-alpha1-20260511",
            "map": "pt-dataelement-36",
            "comment": "Endpoint"
          }
        ]
      }
    ]
  }
}