WildFHIR Community Edition Testing Guide
0.5.0 - current
WildFHIR Community Edition Testing Guide - Local Development build (v0.5.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Active as of 2025-03-24 |
<TestScript xmlns="http://hl7.org/fhir">
<id value="wildfhircer4patientpurgexml"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: TestScript wildfhircer4patientpurgexml</b></p><a name="wildfhircer4patientpurgexml"> </a><a name="hcwildfhircer4patientpurgexml"> </a><a name="wildfhircer4patientpurgexml-en-US"> </a><p><b>org/fhir/StructureDefinition/scope</b>: <a href="file://D:\GitHub\AEGISnetInc\WildFHIR\ig\output/ActorDefinition-wildfhirce-responder.html">http://wildfhir.aegis.net/ig/wildfhirce/ActorDefinition/wildfhirce-responder</a></p><p><b>org/fhir/StructureDefinition/scope</b>: <a href="file://D:\GitHub\AEGISnetInc\WildFHIR\ig\output/OperationDefinition-wildfhirce-operation-patient-purge.html">AEGIS WildFHIR Community Edition R4 Patient Purge</a></p><p><b>url</b>: <a href="TestScript-wildfhircer4patientpurgexml.html">TestScript WildFHIR CE R4 TestScript Patient/[id]/$purge XML</a></p><p><b>version</b>: 0.5.0</p><p><b>name</b>: WildFHIRCER4PatientPurgeXML</p><p><b>title</b>: WildFHIR CE R4 TestScript Patient/[id]/$purge XML</p><p><b>status</b>: Active</p><p><b>date</b>: 2025-03-24</p><p><b>publisher</b>: AEGIS.net, Inc.</p><p><b>contact</b>: AEGIS.net, Inc.: <a href="https://www.aegis.net">https://www.aegis.net</a>, Richard Ettema: <a href="mailto:mailto:richard.ettema@aegis.net">mailto:richard.ettema@aegis.net</a></p><p><b>description</b>: </p><div><p>Test the WildFHIR CE R4 Patient/[id]/$purge operation using XML Format</p>
</div><p><b>jurisdiction</b>: <span title="Codes:{http://unstats.un.org/unsd/methods/m49/m49.htm 001}">World</span></p><p><b>copyright</b>: </p><div><p>(c) AEGIS.net, Inc. 2025</p>
</div><h3>Origins</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Index</b></td><td><b>Profile</b></td></tr><tr><td style="display: none">*</td><td>1</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-profile-origin-types.html#testscript-profile-origin-types-FHIR-Client">Test script profile origin type FHIR-Client</a>: FHIR Client</td></tr></table><h3>Destinations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Index</b></td><td><b>Profile</b></td></tr><tr><td style="display: none">*</td><td>1</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-profile-destination-types.html#testscript-profile-destination-types-FHIR-Server">Test script profile destination type FHIR-Server</a>: FHIR Server</td></tr></table><blockquote><p><b>fixture</b></p><blockquote><p><b>id</b></p>patient-update</blockquote><p><b>autocreate</b>: false</p><p><b>autodelete</b>: false</p><p><b>resource</b>: <code>./Patient-wildfhirce-patient-purge.xml</code></p></blockquote><blockquote><p><b>fixture</b></p><blockquote><p><b>id</b></p>observation-update</blockquote><p><b>autocreate</b>: false</p><p><b>autodelete</b>: false</p><p><b>resource</b>: <code>./Observation-wildfhirce-observation-purge.xml</code></p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: updatePatientId</p><p><b>path</b>: /Patient/id</p><p><b>sourceId</b>: patient-update</p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: updateObservationId</p><p><b>path</b>: /Observation/id</p><p><b>sourceId</b>: observation-update</p></blockquote><blockquote><p><b>setup</b></p><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-delete">Test script operation code delete</a>: Delete</td><td>Observation</td><td>Delete the known Observation to insure it does not exist, order matters for referential integrity</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>[[/${updateObservationId}]]</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP response code is success.</td><td>response</td><td>in</td><td>200,204,404</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-delete">Test script operation code delete</a>: Delete</td><td>Patient</td><td>Delete the known Patient to insure it does not exist, order matters for referential integrity</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>[[/${updatePatientId}]]</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP response code is success.</td><td>response</td><td>in</td><td>200,204,404</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td><td><b>SourceId</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-update">Test script operation code update</a>: Update</td><td>Patient</td><td>Create the known Patient via an update, order matters for referential integrity</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>[[/${updatePatientId}]]</td><td>patient-update</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP response code is success.</td><td>response</td><td>in</td><td>200,201</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td><td><b>SourceId</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-update">Test script operation code update</a>: Update</td><td>Observation</td><td>Create the known Observation via an update, order matters for referential integrity</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>[[/${updateObservationId}]]</td><td>observation-update</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP response code is success.</td><td>response</td><td>in</td><td>200,201</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>PatientPurge</blockquote><p><b>name</b>: PatientPurge</p><p><b>description</b>: Test the Patient/[id]/$purge operation using XML Format on destination server and assert successful response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-process-message">Test script operation code process-message</a>: $process-message</td><td>Patient</td><td>Patient $purge operation</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>[[/${updatePatientId}/$purge]]</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ResponseCode</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned response code is 200 OK.</td><td>response</td><td>200</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned response payload is an OperationOutcome resource.</td><td>response</td><td>OperationOutcome</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned OperationOutcome contains an infomation issue.</td><td>response</td><td>OperationOutcome.issue.where(severity = 'infomation').exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-read">Test script operation code read</a>: Read</td><td>Observation</td><td>Attempt to read purged Observation</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>[[/${updateObservationId}]]</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ResponseCode</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned response code is 404 Not Found.</td><td>response</td><td>404</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.2.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-read">Test script operation code read</a>: Read</td><td>Patient</td><td>Attempt to read purged Patient</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>[[/${updatePatientId}]]</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ResponseCode</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned response code is 404 Not Found.</td><td>response</td><td>404</td><td>false</td></tr></table></blockquote></blockquote></div>
</text>
<extension url="http://hl7.org/fhir/StructureDefinition/scope">
<valueCanonical
value="http://wildfhir.aegis.net/ig/wildfhirce/ActorDefinition/wildfhirce-responder"/>
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/scope">
<valueCanonical
value="http://wildfhir.aegis.net/ig/wildfhirce/OperationDefinition/wildfhirce-operation-patient-purge"/>
</extension>
<url
value="http://wildfhir.aegis.net/tg/wildfhirce/TestScript/wildfhircer4patientpurgexml"/>
<version value="0.5.0"/>
<name value="WildFHIRCER4PatientPurgeXML"/>
<title value="WildFHIR CE R4 TestScript Patient/[id]/$purge XML"/>
<status value="active"/>
<date value="2025-03-24"/>
<publisher value="AEGIS.net, Inc."/>
<contact>
<name value="AEGIS.net, Inc."/>
<telecom>
<system value="url"/>
<value value="https://www.aegis.net"/>
</telecom>
</contact>
<contact>
<name value="Richard Ettema"/>
<telecom>
<system value="email"/>
<value value="mailto:richard.ettema@aegis.net"/>
</telecom>
</contact>
<description
value="Test the WildFHIR CE R4 Patient/[id]/$purge operation using XML Format"/>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
<display value="World"/>
</coding>
</jurisdiction>
<copyright value="(c) AEGIS.net, Inc. 2025"/>
<origin>
<index value="1"/>
<profile>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-profile-origin-types"/>
<code value="FHIR-Client"/>
</profile>
</origin>
<destination>
<index value="1"/>
<profile>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types"/>
<code value="FHIR-Server"/>
</profile>
</destination>
<fixture id="patient-update">
<autocreate value="false"/>
<autodelete value="false"/>
<resource>
<reference value="./Patient-wildfhirce-patient-purge.xml"/>
</resource>
</fixture>
<fixture id="observation-update">
<autocreate value="false"/>
<autodelete value="false"/>
<resource>
<reference value="./Observation-wildfhirce-observation-purge.xml"/>
</resource>
</fixture>
<variable>
<name value="updatePatientId"/>
<path value="/Patient/id"/>
<sourceId value="patient-update"/>
</variable>
<variable>
<name value="updateObservationId"/>
<path value="/Observation/id"/>
<sourceId value="observation-update"/>
</variable>
<setup>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="delete"/>
</type>
<resource value="Observation"/>
<description
value="Delete the known Observation to insure it does not exist, order matters for referential integrity"/>
<accept value="xml"/>
<contentType value="xml"/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<origin value="1"/>
<params value="[[/${updateObservationId}]]"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned HTTP response code is success."/>
<direction value="response"/>
<operator value="in"/>
<value value="200,204,404"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="delete"/>
</type>
<resource value="Patient"/>
<description
value="Delete the known Patient to insure it does not exist, order matters for referential integrity"/>
<accept value="xml"/>
<contentType value="xml"/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<origin value="1"/>
<params value="[[/${updatePatientId}]]"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned HTTP response code is success."/>
<direction value="response"/>
<operator value="in"/>
<value value="200,204,404"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="update"/>
</type>
<resource value="Patient"/>
<description
value="Create the known Patient via an update, order matters for referential integrity"/>
<accept value="xml"/>
<contentType value="xml"/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<origin value="1"/>
<params value="[[/${updatePatientId}]]"/>
<sourceId value="patient-update"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned HTTP response code is success."/>
<direction value="response"/>
<operator value="in"/>
<value value="200,201"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="update"/>
</type>
<resource value="Observation"/>
<description
value="Create the known Observation via an update, order matters for referential integrity"/>
<accept value="xml"/>
<contentType value="xml"/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<origin value="1"/>
<params value="[[/${updateObservationId}]]"/>
<sourceId value="observation-update"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned HTTP response code is success."/>
<direction value="response"/>
<operator value="in"/>
<value value="200,201"/>
<warningOnly value="false"/>
</assert>
</action>
</setup>
<test id="PatientPurge">
<name value="PatientPurge"/>
<description
value="Test the Patient/[id]/$purge operation using XML Format on destination server and assert successful response."/>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="process-message"/>
</type>
<resource value="Patient"/>
<description value="Patient $purge operation"/>
<accept value="xml"/>
<contentType value="xml"/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<origin value="1"/>
<params value="[[/${updatePatientId}/$purge]]"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned response code is 200 OK."/>
<direction value="response"/>
<responseCode value="200"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description
value="Confirm that the returned response payload is an OperationOutcome resource."/>
<direction value="response"/>
<resource value="OperationOutcome"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description
value="Confirm that the returned OperationOutcome contains an infomation issue."/>
<direction value="response"/>
<expression
value="OperationOutcome.issue.where(severity = 'infomation').exists()"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="read"/>
</type>
<resource value="Observation"/>
<description value="Attempt to read purged Observation"/>
<accept value="xml"/>
<contentType value="xml"/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<origin value="1"/>
<params value="[[/${updateObservationId}]]"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned response code is 404 Not Found."/>
<direction value="response"/>
<responseCode value="404"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="read"/>
</type>
<resource value="Patient"/>
<description value="Attempt to read purged Patient"/>
<accept value="xml"/>
<contentType value="xml"/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<origin value="1"/>
<params value="[[/${updatePatientId}]]"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned response code is 404 Not Found."/>
<direction value="response"/>
<responseCode value="404"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
</TestScript>