diff --git a/input/testing/testscript-example-readtest.json b/input/testing/testscript-example-readtest.json
new file mode 100644
index 0000000..6bcc9d5
--- /dev/null
+++ b/input/testing/testscript-example-readtest.json
@@ -0,0 +1,256 @@
+{
+ "resourceType": "TestScript",
+ "id": "testscript-example-readtest",
+ "text": {
+ "status": "generated",
+ "div": "
"
+ },
+ "extension": [{
+ "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope",
+ "extension" : [{
+ "url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope.artifact",
+ "valueCanonical" : "http://somewhere.org/fhir/uv/myig/StructureDefinition/mypatient"
+ },
+ {
+ "url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope.conformance",
+ "valueCodeableConcept" : {
+ "coding" : [{
+ "system" : "http://hl7.org/fhir/testscript-scope-conformance-codes",
+ "code" : "optional"
+ }]
+ }
+ },
+ {
+ "url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope.phase",
+ "valueCodeableConcept" : {
+ "coding" : [{
+ "system" : "http://hl7.org/fhir/testscript-scope-phase-codes",
+ "code" : "unit"
+ }]
+ }
+ }
+ ]
+ }],
+
+
+
+ "identifier": {
+ "system": "urn:ietf:rfc:3986",
+ "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.9879"
+ },
+ "version": "1.0",
+ "name": "TestScript Example Read Test",
+ "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 ported Sprinkler basic read tests R001, R002, R003, R004. The read tests will utilize user defined dynamic variables that will hold the Patient resource id values.",
+ "jurisdiction": [
+ {
+ "coding": [
+ {
+ "system": "urn:iso:std:iso:3166",
+ "code": "US",
+ "display": "United States of America (the)"
+ }
+ ]
+ }
+ ],
+ "purpose": "Patient Read Operation",
+ "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 Read Operation",
+ "link": [
+ "http://hl7.org/fhir/http.html#read"
+ ],
+ "capabilities": "http://hl7.org/fhir/CapabilityStatement/example"
+ }
+ ]
+ },
+
+ "profile": [
+ {
+ "id": "patient-profile",
+ "reference": "http://hl7.org/fhir/StructureDefinition/Patient"
+ }
+ ],
+ "variable": [
+ {
+ "name": "KnownPatientResourceId",
+ "defaultValue": "example"
+ },
+ {
+ "name": "NonExistsPatientResourceId",
+ "defaultValue": "does-not-exist"
+ }
+ ],
+ "test": [
+ {
+ "id": "R001",
+ "name": "Sprinkler Read Test R001",
+ "description": "Read a known Patient and validate response.",
+ "action": [
+ {
+ "operation": {
+ "type": {
+ "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
+ "code": "read"
+ },
+ "resource": "Patient",
+ "description": "Read the known Patient resource on the destination test system using the user defined dynamic variable ${KnownPatientResourceId}.",
+ "accept": "xml",
+ "encodeRequestUrl": true,
+ "params": "/${KnownPatientResourceId}"
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned HTTP status is 200(OK).",
+ "response": "okay",
+ "stopTestOnFail": false,
+ "warningOnly": false
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned format is XML.",
+ "contentType": "xml",
+ "stopTestOnFail": false,
+ "warningOnly": false
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server might not support versioning.",
+ "headerField": "Last-Modified",
+ "operator": "notEmpty",
+ "stopTestOnFail": false,
+ "warningOnly": true
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned resource type is Patient.",
+ "resource": "Patient",
+ "stopTestOnFail": false,
+ "warningOnly": false
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned Patient conforms to the base FHIR specification.",
+ "stopTestOnFail": false,
+ "validateProfileId": "patient-profile",
+ "warningOnly": false
+ }
+ }
+ ]
+ },
+ {
+ "id": "R002",
+ "name": "Sprinkler Read Test R002",
+ "description": "Read an unknown Resource Type and validate response.",
+ "action": [
+ {
+ "operation": {
+ "type": {
+ "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
+ "code": "read"
+ },
+ "resource": "Patient",
+ "description": "Attempt to read the Parameters resource type. What we really want here is an illegal type but the build process won't allow that. Parameters is a valid resource which doesn't have an end-point so, this should fail.",
+ "accept": "xml",
+ "encodeRequestUrl": true,
+ "params": "/1"
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned HTTP status is 404(Not Found).",
+ "response": "notFound",
+ "stopTestOnFail": false,
+ "warningOnly": false
+ }
+ }
+ ]
+ },
+ {
+ "id": "R003",
+ "name": "Sprinkler Read Test R003",
+ "description": "Read a known, non-existing Patient and validate response.",
+ "action": [
+ {
+ "operation": {
+ "type": {
+ "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
+ "code": "read"
+ },
+ "resource": "Patient",
+ "description": "Attempt to read the non-existing Patient resource on the destination test system using the user defined dynamic variable ${NonExistsPatientResourceId}.",
+ "accept": "xml",
+ "encodeRequestUrl": true,
+ "params": "/${NonExistsPatientResourceId}"
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned HTTP status is 404(Not Found).",
+ "response": "notFound",
+ "stopTestOnFail": false,
+ "warningOnly": false
+ }
+ }
+ ]
+ },
+ {
+ "id": "R004",
+ "name": "Sprinkler Read Test R004",
+ "description": "Read a Patient using a known bad formatted resource id and validate response.",
+ "action": [
+ {
+ "operation": {
+ "type": {
+ "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
+ "code": "read"
+ },
+ "resource": "Patient",
+ "description": "Attempt to read a Patient resource on the destination test system using known bad formatted resource id.",
+ "accept": "xml",
+ "encodeRequestUrl": true,
+ "params": "/ID-may-not-contain-CAPITALS"
+ }
+ },
+ {
+ "assert": {
+ "description": "Confirm that the returned HTTP status is 400(Bad Request).",
+ "response": "bad",
+ "stopTestOnFail": false,
+ "warningOnly": false
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file