Content Management Infrastructure Implementation Guide
0.1.0 - ballot United States of America flag

Content Management Infrastructure Implementation Guide, published by Clinical Decision Support WG. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/HL7/Content-Management-Infrastructure-IG/ and changes regularly. See the Directory of published versions

: Library Packaging - JSON Representation

Draft as of 2019-11-01

Raw json | Download


{
  "resourceType" : "OperationDefinition",
  "id" : "Library-package",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h2>LibraryPackaging</h2><p>OPERATION: LibraryPackaging</p><p>The official URL for this operation definition is: </p><pre>http://hl7.org/fhir/uv/cmi/OperationDefinition/Library-package</pre><div><p>Packages the contents referenced by an asset-collection library such as a quality program release or version manifest.</p>\n</div><p>URL: [base]/Library/$package</p><p>URL: [base]/Library/[id]/$package</p><p>Parameters</p><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</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>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 the library to package. The server must know the library (e.g. it is defined explicitly in the server's libraries)</p>\n</div></td></tr><tr><td>IN</td><td>url</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 library. The server must know the library (e.g. it is defined explicitly in the server's libraries</p>\n</div></td></tr><tr><td>IN</td><td>version</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 library to be used for packaging</p>\n</div></td></tr><tr><td>IN</td><td>identifier</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 library to be packaged. The server must know the library and the identifier must resolve unambiguously to a single library on the server.</p>\n</div></td></tr><tr><td>IN</td><td>capability</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 computable elements in packaged content, <code>executable</code> to include executable elements in packaged content, <code>publishable</code> to include publishable elements in packaged content.</p>\n</div></td></tr><tr><td>IN</td><td>offset</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 number of records (not number of pages)</p>\n</div></td></tr><tr><td>IN</td><td>count</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. If count = 0, the client is asking how large the package is.</p>\n</div></td></tr><tr><td>IN</td><td>system-version</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 system, if the library or value set does not already specify which one to use. The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56</p>\n</div></td></tr><tr><td>IN</td><td>check-system-version</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 system. If a library or value set specifies a different version, an error is returned instead of the package. The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56</p>\n</div></td></tr><tr><td>IN</td><td>force-system-version</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 system. This parameter overrides any specified version in the library and value sets (and any it depends on). The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56. Note that this has obvious safety issues, in that it may result in a value set expansion giving a different list of codes that is both wrong and unsafe, and implementers should only use this capability reluctantly. It primarily exists to deal with situations where specifications have fallen into decay as time passes. If the value is override, the version used SHALL explicitly be represented in the expansion parameters</p>\n</div></td></tr><tr><td>IN</td><td>manifest</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 systems referenced by the value set(s) being expanded. When specified, code systems identified as <code>depends-on</code> related artifacts in the library have the same meaning as specifying that code system version in the <code>system-version</code> parameter.</p>\n</div></td></tr><tr><td>IN</td><td>include-dependencies</td><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Specifies whether to include known (i.e. present on the server) dependencies of the library in the resulting package, recursively (default = true)</p>\n</div></td></tr><tr><td>IN</td><td>include-components</td><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Specifies whether to include known (i.e. present on the server) components of the library in the resulting package, recursively (default = true)</p>\n</div></td></tr><tr><td>OUT</td><td>return</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 dependency resources referenced by the library that are known to the server (if include-dependencies is true), and all the component resources referenced by the library that are known to the server (if include-components is true). For example, a measure repository SHALL include all the required library resources, but would not necessarily have the ValueSet resources referenced by the measure.</p>\n</div></td></tr></table><div><p>This operation is used to retrieve the contents associated with a particular library such as a quality program, including the use of the quality program as a binding parameters specification to identify code system and value set versions that should be used for expansion of value sets used by measures in the quality program.</p>\n</div></div>"
  },
  "url" : "http://hl7.org/fhir/uv/cmi/OperationDefinition/Library-package",
  "version" : "0.1.0",
  "name" : "LibraryPackaging",
  "title" : "Library Packaging",
  "status" : "draft",
  "kind" : "operation",
  "date" : "2019-11-01T09:29:23+11:00",
  "publisher" : "Clinical Decision Support WG",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/dss"
        }
      ]
    }
  ],
  "description" : "Packages the contents referenced by an asset-collection library such as a quality program release or version manifest.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "US"
        }
      ]
    }
  ],
  "code" : "package",
  "comment" : "This operation is used to retrieve the contents associated with a particular library such as a quality program, including the use of the quality program as a binding parameters specification to identify code system and value set versions that should be used for expansion of value sets used by measures in the quality program.",
  "resource" : [
    "Library"
  ],
  "system" : false,
  "type" : true,
  "instance" : true,
  "parameter" : [
    {
      "name" : "id",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The logical id of the library to package. The server must know the library (e.g. it is defined explicitly in the server's libraries)",
      "type" : "string"
    },
    {
      "name" : "url",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "A canonical reference to a library. The server must know the library (e.g. it is defined explicitly in the server's libraries",
      "type" : "uri"
    },
    {
      "name" : "version",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The version of the library to be used for packaging",
      "type" : "string"
    },
    {
      "name" : "identifier",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "A business identifier of the library to be packaged. The server must know the library and the identifier must resolve unambiguously to a single library on the server.",
      "type" : "string",
      "searchType" : "token"
    },
    {
      "name" : "capability",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "A desired capability of the resulting package. `computable` to include computable elements in packaged content, `executable` to include executable elements in packaged content, `publishable` to include publishable elements in packaged content.",
      "type" : "string"
    },
    {
      "name" : "offset",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Paging support - where to start if a subset is desired (default = 0). Offset is number 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. If count = 0, the client is asking how large the package is.",
      "type" : "integer"
    },
    {
      "name" : "system-version",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Specifies a version to use for a system, if the library or value set does not already specify which one to use. The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56",
      "type" : "canonical"
    },
    {
      "name" : "check-system-version",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Edge Case: Specifies a version to use for a system. If a library or value set specifies a different version, an error is returned instead of the package. The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56",
      "type" : "canonical"
    },
    {
      "name" : "force-system-version",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Edge Case: Specifies a version to use for a system. This parameter overrides any specified version in the library and value sets (and any it depends on). The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56. Note that this has obvious safety issues, in that it may result in a value set expansion giving a different list of codes that is both wrong and unsafe, and implementers should only use this capability reluctantly. It primarily exists to deal with situations where specifications have fallen into decay as time passes. If the value is override, the version used SHALL explicitly be represented in the expansion parameters",
      "type" : "canonical"
    },
    {
      "name" : "manifest",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Specifies an asset-collection library that defines version bindings for code systems referenced by the value set(s) being expanded. When specified, code systems identified as `depends-on` related artifacts in the library have the same meaning as specifying that code system version in the `system-version` parameter.",
      "type" : "canonical"
    },
    {
      "name" : "include-dependencies",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Specifies whether to include known (i.e. present on the server) dependencies of the library in the resulting package, recursively (default = true)",
      "type" : "boolean"
    },
    {
      "name" : "include-components",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Specifies whether to include known (i.e. present on the server) components of the library in the resulting package, recursively (default = true)",
      "type" : "boolean"
    },
    {
      "name" : "return",
      "use" : "out",
      "min" : 1,
      "max" : "1",
      "documentation" : "The result of the packaging. Servers generating packages SHALL include all the dependency resources referenced by the library that are known to the server (if include-dependencies is true), and all the component resources referenced by the library that are known to the server (if include-components is true). For example, a measure repository SHALL include all the required library resources, but would not necessarily have the ValueSet resources referenced by the measure.",
      "type" : "Bundle"
    }
  ]
}