### ----------------------------------------------------
### -- FHIR
### -- Licenses: Artistic-2.0
### -- Authors: Hugh Simpson
### -- File: t/resources/structureDefinition/TestReport.json
### ----------------------------------------------------
### -- Chunk 9 of 9
" : "The uri of the participant. An absolute URL is preferred.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "uri"
      }]
    },
    {
      "id" : "TestReport.participant.display",
      "path" : "TestReport.participant.display",
      "short" : "The display name of the participant",
      "definition" : "The display name of the participant.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "TestReport.setup",
      "path" : "TestReport.setup",
      "short" : "The results of the series of required setup operations before the tests were executed",
      "definition" : "The results of the series of required setup operations before the tests were executed.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "TestReport.setup.action",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
        "valueString" : "SetupAction"
      }],
      "path" : "TestReport.setup.action",
      "short" : "A setup operation or assert that was executed",
      "definition" : "Action would contain either an operation or an assertion.",
      "comment" : "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
      "min" : 1,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "inv-1",
        "severity" : "error",
        "human" : "Setup action SHALL contain either an operation or assert but not both.",
        "expression" : "operation.exists() xor assert.exists()",
        "xpath" : "(f:operation or f:assert) and not(f:operation and f:assert)"
      }]
    },
    {
      "id" : "TestReport.setup.action.operation",
      "path" : "TestReport.setup.action.operation",
      "short" : "The operation to perform",
      "definition" : "The operation performed.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "TestReport.setup.action.operation.result",
      "path" : "TestReport.setup.action.operation.result",
      "short" : "pass | skip | fail | warning | error",
      "definition" : "The result of this operation.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "code"
      }],
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TestReportActionResult"
        }],
        "strength" : "required",
        "description" : "The results of executing an action.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/report-action-result-codes|4.0.0"
      }
    },
    {
      "id" : "TestReport.setup.action.operation.message",
      "path" : "TestReport.setup.action.operation.message",
      "short" : "A message associated with the result",
      "definition" : "An explanatory message associated with the result.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "markdown"
      }]
    },
    {
      "id" : "TestReport.setup.action.operation.detail",
      "path" : "TestReport.setup.action.operation.detail",
      "short" : "A link to further details on the result",
      "definition" : "A link to further details on the result.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "uri"
      }]
    },
    {
      "id" : "TestReport.setup.action.assert",
      "path" : "TestReport.setup.action.assert",
      "short" : "The assertion to perform",
      "definition" : "The results of the assertion performed on the previous operations.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "TestReport.setup.action.assert.result",
      "path" : "TestReport.setup.action.assert.result",
      "short" : "pass | skip | fail | warning | error",
      "definition" : "The result of this assertion.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "code"
      }],
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TestReportActionResult"
        }],
        "strength" : "required",
        "description" : "The results of executing an action.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/report-action-result-codes|4.0.0"
      }
    },
    {
      "id" : "TestReport.setup.action.assert.message",
      "path" : "TestReport.setup.action.assert.message",
      "short" : "A message associated with the result",
      "definition" : "An explanatory message associated with the result.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "markdown"
      }]
    },
    {
      "id" : "TestReport.setup.action.assert.detail",
      "path" : "TestReport.setup.action.assert.detail",
      "short" : "A link to further details on the result",
      "definition" : "A link to further details on the result.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "TestReport.test",
      "path" : "TestReport.test",
      "short" : "A test executed from the test script",
      "definition" : "A test executed from the test script.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "TestReport.test.name",
      "path" : "TestReport.test.name",
      "short" : "Tracking/logging name of this test",
      "definition" : "The name of this test used for tracking/logging purposes by test engines.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "TestReport.test.description",
      "path" : "TestReport.test.description",
      "short" : "Tracking/reporting short description of the test",
      "definition" : "A short description of the test used by test engines for tracking and reporting purposes.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "TestReport.test.action",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
        "valueString" : "TestAction"
      }],
      "path" : "TestReport.test.action",
      "short" : "A test operation or assert that was performed",
      "definition" : "Action would contain either an operation or an assertion.",
      "comment" : "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
      "min" : 1,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "inv-2",
        "severity" : "error",
        "human" : "Test action SHALL contain either an operation or assert but not both.",
        "expression" : "operation.exists() xor assert.exists()",
        "xpath" : "(f:operation or f:assert) and not(f:operation and f:assert)"
      }]
    },
    {
      "id" : "TestReport.test.action.operation",
      "path" : "TestReport.test.action.operation",
      "short" : "The operation performed",
      "definition" : "An operation would involve a REST request to a server.",
      "min" : 0,
      "max" : "1",
      "contentReference" : "#TestReport.setup.action.operation"
    },
    {
      "id" : "TestReport.test.action.assert",
      "path" : "TestReport.test.action.assert",
      "short" : "The assertion performed",
      "definition" : "The results of the assertion performed on the previous operations.",
      "min" : 0,
      "max" : "1",
      "contentReference" : "#TestReport.setup.action.assert"
    },
    {
      "id" : "TestReport.teardown",
      "path" : "TestReport.teardown",
      "short" : "The results of running the series of required clean up steps",
      "definition" : "The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise).",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "TestReport.teardown.action",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
        "valueString" : "TeardownAction"
      }],
      "path" : "TestReport.teardown.action",
      "short" : "One or more teardown operations performed",
      "definition" : "The teardown action will only contain an operation.",
      "comment" : "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
      "min" : 1,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "TestReport.teardown.action.operation",
      "path" : "TestReport.teardown.action.operation",
      "short" : "The teardown operation performed",
      "definition" : "An operation would involve a REST request to a server.",
      "min" : 1,
      "max" : "1",
      "contentReference" : "#TestReport.setup.action.operation"
    }]
  }
}


