FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: OperationDefinition/crmi-license-requirements

Packagehl7.fhir.uv.crmi
Resource TypeOperationDefinition
Idcrmi-license-requirements
FHIR VersionR4
Sourcehttp://hl7.org/fhir/uv/crmi/https://build.fhir.org/ig/HL7/crmi-ig/OperationDefinition-crmi-license-requirements.html
URLhttp://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-license-requirements
Version2.0.0-cibuild
Statusactive
Date2025-07-25T17:10:20+00:00
NameCRMILicenseRequirements
TitleCRMI License Requirements
Realmuv
Authorityhl7
DescriptionObtains the license and copyright information for a resource and it's dependencies. Returns a parameters resource with: * canonical (reference to the artifact) * publisher * copyright * license and license detail
Typetrue
Kindoperation

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: OperationDefinition crmi-license-requirements

URL: [base]/ActivityDefinition/$crmi.license-requirements

URL: [base]/ActivityDefinition/[id]/$crmi.license-requirements

URL: [base]/CapabilityStatement/$crmi.license-requirements

URL: [base]/CapabilityStatement/[id]/$crmi.license-requirements

URL: [base]/ChargeItemDefinition/$crmi.license-requirements

URL: [base]/ChargeItemDefinition/[id]/$crmi.license-requirements

URL: [base]/CodeSystem/$crmi.license-requirements

URL: [base]/CodeSystem/[id]/$crmi.license-requirements

URL: [base]/CompartmentDefinition/$crmi.license-requirements

URL: [base]/CompartmentDefinition/[id]/$crmi.license-requirements

URL: [base]/ConceptMap/$crmi.license-requirements

URL: [base]/ConceptMap/[id]/$crmi.license-requirements

URL: [base]/EffectEvidenceSynthesis/$crmi.license-requirements

URL: [base]/EffectEvidenceSynthesis/[id]/$crmi.license-requirements

URL: [base]/EventDefinition/$crmi.license-requirements

URL: [base]/EventDefinition/[id]/$crmi.license-requirements

URL: [base]/Evidence/$crmi.license-requirements

URL: [base]/Evidence/[id]/$crmi.license-requirements

URL: [base]/EvidenceVariable/$crmi.license-requirements

URL: [base]/EvidenceVariable/[id]/$crmi.license-requirements

URL: [base]/ExampleScenario/$crmi.license-requirements

URL: [base]/ExampleScenario/[id]/$crmi.license-requirements

URL: [base]/GraphDefinition/$crmi.license-requirements

URL: [base]/GraphDefinition/[id]/$crmi.license-requirements

URL: [base]/ImplementationGuide/$crmi.license-requirements

URL: [base]/ImplementationGuide/[id]/$crmi.license-requirements

URL: [base]/Library/$crmi.license-requirements

URL: [base]/Library/[id]/$crmi.license-requirements

URL: [base]/Measure/$crmi.license-requirements

URL: [base]/Measure/[id]/$crmi.license-requirements

URL: [base]/MessageDefinition/$crmi.license-requirements

URL: [base]/MessageDefinition/[id]/$crmi.license-requirements

URL: [base]/NamingSystem/$crmi.license-requirements

URL: [base]/NamingSystem/[id]/$crmi.license-requirements

URL: [base]/OperationDefinition/$crmi.license-requirements

URL: [base]/OperationDefinition/[id]/$crmi.license-requirements

URL: [base]/PlanDefinition/$crmi.license-requirements

URL: [base]/PlanDefinition/[id]/$crmi.license-requirements

URL: [base]/Questionnaire/$crmi.license-requirements

URL: [base]/Questionnaire/[id]/$crmi.license-requirements

URL: [base]/ResearchDefinition/$crmi.license-requirements

URL: [base]/ResearchDefinition/[id]/$crmi.license-requirements

URL: [base]/ResearchElementDefinition/$crmi.license-requirements

URL: [base]/ResearchElementDefinition/[id]/$crmi.license-requirements

URL: [base]/RiskEvidenceSynthesis/$crmi.license-requirements

URL: [base]/RiskEvidenceSynthesis/[id]/$crmi.license-requirements

URL: [base]/SearchParameter/$crmi.license-requirements

URL: [base]/SearchParameter/[id]/$crmi.license-requirements

URL: [base]/StructureDefinition/$crmi.license-requirements

URL: [base]/StructureDefinition/[id]/$crmi.license-requirements

URL: [base]/StructureMap/$crmi.license-requirements

URL: [base]/StructureMap/[id]/$crmi.license-requirements

URL: [base]/TerminologyCapabilities/$crmi.license-requirements

URL: [base]/TerminologyCapabilities/[id]/$crmi.license-requirements

URL: [base]/TestScript/$crmi.license-requirements

URL: [base]/TestScript/[id]/$crmi.license-requirements

URL: [base]/ValueSet/$crmi.license-requirements

URL: [base]/ValueSet/[id]/$crmi.license-requirements

Parameters

UseNameScopeCardinalityTypeBindingDocumentation
INid0..1string

The logical id of the canonical resource to analyze.

INurl0..1uri

A canonical reference to a canonical resource.

INversion0..1string

The version of the canonical resource to analyze

INidentifier0..1string
(token)

A business identifier of the canonical resource to be analyzed.

INexpression0..*string

The name of a specific expression to be considered for analysis. If no expressions are specified, the analysis is performed on the entire resource. If expressions are specified, the analysis is performed only on the expressions specified.

INparameters0..1Parameters

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.

NOTE: Does this only apply to Library resource types?

INartifactVersion0..*uri

Specifies a version to use for a canonical resource if the artifact referencing the resource does not already specify a version. The format is the same as a canonical URL: [url]|[version] - e.g. http://loinc.org|2.56

Note that this is a generalization of the system-version parameter to the $expand operation to apply to any canonical resource, including code systems.

INcheckArtifactVersion0..*uri

Edge Case: Specifies a version to use for a canonical resource. If the artifact referencing the resource specifies a different version, an error is returned instead of the package. The format is the same as a canonical URL: [url]|[version] - e.g. http://loinc.org|2.56

Note that this is a generalization of the check-system-version parameter to the $expand operation to apply to any canonical resource, including code systems.

INforceArtifactVersion0..*uri

Edge Case: Specifies a version to use for a canonical resource. This parameter overrides any specified version in the artifact (and any artifacts 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 version of a canonical is overriden, the version used SHALL explicitly be represented in the expansion parameters.

Note that this is a generalization of the force-system-version parameter to the $expand operation to apply to any canonical resource, including code systems.

INmanifest0..1uri

Specifies an asset-collection library that defines version bindings for code systems and other canonical resources referenced by the value set(s) being expanded and other canonical resources referenced by the artifact. When specified, code systems and other canonical resources identified as depends-on related artifacts in the manifest library have the same meaning as specifying that code system or other canonical version in the system-version parameter of an expand or the canonicalVersion parameter.

INinclude0..*string

Specifies what contents should be included in the resulting package. The codes indicate which types of resources should be included, but note that the set of possible resources is determined as all known (i.e. present on the server) dependencies and related artifacts. Possible values are:

  • all (default) - all resource types
  • artifact - the specified artifact
  • canonical - canonical resources (i.e. resources with a defined url element or that can be canonical resources using the artifact-url extension)
  • terminology - terminology resources (i.e. CodeSystem, ValueSet, NamingSystem, ConceptMap)
  • conformance - conformance resources (i.e. StructureDefinition, StructureMap, SearchParameter, CompartmentDefinition)
  • profiles - profile definitions (i.e. StructureDefinition resources that define profiles)
  • extensions - extension definitions (i.e. StructureDefinition resources that define extensions)
  • knowledge - knowledge artifacts (i.e. ActivityDefinition, Library, PlanDefinition, Measure, Questionnaire)
  • tests - test cases and data (i.e. test cases as defined by the testing specification in this implementation guide)
  • examples - example resources (i.e. resources identified as examples in the implementation guide)
INcontentEndpoint0..1Endpoint

An endpoint to use to access content (i.e. libraries, activities, measures, questionnaires, and plans) referenced by the artifact. If no content endpoint is supplied the evaluation will attempt to retrieve content from the server on which the operation is being performed.

INterminologyEndpoint0..1Endpoint

An endpoint to use to access terminology (i.e. valuesets, codesystems, naming systems, concept maps, and membership testing) referenced by the Resource. If no terminology endpoint is supplied, the evaluation will attempt to use the server on which the operation is being performed as the terminology server.

OUTreturn1..1Parameters

The result of the requirements operation is a Parameters resource that returns the computed effective license requirements of the artifact.

The requirements operation supports the ability of a repository to determine the dependencies of an artifact, including terminology usage (code systems, value sets, and direct-reference codes).

Example:

Request

GET /Measure/$license-requirements
    ?url=http://acme.org/Measure/my-measure
    &version=1.2.0

Response

{
  "resourceType": "Parameters",
  "parameters": [
    {
      "name": "http://acme.org/Measure/my-measure",
      "parameter": [
        {
          "name": "license",
          "valueCode": "CC0-1.0"
        },
        {
          "name": "publisher",
          "valueString": "Acme Inc"
        },
        {
          "name": "copyright",
          "valueMarkdown": "Copyright notice"
        },
        {
          "name": "canonical",
          "valueCanonical": "http://acme.org/Measure/my-measure|1.2.0"
        }
      ]
    },
    {
      "name": "http://acme.org/Library/my-lib",
      "parameter": [
        {
          "name": "license",
          "valueCode": "not-open-source"
        },
        {
          "name": "license-details",
          "valueMarkdown": "ACME License
You have to pay for it."
        },
        {
          "name": "publisher",
          "valueString": "Acme Inc"
        },
        {
          "name": "copyright",
          "valueMarkdown": "Copyright notice"
        },
        {
          "name": "canonical",
          "valueCanonical": "http://acme.org/Library/my-lib|1.2.0"
        }
      ]
    }
  ]
}

Source

{
  "resourceType": "OperationDefinition",
  "id": "crmi-license-requirements",
  "meta": {
    "profile": [
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation",
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-version-bindable-operation",
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestable-operation"
    ]
  },
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "cds"
    }
  ],
  "url": "http://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-license-requirements",
  "version": "2.0.0-cibuild",
  "name": "CRMILicenseRequirements",
  "title": "CRMI License Requirements",
  "status": "active",
  "kind": "operation",
  "date": "2025-07-25T17:10:20+00:00",
  "publisher": "HL7 International / Clinical Decision Support",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/dss"
        }
      ]
    }
  ],
  "description": "Obtains the license and copyright information for a resource and it's dependencies. Returns a parameters resource with:\n* canonical (reference to the artifact)\n* publisher\n* copyright\n* license and license detail",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001",
          "display": "World"
        }
      ]
    }
  ],
  "code": "crmi.license-requirements",
  "comment": "The requirements operation supports the ability of a repository to determine the\ndependencies of an artifact, including terminology usage (code\nsystems, value sets, and direct-reference codes).\n\n#### Example:\n\n**Request**\n```\nGET /Measure/$license-requirements\n    ?url=http://acme.org/Measure/my-measure\n    &version=1.2.0\n```\n\n**Response**\n```json\n{\n  \"resourceType\": \"Parameters\",\n  \"parameters\": [\n    {\n      \"name\": \"http://acme.org/Measure/my-measure\",\n      \"parameter\": [\n        {\n          \"name\": \"license\",\n          \"valueCode\": \"CC0-1.0\"\n        },\n        {\n          \"name\": \"publisher\",\n          \"valueString\": \"Acme Inc\"\n        },\n        {\n          \"name\": \"copyright\",\n          \"valueMarkdown\": \"Copyright notice\"\n        },\n        {\n          \"name\": \"canonical\",\n          \"valueCanonical\": \"http://acme.org/Measure/my-measure|1.2.0\"\n        }\n      ]\n    },\n    {\n      \"name\": \"http://acme.org/Library/my-lib\",\n      \"parameter\": [\n        {\n          \"name\": \"license\",\n          \"valueCode\": \"not-open-source\"\n        },\n        {\n          \"name\": \"license-details\",\n          \"valueMarkdown\": \"ACME License\nYou have to pay for it.\"\n        },\n        {\n          \"name\": \"publisher\",\n          \"valueString\": \"Acme Inc\"\n        },\n        {\n          \"name\": \"copyright\",\n          \"valueMarkdown\": \"Copyright notice\"\n        },\n        {\n          \"name\": \"canonical\",\n          \"valueCanonical\": \"http://acme.org/Library/my-lib|1.2.0\"\n        }\n      ]\n    }\n  ]\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 the canonical resource to analyze.",
      "type": "string"
    },
    {
      "name": "url",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A canonical reference to a canonical resource.",
      "type": "uri"
    },
    {
      "name": "version",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The version of the canonical resource to analyze",
      "type": "string"
    },
    {
      "name": "identifier",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A business identifier of the canonical resource to be analyzed.",
      "type": "string",
      "searchType": "token"
    },
    {
      "name": "expression",
      "use": "in",
      "min": 0,
      "max": "*",
      "documentation": "The name of a specific expression to be considered for analysis. If no\nexpressions are specified, the analysis is performed on the entire resource. If\nexpressions are specified, the analysis is performed only on the expressions\nspecified.",
      "type": "string"
    },
    {
      "name": "parameters",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "Any input parameters for the artifact. Parameters defined in this input will be\nbound by name to parameters defined in the CQL library (or referenced\nlibraries). Parameter types are mapped to CQL as specified in the Using CQL\nsection of this implementation guide. If a parameter appears more than once in\nthe input Parameters resource, it is represented with a List in the input CQL.\nIf a parameter has parts, it is represented as a Tuple in the input CQL.\n\nNOTE: Does this only apply to Library resource types?",
      "type": "Parameters"
    },
    {
      "name": "artifactVersion",
      "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 \n\nNote that this is a generalization of the `system-version` parameter to the $expand operation \nto apply to any canonical resource, including code systems.",
      "type": "uri"
    },
    {
      "name": "checkArtifactVersion",
      "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 \n\nNote that this is a generalization of the `check-system-version` parameter to the $expand operation to \napply to any canonical resource, including code systems.",
      "type": "uri"
    },
    {
      "name": "forceArtifactVersion",
      "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.\n\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. \n\nNote that this is a generalization of the `force-system-version` parameter to the $expand operation \nto apply to any canonical resource, including code systems.",
      "type": "uri"
    },
    {
      "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": "uri"
    },
    {
      "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": "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 requirements operation is a Parameters resource that\nreturns the computed effective license requirements of the artifact.",
      "type": "Parameters"
    }
  ]
}