Create TestScript

POST {{fhir_url}}/TestScript

Request Params

KeyDatatypeRequiredDescription
namestring
_elementsstring

Request Body

{"resourceType"=>"TestScript", "id"=>"testscript-example", "text"=>{"status"=>"generated", "div"=>"<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: testscript-example</p><p><b>url</b>: <b>http://hl7.org/fhir/TestScript/testscript-example</b></p><p><b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9876</p><p><b>version</b>: 1.0</p><p><b>name</b>: TestScript Example</p><p><b>status</b>: draft</p><p><b>experimental</b>: true</p><p><b>date</b>: 18/01/2017</p><p><b>publisher</b>: HL7</p><p><b>contact</b>: </p><p><b>description</b>: TestScript example resource with setup to delete if present and create a new instance of a Patient; and single test definition to read the created Patient with various asserts.</p><p><b>useContext</b>: </p><p><b>jurisdiction</b>: United States of America (the) <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States of America', given as 'United States of America (the)'})</span></p><p><b>purpose</b>: Patient Conditional Create (Update), Read and Delete Operations</p><p><b>copyright</b>: © HL7.org 2011+</p><blockquote><p><b>metadata</b></p><h3>Links</h3><table><tr><td>-</td><td><b>Url</b></td><td><b>Description</b></td></tr><tr><td>*</td><td><a>http://hl7.org/fhir/patient.html</a></td><td>Demographics and other administrative information about an individual or animal receiving care or other health-related services.</td></tr></table><h3>Capabilities</h3><table><tr><td>-</td><td><b>Required</b></td><td><b>Validated</b></td><td><b>Description</b></td><td><b>Link</b></td><td><b>Capabilities</b></td></tr><tr><td>*</td><td>true</td><td>false</td><td>Patient Update, Read and Delete Operations</td><td><a>http://hl7.org/fhir/http.html#delete</a></td><td><a>CapabilityStatement/example</a></td></tr></table></blockquote><blockquote><p><b>fixture</b></p><p><b>autocreate</b>: false</p><p><b>autodelete</b>: false</p><p><b>resource</b>: <a>Peter Chalmers</a></p></blockquote><blockquote><p><b>fixture</b></p><p><b>autocreate</b>: false</p><p><b>autodelete</b>: false</p><p><b>resource</b>: <a>Peter Chalmers (minimum)</a></p></blockquote><p><b>profile</b>: <a>Generated Summary: url: http://hl7.org/fhir/StructureDefinition/Patient; version: 4.0.1; name: Patient; ACTIVE; date: 01/11/2019 9:29:23 AM; publisher: Health Level Seven International (Patient Administration); description: Demographics and other administrative information about an individual or animal receiving care or other health-related services.; purpose: Tracking patient is the center of the healthcare process.; 4.0.1; RESOURCE; type: Patient; baseDefinition: http://hl7.org/fhir/StructureDefinition/DomainResource; SPECIALIZATION</a></p><h3>Variables</h3><table><tr><td>-</td><td><b>Name</b></td><td><b>Path</b></td><td><b>SourceId</b></td></tr><tr><td>*</td><td>createResourceId</td><td>Patient/id</td><td>fixture-patient-create</td></tr></table><blockquote><p><b>setup</b></p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Label</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td>*</td><td>Delete (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code delete = 'Delete', stated as 'null')</td><td>Patient</td><td>SetupDeletePatient</td><td>Execute a delete operation to insure the patient does not exist on the server.</td><td>json</td><td>true</td><td>/${createResourceId}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>ResponseCode</b></td><td><b>WarningOnly</b></td></tr><tr><td>*</td><td>Confirm that the returned HTTP status is 200(OK) or 204(No Content).</td><td>response</td><td>in</td><td>200,204</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Label</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td><td><b>SourceId</b></td></tr><tr><td>*</td><td>Update (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code update = 'Update', stated as 'null')</td><td>Patient</td><td>SetupCreatePatient</td><td>Create patient resource on test server using the contents of fixture-patient-create</td><td>json</td><td>json</td><td>true</td><td>/${createResourceId}</td><td>fixture-patient-create</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ResponseCode</b></td><td><b>WarningOnly</b></td></tr><tr><td>*</td><td>Confirm that the returned HTTP status is 201(Created).</td><td>response</td><td>201</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>EncodeRequestUrl</b></td><td><b>TargetId</b></td></tr><tr><td>*</td><td>Read (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code read = 'Read', stated as 'null')</td><td>Patient</td><td>Read the created patient resource on the test server using the id from fixture-patient-create. Verify contents.</td><td>true</td><td>fixture-patient-create</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Response</b></td><td><b>WarningOnly</b></td></tr><tr><td>*</td><td>Confirm that the returned HTTP status is 200(OK).</td><td>response</td><td>okay</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td><td><b>Description</b></td><td><b>CompareToSourceId</b></td><td><b>CompareToSourceExpression</b></td><td><b>Operator</b></td><td><b>WarningOnly</b></td></tr><tr><td>*</td><td>Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient.</td><td>fixture-patient-create</td><td>Patient.name.first().family</td><td>equals</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Read Patient</p><p><b>description</b>: Read a Patient and validate response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote><blockquote><p><b>teardown</b></p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote></div>"}, "url"=>"http://hl7.org/fhir/TestScript/testscript-example", "identifier"=>{"system"=>"urn:ietf:rfc:3986", "value"=>"urn:oid:1.3.6.1.4.1.21367.2005.3.7.9876"}, "version"=>"1.0", "name"=>"TestScript Example", "status"=>"draft", "experimental"=>true, "date"=>"2017-01-18", "publisher"=>"HL7", "contact"=>[{"name"=>"Support", "telecom"=>[{"system"=>"email", "value"=>"support@HL7.org", "use"=>"work"}]}], "description"=>"TestScript example resource with setup to delete if present and create a new instance of a Patient; and single test definition to read the created Patient with various asserts.", "useContext"=>[{"code"=>{"system"=>"http://terminology.hl7.org/CodeSystem/usage-context-type", "code"=>"focus"}, "valueCodeableConcept"=>{"coding"=>[{"system"=>"http://terminology.hl7.org/CodeSystem/variant-state", "code"=>"positive"}]}}], "jurisdiction"=>[{"coding"=>[{"system"=>"urn:iso:std:iso:3166", "code"=>"US", "display"=>"United States of America (the)"}]}], "purpose"=>"Patient Conditional Create (Update), Read and Delete Operations", "copyright"=>"© HL7.org 2011+", "metadata"=>{"link"=>[{"url"=>"http://hl7.org/fhir/patient.html", "description"=>"Demographics and other administrative information about an individual or animal receiving care or other health-related services."}], "capability"=>[{"required"=>true, "validated"=>false, "description"=>"Patient Update, Read and Delete Operations", "link"=>["http://hl7.org/fhir/http.html#delete", "http://hl7.org/fhir/http.html#read", "http://hl7.org/fhir/http.html#update"], "capabilities"=>"CapabilityStatement/example"}]}, "fixture"=>[{"id"=>"fixture-patient-create", "autocreate"=>false, "autodelete"=>false, "resource"=>{"reference"=>"Patient/example", "display"=>"Peter Chalmers"}}, {"id"=>"fixture-patient-minimum", "autocreate"=>false, "autodelete"=>false, "resource"=>{"reference"=>"Patient/example", "display"=>"Peter Chalmers (minimum)"}}], "profile"=>[{"id"=>"patient-profile", "reference"=>"http://hl7.org/fhir/StructureDefinition/Patient"}], "variable"=>[{"name"=>"createResourceId", "path"=>"Patient/id", "sourceId"=>"fixture-patient-create"}], "setup"=>{"action"=>[{"operation"=>{"type"=>{"system"=>"http://terminology.hl7.org/CodeSystem/testscript-operation-codes", "code"=>"delete"}, "resource"=>"Patient", "label"=>"SetupDeletePatient", "description"=>"Execute a delete operation to insure the patient does not exist on the server.", "accept"=>"json", "encodeRequestUrl"=>true, "params"=>"/${createResourceId}"}}, {"assert"=>{"description"=>"Confirm that the returned HTTP status is 200(OK) or 204(No Content).", "direction"=>"response", "operator"=>"in", "responseCode"=>"200,204", "warningOnly"=>false}}, {"operation"=>{"type"=>{"system"=>"http://terminology.hl7.org/CodeSystem/testscript-operation-codes", "code"=>"update"}, "resource"=>"Patient", "label"=>"SetupCreatePatient", "description"=>"Create patient resource on test server using the contents of fixture-patient-create", "accept"=>"json", "contentType"=>"json", "encodeRequestUrl"=>true, "params"=>"/${createResourceId}", "sourceId"=>"fixture-patient-create"}}, {"assert"=>{"description"=>"Confirm that the returned HTTP status is 201(Created).", "direction"=>"response", "responseCode"=>"201", "warningOnly"=>false}}, {"operation"=>{"type"=>{"system"=>"http://terminology.hl7.org/CodeSystem/testscript-operation-codes", "code"=>"read"}, "resource"=>"Patient", "description"=>"Read the created patient resource on the test server using the id from fixture-patient-create. Verify contents.", "encodeRequestUrl"=>true, "targetId"=>"fixture-patient-create"}}, {"assert"=>{"description"=>"Confirm that the returned HTTP status is 200(OK).", "direction"=>"response", "response"=>"okay", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient.", "compareToSourceId"=>"fixture-patient-create", "compareToSourceExpression"=>"Patient.name.first().family", "operator"=>"equals", "warningOnly"=>false}}]}, "test"=>[{"id"=>"01-ReadPatient", "name"=>"Read Patient", "description"=>"Read a Patient and validate response.", "action"=>[{"operation"=>{"type"=>{"system"=>"http://terminology.hl7.org/CodeSystem/testscript-operation-codes", "code"=>"read"}, "resource"=>"Patient", "description"=>"Read the patient resource on the test server using the id from fixture-patient-create. Prevent URL encoding of the request.", "encodeRequestUrl"=>false, "responseId"=>"fixture-patient-read", "targetId"=>"fixture-patient-create"}}, {"assert"=>{"label"=>"01-ReadPatientOK", "description"=>"Confirm that the returned HTTP status is 200(OK).", "direction"=>"response", "response"=>"okay", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server might not support versioning.", "direction"=>"response", "headerField"=>"Last-Modified", "operator"=>"notEmpty", "warningOnly"=>true}}, {"assert"=>{"description"=>"Confirm that the returned resource type is Patient.", "resource"=>"Patient", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned Patient conforms to the base FHIR specification.", "validateProfileId"=>"patient-profile", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit sourceId reference to read responseId fixture.", "operator"=>"equals", "path"=>"fhir:Patient/fhir:name/fhir:family/@value", "sourceId"=>"fixture-patient-read", "value"=>"Chalmers", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned Patient contains the expected given name 'Peter'. Uses explicit sourceId reference to read responseId fixture.", "operator"=>"equals", "path"=>"fhir:Patient/fhir:name/fhir:given/@value", "sourceId"=>"fixture-patient-read", "value"=>"Peter", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient and implicit reference to read response payload.", "compareToSourceId"=>"fixture-patient-create", "compareToSourcePath"=>"fhir:Patient/fhir:name/fhir:family/@value", "operator"=>"equals", "path"=>"fhir:Patient/fhir:name/fhir:family/@value", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient and explicit reference to read response payload and default operator of 'equals'.", "compareToSourceId"=>"fixture-patient-create", "compareToSourcePath"=>"fhir:Patient/fhir:name/fhir:given/@value", "path"=>"fhir:Patient/fhir:name/fhir:given/@value", "sourceId"=>"fixture-patient-read", "warningOnly"=>false}}, {"assert"=>{"description"=>"Confirm that the returned resource contains the expected retained elements and values. Warning only to provide users with reviewable results.", "minimumId"=>"fixture-patient-minimum", "warningOnly"=>true}}]}], "teardown"=>{"action"=>[{"operation"=>{"type"=>{"system"=>"http://terminology.hl7.org/CodeSystem/testscript-operation-codes", "code"=>"delete"}, "resource"=>"Patient", "description"=>"Delete the patient resource on the test server using the id from fixture-patient-create.", "encodeRequestUrl"=>true, "targetId"=>"fixture-patient-create"}}]}}