@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/Library/computable-example> a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "computable-example"] ; # 
  fhir:meta [
     fhir:profile ( [
       fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"^^xsd:anyURI ;
       fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary>
     ] )
  ] ; # 
  fhir:language [ fhir:v "en"] ; # 
  fhir:text [
     fhir:status [ fhir:v "generated" ] ;
     fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\"><h2>Related Artifacts</h2><table class=\"grid\"><tr><td>depends-on</td><td>FHIR model information</td><td><code>http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1</code></td></tr><tr><td>depends-on</td><td>Library FHIRHelpers</td><td><code>http://ecqi.healthit.gov/ecqms/Library/FHIRHelpers|4.1.000</code></td></tr><tr><td>depends-on</td><td>Code system LOINC</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">Logical Observation Identifiers, Names and Codes (LOINC)</a></td></tr><tr><td>depends-on</td><td>Code system SNOMEDCT</td><td><a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">SNOMED CT (all versions)</a></td></tr><tr><td>depends-on</td><td>Code system RoleCode</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-RoleCode.html\">RoleCode</a></td></tr><tr><td>depends-on</td><td>Code system Diagnosis Role</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-diagnosis-role.html\">Diagnosis Role</a></td></tr><tr><td>depends-on</td><td>Code system RequestIntent</td><td><code>http://terminology.hl7.org/CodeSystem/request-intent</code></td></tr><tr><td>depends-on</td><td>Code system MedicationRequestCategory</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-medicationrequest-category.html\">MedicationRequest Category Codes</a></td></tr><tr><td>depends-on</td><td>Code system ConditionClinicalStatusCodes</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-clinical.html\">Condition Clinical Status Codes</a></td></tr><tr><td>depends-on</td><td>Code system ConditionVerificationStatusCodes</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-ver-status.html\">ConditionVerificationStatus</a></td></tr><tr><td>depends-on</td><td>Code system AllergyIntoleranceClinicalStatusCodes</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-allergyintolerance-clinical.html\">AllergyIntolerance Clinical Status Codes</a></td></tr><tr><td>depends-on</td><td>Code system AllergyIntoleranceVerificationStatusCodes</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-allergyintolerance-verification.html\">AllergyIntolerance Verification Status</a></td></tr></table><h2>Parameters</h2><table class=\"grid\"><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr></table><h2>Data Requirements</h2><table class=\"grid\"><tr><td colspan=\"2\"><b>Type</b>: <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a> (<a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>)</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class=\"language-sql\">library FHIRCommon version '4.1.000'\r\n\r\nusing FHIR version '4.0.1'\r\n\r\ninclude FHIRHelpers version '4.1.000'\r\n\r\n\r\ncodesystem &quot;LOINC&quot;: 'http://loinc.org'\r\ncodesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'\r\ncodesystem &quot;RoleCode&quot;: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'\r\ncodesystem &quot;Diagnosis Role&quot;: 'http://terminology.hl7.org/CodeSystem/diagnosis-role'\r\ncodesystem &quot;RequestIntent&quot;: 'http://terminology.hl7.org/CodeSystem/request-intent'\r\ncodesystem &quot;MedicationRequestCategory&quot;: 'http://terminology.hl7.org/CodeSystem/medicationrequest-category'\r\ncodesystem &quot;ConditionClinicalStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/condition-clinical'\r\ncodesystem &quot;ConditionVerificationStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/condition-ver-status'\r\ncodesystem &quot;AllergyIntoleranceClinicalStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical'\r\ncodesystem &quot;AllergyIntoleranceVerificationStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification'\r\n\r\n//Currently unresolveable in VSAC:\r\n//valueset &quot;Active Condition&quot;: 'http://fhir.org/guides/cqf/common/ValueSet/active-condition'\r\n//valueset &quot;Inactive Condition&quot;: 'http://fhir.org/guides/cqf/common/ValueSet/inactive-condition'\r\n\r\ncode &quot;Birthdate&quot;: '21112-8' from &quot;LOINC&quot; display 'Birth date'\r\ncode &quot;Dead&quot;: '419099009' from &quot;SNOMEDCT&quot; display 'Dead'\r\ncode &quot;ER&quot;: 'ER' from &quot;RoleCode&quot; display 'Emergency room'\r\ncode &quot;ICU&quot;: 'ICU' from &quot;RoleCode&quot; display 'Intensive care unit'\r\ncode &quot;Billing&quot;: 'billing' from &quot;Diagnosis Role&quot; display 'Billing'\r\n\r\n// Condition Clinical Status Codes - Consider value sets for these\r\ncode &quot;active&quot;: 'active' from &quot;ConditionClinicalStatusCodes&quot;\r\ncode &quot;recurrence&quot;: 'recurrence' from &quot;ConditionClinicalStatusCodes&quot;\r\ncode &quot;relapse&quot;: 'relapse' from &quot;ConditionClinicalStatusCodes&quot;\r\ncode &quot;inactive&quot;: 'inactive' from &quot;ConditionClinicalStatusCodes&quot;\r\ncode &quot;remission&quot;: 'remission' from &quot;ConditionClinicalStatusCodes&quot;\r\ncode &quot;resolved&quot;: 'resolved' from &quot;ConditionClinicalStatusCodes&quot;\r\n\r\n// Condition Verification Status Codes - Consider value sets for these\r\ncode &quot;unconfirmed&quot;: 'unconfirmed' from ConditionVerificationStatusCodes\r\ncode &quot;provisional&quot;: 'provisional' from ConditionVerificationStatusCodes\r\ncode &quot;differential&quot;: 'differential' from ConditionVerificationStatusCodes\r\ncode &quot;confirmed&quot;: 'confirmed' from ConditionVerificationStatusCodes\r\ncode &quot;refuted&quot;: 'refuted' from ConditionVerificationStatusCodes\r\ncode &quot;entered-in-error&quot;: 'entered-in-error' from ConditionVerificationStatusCodes\r\n\r\ncode &quot;allergy-active&quot;: 'active' from &quot;AllergyIntoleranceClinicalStatusCodes&quot;\r\ncode &quot;allergy-inactive&quot;: 'inactive' from &quot;AllergyIntoleranceClinicalStatusCodes&quot;\r\ncode &quot;allergy-resolved&quot;: 'resolved' from &quot;AllergyIntoleranceClinicalStatusCodes&quot;\r\n\r\n// Allergy/Intolerance Verification Status Codes - Consider value sets for these\r\ncode &quot;allergy-unconfirmed&quot;: 'unconfirmed' from AllergyIntoleranceVerificationStatusCodes\r\ncode &quot;allergy-confirmed&quot;: 'confirmed' from AllergyIntoleranceVerificationStatusCodes\r\ncode &quot;allergy-refuted&quot;: 'refuted' from AllergyIntoleranceVerificationStatusCodes\r\n\r\n// MedicationRequest Category Codes\r\ncode &quot;Community&quot;: 'community' from &quot;MedicationRequestCategory&quot; display 'Community'\r\ncode &quot;Discharge&quot;: 'discharge' from &quot;MedicationRequestCategory&quot; display 'Discharge'\r\n\r\n// Diagnosis Role Codes\r\ncode &quot;AD&quot;: 'AD' from &quot;Diagnosis Role&quot; display 'Admission diagnosis'\r\ncode &quot;DD&quot;: 'DD' from &quot;Diagnosis Role&quot; display 'Discharge diagnosis'\r\ncode &quot;CC&quot;: 'CC' from &quot;Diagnosis Role&quot; display 'Chief complaint'\r\ncode &quot;CM&quot;: 'CM' from &quot;Diagnosis Role&quot; display 'Comorbidity diagnosis'\r\ncode &quot;pre-op&quot;: 'pre-op' from &quot;Diagnosis Role&quot; display 'pre-op diagnosis'\r\ncode &quot;post-op&quot;: 'post-op' from &quot;Diagnosis Role&quot; display 'post-op diagnosis'\r\ncode &quot;billing&quot;: 'billing' from &quot;Diagnosis Role&quot; display 'billing diagnosis'\r\n\r\ncontext Patient\r\n\r\n/*\r\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\r\n@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types\r\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\r\nrepresentations for timing-valued elements in FHIR, allowing this function to be used across any resource. NOTE: Due to the\r\ncomplexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used\r\nwith a Timing or String.\r\n*/\r\ndefine function ToInterval(choice Choice&lt;FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range&gt;):\r\n  case\r\n	  when choice is FHIR.dateTime then\r\n    	Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\r\n		when choice is FHIR.Period then\r\n  		FHIRHelpers.ToInterval(choice as FHIR.Period)\r\n		when choice is FHIR.instant then\r\n			Interval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]\r\n		when choice is FHIR.Age then\r\n		  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),\r\n			  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)\r\n		when choice is FHIR.Range then\r\n		  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),\r\n			  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)\r\n		when choice is FHIR.Timing then\r\n		  Message(null as Interval&lt;DateTime&gt;, true, '1', 'Error', 'Cannot compute a single interval from a Timing type')\r\n    when choice is FHIR.string then\r\n      Message(null as Interval&lt;DateTime&gt;, true, '1', 'Error', 'Cannot compute an interval from a String value')\r\n		else\r\n			null as Interval&lt;DateTime&gt;\r\n	end\r\n\r\n/*\r\n@description: Returns an interval representing the normalized Abatement of a given Condition resource.\r\n@comment: NOTE: Due to the complexity of determining an interval from a String, this function will throw\r\na run-time exception if used with a Condition instance that has a String as the abatement value.\r\n*/\r\ndefine function ToAbatementInterval(condition Condition):\r\n	if condition.abatement is FHIR.dateTime then\r\n	  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\r\n	else if condition.abatement is FHIR.Period then\r\n	  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\r\n	else if condition.abatement is FHIR.string then\r\n    Message(null as Interval&lt;DateTime&gt;, true, '1', 'Error', 'Cannot compute an interval from a String value')\r\n	else if condition.abatement is FHIR.Age then\r\n		Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\r\n			FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\r\n	else if condition.abatement is FHIR.Range then\r\n	  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).low),\r\n		  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).high) + 1 year)\r\n	else if condition.abatement is FHIR.boolean then\r\n	  Interval[end of ToInterval(condition.onset), condition.recordedDate)\r\n	else null\r\n\r\n/*\r\n@description: Returns an interval representing the normalized prevalence period of a given Condition resource.\r\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\r\nonset to abatement as specified in the given Condition.\r\n*/\r\ndefine function ToPrevalenceInterval(condition Condition):\r\nif condition.clinicalStatus ~ &quot;active&quot;\r\n  or condition.clinicalStatus ~ &quot;recurrence&quot;\r\n  or condition.clinicalStatus ~ &quot;relapse&quot; then\r\n  Interval[start of ToInterval(condition.onset), end of ToAbatementInterval(condition)]\r\nelse\r\n  Interval[start of ToInterval(condition.onset), end of ToAbatementInterval(condition))\r\n\r\n/*\r\n@description: Returns any extensions defined on the given resource with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the\r\nCQL model info.\r\n*/\r\ndefine function Extensions(domainResource DomainResource, url String):\r\n  domainResource.extension E\r\n	  where E.url = url\r\n		return E\r\n\r\n/*\r\n@description: Returns the single extension (if present) on the given resource with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function Extension(domainResource DomainResource, url String):\r\n  singleton from &quot;Extensions&quot;(domainResource, url)\r\n\r\n/*\r\n@description: Returns any extensions defined on the given element with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function Extensions(element Element, url String):\r\n  element.extension E\r\n	  where E.url = url\r\n		return E\r\n\r\n/*\r\n@description: Returns the single extension (if present) on the given element with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function Extension(element Element, url String):\r\n  singleton from Extensions(element, url)\r\n\r\n/*\r\n@description: Returns any modifier extensions defined on the given resource with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the\r\nCQL model info.\r\n*/\r\ndefine function ModifierExtensions(domainResource DomainResource, url String):\r\n  domainResource.modifierExtension E\r\n	  where E.url = url\r\n		return E\r\n\r\n/*\r\n@description: Returns the single modifier extension (if present) on the given resource with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function ModifierExtension(domainResource DomainResource, url String):\r\n  singleton from ModifierExtensions(domainResource, url)\r\n\r\n/*\r\n@description: Returns any modifier extensions defined on the given element with the specified url.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function ModifierExtensions(element BackboneElement, url String):\r\n  element.modifierExtension E\r\n	  where E.url = url\r\n		return E\r\n\r\n/*\r\n@description: Returns the single modifier extension (if present) on the given element with the specified url.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function ModifierExtension(element BackboneElement, url String):\r\n  singleton from ModifierExtensions(element, url)\r\n\r\n/*\r\n@description: Returns any base-FHIR extensions defined on the given resource with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseExtensions(domainResource DomainResource, id String):\r\n  domainResource.extension E\r\n	  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n		return E\r\n\r\n/*\r\n@description: Returns the single base-FHIR extension (if present) on the given resource with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseExtension(domainResource DomainResource, id String):\r\n  singleton from BaseExtensions(domainResource, id)\r\n\r\n/*\r\n@description: Returns any base-FHIR extensions defined on the given element with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseExtensions(element Element, id String):\r\n  element.extension E\r\n	  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n		return E\r\n\r\n/*\r\n@description: Returns the single base-FHIR extension (if present) on the given element with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseExtension(element Element, id String):\r\n  singleton from BaseExtensions(element, id)\r\n\r\n/*\r\n@description: Returns any base-FHIR modifier extensions defined on the given resource with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseModifierExtensions(domainResource DomainResource, id String):\r\n  domainResource.modifierExtension E\r\n	  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n		return E\r\n\r\n/*\r\n@description: Returns the single base-FHIR modifier extension (if present) on the given resource with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseModifierExtension(domainResource DomainResource, id String):\r\n  singleton from BaseModifierExtensions(domainResource, id)\r\n\r\n/*\r\n@description: Returns any base-FHIR modifier extensions defined on the given element with the specified id.\r\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\r\ncontent that is defined by extensions but not yet surfaced in the CQL model info.\r\n*/\r\ndefine function BaseModifierExtensions(element BackboneElement, id String):\r\n  element.modifierExtension E\r\n	  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + id)\r\n		return E\r\n\r\n/*\r\n@description: Returns the single base-FHIR extension (if present) on the given element with the specified id.\r\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\r\nis more than one extension on the given resource with the specified url.\r\n*/\r\ndefine function BaseModifierExtension(element BackboneElement, id String):\r\n  singleton from BaseModifierExtensions(element, id)</code></pre><p><code>Content not shown - (</code><code>application/elm+xml</code>, size = 212Kb )</p><p><code>Content not shown - (</code><code>application/elm+json</code>, size = 404Kb )</p></div>"
  ] ; # 
  fhir:contained ( [
     a fhir:Parameters ;
     fhir:id [ fhir:v "options" ] ;
     fhir:parameter ( [
       fhir:name [ fhir:v "translatorVersion" ] ;
       fhir:value [ fhir:v "2.9.0-SNAPSHOT" ]
     ] [
       fhir:name [ fhir:v "option" ] ;
       fhir:value [ fhir:v "EnableAnnotations" ]
     ] [
       fhir:name [ fhir:v "option" ] ;
       fhir:value [ fhir:v "EnableLocators" ]
     ] [
       fhir:name [ fhir:v "option" ] ;
       fhir:value [ fhir:v "DisableListDemotion" ]
     ] [
       fhir:name [ fhir:v "option" ] ;
       fhir:value [ fhir:v "DisableListPromotion" ]
     ] [
       fhir:name [ fhir:v "format" ] ;
       fhir:value [ fhir:v "XML" ]
     ] [
       fhir:name [ fhir:v "format" ] ;
       fhir:value [ fhir:v "JSON" ]
     ] [
       fhir:name [ fhir:v "analyzeDataRequirements" ] ;
       fhir:value [ fhir:v "true"^^xsd:boolean ]
     ] [
       fhir:name [ fhir:v "collapseDataRequirements" ] ;
       fhir:value [ fhir:v "true"^^xsd:boolean ]
     ] [
       fhir:name [ fhir:v "compatibilityLevel" ] ;
       fhir:value [ fhir:v "1.5" ]
     ] [
       fhir:name [ fhir:v "enableCqlOnly" ] ;
       fhir:value [ fhir:v "false"^^xsd:boolean ]
     ] [
       fhir:name [ fhir:v "errorLevel" ] ;
       fhir:value [ fhir:v "Info" ]
     ] [
       fhir:name [ fhir:v "signatureLevel" ] ;
       fhir:value [ fhir:v "None" ]
     ] [
       fhir:name [ fhir:v "validateUnits" ] ;
       fhir:value [ fhir:v "true"^^xsd:boolean ]
     ] [
       fhir:name [ fhir:v "verifyOnly" ] ;
       fhir:value [ fhir:v "false"^^xsd:boolean ]
     ] )
  ] ) ; # 
  fhir:extension ( [
     fhir:url [ fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem"^^xsd:anyURI ] ;
     fhir:value [
       a fhir:Reference ;
       fhir:link <http://hl7.org/fhir/uv/crmi/Device/cqf-tooling> ;
       fhir:reference [ fhir:v "Device/cqf-tooling" ]
     ]
  ] [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions"^^xsd:anyURI ] ;
     fhir:value [
       a fhir:Reference ;
       fhir:reference [ fhir:v "#options" ]
     ]
  ] ) ; # 
  fhir:url [ fhir:v "http://hl7.org/fhir/uv/crmi/Library/computable-example"^^xsd:anyURI] ; # 
  fhir:identifier ( [
     fhir:system [ fhir:v "urn:ietf:rfc:3986"^^xsd:anyURI ] ;
     fhir:value [ fhir:v "urn:oid:2.16.840.1.113883.4.642.40.38.28.3" ]
  ] ) ; # 
  fhir:version [ fhir:v "1.0.0"] ; # 
  fhir:name [ fhir:v "FHIRCommonComputable"] ; # 
  fhir:title [ fhir:v "FHIR Common (Computable Example)"] ; # 
  fhir:status [ fhir:v "active"] ; # 
  fhir:experimental [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:type [
     fhir:coding ( [
       fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ;
       fhir:code [ fhir:v "logic-library" ]
     ] )
  ] ; # 
  fhir:date [ fhir:v "2022-11-16T17:19:08+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 "This library defines terminologies and functions commonly used in FHIR-based CQL artifacts.\n"] ; # 
  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:relatedArtifact ( [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "FHIR model information" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Library FHIRHelpers" ] ;
     fhir:resource [
       fhir:v "http://ecqi.healthit.gov/ecqms/Library/FHIRHelpers|4.1.000"^^xsd:anyURI ;
       fhir:link <http://ecqi.healthit.gov/ecqms/Library/FHIRHelpers|4.1.000>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system LOINC" ] ;
     fhir:resource [
       fhir:v "http://loinc.org"^^xsd:anyURI ;
       fhir:link <http://loinc.org>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system SNOMEDCT" ] ;
     fhir:resource [
       fhir:v "http://snomed.info/sct"^^xsd:anyURI ;
       fhir:link <http://snomed.info/sct>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system RoleCode" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/v3-RoleCode"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/v3-RoleCode>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system Diagnosis Role" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/diagnosis-role"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/diagnosis-role>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system RequestIntent" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/request-intent"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/request-intent>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system MedicationRequestCategory" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/medicationrequest-category"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/medicationrequest-category>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system ConditionClinicalStatusCodes" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/condition-clinical"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/condition-clinical>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system ConditionVerificationStatusCodes" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/condition-ver-status"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/condition-ver-status>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system AllergyIntoleranceClinicalStatusCodes" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system AllergyIntoleranceVerificationStatusCodes" ] ;
     fhir:resource [
       fhir:v "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification"^^xsd:anyURI ;
       fhir:link <http://terminology.hl7.org/CodeSystem/allergyintolerance-verification>
     ]
  ] ) ; # 
  fhir:parameter ( [
     fhir:name [ fhir:v "Patient" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "Patient" ]
  ] ) ; # 
  fhir:dataRequirement ( [
     fhir:type [ fhir:v "Patient" ] ;
     fhir:profile ( [
       fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Patient>
     ] )
  ] ) ; # 
  fhir:content ( [
     fhir:contentType [ fhir:v "text/cql" ] ;
     fhir:data [ fhir:v "[encoded data, 19984 characters]"^^xsd:base64Binary ]
  ] [
     fhir:contentType [ fhir:v "application/elm+xml" ] ;
     fhir:data [ fhir:v "[encoded data, 290176 characters]"^^xsd:base64Binary ]
  ] [
     fhir:contentType [ fhir:v "application/elm+json" ] ;
     fhir:data [ fhir:v "[encoded data, 552452 characters]"^^xsd:base64Binary ]
  ] ) . # 

<http://hl7.org/fhir/uv/crmi/Device/cqf-tooling> a fhir:uv .

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

