{
  "resourceType": "StructureDefinition",
  "id": "Application",
  "url": "http://hl7.org/fhir/StructureDefinition/Application",
  "version": "0.1",
  "name": "Application",
  "status": "draft",
  "publisher": "Synapxe",
  "copyright": "Copyright (C) 2024 Synapxe",
  "fhirVersion": "5.0.0",
  "kind": "resource",
  "abstract": false,
  "type": "Application",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "Application",
        "path": "Application",
        "constraint": [
          {
            "key": "dom-3",
            "severity": "error",
            "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
            "expression": "contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()"
          }
        ]
      },
      {
        "id": "Application.identifier",
        "path": "Application.identifier",
        "max": "1",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.name",
        "path": "Application.name",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.version",
        "path": "Application.version",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.ownerCluster",
        "path": "Application.ownerCluster",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.synapxe.sg/CodeSystem/cluster"
        }
      },
      {
        "id": "Application.domain",
        "path": "Application.domain",
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/ApplicationDomain"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.subdomain",
        "path": "Application.subdomain",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.systemId",
        "path": "Application.systemId",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.criticality",
        "path": "Application.criticality",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.synapxe.sg/ValueSet/system-criticality"
        }
      },
      {
        "id": "Application.internetFacing",
        "path": "Application.internetFacing",
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.functionalAnalyst",
        "path": "Application.functionalAnalyst",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.manager",
        "path": "Application.manager",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.assignedResource",
        "path": "Application.assignedResource",
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.assignedResource.assignmentType",
        "path": "Application.assignedResource.assignmentType",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      },
      {
        "id": "Application.assignedResource.userId",
        "path": "Application.assignedResource.userId",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false
      }
    ]
  }
}