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
Draft as of 2019-11-01 |
<OperationDefinition xmlns="http://hl7.org/fhir">
<id value="Library-data-requirements"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml"><h2>LibraryDataRequirements</h2><p>OPERATION: LibraryDataRequirements</p><p>The official URL for this operation definition is: </p><pre>http://hl7.org/fhir/uv/cmi/OperationDefinition/Library-data-requirements</pre><div><p>Determines the effective data requirements for the library, including known components and dependencies, and optionally informed by a version manifest.</p>
</div><p>URL: [base]/Library/$data-requirements</p><p>URL: [base]/Library/[id]/$data-requirements</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 analyze. The server must know the library (e.g. it is defined explicitly in the server's libraries)</p>
</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>
</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 analyze</p>
</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 analyzed. The server must know the library and the identifier must resolve unambiguously to a single library on the server.</p>
</div></td></tr><tr><td>IN</td><td>expression</td><td>0..*</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td/><td><div><p>The name of a specific expression to be considered for analysis. If no expressions are specified, the analysis is performed on the entire library. If expressions are specified, the analysis is performed only on the expressions specified.</p>
</div></td></tr><tr><td>IN</td><td>parameters</td><td>0..1</td><td><a href="http://hl7.org/fhir/R4/parameters.html">Parameters</a></td><td/><td><div><p>Any input parameters for the artifact. Parameters defined in this input will be bound by name to parameters defined in the CQL library (or referenced libraries). Parameter types are mapped to CQL as specified in the Using CQL section of this implementation guide. If a parameter appears more than once in the input Parameters resource, it is represented with a List in the input CQL. If a parameter has parts, it is represented as a Tuple in the input CQL.</p>
</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>
</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>
</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>
</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 value set(s) or other artifacts used in the artifact. 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>
</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 follow known dependencies of the artifact as part of the analysis, recursively (default = true)</p>
</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 follow known components of the artifact as part of the analysis, recursively (default = true)</p>
</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 requirements operation is a <em>module-definition</em> Library that returns the computed effective requirements of the artifact.</p>
</div></td></tr></table><div><p>The requirements operation supports the ability of a repository to determine the effective requirements of an artifact, including terminology usage (code systems, value sets, and direct-reference codes), parameters, dependencies (artifacts), and data requirements</p>
</div></div>
</text>
<url
value="http://hl7.org/fhir/uv/cmi/OperationDefinition/Library-data-requirements"/>
<version value="0.1.0"/>
<name value="LibraryDataRequirements"/>
<title value="Library Data Requirements"/>
<status value="draft"/>
<kind value="operation"/>
<date value="2019-11-01T09:29:23+11:00"/>
<publisher value="Clinical Decision Support WG"/>
<contact>
<telecom>
<system value="url"/>
<value value="http://www.hl7.org/Special/committees/dss"/>
</telecom>
</contact>
<description
value="Determines the effective data requirements for the library, including known components and dependencies, and optionally informed by a version manifest."/>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="US"/>
</coding>
</jurisdiction>
<code value="data-requirements"/>
<comment
value="The requirements operation supports the ability of a repository to determine the effective requirements of an artifact, including terminology usage (code systems, value sets, and direct-reference codes), parameters, dependencies (artifacts), and data requirements"/>
<resource value="Library"/>
<system value="false"/>
<type value="true"/>
<instance value="true"/>
<parameter>
<name value="id"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="The logical id of the library to analyze. The server must know the library (e.g. it is defined explicitly in the server's libraries)"/>
<type value="string"/>
</parameter>
<parameter>
<name value="url"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="A canonical reference to a library. The server must know the library (e.g. it is defined explicitly in the server's libraries"/>
<type value="uri"/>
</parameter>
<parameter>
<name value="version"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation value="The version of the library to analyze"/>
<type value="string"/>
</parameter>
<parameter>
<name value="identifier"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="A business identifier of the library to be analyzed. The server must know the library and the identifier must resolve unambiguously to a single library on the server."/>
<type value="string"/>
<searchType value="token"/>
</parameter>
<parameter>
<name value="expression"/>
<use value="in"/>
<min value="0"/>
<max value="*"/>
<documentation
value="The name of a specific expression to be considered for analysis. If no expressions are specified, the analysis is performed on the entire library. If expressions are specified, the analysis is performed only on the expressions specified."/>
<type value="string"/>
</parameter>
<parameter>
<name value="parameters"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="Any input parameters for the artifact. Parameters defined in this input will be bound by name to parameters defined in the CQL library (or referenced libraries). Parameter types are mapped to CQL as specified in the Using CQL section of this implementation guide. If a parameter appears more than once in the input Parameters resource, it is represented with a List in the input CQL. If a parameter has parts, it is represented as a Tuple in the input CQL."/>
<type value="Parameters"/>
</parameter>
<parameter>
<name value="system-version"/>
<use value="in"/>
<min value="0"/>
<max value="*"/>
<documentation
value="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 value="canonical"/>
</parameter>
<parameter>
<name value="check-system-version"/>
<use value="in"/>
<min value="0"/>
<max value="*"/>
<documentation
value="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 value="canonical"/>
</parameter>
<parameter>
<name value="force-system-version"/>
<use value="in"/>
<min value="0"/>
<max value="*"/>
<documentation
value="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 value="canonical"/>
</parameter>
<parameter>
<name value="manifest"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="Specifies an asset-collection library that defines version bindings for code systems referenced by value set(s) or other artifacts used in the artifact. 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 value="canonical"/>
</parameter>
<parameter>
<name value="include-dependencies"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="Specifies whether to follow known dependencies of the artifact as part of the analysis, recursively (default = true)"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="include-components"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="Specifies whether to follow known components of the artifact as part of the analysis, recursively (default = true)"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="return"/>
<use value="out"/>
<min value="1"/>
<max value="1"/>
<documentation
value="The result of the requirements operation is a _module-definition_ Library that returns the computed effective requirements of the artifact."/>
<type value="Bundle"/>
</parameter>
</OperationDefinition>