Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAT-7895: Upgrading Liquid Templates to version 0.4.6 #260

Merged
merged 2 commits into from
Nov 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,035 changes: 8 additions & 1,027 deletions src/main/resources/templates/Measure.liquid

Large diffs are not rendered by default.

42 changes: 42 additions & 0 deletions src/main/resources/templates/datarequirement.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{% for dataRequirement in include.dataRequirement.distinct() %}
<tr>
<th scope="row" class="row-header">{{include.header}}</th>
<td class="content-container">
<em>Type</em>: {{dataRequirement.type}}
<br />
{% if dataRequirement.profile.exists() %}
<em>Profile(s)</em>:
{% for profile in dataRequirement.profile %}
{{profile}}
<br />
{% endfor %}
{% endif %}
{% if dataRequirement.mustSupport.exists() %}
<em>Must Support Elements</em>: {{dataRequirement.mustSupport.join(', ')}}
<br />
{% endif %}
{% if dataRequirement.codeFilter.exists() %}
<em>Code Filter(s)</em>:
<br />
{% for codeFilter in dataRequirement.codeFilter %}
{% if codeFilter.path.exists() %}
<span class="tab-one"><em>Path</em>: {{codeFilter.path}}</span>
<br />
{% endif %}
{% if codeFilter.searchParam.exists() %}
<span class="tab-one"><em>Search Parameter</em>: {{codeFilter.searchParam}}</span>
<br />
{% endif %}
{% if codeFilter.valueSet.exists() %}
<span class="tab-one"><em>ValueSet</em>:</span> {{codeFilter.valueSet}}
<br />
{% endif %}
{% if codeFilter.code.exists() %}
<span class="tab-one"><em>Code</em>: {{codeFilter.code.join(', ')}}</span>
<br />
{% endif %}
{% endfor %}
{% endif %}
</td>
</tr>
{% endfor %}
3 changes: 3 additions & 0 deletions src/main/resources/templates/default-list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{% for item in include.content %}
{%include row-new.html header=include.header content=item %}
{% endfor %}
3 changes: 3 additions & 0 deletions src/main/resources/templates/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{% if include.content.exists() %}
{%include row-new.html header=include.header content=include.content %}
{% endif %}
14 changes: 14 additions & 0 deletions src/main/resources/templates/direct-reference-code.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{% for directReferenceCode in include.contained.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode' or url = 'http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode') %}
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
{% if directReferenceCode.value.display.exists() %}
<em>Display</em>: {{directReferenceCode.value.display}}
<br />
{% endif %}
<em>Code</em>: {{directReferenceCode.value.code}}
<br />
<em>System</em>: <tt>{{directReferenceCode.value.system.toString()}}</tt>
</td>
</tr>
{% endfor %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{% for cqfmComment in include.resource.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment') %}
{% if cqfmComment.extension.where(url = 'text').exists() %}
{%include default.html header='Comment' content=cqfmComment.extension.where(url = 'text').value %}
{% endif %}
{% endfor %}
{% for cqfComment in include.resource.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/cqf-artifactComment') %}
{% if cqfComment.extension.where(url = 'text').exists() %}
{%include default.html header='Comment' content=cqfComment.extension.where(url = 'text').value %}
{% endif %}
{% endfor %}
{% for cqfKnowledgeCap in include.resource.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability') %}
{%include default.html header='Knowledge Capability' content=cqfKnowledgeCap.value %}
{% endfor %}
{% for cpgKnowledgeCap in include.resource.extension.where(url = 'http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability') %}
{%include default.html header='Knowledge Capability' content=cpgKnowledgeCap.value %}
{% endfor %}
{% for cpgKnowledgeRepLevel in include.resource.extension.where(url = 'http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel') %}
{%include default.html header='Knowledge Representation Level' content=cpgKnowledgeRepLevel.value %}
{% endfor %}
{% for cqfKnowledgeRepLevel in include.resource.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel') %}
{%include default.html header='Knowledge Representation Level' content=cqfKnowledgeRepLevel.value %}
{% endfor %}
22 changes: 22 additions & 0 deletions src/main/resources/templates/knowledge-artifact-metadata.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{%include section-header.html header='Knowledge Artifact Metadata' %}
{%include default.html header='Name (machine-readable)' content=Resource.name %}
{%include default.html header='Title (human-readable)' content=Resource.title %}
{%include default.html header='Subtitle' content=Resource.subtitle %}
{%include default.html header='Status' content=Resource.status %}
{%include default.html header='Experimental' content=Resource.experimental %}
{%include default.html header='Description' content=Resource.description %}
{%include default.html header='Purpose' content=Resource.purpose %}
{%include default.html header='Clinical Usage' content=Resource.usage %}
{%include default.html header='Approval Date' content=Resource.approvalDate %}
{%include period.html header='Effective Period' period=Resource.effectivePeriod %}
{%include default-list.html header='Use Context' content=Resource.useContext %}
{%include default-list.html header='Topic' content=Resource.topic %}
{%include default-list.html header='Measure Developer' content=Resource.author %}
{%include default-list.html header='Measure Editor' content=Resource.editor %}
{%include default-list.html header='Measure Reviewer' content=Resource.reviewer %}
{%include default-list.html header='Measure Endorser' content=Resource.endorser %}
{%include default.html header='Measure Steward' content=Resource.publisher %}
{%include default-list.html header='Steward Contact Details' content=Resource.contact %}
{%include default.html header='Copyright' content=Resource.copyright %}
{%include related-artifact.html relatedArtifact=Resource.relatedArtifact %}
{%include knowledge-artifact-metadata-extensions.html resource=Resource %}
21 changes: 21 additions & 0 deletions src/main/resources/templates/logic-definition.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{% for extension in include.contained.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition' or url = 'http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition') %}
<tr>
<th scope="row" class="row-header" rowspan="2">
{% if extension.extension.where(url = 'name').exists() and extension.extension.where(url = 'libraryName') %}
{% assign logicDefUrl = extension.extension.where(url = 'libraryName').value.lower().replace(' ', '-') + '-' + extension.extension.where(url = 'name').value.lower().replace(' ', '-') %}
<a name="{{logicDefUrl}}"> </a>
{% endif %}
Logic Definition
</th>
{% for lNameExtension in extension.extension.where(url = 'libraryName') %}
<td class="content-container"><em>Library Name:</em> {{lNameExtension.value}}</td>
{% endfor %}
</tr>
<tr>
{% for statementExtension in extension.extension.where(url = 'statement') %}
<td>
<pre class="content-container highlight language-cql" style="border: none;"><code class="language-cql">{{statementExtension.value}}</code></pre>
</td>
{% endfor %}
</tr>
{% endfor %}
20 changes: 20 additions & 0 deletions src/main/resources/templates/measure-identifier.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{% for identifier in include.measure.identifier.where(type.coding.where(code = 'short-name').exists()) %}
{%include default.html header='Short Name Identifier' content=identifier.value %}
{% endfor %}
{% for identifier in include.measure.identifier.where(type.coding.where(code = 'version-independent').exists()) %}
{%include default.html header='Version Independent Identifier' content=identifier.value %}
{% endfor %}
{% for identifier in include.measure.identifier.where(type.coding.where(code = 'version-specific').exists()) %}
{%include default.html header='Version Specific Identifier' content=identifier.value %}
{% endfor %}
{% for identifier in include.measure.identifier.where(type.coding.where(code = 'publisher').exists()) %}
{% if identifier.assigner.display.exists() %}
{%assign pheader = 'Publisher (' + identifier.assigner.display.value + ') Identifier' %}
{%include default.html header=pheader content=identifier.value %}
{% else %}
{%include default.html header='Publisher Identifier' content=identifier.value %}
{% endif %}
{% endfor %}
{% for identifier in include.measure.identifier.where(type.coding.where(code != 'short-name' and code != 'version-independent' and code != 'version-specific' and code != 'publisher').exists()) %}
{%include default.html header='Identifier' content=identifier %}
{% endfor %}
24 changes: 24 additions & 0 deletions src/main/resources/templates/measure-logic.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{% if include.measure.library.exists() %}
{%include section-header.html header='Measure Logic' %}
{%include default.html header='Primary Library' content=include.measure.library %}
{% endif %}

{% if include.measure.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements' or url = 'http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements').exists() %}
{% for contained in include.measure.contained.where(id.contains('effective-data-requirements')) %}
{%include related-artifact.html relatedArtifact=contained.relatedArtifact %}
{%include direct-reference-code.html contained=contained %}
{% for parameter in contained.parameter %}
{%include parameter.html header='Parameter' parameter=parameter %}
{% endfor %}
{% if contained.dataRequirement.exists() %}
<tr>
<th class="section-header" colspan="2" scope="row"><a name="effective-data-requirements"> </a>Measure Logic Data Requirements</th>
</tr>
{% endif %}
{%include datarequirement.html header='Data Requirement' dataRequirement=contained.dataRequirement %}
{% if contained.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition' or url = 'http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition').exists() %}
{%include section-header.html header='Measure Logic Definitions' %}
{% endif %}
{%include logic-definition.html header='Data Requirement' contained=contained %}
{% endfor %}
{% endif %}
11 changes: 11 additions & 0 deletions src/main/resources/templates/measure-metadata-extensions.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{% for supplementalDataGuidance in include.measure.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-supplementalDataGuidance') %}
{% if supplementalDataGuidance.extension.where(url = 'guidance').exists() %}
{%include default.html header='Supplemental Data Guidance' content=supplementalDataGuidance.extension.where(url = 'guidance').value %}
{% endif %}
{% endfor %}
{% for populationBasis in include.measure.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis') %}
{%include default.html header='Population Basis' content=populationBasis.value %}
{% endfor %}
{% for scoringUnit in include.measure.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoringUnit') %}
{%include default.html header='Scoring Unit' content=scoringUnit.value %}
{% endfor %}
19 changes: 19 additions & 0 deletions src/main/resources/templates/measure-metadata.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{% if include.measure.identifier.exists() or include.measure.version.exists() or include.measure.scoring.exists() or
include.measure.compositeScoring.exists() or include.measure.type.exists() or include.measure.riskAdjustment.exists() or
include.measure.rateAggregation.exists() or include.measure.rationale.exists() or include.measure.clinicalRecommendationStatement.exists() or
include.measure.improvementNotation.exists() or include.measure.definition.exists() or include.measure.guidance.exists() %}
{%include section-header.html header='Measure Metadata' %}
{%include measure-identifier.html measure=include.measure %}
{%include default.html header='Version Number' content=include.measure.version %}
{%include default.html header='Measure Scoring' content=include.measure.scoring %}
{%include default.html header='Measure Composite Scoring' content=include.measure.compositeScoring %}
{%include default-list.html header='Measure Type' content=include.measure.type %}
{%include default.html header='Risk Adjustment' content=include.measure.riskAdjustment %}
{%include default.html header='Rate Aggregation' content=include.measure.rateAggregation %}
{%include default.html header='Rationale' content=include.measure.rationale %}
{%include default.html header='Clinical Recommendation Statement' content=include.measure.clinicalRecommendationStatement %}
{%include default.html header='Improvement Notation' content=include.measure.improvementNotation %}
{%include default.html header='Definition' content=include.measure.definition %}
{%include default.html header='Guidance' content=include.measure.guidance %}
{%include measure-metadata-extensions.html measure=include.measure %}
{% endif %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{% for populationBasis in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis') %}
{%include default.html header='Population Basis' content=populationBasis.value %}
{% endfor %}
{% for scoring in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring') %}
{%include default.html header='Scoring' content=scoring.value %}
{% endfor %}
{% for scoringUnit in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoringUnit') %}
{%include default.html header='Scoring Unit' content=scoringUnit.value %}
{% endfor %}
{% for scoringPrecision in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoringPrecision') %}
{%include default.html header='Scoring Precision' content=scoringPrecision.value %}
{% endfor %}
{% for compositeScoring in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-compositeScoring') %}
{%include default.html header='Composite Scoring' content=compositeScoring.value %}
{% endfor %}
{% if include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-component').exists() %}
{%include related-artifact.html relatedArtifact=include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-component').value %}
{% endif %}
{% if include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type').exists() %}
{%include default-list.html header='Type' content=include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type').value %}
{% endif %}
{% for riskAdjustment in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-riskAdjustment') %}
{%include default.html header='Risk Adjustment' content=riskAdjustment.value %}
{% endfor %}
{% for rateAggregation in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation') %}
{%include default.html header='Rate Aggregation' content=rateAggregation.value %}
{% endfor %}
{% for improvementNotation in include.group.extension.where(url = 'http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation') %}
{%include default.html header='Improvement Notation' content=improvementNotation.value %}
{% endfor %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{% for population in include.group.population %}
{% if population.code.exists() and population.code.coding.exists() %}
<tr>
{% if population.code.coding.first().display.exists() %}
{%include row-header.html header=population.code.coding.first().display %}
{% else %}
{% if population.code.coding.where(code = 'initial-population') or population.code.coding.where(code = 'numerator') or population.code.coding.where(code = 'numerator-exclusion') or population.code.coding.where(code = 'denominator') or population.code.coding.where(code = 'denominator-exclusion') or population.code.coding.where(code = 'denominator-exception') or population.code.coding.where(code = 'measure-population') or population.code.coding.where(code = 'measure-population-exclusion') or population.code.coding.where(code = 'measure-observation') %}
{% if population.code.coding.where(code = 'initial-population') %}
{%include row-header.html header='Initial Population' %}
{% endif %}
{% if population.code.coding.where(code = 'numerator') %}
{%include row-header.html header='Numerator' %}
{% endif %}
{% if population.code.coding.where(code = 'numerator-exclusion') %}
{%include row-header.html header='Numerator Exclusion' %}
{% endif %}
{% if population.code.coding.where(code = 'denominator') %}
{%include row-header.html header='Denominator' %}
{% endif %}
{% if population.code.coding.where(code = 'denominator-exclusion') %}
{%include row-header.html header='Denominator Exclusion' %}
{% endif %}
{% if population.code.coding.where(code = 'denominator-exception') %}
{%include row-header.html header='Denominator Exception' %}
{% endif %}
{% if population.code.coding.where(code = 'measure-population') %}
{%include row-header.html header='Measure Population' %}
{% endif %}
{% if population.code.coding.where(code = 'measure-population-exclusion') %}
{%include row-header.html header='Measure Population Exclusion' %}
{% endif %}
{% if population.code.coding.where(code = 'measure-observation') %}
{%include row-header.html header='Measure Observation' %}
{% endif %}
{% else %}
{%include row-header.html header='Unknown Population Type' %}
{% endif %}
{% endif %}
<td class="content-container">
{% if population.id.exists() %}
<em>ID</em>: {{population.id}}
<br />
{% endif %}
{% if population.description.exists() %}
<em>Description</em>:
<p class="tab-one" style="white-space: pre-line">{{population.description}}</p>
{% else %}
<em>Description</em>: No description provided
{% endif %}
{% if population.criteria.exists() %}
{% if population.criteria.language.startsWith('text/cql') and population.criteria.expression.exists() and include.library.exists() %}
{% assign logicDefAnchor = '#' + include.library.first().replaceMatches('.*/Library/', '').lower().replace(' ', '-') + '-' + population.criteria.expression.lower().replace(' ', '-') %}
<em>Logic Definition</em>: <a href="{{logicDefAnchor}}">{{population.criteria.expression}}</a>
{% endif %}
{% endif %}
</td>
</tr>
{% endif %}
{% endfor %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{% for stratifier in include.group.stratifier %}
<tr>
{%include row-header.html header='Stratifier' %}
<td class="content-container">
{% if stratifier.id.exists() %}
<em>ID</em>: {{stratifier.id}}
{% if stratifier.code.exists() or stratifier.description.exists() %}
<br />
{% endif %}
{% endif %}
{% if stratifier.code.exists() %}
{% if stratifier.code.coding.first().display.exists() %}
<em>Code</em>: {{stratifier.code.coding.first().display}}
{% else %}
<em>Code</em>: {{stratifier.code}}
{% endif %}
{% if stratifier.description.exists() %}
<br />
{% endif %}
{% endif %}
{% if stratifier.description.exists() %}
<em>Description</em>: {{stratifier.description}}
{% endif %}
</td>
</tr>
{% endfor %}
Loading
Loading