HeyDonto FHIR R4 API Documentation (1.0)

API documentation for HeyDonto API users

Languages
Servers
Mock server
https://docs.heydonto.com/_mock/apis/fhir/openapi/
Sandbox
https://api-staging.heydonto.com/
Production
https://api.heydonto.com/

Account

Operations

ActivityDefinition

Operations

AdverseEvent

Operations

AllergyIntolerance

Operations

Appointment

Operations

AppointmentResponse

Operations

AuditEvent

Operations

Basic

Operations

Binary

Operations

BiologicallyDerivedProduct

Operations

BodyStructure

Operations

Bundle

Operations

CapabilityStatement

Operations

CarePlan

Operations

CareTeam

Operations

CatalogEntry

Operations

ChargeItem

Operations

ChargeItemDefinition

Operations

Claim

Operations

ClaimResponse

Operations

ClinicalImpression

Operations

CodeSystem

Operations

Communication

Operations

CommunicationRequest

Operations

CompartmentDefinition

Operations

Composition

Operations

ConceptMap

Operations

Condition

Operations

Contract

Operations

Coverage

Operations

CoverageEligibilityRequest

Operations

CoverageEligibilityResponse

Operations

DetectedIssue

Operations

Device

Operations

DeviceDefinition

Operations

DeviceMetric

Operations

DeviceRequest

Operations

DeviceUseStatement

Operations

DiagnosticReport

Operations

DocumentManifest

Operations

DocumentReference

Operations

EffectEvidenceSynthesis

Operations

Encounter

Operations

Endpoint

Operations

EnrollmentRequest

Operations

EnrollmentResponse

Operations

EpisodeOfCare

Operations

EventDefinition

Operations

Evidence

Operations

EvidenceVariable

Operations

ExampleScenario

Operations

ExplanationOfBenefit

Operations

FamilyMemberHistory

Operations

Flag

Operations

Goal

Operations

GraphDefinition

Operations

Group

Operations

GuidanceResponse

Operations

HealthcareService

Operations

ImagingStudy

Operations

Immunization

Operations

ImmunizationEvaluation

Operations

ImmunizationRecommendation

Operations

ImplementationGuide

Operations

InsurancePlan

Operations

Invoice

Operations

Library

Operations

Linkage

Operations

List

Operations

Location

Operations

Measure

Operations

MeasureReport

Operations

Media

Operations

Medication

Operations

MedicationAdministration

Operations

MedicationDispense

Operations

MedicationKnowledge

Operations

MedicationRequest

Operations

MedicationStatement

Operations

MedicinalProduct

Operations

MedicinalProductAuthorization

Operations

MedicinalProductContraindication

Operations

MedicinalProductIndication

Operations

MedicinalProductIngredient

Operations

MedicinalProductInteraction

Operations

MedicinalProductManufactured

Operations

MedicinalProductPackaged

Operations

MedicinalProductPharmaceutical

Operations

MedicinalProductUndesirableEffect

Operations

MessageDefinition

Operations

MessageHeader

Operations

MolecularSequence

Operations

NamingSystem

Operations

NutritionOrder

Operations

Observation

Operations

ObservationDefinition

Operations

OperationDefinition

Operations

OperationOutcome

Operations

Organization

Operations

OrganizationAffiliation

Operations

Parameters

Operations

Patient

Operations

PaymentNotice

Operations

PaymentReconciliation

Operations

Person

Operations

PlanDefinition

Operations

Practitioner

Operations

PractitionerRole

Operations

Procedure

Operations

Provenance

Operations

Questionnaire

Operations

QuestionnaireResponse

Operations

RelatedPerson

Operations

RequestGroup

Operations

ResearchDefinition

Operations

ResearchElementDefinition

Operations

ResearchStudy

Operations

ResearchSubject

Operations

RiskAssessment

Operations

RiskEvidenceSynthesis

Operations

Schedule

Operations

SearchParameter

Operations

ServiceRequest

Operations

Slot

Operations

Specimen

Operations

SpecimenDefinition

Operations

StructureDefinition

Operations

StructureMap

Operations

Subscription

Operations

Substance

Operations

SubstanceNucleicAcid

Operations

SubstancePolymer

Operations

SubstanceProtein

Operations

SubstanceReferenceInformation

Operations

SubstanceSourceMaterial

Operations

SubstanceSpecification

Operations

SupplyDelivery

Operations

SupplyRequest

Operations

Task

Operations

TerminologyCapabilities

Operations

TestReport

Operations

TestScript

Operations

Get FHIR R4 TestScripts

Request

Query
_countnumber

Number of items to return

_page_tokenstring

Page token for fetching the next set of items

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/fhir/test-script?_count=0&_page_token=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Bundle resource

Value"Bundle"
Example: "Bundle"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

typeany

Indicates the purpose of this bundle - how it is intended to be used.

Enum"document""message""transaction""transaction-response""batch""batch-response""history""searchset""collection"
Example: "searchset"
_typeobject(Element)

Base definition for all elements in a resource.

timestampstring(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

_timestampobject(Element)

Base definition for all elements in a resource.

totalnumber(unsignedInt)^[0]|([1-9][0-9]*)$

An integer with a value that is not negative (e.g. >= 0)

_totalobject(Element)

Base definition for all elements in a resource.

linkArray of objects(Bundle_Link)

A series of links that provide context to this bundle.

Example: [{"relation":"search","url":"https://api.heydonto.com/fhir/test-script/?_count=20"},{"relation":"next","url":"https://api.heydonto.com/fhir/test-script/?_count=20&_page_token=TOKEN"},{"relation":"first","url":"https://api.heydonto.com/fhir/test-script/?_count=20"},{"relation":"self","url":"https://api.heydonto.com/fhir/test-script/?_count=20"}]
entryArray of objects(TestScript)

An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

Example: [{"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"}}]}}]
signatureobject(Signature)

A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.

Response
application/json
{ "resourceType": "Bundle", "type": "searchset", "total": 100, "link": [ {}, {}, {}, {} ], "entry": [ {} ] }

Create FHIR R4 TestScript

Request

Bodyapplication/jsonrequired
resourceTypeanyrequired

This is a TestScript resource

Value"TestScript"
Example: "TestScript"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

_urlobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_titleobject(Element)

Base definition for all elements in a resource.

statusany

The status of this test script. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"name":"Support","telecom":[{"system":"email","value":"support@HL7.org","use":"work"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.

Example: [{"code":{"system":"http://terminology.hl7.org/CodeSystem/usage-context-type","code":"focus"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/variant-state","code":"positive"}]}}]
jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the test script is intended to be used.

Example: [{"coding":[{"system":"urn:iso:std:iso:3166","code":"US","display":"United States of America (the)"}]}]
purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_copyrightobject(Element)

Base definition for all elements in a resource.

originArray of objects(TestScript_Origin)

An abstract server used in operations within this test script in the origin element.

destinationArray of objects(TestScript_Destination)

An abstract server used in operations within this test script in the destination element.

metadataobject(TestScript_Metadata)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

fixtureArray of objects(TestScript_Fixture)

Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.

Example: [{"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)"}}]
profileArray of objects(Reference)

Reference to the profile to be used for validation.

Example: [{"id":"patient-profile","reference":"http://hl7.org/fhir/StructureDefinition/Patient"}]
variableArray of objects(TestScript_Variable)

Variable is set based either on element value in response body or on header field value in the response headers.

Example: [{"name":"createResourceId","path":"Patient/id","sourceId":"fixture-patient-create"}]
setupobject(TestScript_Setup)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

testArray of objects(TestScript_Test)

A test in this script.

Example: [{"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}}]}]
teardownobject(TestScript_Teardown)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

curl -i -X POST \
  https://docs.heydonto.com/_mock/apis/fhir/openapi/fhir/test-script \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "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"
          }
        }
      ]
    }
  }'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a TestScript resource

Value"TestScript"
Example: "TestScript"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

_urlobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_titleobject(Element)

Base definition for all elements in a resource.

statusany

The status of this test script. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"name":"Support","telecom":[{"system":"email","value":"support@HL7.org","use":"work"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.

Example: [{"code":{"system":"http://terminology.hl7.org/CodeSystem/usage-context-type","code":"focus"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/variant-state","code":"positive"}]}}]
jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the test script is intended to be used.

Example: [{"coding":[{"system":"urn:iso:std:iso:3166","code":"US","display":"United States of America (the)"}]}]
purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_copyrightobject(Element)

Base definition for all elements in a resource.

originArray of objects(TestScript_Origin)

An abstract server used in operations within this test script in the origin element.

destinationArray of objects(TestScript_Destination)

An abstract server used in operations within this test script in the destination element.

metadataobject(TestScript_Metadata)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

fixtureArray of objects(TestScript_Fixture)

Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.

Example: [{"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)"}}]
profileArray of objects(Reference)

Reference to the profile to be used for validation.

Example: [{"id":"patient-profile","reference":"http://hl7.org/fhir/StructureDefinition/Patient"}]
variableArray of objects(TestScript_Variable)

Variable is set based either on element value in response body or on header field value in the response headers.

Example: [{"name":"createResourceId","path":"Patient/id","sourceId":"fixture-patient-create"}]
setupobject(TestScript_Setup)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

testArray of objects(TestScript_Test)

A test in this script.

Example: [{"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}}]}]
teardownobject(TestScript_Teardown)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

Response
application/json
{ "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": [ {} ], "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": [ {} ], "jurisdiction": [ {} ], "purpose": "Patient Conditional Create (Update), Read and Delete Operations", "copyright": "© HL7.org 2011+", "metadata": { "link": [], "capability": [] }, "fixture": [ {}, {} ], "profile": [ {} ], "variable": [ {} ], "setup": { "action": [] }, "test": [ {} ], "teardown": { "action": [] } }

Get FHIR R4 TestScript by ID

Request

Path
idstringrequired

ID of the TestScript

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/fhir/test-script/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a TestScript resource

Value"TestScript"
Example: "TestScript"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

_urlobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_titleobject(Element)

Base definition for all elements in a resource.

statusany

The status of this test script. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"name":"Support","telecom":[{"system":"email","value":"support@HL7.org","use":"work"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.

Example: [{"code":{"system":"http://terminology.hl7.org/CodeSystem/usage-context-type","code":"focus"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/variant-state","code":"positive"}]}}]
jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the test script is intended to be used.

Example: [{"coding":[{"system":"urn:iso:std:iso:3166","code":"US","display":"United States of America (the)"}]}]
purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_copyrightobject(Element)

Base definition for all elements in a resource.

originArray of objects(TestScript_Origin)

An abstract server used in operations within this test script in the origin element.

destinationArray of objects(TestScript_Destination)

An abstract server used in operations within this test script in the destination element.

metadataobject(TestScript_Metadata)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

fixtureArray of objects(TestScript_Fixture)

Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.

Example: [{"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)"}}]
profileArray of objects(Reference)

Reference to the profile to be used for validation.

Example: [{"id":"patient-profile","reference":"http://hl7.org/fhir/StructureDefinition/Patient"}]
variableArray of objects(TestScript_Variable)

Variable is set based either on element value in response body or on header field value in the response headers.

Example: [{"name":"createResourceId","path":"Patient/id","sourceId":"fixture-patient-create"}]
setupobject(TestScript_Setup)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

testArray of objects(TestScript_Test)

A test in this script.

Example: [{"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}}]}]
teardownobject(TestScript_Teardown)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

Response
application/json
{ "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": [ {} ], "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": [ {} ], "jurisdiction": [ {} ], "purpose": "Patient Conditional Create (Update), Read and Delete Operations", "copyright": "© HL7.org 2011+", "metadata": { "link": [], "capability": [] }, "fixture": [ {}, {} ], "profile": [ {} ], "variable": [ {} ], "setup": { "action": [] }, "test": [ {} ], "teardown": { "action": [] } }

Update FHIR R4 TestScript

Request

Path
idstringrequired

ID of the TestScript to update

Bodyapplication/jsonrequired
resourceTypeanyrequired

This is a TestScript resource

Value"TestScript"
Example: "TestScript"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

_urlobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_titleobject(Element)

Base definition for all elements in a resource.

statusany

The status of this test script. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"name":"Support","telecom":[{"system":"email","value":"support@HL7.org","use":"work"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.

Example: [{"code":{"system":"http://terminology.hl7.org/CodeSystem/usage-context-type","code":"focus"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/variant-state","code":"positive"}]}}]
jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the test script is intended to be used.

Example: [{"coding":[{"system":"urn:iso:std:iso:3166","code":"US","display":"United States of America (the)"}]}]
purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_copyrightobject(Element)

Base definition for all elements in a resource.

originArray of objects(TestScript_Origin)

An abstract server used in operations within this test script in the origin element.

destinationArray of objects(TestScript_Destination)

An abstract server used in operations within this test script in the destination element.

metadataobject(TestScript_Metadata)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

fixtureArray of objects(TestScript_Fixture)

Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.

Example: [{"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)"}}]
profileArray of objects(Reference)

Reference to the profile to be used for validation.

Example: [{"id":"patient-profile","reference":"http://hl7.org/fhir/StructureDefinition/Patient"}]
variableArray of objects(TestScript_Variable)

Variable is set based either on element value in response body or on header field value in the response headers.

Example: [{"name":"createResourceId","path":"Patient/id","sourceId":"fixture-patient-create"}]
setupobject(TestScript_Setup)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

testArray of objects(TestScript_Test)

A test in this script.

Example: [{"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}}]}]
teardownobject(TestScript_Teardown)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

curl -i -X PUT \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/fhir/test-script/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "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"
          }
        }
      ]
    }
  }'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a TestScript resource

Value"TestScript"
Example: "TestScript"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

_urlobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_titleobject(Element)

Base definition for all elements in a resource.

statusany

The status of this test script. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"name":"Support","telecom":[{"system":"email","value":"support@HL7.org","use":"work"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.

Example: [{"code":{"system":"http://terminology.hl7.org/CodeSystem/usage-context-type","code":"focus"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/variant-state","code":"positive"}]}}]
jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the test script is intended to be used.

Example: [{"coding":[{"system":"urn:iso:std:iso:3166","code":"US","display":"United States of America (the)"}]}]
purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

_copyrightobject(Element)

Base definition for all elements in a resource.

originArray of objects(TestScript_Origin)

An abstract server used in operations within this test script in the origin element.

destinationArray of objects(TestScript_Destination)

An abstract server used in operations within this test script in the destination element.

metadataobject(TestScript_Metadata)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

fixtureArray of objects(TestScript_Fixture)

Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.

Example: [{"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)"}}]
profileArray of objects(Reference)

Reference to the profile to be used for validation.

Example: [{"id":"patient-profile","reference":"http://hl7.org/fhir/StructureDefinition/Patient"}]
variableArray of objects(TestScript_Variable)

Variable is set based either on element value in response body or on header field value in the response headers.

Example: [{"name":"createResourceId","path":"Patient/id","sourceId":"fixture-patient-create"}]
setupobject(TestScript_Setup)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

testArray of objects(TestScript_Test)

A test in this script.

Example: [{"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}}]}]
teardownobject(TestScript_Teardown)

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

Response
application/json
{ "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": [ {} ], "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": [ {} ], "jurisdiction": [ {} ], "purpose": "Patient Conditional Create (Update), Read and Delete Operations", "copyright": "© HL7.org 2011+", "metadata": { "link": [], "capability": [] }, "fixture": [ {}, {} ], "profile": [ {} ], "variable": [ {} ], "setup": { "action": [] }, "test": [ {} ], "teardown": { "action": [] } }

Delete FHIR R4 TestScript

Request

Path
idstringrequired

ID of the TestScript to delete

curl -i -X DELETE \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/fhir/test-script/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

TestScript successfully deleted

Bodyapplication/json
statusTextstringrequired
Example: "OK"
statusnumberrequired
Example: 200
Response
application/json
{ "statusText": "OK", "status": 200 }

Get FHIR R4 TestScript history by ID

Request

Path
idstringrequired

ID of the TestScript

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/fhir/test-script/{id}/history' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Bundle resource

Value"Bundle"
typeanyrequired

Indicates that this is a history bundle.

Value"history"
entryArray of objectsrequired

A list of entries representing historical versions of the resource.

entry[].​fullUrlstringrequired
Example: "https://api.heydonto.com/test-script/6eca4369-7183-446e-bab7-addc609972d3"
entry[].​requestobjectrequired
entry[].​request.​methodstring
Enum"PUT""POST"
entry[].​request.​urlstring
Example: "https://api.heydonto.com/test-script/6eca4369-7183-446e-bab7-addc609972d3"
entry[].​resourceobjectrequired
Example: {"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"}}]}}
entry[].​responseobjectrequired
entry[].​response.​lastModifiedstring(date-time)
Example: "2024-10-29T01:05:22.739517+00:00"
entry[].​response.​locationstring
Example: "https://api.heydonto.com/test-script/6eca4369-7183-446e-bab7-addc609972d3/_history/MTczMDE2MzkyMjczOTUxNzAwMA"
entry[].​response.​statusstring
Example: "200 OK"
totalintegerrequired
Example: 2
Response
application/json
{ "resourceType": "Bundle", "type": "history", "entry": [ {} ], "total": 2 }

ValueSet

Operations

VerificationResult

Operations

VisionPrescription

Operations