Add various test cases
This commit is contained in:
parent
dbbed53f65
commit
44596ce112
@ -1,4 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
test comment for display
|
||||
|
||||
-->
|
||||
|
||||
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R5/fhir-single.xsd">
|
||||
<id value="example"/>
|
||||
<meta>
|
||||
|
||||
@ -38,6 +38,11 @@
|
||||
<license value="CC0-1.0"/>
|
||||
<!-- This is whatever FHIR version(s) the IG artifacts are targeting (not the version of this file, which should always be 'current release') -->
|
||||
<fhirVersion value="4.0.1"/>
|
||||
<dependsOn>
|
||||
<uri value="https://simplifier.net/packages/de.medizininformatikinitiative.kerndatensatz.fall/0.9.1/files/131317"/>
|
||||
<packageId value="de.medizininformatikinitiative.kerndatensatz.fall"/>
|
||||
<version value="0.9.1"/>
|
||||
</dependsOn>
|
||||
<definition>
|
||||
<!-- You don't need to define any groupings. The IGPublisher will define them for you. You only need to do so if your IG is 'special' and it's
|
||||
inappropriate to use the defaults. Feel free to provide feedback about the defaults... -->
|
||||
@ -47,6 +52,18 @@
|
||||
</reference>
|
||||
<description value="Overriding description because we can"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="Library/example-sql"/>
|
||||
</reference>
|
||||
<description value="A test example"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="Library/example-image"/>
|
||||
</reference>
|
||||
<description value="A test image example"/>
|
||||
</resource>
|
||||
<!--<resource>
|
||||
<reference>
|
||||
<reference value="MyLogicalModel/AS"/>
|
||||
|
||||
14
input/resources/library-example-image.xml
Normal file
14
input/resources/library-example-image.xml
Normal file
File diff suppressed because one or more lines are too long
14
input/resources/library-example-sql.xml
Normal file
14
input/resources/library-example-sql.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Library xmlns="http://hl7.org/fhir">
|
||||
<url value="http://somewhere.org/fhir/uv/myig/Library/example-sql"/>
|
||||
<version value="1.0.0"/>
|
||||
<name value="ExampleLibrary"/>
|
||||
<title value="Example Library"/>
|
||||
<status value="draft"/>
|
||||
<experimental value="true"/>
|
||||
<date value="2020-05-15T00:00:00.000+10:00"/>
|
||||
<content>
|
||||
<contentType value="text/x-sql"/>
|
||||
<data value="U0VMRUNUIEN1c3RvbWVycy5DdXN0b21lck5hbWUsIE9yZGVycy5PcmRlcklEDQpGUk9NIEN1c3RvbWVycw0KTEVGVCBKT0lOIE9yZGVycw0KT04gQ3VzdG9tZXJzLkN1c3RvbWVySUQ9T3JkZXJzLkN1c3RvbWVySUQNCk9SREVSIEJZIEN1c3RvbWVycy5DdXN0b21lck5hbWU7DQo="/>
|
||||
</content>
|
||||
</Library>
|
||||
@ -13,6 +13,23 @@
|
||||
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation"/>
|
||||
<derivation value="constraint"/>
|
||||
<differential>
|
||||
<element id="Observation.basedOn">
|
||||
<path value="Observation.basedOn"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.partOf">
|
||||
<path value="Observation.partOf"/>
|
||||
<type>
|
||||
<code value="Reference"/>
|
||||
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Procedure">
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support">
|
||||
<valueBoolean value="true"/>
|
||||
</extension>
|
||||
</targetProfile>
|
||||
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
|
||||
</type>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.code">
|
||||
<path value="Observation.code"/>
|
||||
<patternCodeableConcept>
|
||||
@ -22,6 +39,35 @@
|
||||
</coding>
|
||||
</patternCodeableConcept>
|
||||
</element>
|
||||
<element id="Observation.subject">
|
||||
<path value="Observation.subject"/>
|
||||
<type>
|
||||
<code value="Reference"/>
|
||||
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient">
|
||||
<!-- this is an error - it is meaningless unless the element itself is must-support -->
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support">
|
||||
<valueBoolean value="true"/>
|
||||
</extension>
|
||||
</targetProfile>
|
||||
</type>
|
||||
</element>
|
||||
<element id="Observation.focus">
|
||||
<path value="Observation.focus"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.value[x]">
|
||||
<path value="Observation.value[x]"/>
|
||||
<type>
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support">
|
||||
<valueBoolean value="true"/>
|
||||
</extension>
|
||||
<code value="Quantity"/>
|
||||
</type>
|
||||
<type>
|
||||
<code value="CodeableConcept"/>
|
||||
</type>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.component">
|
||||
<path value="Observation.component"/>
|
||||
<slicing>
|
||||
|
||||
@ -1,325 +0,0 @@
|
||||
<div>
|
||||
<table class="grid dict">
|
||||
{% if Library.id.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Id: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.id}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.url.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Url: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.url}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.version.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Version: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.version}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% for identifier in Library.identifier %}
|
||||
<tr>
|
||||
<th scope="row"><b>Identifier: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
{% if identifier.type.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>type: </b> <span>{{identifier.type.value}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if identifier.value.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>value: </b> <span>{{identifier.value}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if Library.name.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Name: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.name}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.title.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Title: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.title}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.subtitle.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Subtitle: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.subtitle}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.status.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Status: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.status.value}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.experimental.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Experimental: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.experimental.value}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.type.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Type: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
{% if Library.type.coding.exists() %}
|
||||
{% for coding in Library.type.coding %}
|
||||
{% if coding.system.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>system: </b> <span>{{coding.system}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.code.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{coding.code}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>display: </b> <span>{{coding.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if Library.type.coding.exists().not and Library.type.text.exists() %}
|
||||
{{Library.type.text}}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.subject.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Subject: </b></th>
|
||||
{%if Library.subject is CodeableConcept %}
|
||||
<td style="padding-left: 25px;">
|
||||
{% if Library.subject.coding.exists() %}
|
||||
{% for coding in Library.subject.coding %}
|
||||
{% if coding.system.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>system: </b> <span>{{coding.system}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.code.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{coding.code}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>display: </b> <span>{{coding.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if Library.subject.coding.exists().not and Library.subject.text.exists() %}
|
||||
{{Library.subject.text}}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
{% if Library.subject is Reference %}
|
||||
<td style="padding-left: 25px;">
|
||||
{% if Library.subject.reference.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>reference: </b> <span>{{Library.subject.reference}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if Library.subject.type.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>type: </b> <span>{{Library.subject.type}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if Library.subject.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{Library.subject.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.date.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Date: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.date}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.publisher.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Publisher: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.publisher}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.description.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Description: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.description}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.useContext.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Use Context: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>code</b></th><th><b>value</b></th></tr>
|
||||
{% for useContext in Library.useContext %}
|
||||
<tr>
|
||||
<td>{{useContext.code.code}}</td>
|
||||
<td>{{(useContext.value as CodeableConcept).coding.first().code}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.jurisdiction.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Jurisdiction: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.jurisdiction.first().coding.first().code}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.purpose.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Purpose: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.purpose}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.usage.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Usage: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.usage}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.copyright.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Copyright: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.copyright}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.approvalDate.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Approval Date: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.approvalDate}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.lastReviewDate.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Last Review Date: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.lastReviewDate}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.effectivePeriod.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Effective Period: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.effectivePeriod.start}}..{{Library.effectivePeriod.end}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.relatedArtifact.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Related Artifacts: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>Type</b></th><th><b>Resource</b></th></tr>
|
||||
{% for artifact in Library.relatedArtifact %}
|
||||
<tr><td>{{artifact.type.value}}</td><td>{{artifact.resource}}</td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.parameter.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Parameters: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>
|
||||
{% for param in Library.parameter %}
|
||||
<tr><th>{{param.name}}</th><th>{{param.type}}</th><th>{{param.min}}</th><th>{{param.max}}</th><th>{{param.use}}</th></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.dataRequirement.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Data Requirements:</b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>Type</b></th><th><b>Profile</b></th><th><b>MS</b></th><th><b>Code Filter</b></th></tr>
|
||||
{% for requirement in Library.dataRequirement %}
|
||||
<tr>
|
||||
<th>{{requirement.type.value}}</th>
|
||||
<th>{% for profile in requirement.profile %}{{profile.value}}{% endfor %}</th>
|
||||
<th>{% for support in requirement.mustSupport %}{{mustSupport}};{% endfor %}</th>
|
||||
<th>
|
||||
{% for cfilter in requirement.codeFilter %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code filter: </b>
|
||||
{% if cfilter.path.exists() or cfilter.valueSet.exists() or cfilter.code.exists() %}
|
||||
<br/>
|
||||
{% endif %}
|
||||
{% if cfilter.path.exists() %}
|
||||
<span style="padding-left: 25px;">
|
||||
<b>path: </b><span>{{cfilter.path}}</span>
|
||||
</span>
|
||||
{% if cfilter.valueSet.exists() or cfilter.code.exists() %}
|
||||
<br/>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if cfilter.valueSet.exists() %}
|
||||
<span style="padding-left: 25px;">
|
||||
<b>value set: </b><span>{{cfilter.valueSet.value}}</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% for coding in cfilter.code %}
|
||||
{% if coding.system.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>system: </b> <span>{{coding.system}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.code.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{coding.code}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>display: </b> <span>{{coding.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% endfor %}
|
||||
</th>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% for c in Library.content %}
|
||||
{% if c.contentType = 'text/cql' %}
|
||||
<tr>
|
||||
<table>
|
||||
<tr><th><a id="cql-content"><b>Content: </b></a> {{c.contentType}}</th></tr>
|
||||
<tr><td><pre><code>{{c.data.decode('base64').escape('html')}}</code></pre></td></tr>
|
||||
</table>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if c.contentType != 'text/cql' %}
|
||||
<tr>
|
||||
<table>
|
||||
<tr><th><b>Content: </b> {{c.contentType}}</th></tr>
|
||||
<tr><td><pre><code>{{'Encoded data (' + c.data.length().toString() + ' characters)'}}</code></pre></td></tr>
|
||||
</table>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user