{
  "resourceType": "StructureDefinition",
  "id": "request-statusReason",
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/request-statusReason",
  "version": "4.0.0",
  "name": "statusReason",
  "title": "Reason for current status",
  "status": "draft",
  "date": "2017-12-06",
  "publisher": "Health Level Seven, Inc. - FHIR WG",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/special/committees/fwg"
        }
      ]
    }
  ],
  "description": "Captures the reason for the current state of the resource.",
  "fhirVersion": "4.0.0",
  "mapping": [
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "type": "element",
      "expression": "DeviceRequest"
    },
    {
      "type": "element",
      "expression": "ServiceRequest"
    },
    {
      "type": "element",
      "expression": "NutritionOrder"
    },
    {
      "type": "element",
      "expression": "SupplyRequest"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "Reason for current status",
        "definition": "Captures the reason for the current state of the resource.",
        "comment": "This is generally only used for \"exception\" statuses such as \"suspended\" or \"cancelled\".  The reason for performing the request at all is captured in reasonCode, not here.  (Distinct reason codes for different statuses can be enforced using invariants if they are universal bindings).",
        "min": 0,
        "max": "1",
        "mapping": [
          {
            "identity": "v2",
            "map": "Varies by domain"
          },
          {
            "identity": "rim",
            "map": ".inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde"
          }
        ]
      },
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "http://hl7.org/fhir/StructureDefinition/request-statusReason"
      },
      {
        "id": "Extension.valueCodeableConcept",
        "path": "Extension.valueCodeableConcept",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "StatusReason"
            }
          ],
          "strength": "example",
          "description": "Codes identifying the reason for the current state of an event."
        }
      }
    ]
  }
}