Test Script

Name/FHIR4-0-1-Advanced/USCore-ClinData/01-USCore-Tests/us-core-clinicalnotes_sequence
DescriptionTests for ClinicalNotes using the FHIR ClinicalNotes Resource. Reference http://www.hl7.org/fhir/us/core/general-guidance.html#must-support and https://build.fhir.org/ig/HL7/US-Core-R4/clinical-notes-guidance.html
Version4Latest4
Content
<?xml version="1.0" encoding="UTF-8"?>

<TestScript xmlns="http://hl7.org/fhir">  
    <id value="Clinical-Notes-Guideline-Tests"/>  
    <meta> 
        <profile value="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript"/> 
    </meta>  
    <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule"> 
        <extension url="ruleId"> 
            <valueId value="CSV-Compare"/> 
        </extension>  
        <extension url="path"> 
            <valueString value="/FHIRCommon/_reference/rule/CSV-Compare.groovy"/> 
        </extension> 
    </extension>  
    <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule"> 
        <extension url="ruleId"> 
            <valueId value="CSV-Out"/> 
        </extension>  
        <extension url="path"> 
            <valueString value="/FHIRCommon/_reference/rule/CSV-Out.groovy"/> 
        </extension> 
    </extension>  
    <url value="http://wildfhir.aegis.net/fhir4-0-0/TestScript/Clinical_Notes_Guideline_Tests"/>  
    <name value="Clinical_Notes_Guideline_Tests"/>  
    <title value="Clinical Notes Guideline Tests"/>  
    <status value="active"/>  
    <date value="2020-05-15"/>  
    <publisher value="AEGIS.net, Inc."/>  
    <contact> 
        <name value="Touchstone Support"/>  
        <telecom> 
            <system value="email"/>  
            <value value="Touchstone_Support@aegis.net"/>  
            <use value="work"/> 
        </telecom> 
    </contact>  
    <description value="Tests for ClinicalNotes using the FHIR ClinicalNotes Resource. Reference http://www.hl7.org/fhir/us/core/general-guidance.html#must-support and https://build.fhir.org/ig/HL7/US-Core-R4/clinical-notes-guidance.html"/>  
    <copyright value="This FHIR Test Script is licensed under Creative Commons (CC0) 'No Rights Reserved'. Learn more at https://creativecommons.org/licenses"/>  
    <destination> 
        <index value="1"/>  
        <profile> 
            <system value="http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types"/>  
            <code value="FHIR-Server"/> 
        </profile> 
    </destination>  
    <variable> 
        <name value="patientId"/>  
        <description value="Id value for a Patient on the Test System"/> 
    </variable>  
    <test id="01-Have_consultation_note"> 
        <name value="have_consultation_note"/>  
        <description value="Server shall have Consultation Note from DocumentReference search by patient+type"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DocumentReference"/>  
                <description value="DocumentReference search for http://loinc.org|11488-4"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;type=http://loinc.org|11488-4"/>  
                <responseId value="consultation-note-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DocumentReference).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="consultation-note"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.content.attachment.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DocRef"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DocRef-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="02-Have_discharge_summary"> 
        <name value="have_discharge_summary"/>  
        <description value="Server shall have Discharge Summary from DocumentReference search by patient+type"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DocumentReference"/>  
                <description value="DocumentReference search for http://loinc.org|18842-5"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;type=http://loinc.org|18842-5"/>  
                <responseId value="discharge-summary-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DocumentReference).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="discharge-summary"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputCSV"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DocRef-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.content.attachment.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DocRef"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DocRef-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="03-Have_history_note"> 
        <name value="have_history_note"/>  
        <description value="Server shall have History and Physical Note from DocumentReference search by patient+type"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DocumentReference"/>  
                <description value="DocumentReference search for http://loinc.org|34117-2"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;type=http://loinc.org|34117-2"/>  
                <responseId value="history-note-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DocumentReference).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="history-note"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputCSV"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DocRef-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.content.attachment.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DocRef"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DocRef-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="04-Have_procedures_note"> 
        <name value="have_procedures_note"/>  
        <description value="Server returns Procedures Note from DocumentReference search by patient+type"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DocumentReference"/>  
                <description value="DocumentReference search for http://loinc.org|28570-0"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;type=http://loinc.org|28570-0"/>  
                <responseId value="procedures-note-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DocumentReference).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="procedures-note"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputCSV"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DocRef-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.content.attachment.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DocRef"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DocRef-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="05-Have_progress_note"> 
        <name value="have_progress_note"/>  
        <description value="Server returns Progress Note from DocumentReference search by patient+type"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DocumentReference"/>  
                <description value="DocumentReference search for http://loinc.org|11506-3"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;type=http://loinc.org|11506-3"/>  
                <responseId value="progress-note-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DocumentReference).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="progress-note"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputCSV"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DocRef-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.content.attachment.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DocRef"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DocRef-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="06-Have_cardiology_report"> 
        <name value="have_cardiology_report"/>  
        <description value="Server returns Cardiology report from DiagnosticReport search by patient+category"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DiagnosticReport"/>  
                <description value="DiagnosticReport search for http://loinc.org|LP29708-2"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;category=http://loinc.org|LP29708-2"/>  
                <responseId value="cardiology-report-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DiagnosticReport).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="cardiology-report"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.presentedForm.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DiagRep"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DiagRep-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="07-Have_pathology_report"> 
        <name value="have_pathology_report"/>  
        <description value="Server returns Pathology report from DiagnosticReport search by patient+category"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DiagnosticReport"/>  
                <description value="DiagnosticReport search for http://loinc.org|LP7839-6"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;category=http://loinc.org|LP7839-6"/>  
                <responseId value="pathology-report-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DiagnosticReport).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="pathology-report"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputCSV"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DiagRep-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.presentedForm.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DiagRep"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DiagRep-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="08-Have_radiology_report"> 
        <name value="have_radiology_report"/>  
        <description value="Server returns Radiology report from DiagnosticReport search by patient+category"/>  
        <action> 
            <operation> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext"> 
                    <valuePositiveInt value="10"/> 
                </extension>  
                <type> 
                    <system value="http://touchstone.com/fhir/testscript-operation-codes-extended"/>  
                    <code value="search"/> 
                </type>  
                <resource value="DiagnosticReport"/>  
                <description value="DiagnosticReport search for http://loinc.org|LP29684-5"/>  
                <accept value="json"/>  
                <contentType value="json"/>  
                <destination value="1"/>  
                <encodeRequestUrl value="true"/>  
                <params value="?patient=${patientId}&amp;category=http://loinc.org|LP29684-5"/>  
                <responseId value="radiology-report-1"/> 
            </operation> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is 200 or 201"/>  
                <direction value="response"/>  
                <operator value="in"/>  
                <responseCode value="200,201"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <description value="Verify response is a Bundle"/>  
                <direction value="response"/>  
                <resource value="Bundle"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <description value="Verify the response Bundle has a Document Reference inside"/>  
                <direction value="response"/>  
                <expression value="Bundle.entry.resource.as(DiagnosticReport).exists()"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"> 
                    <valueBoolean value="false"/> 
                </extension>  
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Out"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="sourcePrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="radiology-report"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputCSV"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DiagRep-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="fhirPathFilter"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Bundle.entry.resource.presentedForm.url"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="outputPrefix"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="DiagRep"/> 
                        </extension> 
                    </extension>  
                    <extension url="output"> 
                        <extension url="name"> 
                            <valueString value="DiagRep-CSV"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test>  
    <test id="09-Assert-Clinical-Notes-Parity"> 
        <name value="Assert-Clinical-Notes-Parity"/>  
        <description value="Rule assert to validate all Clinical Notes attachments are referenced by both DiagnosticReport and DocumentReference."/>  
        <action> 
            <assert> 
                <extension url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"> 
                    <extension url="ruleId"> 
                        <valueId value="CSV-Compare"/> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputOne"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DiagRep-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="inputTwo"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="${DocRef-CSV}"/> 
                        </extension> 
                    </extension>  
                    <extension url="param"> 
                        <extension url="name"> 
                            <valueString value="errorHeader"/> 
                        </extension>  
                        <extension url="value"> 
                            <valueString value="Unmatched Clininal notes for urls:"/> 
                        </extension> 
                    </extension> 
                </extension>  
                <sourceId value="none"/>  
                <warningOnly value="false"/> 
            </assert> 
        </action> 
    </test> 
</TestScript>