FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

Clinical Decision Support icon Work Group Maturity Level: 3Trial Use Compartments: N/A

The data-requirements operation aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition.

The canonical URL for this operation definition is

 http://hl7.org/fhir/OperationDefinition/Library-data-requirements

Formal Definition (as a OperationDefinition).

URL: [base]/$data-requirements

URL: [base]/Library/[id]/$data-requirements

This is an idempotent operation

In Parameters:
Name Scope Cardinality Type Binding Profile Documentation
target 0..1 string

The target of the data requirements operation

Out Parameters:
Name Scope Cardinality Type Binding Profile Documentation
return 1..1 Library

The result of the requirements gathering

Note: as this is the only out parameter, it is a resource, and it has the name 'return', the result of this operation is returned directly as a resource

The effect of invoking this operation is to determine the aggregate set of data requirements and dependencies for a given target resource. The result is a Library resource with a type of module-definition that contains all the parameter definitions and data requirements of the target resource and any libraries referenced by it. Implementations SHOULD aggregate data requirements intelligently (i.e. by collapsing overlapping data requirements)

Request: Request data requirements for the CMS146 library

GET [base]/Library/library-cms146-example/$data-requirements

Response: Returned on successful evaluation

HTTP/1.1 200 OK

{
  "resourceType" : "Library",
  "type" : {
    "coding" : [{
      "code" : "module-definition"
    }]
  },
  "relatedArtifact" : [{
    "type" : "depends-on",
    "resource" : "http://hl7.org/fhir/Library/library-quick-model-definition"
  }],
  "dataRequirement" : [{
    "type" : "Condition",
    "codeFilter" : [{
      "path" : "code",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.111.12.1006"
    }]
  },
  {
    "type" : "Patient"
  },
  {
    "type" : "Condition",
    "codeFilter" : [{
      "path" : "category",
      "code" : [{
        "code" : "diagnosis"
      }]
    },
    {
      "path" : "clinicalStatus",
      "code" : [{
        "code" : "confirmed"
      }]
    },
    {
      "path" : "code",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.102.12.1011"
    }]
  },
  {
    "type" : "Condition",
    "codeFilter" : [{
      "path" : "category",
      "code" : [{
        "code" : "diagnosis"
      }]
    },
    {
      "path" : "clinicalStatus",
      "code" : [{
        "code" : "confirmed"
      }]
    },
    {
      "path" : "code",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.102.12.1012"
    }]
  },
  {
    "type" : "Encounter",
    "codeFilter" : [{
      "path" : "status",
      "code" : [{
        "code" : "finished"
      }]
    },
    {
      "path" : "class",
      "code" : [{
        "code" : "ambulatory"
      }]
    },
    {
      "path" : "type",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.101.12.1061"
    }]
  },
  {
    "type" : "DiagnosticReport",
    "codeFilter" : [{
      "path" : "diagnosis",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.198.12.1012"
    }]
  },
  {
    "type" : "Medication",
    "codeFilter" : [{
      "path" : "code",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.196.12.1001"
    }]
  },
  {
    "type" : "MedicationRequest",
    "codeFilter" : [{
      "path" : "status",
      "code" : [{
        "code" : "active"
      }]
    },
    {
      "path" : "medication.code",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.196.12.1001"
    }]
  },
  {
    "type" : "MedicationUsage",
    "codeFilter" : [{
      "path" : "status",
      "code" : [{
        "code" : "completed"
      }]
    },
    {
      "path" : "medication.code",
      "valueSet" : "urn:oid:2.16.840.1.113883.3.464.1003.196.12.1001"
    }]
  }]
}

 

For more information about operations, including how they are invoked, see Operations.