@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-release> a fhir:OperationDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "crmi-release"] ; # 
  fhir:text [
     fhir:status [ fhir:v "extensions" ] ;
     fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>URL: [base]/ActivityDefinition/$release</p><p>URL: [base]/ActivityDefinition/[id]/$release</p><p>URL: [base]/CapabilityStatement/$release</p><p>URL: [base]/CapabilityStatement/[id]/$release</p><p>URL: [base]/CodeSystem/$release</p><p>URL: [base]/CodeSystem/[id]/$release</p><p>URL: [base]/CompartmentDefinition/$release</p><p>URL: [base]/CompartmentDefinition/[id]/$release</p><p>URL: [base]/ConceptMap/$release</p><p>URL: [base]/ConceptMap/[id]/$release</p><p>URL: [base]/ExampleScenario/$release</p><p>URL: [base]/ExampleScenario/[id]/$release</p><p>URL: [base]/GraphDefinition/$release</p><p>URL: [base]/GraphDefinition/[id]/$release</p><p>URL: [base]/ImplementationGuide/$release</p><p>URL: [base]/ImplementationGuide/[id]/$release</p><p>URL: [base]/Library/$release</p><p>URL: [base]/Library/[id]/$release</p><p>URL: [base]/Measure/$release</p><p>URL: [base]/Measure/[id]/$release</p><p>URL: [base]/Medication/$release</p><p>URL: [base]/Medication/[id]/$release</p><p>URL: [base]/MedicationKnowledge/$release</p><p>URL: [base]/MedicationKnowledge/[id]/$release</p><p>URL: [base]/MessageDefinition/$release</p><p>URL: [base]/MessageDefinition/[id]/$release</p><p>URL: [base]/NamingSystem/$release</p><p>URL: [base]/NamingSystem/[id]/$release</p><p>URL: [base]/OperationDefinition/$release</p><p>URL: [base]/OperationDefinition/[id]/$release</p><p>URL: [base]/PlanDefinition/$release</p><p>URL: [base]/PlanDefinition/[id]/$release</p><p>URL: [base]/Questionnaire/$release</p><p>URL: [base]/Questionnaire/[id]/$release</p><p>URL: [base]/SearchParameter/$release</p><p>URL: [base]/SearchParameter/[id]/$release</p><p>URL: [base]/StructureDefinition/$release</p><p>URL: [base]/StructureDefinition/[id]/$release</p><p>URL: [base]/StructureMap/$release</p><p>URL: [base]/StructureMap/[id]/$release</p><p>URL: [base]/Substance/$release</p><p>URL: [base]/Substance/[id]/$release</p><p>URL: [base]/TerminologyCapabilities/$release</p><p>URL: [base]/TerminologyCapabilities/[id]/$release</p><p>URL: [base]/TestScript/$release</p><p>URL: [base]/TestScript/[id]/$release</p><p>URL: [base]/ValueSet/$release</p><p>URL: [base]/ValueSet/[id]/$release</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>1..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 artifact to release. The server must know the artifact (e.g. it is defined explicitly in the server's artifacts)</p>\n</div></td></tr><tr><td>IN</td><td>version</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>Specifies the version to be applied—based on the version behavior specified—to the artifact being released and any referenced owned components.</p>\n</div></td></tr><tr><td>IN</td><td>versionBehavior</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#code\">code</a></td><td><a href=\"ValueSet-crmi-release-version-behavior.html\">CRMI Release Version Behavior</a> (Required)</td><td><div><p>Indicates the behavior with which the 'version' parameter should applied to the artifact being released and its components.</p>\n</div></td></tr><tr><td>IN</td><td>requireVersionSpecificReferences</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Indicates that the release operation will throw an error if any version-independent references, for which there is no corresponding entry in the version manifest, are found in the artifact. (default = false)</p>\n</div></td></tr><tr><td>IN</td><td>requireActiveReferences</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Indicates that the release operation will throw an error if any 'draft' or 'retired' dependencies are found. (default = false)</p>\n</div></td></tr><tr><td>IN</td><td>latestFromTxServer</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Indicates whether or not the terminology server from which a value set was originally downloaded should be checked for the latest version. The terminolgy server of origin is tracked via the authoritativeSource extension (https://hl7.org/fhir/extension-valueset-authoritativesource.html) on the value set. If this flag is set to false or the value set does not have an authoritativeSource specified, then the check should be constrained to the local system/cache. (default = false)</p>\n</div></td></tr><tr><td>IN</td><td>experimentalBehavior</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#code\">code</a></td><td><a href=\"ValueSet-crmi-release-experimental-behavior.html\">CRMI Release Experimental Behavior</a> (Required)</td><td><div><p>Indicates whether the repository should throw an error, log a warning or not validate if a specification which is not Experimental references Experimental components</p>\n</div></td></tr><tr><td>IN</td><td>releaseLabel</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>Specifies a release label to be applied to the artifact(s) being released</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 Bundle result containing the released resource(s)</p>\n</div></td></tr></table><div><p>The release operation supports the ability of an authoring repository to transition an artifact and, transitively, any referenced and owned (as indicated by the 'crmiOwned' extension on the RelatedArtifact reference) component artifacts to a released state. The operation SHALL update the status of all owned components to 'active' and update their date to the current date. The operation SHALL ensure that all references for which a version is determined are recorded in the version manifest. For both components and dependencies, if versions are not specified in the relevant reference, the operation will lookup the version to be used in the version manifest.\\n\\nWhen 'requireVersionSpecificReferences' is true then all references SHALL either be version-specific or, if they are not, an entry SHALL exist in the version manifest to specify which version of the referenced resource should be used. If, 'requireVersionSpecificReferences' is true and there exists a reference that is not version-specific and no entry exists in the version manifest for the referenced resource, the program is considered to be in an invalid state and not eligible for release. If 'requireVersionSpecificReferences' is false (the default), then unversioned references are valid and the artifact can be released in that state - deferring the version determination to the consumer.\\n\\nWhen 'requireActiveReferences' is true then the operation SHALL throw an error if any 'draft' or 'retired' dependencies are found.</p>\n</div></div>"
  ] ; # 
  fhir:extension ( [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"^^xsd:anyURI ] ;
     fhir:value [ fhir:v "cds" ]
  ] ) ; # 
  fhir:url [ fhir:v "http://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-release"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "1.0.0"] ; # 
  fhir:name [ fhir:v "CRMIRelease"] ; # 
  fhir:title [ fhir:v "CRMI Release"] ; # 
  fhir:status [ fhir:v "active"] ; # 
  fhir:kind [ fhir:v "operation"] ; # 
  fhir:experimental [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:date [ fhir:v "2024-05-31T16:42:56+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "HL7 International / Clinical Decision Support"] ; # 
  fhir:contact ( [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://www.hl7.org/Special/committees/dss" ]
     ] )
  ] ) ; # 
  fhir:description [ fhir:v "The release operation supports updating the status of an existing draft artifact to active. The operation sets the date element of the resource and pins versions of all direct and transitive references and records them in the program's manifest. Child artifacts (i.e. artifacts of which the existing artifact is composed) are also released, recursively."] ; # 
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] ) ; # 
  fhir:code [ fhir:v "release"] ; # 
  fhir:comment [ fhir:v "The release operation supports the ability of an authoring repository to transition an artifact and, transitively, any referenced and owned (as indicated by the 'crmiOwned' extension on the RelatedArtifact reference) component artifacts to a released state. The operation SHALL update the status of all owned components to 'active' and update their date to the current date. The operation SHALL ensure that all references for which a version is determined are recorded in the version manifest. For both components and dependencies, if versions are not specified in the relevant reference, the operation will lookup the version to be used in the version manifest.\\n\\nWhen 'requireVersionSpecificReferences' is true then all references SHALL either be version-specific or, if they are not, an entry SHALL exist in the version manifest to specify which version of the referenced resource should be used. If, 'requireVersionSpecificReferences' is true and there exists a reference that is not version-specific and no entry exists in the version manifest for the referenced resource, the program is considered to be in an invalid state and not eligible for release. If 'requireVersionSpecificReferences' is false (the default), then unversioned references are valid and the artifact can be released in that state - deferring the version determination to the consumer.\\n\\nWhen 'requireActiveReferences' is true then the operation SHALL throw an error if any 'draft' or 'retired' dependencies are found."] ; # 
  fhir:resource ( [ fhir:v "ActivityDefinition"] [ fhir:v "CapabilityStatement"] [ fhir:v "CodeSystem"] [ fhir:v "CompartmentDefinition"] [ fhir:v "ConceptMap"] [ fhir:v "ExampleScenario"] [ fhir:v "GraphDefinition"] [ fhir:v "ImplementationGuide"] [ fhir:v "Library"] [ fhir:v "Measure"] [ fhir:v "Medication"] [ fhir:v "MedicationKnowledge"] [ fhir:v "MessageDefinition"] [ fhir:v "NamingSystem"] [ fhir:v "OperationDefinition"] [ fhir:v "PlanDefinition"] [ fhir:v "Questionnaire"] [ fhir:v "SearchParameter"] [ fhir:v "StructureDefinition"] [ fhir:v "StructureMap"] [ fhir:v "Substance"] [ fhir:v "TerminologyCapabilities"] [ fhir:v "TestScript"] [ fhir:v "ValueSet"] ) ; # 
  fhir:system [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:type [ fhir:v "true"^^xsd:boolean] ; # 
  fhir:instance [ fhir:v "true"^^xsd:boolean] ; # 
  fhir:parameter ( [
     fhir:name [ fhir:v "id" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The logical id of the artifact to release. The server must know the artifact (e.g. it is defined explicitly in the server's artifacts)" ] ;
     fhir:type [ fhir:v "string" ]
  ] [
     fhir:name [ fhir:v "version" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Specifies the version to be applied—based on the version behavior specified—to the artifact being released and any referenced owned components." ] ;
     fhir:type [ fhir:v "string" ]
  ] [
     fhir:name [ fhir:v "versionBehavior" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Indicates the behavior with which the 'version' parameter should applied to the artifact being released and its components." ] ;
     fhir:type [ fhir:v "code" ] ;
     fhir:binding [
       fhir:strength [ fhir:v "required" ] ;
       fhir:valueSet [
         fhir:v "http://hl7.org/fhir/uv/crmi/ValueSet/crmi-release-version-behavior"^^xsd:anyURI ;
         fhir:link <http://hl7.org/fhir/uv/crmi/ValueSet/crmi-release-version-behavior>
       ]
     ]
  ] [
     fhir:name [ fhir:v "requireVersionSpecificReferences" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Indicates that the release operation will throw an error if any version-independent references, for which there is no corresponding entry in the version manifest, are found in the artifact. (default = false)" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "requireActiveReferences" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Indicates that the release operation will throw an error if any 'draft' or 'retired' dependencies are found. (default = false)" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "latestFromTxServer" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Indicates whether or not the terminology server from which a value set was originally downloaded should be checked for the latest version. The terminolgy server of origin is tracked via the authoritativeSource extension (https://hl7.org/fhir/extension-valueset-authoritativesource.html) on the value set. If this flag is set to false or the value set does not have an authoritativeSource specified, then the check should be constrained to the local system/cache. (default = false)" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "experimentalBehavior" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Indicates whether the repository should throw an error, log a warning or not validate if a specification which is not Experimental references Experimental components" ] ;
     fhir:type [ fhir:v "code" ] ;
     fhir:binding [
       fhir:strength [ fhir:v "required" ] ;
       fhir:valueSet [
         fhir:v "http://hl7.org/fhir/uv/crmi/ValueSet/crmi-release-experimental-behavior"^^xsd:anyURI ;
         fhir:link <http://hl7.org/fhir/uv/crmi/ValueSet/crmi-release-experimental-behavior>
       ]
     ]
  ] [
     fhir:name [ fhir:v "releaseLabel" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Specifies a release label to be applied to the artifact(s) being released" ] ;
     fhir:type [ fhir:v "string" ]
  ] [
     fhir:name [ fhir:v "return" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "1"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The Bundle result containing the released resource(s)" ] ;
     fhir:type [ fhir:v "Bundle" ]
  ] ) . # 

# -------------------------------------------------------------------------------------

