Canonical Resource Management Infrastructure Implementation Guide
1.0.0-ballot - Ballot International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0-ballot: STU1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

: CRMI Package Operation - JSON Representation

Draft as of 2023-03-12

Raw json | Download


{
  "resourceType" : "OperationDefinition",
  "id" : "crmi-package",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>URL: [base]/ActivityDefinition/$crmi.package</p><p>URL: [base]/ActivityDefinition/[id]/$crmi.package</p><p>URL: [base]/CapabilityStatement/$crmi.package</p><p>URL: [base]/CapabilityStatement/[id]/$crmi.package</p><p>URL: [base]/ChargeItemDefinition/$crmi.package</p><p>URL: [base]/ChargeItemDefinition/[id]/$crmi.package</p><p>URL: [base]/CodeSystem/$crmi.package</p><p>URL: [base]/CodeSystem/[id]/$crmi.package</p><p>URL: [base]/CompartmentDefinition/$crmi.package</p><p>URL: [base]/CompartmentDefinition/[id]/$crmi.package</p><p>URL: [base]/ConceptMap/$crmi.package</p><p>URL: [base]/ConceptMap/[id]/$crmi.package</p><p>URL: [base]/EffectEvidenceSynthesis/$crmi.package</p><p>URL: [base]/EffectEvidenceSynthesis/[id]/$crmi.package</p><p>URL: [base]/EventDefinition/$crmi.package</p><p>URL: [base]/EventDefinition/[id]/$crmi.package</p><p>URL: [base]/Evidence/$crmi.package</p><p>URL: [base]/Evidence/[id]/$crmi.package</p><p>URL: [base]/EvidenceVariable/$crmi.package</p><p>URL: [base]/EvidenceVariable/[id]/$crmi.package</p><p>URL: [base]/ExampleScenario/$crmi.package</p><p>URL: [base]/ExampleScenario/[id]/$crmi.package</p><p>URL: [base]/GraphDefinition/$crmi.package</p><p>URL: [base]/GraphDefinition/[id]/$crmi.package</p><p>URL: [base]/ImplementationGuide/$crmi.package</p><p>URL: [base]/ImplementationGuide/[id]/$crmi.package</p><p>URL: [base]/Library/$crmi.package</p><p>URL: [base]/Library/[id]/$crmi.package</p><p>URL: [base]/Measure/$crmi.package</p><p>URL: [base]/Measure/[id]/$crmi.package</p><p>URL: [base]/MessageDefinition/$crmi.package</p><p>URL: [base]/MessageDefinition/[id]/$crmi.package</p><p>URL: [base]/NamingSystem/$crmi.package</p><p>URL: [base]/NamingSystem/[id]/$crmi.package</p><p>URL: [base]/OperationDefinition/$crmi.package</p><p>URL: [base]/OperationDefinition/[id]/$crmi.package</p><p>URL: [base]/PlanDefinition/$crmi.package</p><p>URL: [base]/PlanDefinition/[id]/$crmi.package</p><p>URL: [base]/Questionnaire/$crmi.package</p><p>URL: [base]/Questionnaire/[id]/$crmi.package</p><p>URL: [base]/ResearchDefinition/$crmi.package</p><p>URL: [base]/ResearchDefinition/[id]/$crmi.package</p><p>URL: [base]/ResearchElementDefinition/$crmi.package</p><p>URL: [base]/ResearchElementDefinition/[id]/$crmi.package</p><p>URL: [base]/RiskEvidenceSynthesis/$crmi.package</p><p>URL: [base]/RiskEvidenceSynthesis/[id]/$crmi.package</p><p>URL: [base]/SearchParameter/$crmi.package</p><p>URL: [base]/SearchParameter/[id]/$crmi.package</p><p>URL: [base]/StructureDefinition/$crmi.package</p><p>URL: [base]/StructureDefinition/[id]/$crmi.package</p><p>URL: [base]/StructureMap/$crmi.package</p><p>URL: [base]/StructureMap/[id]/$crmi.package</p><p>URL: [base]/TerminologyCapabilities/$crmi.package</p><p>URL: [base]/TerminologyCapabilities/[id]/$crmi.package</p><p>URL: [base]/TestScript/$crmi.package</p><p>URL: [base]/TestScript/[id]/$crmi.package</p><p>URL: [base]/ValueSet/$crmi.package</p><p>URL: [base]/ValueSet/[id]/$crmi.package</p><p>Parameters</p><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>id</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>The logical id of an existing Resource to package on the server.</p>\n</div></td></tr><tr><td>IN</td><td>url</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#uri\">uri</a></td><td/><td><div><p>A canonical reference to a Resource to package on the server.</p>\n</div></td></tr><tr><td>IN</td><td>version</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>The version of the Resource</p>\n</div></td></tr><tr><td>IN</td><td>identifier</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a><br/>(<a href=\"http://hl7.org/fhir/R4/search.html#token\">token</a>)</td><td/><td><div><p>A business identifier of the Resource.</p>\n</div></td></tr><tr><td>IN</td><td>capability</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>A desired capability of the resulting package. <code>computable</code> to include\ncomputable elements in packaged content; <code>executable</code> to include executable\nelements in packaged content; <code>publishable</code> to include publishable elements in\npackaged content.</p>\n</div></td></tr><tr><td>IN</td><td>canonicalVersion</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#canonical\">canonical</a></td><td/><td><div><p>Specifies a version to use for a canonical resource if the artifact referencing\nthe resource does not already specify a version. The format is the same as a canonical URL:\n[url]|[version] - e.g. http://loinc.org|2.56 Note that this is a generalization of the <code>system-version</code>\nparameter to the $expand operation to apply to any canonical resource, including code systems.</p>\n</div></td></tr><tr><td>IN</td><td>checkCanonicalVersion</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#canonical\">canonical</a></td><td/><td><div><p>Edge Case: Specifies a version to use for a canonical resource. If the artifact referencing\nthe resource specifies a different version, an error is returned instead of the package. The\nformat is the same as a canonical URL: [url]|[version] - e.g. http://loinc.org|2.56 Note that\nthis is a generalization of the <code>check-system-version</code> parameter to the $expand operation to\napply to any canonical resource, including code systems.</p>\n</div></td></tr><tr><td>IN</td><td>forceCanonicalVersion</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#canonical\">canonical</a></td><td/><td><div><p>Edge Case: Specifies a version to use for a canonical resource. This parameter overrides any\nspecified version in the artifact (and any artifacts it depends on). The\nformat is the same as a canonical URL: [system]|[version] - e.g.\nhttp://loinc.org|2.56. Note that this has obvious safety issues, in that it may\nresult in a value set expansion giving a different list of codes that is both\nwrong and unsafe, and implementers should only use this capability reluctantly.\nIt primarily exists to deal with situations where specifications have fallen\ninto decay as time passes. If the version of a canonical is overriden, the version used SHALL\nexplicitly be represented in the expansion parameters. Note that this is a generalization of the\n<code>force-system-version</code> parameter to the $expand operation to apply to any canonical resource,\nincluding code systems.</p>\n</div></td></tr><tr><td>IN</td><td>manifest</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#canonical\">canonical</a></td><td/><td><div><p>Specifies an asset-collection library that defines version bindings for code\nsystems and other canonical resources referenced by the value set(s) being expanded\nand other canonical resources referenced by the artifact. When specified, code\nsystems and other canonical resources identified as <code>depends-on</code> related artifacts\nin the manifest library have the same meaning as specifying that code system or other\ncanonical version in the <code>system-version</code> parameter of an expand or the <code>canonicalVersion</code>\nparameter.</p>\n</div></td></tr><tr><td>IN</td><td>offset</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#integer\">integer</a></td><td/><td><div><p>Paging support - where to start if a subset is desired (default = 0). Offset is\nnumber of records (not number of pages)</p>\n</div></td></tr><tr><td>IN</td><td>count</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#integer\">integer</a></td><td/><td><div><p>Paging support - how many resources should be provided in a partial page view.\nIf count = 0, the client is asking how large the package is.</p>\n</div></td></tr><tr><td>IN</td><td>include</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>Specifies what contents should be included in the resulting package. The codes indicate which types of resources should be included, but note that\nthe set of possible resources is determined as all known (i.e. present on the server) dependencies and related artifacts. Possible\nvalues are:</p>\n<ul>\n<li>all (default) - all resource types</li>\n<li>artifact - the specified artifact</li>\n<li>canonical - canonical resources (i.e. resources with a defined url element or that can be canonical resources using the artifact-url extension)</li>\n<li>terminology - terminology resources (i.e. CodeSystem, ValueSet, NamingSystem, ConceptMap)</li>\n<li>conformance - conformance resources (i.e. StructureDefinition, StructureMap, SearchParameter, CompartmentDefinition)</li>\n<li>profiles - profile definitions (i.e. StructureDefinition resources that define profiles)</li>\n<li>extensions - extension definitions (i.e. StructureDefinition resources that define extensions)</li>\n<li>knowledge - knowledge artifacts (i.e. ActivityDefinition, Library, PlanDefinition, Measure, Questionnaire)</li>\n<li>tests - test cases and data (i.e. test cases as defined by the testing specification in this implementation guide)</li>\n<li>examples - example resources (i.e. resources identified as examples in the implementation guide)</li>\n</ul>\n</div></td></tr><tr><td>IN</td><td>packageOnly</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>True to indicate that the resulting package should only include resources that are defined in the implementation guide\nor specification that defines the artifact being packaged. False (default) to indicate that the resulting package should\ninclude resources regardless of what implementation guide or specification they are defined in.</p>\n</div></td></tr><tr><td>IN</td><td>contentEndpoint</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/endpoint.html\">Endpoint</a></td><td/><td><div><p>An endpoint to use to access content (i.e. libraries, activities, measures, questionnaires, and plans) referenced by the\nartifact. If no content endpoint is supplied the evaluation will attempt to\nretrieve content from the server on which the operation is being performed.</p>\n</div></td></tr><tr><td>IN</td><td>terminologyEndpoint</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/endpoint.html\">Endpoint</a></td><td/><td><div><p>An endpoint to use to access terminology (i.e. valuesets, codesystems, naming systems, concept maps, and\nmembership testing) referenced by the Resource. If no terminology endpoint is\nsupplied, the evaluation will attempt to use the server on which the operation\nis being performed as the terminology server.</p>\n</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></td><td/><td><div><p>The result of the packaging. Servers generating packages SHALL include all the\ndependency resources referenced by the artifact that are known to the server and\nspecified by the include parameters.</p>\n<p>For example, a measure repository SHALL include\nall the required library resources, but would not necessarily have the\nValueSet resources referenced by the measure.</p>\n</div></td></tr></table><div><p>TODO: More documentation about the operation, including inline examples:</p>\n<pre><code class=\"language-json\">{\n  &quot;resourceType&quot;: &quot;Bundle&quot;\n}\n</code></pre>\n</div></div>"
  },
  "url" : "http://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-package",
  "version" : "1.0.0-ballot",
  "name" : "CRMIPackage",
  "title" : "CRMI Package",
  "status" : "draft",
  "kind" : "operation",
  "experimental" : false,
  "date" : "2023-03-12",
  "publisher" : "Clinical Decision Support WG",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/dss"
        }
      ]
    }
  ],
  "description" : "Packages a specified canonical resource with dependencies.\n\nSee [$package and $data-requirements](introduction.html)",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001",
          "display" : "World"
        }
      ]
    }
  ],
  "code" : "crmi.package",
  "comment" : "TODO: More documentation about the operation, including inline examples:\n\n```json\n{\n  \"resourceType\": \"Bundle\"\n}\n```",
  "resource" : [
    "ActivityDefinition",
    "CapabilityStatement",
    "ChargeItemDefinition",
    "CodeSystem",
    "CompartmentDefinition",
    "ConceptMap",
    "EffectEvidenceSynthesis",
    "EventDefinition",
    "Evidence",
    "EvidenceVariable",
    "ExampleScenario",
    "GraphDefinition",
    "ImplementationGuide",
    "Library",
    "Measure",
    "MessageDefinition",
    "NamingSystem",
    "OperationDefinition",
    "PlanDefinition",
    "Questionnaire",
    "ResearchDefinition",
    "ResearchElementDefinition",
    "RiskEvidenceSynthesis",
    "SearchParameter",
    "StructureDefinition",
    "StructureMap",
    "TerminologyCapabilities",
    "TestScript",
    "ValueSet"
  ],
  "system" : false,
  "type" : true,
  "instance" : true,
  "parameter" : [
    {
      "name" : "id",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The logical id of an existing Resource to package on the server.",
      "type" : "string"
    },
    {
      "name" : "url",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "A canonical reference to a Resource to package on the server.",
      "type" : "uri"
    },
    {
      "name" : "version",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The version of the Resource",
      "type" : "string"
    },
    {
      "name" : "identifier",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "A business identifier of the Resource.",
      "type" : "string",
      "searchType" : "token"
    },
    {
      "name" : "capability",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "A desired capability of the resulting package. `computable` to include\ncomputable elements in packaged content; `executable` to include executable\nelements in packaged content; `publishable` to include publishable elements in\npackaged content.",
      "type" : "string"
    },
    {
      "name" : "canonicalVersion",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Specifies a version to use for a canonical resource if the artifact referencing \nthe resource does not already specify a version. The format is the same as a canonical URL:\n[url]|[version] - e.g. http://loinc.org|2.56 Note that this is a generalization of the `system-version`\nparameter to the $expand operation to apply to any canonical resource, including code systems.",
      "type" : "canonical"
    },
    {
      "name" : "checkCanonicalVersion",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Edge Case: Specifies a version to use for a canonical resource. If the artifact referencing \nthe resource specifies a different version, an error is returned instead of the package. The\nformat is the same as a canonical URL: [url]|[version] - e.g. http://loinc.org|2.56 Note that\nthis is a generalization of the `check-system-version` parameter to the $expand operation to \napply to any canonical resource, including code systems.",
      "type" : "canonical"
    },
    {
      "name" : "forceCanonicalVersion",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Edge Case: Specifies a version to use for a canonical resource. This parameter overrides any\nspecified version in the artifact (and any artifacts it depends on). The\nformat is the same as a canonical URL: [system]|[version] - e.g.\nhttp://loinc.org|2.56. Note that this has obvious safety issues, in that it may\nresult in a value set expansion giving a different list of codes that is both\nwrong and unsafe, and implementers should only use this capability reluctantly.\nIt primarily exists to deal with situations where specifications have fallen\ninto decay as time passes. If the version of a canonical is overriden, the version used SHALL\nexplicitly be represented in the expansion parameters. Note that this is a generalization of the\n`force-system-version` parameter to the $expand operation to apply to any canonical resource,\nincluding code systems.",
      "type" : "canonical"
    },
    {
      "name" : "manifest",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Specifies an asset-collection library that defines version bindings for code\nsystems and other canonical resources referenced by the value set(s) being expanded\nand other canonical resources referenced by the artifact. When specified, code\nsystems and other canonical resources identified as `depends-on` related artifacts \nin the manifest library have the same meaning as specifying that code system or other\ncanonical version in the `system-version` parameter of an expand or the `canonicalVersion` \nparameter.",
      "type" : "canonical"
    },
    {
      "name" : "offset",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Paging support - where to start if a subset is desired (default = 0). Offset is\nnumber of records (not number of pages)",
      "type" : "integer"
    },
    {
      "name" : "count",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Paging support - how many resources should be provided in a partial page view.\nIf count = 0, the client is asking how large the package is.",
      "type" : "integer"
    },
    {
      "name" : "include",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Specifies what contents should be included in the resulting package. The codes indicate which types of resources should be included, but note that\nthe set of possible resources is determined as all known (i.e. present on the server) dependencies and related artifacts. Possible\nvalues are:\n* all (default) - all resource types\n* artifact - the specified artifact\n* canonical - canonical resources (i.e. resources with a defined url element or that can be canonical resources using the artifact-url extension)\n* terminology - terminology resources (i.e. CodeSystem, ValueSet, NamingSystem, ConceptMap)\n* conformance - conformance resources (i.e. StructureDefinition, StructureMap, SearchParameter, CompartmentDefinition)\n* profiles - profile definitions (i.e. StructureDefinition resources that define profiles)\n* extensions - extension definitions (i.e. StructureDefinition resources that define extensions) \n* knowledge - knowledge artifacts (i.e. ActivityDefinition, Library, PlanDefinition, Measure, Questionnaire)\n* tests - test cases and data (i.e. test cases as defined by the testing specification in this implementation guide)\n* examples - example resources (i.e. resources identified as examples in the implementation guide)",
      "type" : "string"
    },
    {
      "name" : "packageOnly",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "True to indicate that the resulting package should only include resources that are defined in the implementation guide \nor specification that defines the artifact being packaged. False (default) to indicate that the resulting package should \ninclude resources regardless of what implementation guide or specification they are defined in.",
      "type" : "boolean"
    },
    {
      "name" : "contentEndpoint",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "An endpoint to use to access content (i.e. libraries, activities, measures, questionnaires, and plans) referenced by the\nartifact. If no content endpoint is supplied the evaluation will attempt to\nretrieve content from the server on which the operation is being performed.",
      "type" : "Endpoint"
    },
    {
      "name" : "terminologyEndpoint",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "An endpoint to use to access terminology (i.e. valuesets, codesystems, naming systems, concept maps, and\nmembership testing) referenced by the Resource. If no terminology endpoint is\nsupplied, the evaluation will attempt to use the server on which the operation\nis being performed as the terminology server.",
      "type" : "Endpoint"
    },
    {
      "name" : "return",
      "use" : "out",
      "min" : 1,
      "max" : "1",
      "documentation" : "The result of the packaging. Servers generating packages SHALL include all the\ndependency resources referenced by the artifact that are known to the server and \nspecified by the include parameters. \n\nFor example, a measure repository SHALL include\nall the required library resources, but would not necessarily have the\nValueSet resources referenced by the measure.",
      "type" : "Bundle"
    }
  ]
}