Site identifier
HeyDonto FHIR R4 API - Conformance (1.0)
The Conformance Module represents metadata about the datatypes, resources and API features of the FHIR specification and can be used to create derived specifications.
The core FHIR specification describes a set of resources, frameworks and APIs that are used in many different contexts in healthcare. However, there is wide variability between jurisdictions and across the healthcare ecosystem around practices, requirements, regulations, education and what actions are feasible and/or beneficial.
For this reason, the FHIR specification is a "platform specification" - it creates a common platform or foundation on which a variety of different solutions are implemented. As a consequence, this specification usually requires further adaptation to particular contexts of use.
Typically, these adaptations specify:
- Rules about which resource elements are or are not used, and what additional elements are added that are not part of the base specification
- Rules about which of FHIR's RESTful API, messaging and document features are used, and how
- Rules about which terminologies are used in particular elements
- Descriptions of how the Resource elements and API features map to local requirements and/or implementations
Note that because of the nature of the healthcare ecosystem, there may be multiple overlapping sets of adaptations - by healthcare domain, by country, by institution, and/or by vendor/implementation.
FHIR provides a set of resources that can be used to represent and share the adaptations listed above in a computable fashion. These resources are collectively called the conformance resources. Although these conformance resources can be used in isolation they are typically used in the context of an Implementation Guide or a Capability Statement:
- Implementation Guides are documents published by a domain, institution or vendor that describe how FHIR is adapted to support a certain use case (or set of use cases). An implementation guide combines a set of conformance resources and supporting narrative into a document for use by implementers.
- A capability statements use the conformance resources to document how a client or server has implemented FHIR, i.e. which aspects of the specification and API are implemented and how.
The content of an Implementation Guide is described using the ImplementationGuide resource, while the capability statement is represented by the CapabilityStatement resource. These two resources make use of the complete set of conformance resources to fully capture the set of adaptations they represent. Note that the CapabilityStatement resource is one of the conformance resources, the first just describing the capabilities of a system, while the latter is the set of all conformance resources, including:
- The StructureDefinition defines how a particular structure (Resource, Extension or Data Type) is used to:
- Describe how existing elements in resources and/or data types are used and identify existing elements that are not used. Exact rules on how to do this can be found in the section on conformance rules
- Define extensions that can be used in resources or data types
- Reference the Value Sets that specify the content of coded elements, see the terminology module for more details
- The MessageDefinition describes messages that can be sent and received, including the driving event, contents to be exchanged and responsibilities on receipt
- The OperationDefinition describes additional operations in addition to those in the base specification
- The SearchParameter describes additional search capabilities in addition to those in the base specification
- The CompartmentDefinition describes a logical grouping for resources, used in access control or search
Conformance resources may be used independently, not just within the context of an ImplementationGuide resource or capability statement. See the section Common use cases for examples of such uses.
The conformance resources and their relationships are shown below:

Resources shown with a dotted box are described in other sections of the specification: ValueSet, ConceptMap and StructureMap are from the section on terminology, TestScript is part of the section on Implementer Support.
The conformance resources do not represent patient-related data, and as such are less susceptible to data breaching. Some caution is required however:
StructureDefinitionsmay contain invariants formulated as structured expressions that are evaluated by external engines (i.e. xpath), which -if improperly sandboxed- could provide low-level access to the system- A server may be implemented in such a way that it will automatically support additional search parameters or compartments definitions uploaded to that system. This may result in searches that use large amounts of processing power, expose sensitive patient data, or both
- If a server acts as a repository of conformance resources, it should tightly control modifications to its data: updates to conformance resources are usually managed by a review process to ensure backwards compatibility and stability. Worst case, changes to these resources may result in dependent systems running the risk of being misconfigured
Conformance resources are commonly used as part of an Implementation Guide or CapabilityStatement resource. There are many ways to use the resources independently however, including:
- An instance of a resource may reference one or more
StructureDefinitionsto claim conformance to the rules laid out in those StructureDefinitions - A server may serve
CapabilityStatementresources, effectively functioning as a discovery endpoint for services within an organization - A code-generation tool may use
StructureDefinitionsandOperationDefinitionsto generate code that represents the structures as classes and operations as remotely callable functions to provide an easier programming model to a software developer - A server may act as a repository of
NamingSystemresources, so vendors and implementers can quickly look up the URLs or oids for a given terminology or identifier system
A subset of the conformance resources has been tested and used in production tooling and are now normative. These include StructureDefinition and ValueSet.
Others, like CapabilityStatement, have been used widely, but not across all elements. As a consequence, these resources have a considerable number of elements marked for "trial use", while other parts are normative and will no longer change in a substantive way.
Other resources are still under development:
ImplementationGuide: used in the HL7 production tooling but has not received much use outside of these tools yetCompartmentDefinition: was new in STU3, and as such has not undergone much production use
These resources have been mainly used in the tools used to build the FHIR publication, early-adopter implementation guides and the FHIR Foundation conformance resource registry. In future, we expect to see more widespread use of these resources in validation tooling, code-generators and more extensive model-based guide authoring tools.
https://docs.heydonto.com/_mock/apis/fhir/conformance/
https://api-staging.heydonto.com/
https://api.heydonto.com/
Sort the results by a given field, e.g. _sort=family or _sort=-date.
Restrict returned fields, e.g. _elements=identifier,name.
Filter by resource telecom, e.g. date=[SYSTEM]|[VALUE].
Search for resources by identifier token, e.g. identifier=http://hospital.org|12345.
Include related patient resources, e.g. patient=Patient/[id]&.
Reverse chaining, e.g. _has:Observation:subject:code=http://loinc.org|1234-5.
Search by tag on the resource meta, e.g. _tag=http://example.org/tags|sample-tag.
Search by security label on resource meta, e.g. _security=RBAC|CONFIDENTIAL.
- Mock server
https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script
- Sandbox
https://api-staging.heydonto.com/site/{siteId}/fhir/test-script
- Production
https://api.heydonto.com/site/{siteId}/fhir/test-script
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script?_count=10&_page_token=CgYK...&_sort=family&_elements=identifier%2Cname&telecom=telecom%3Dphone%2C555-555-5555&_id=abc123&identifier=http%3A%2F%2Fhospital.org%2C12345&_include=string&patient=patient%3DPatient%2F%5Bid%5D%26&_revinclude=string&_has=Observation%3Asubject%3Acode%3Dhttp%3A%2F%2Floinc.org%2C1234-5&_tag=http%3A%2F%2Fexample.org%2Ftags%2Csample-tag&_security=RBAC%2CCONFIDENTIAL&_profile=http%3A%2F%2Fexample.org%2Ffhir%2FStructureDefinition%2Fcustom-profile' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'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.
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.
String of characters used to identify a name or a resource
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
An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
Indicates the purpose of this bundle - how it is intended to be used.
An instant in time - known at least to the second
An integer with a value that is not negative (e.g. >= 0)
A series of links that provide context to this bundle.
An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
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.
{ "resourceType": "Bundle", "type": "searchset", "total": 100, "link": [ { … }, { … }, { … }, { … } ], "entry": [ { … } ] }
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.
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.
String of characters used to identify a name or a resource
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
A human-readable summary of the resource conveying the essential clinical and business information for the resource.
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.
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.
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).
String of characters used to identify a name or a resource
An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
The status of this test script. Enables tracking the life-cycle of the content.
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.
Contact details to assist a user in finding and communicating with the publisher.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
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.
A legal or geographic region in which the test script is intended to be used.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
An abstract server used in operations within this test script in the origin element.
An abstract server used in operations within this test script in the destination element.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
Reference to the profile to be used for validation.
Variable is set based either on element value in response body or on header field value in the response headers.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
A test in this script.
- Mock server
https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script
- Sandbox
https://api-staging.heydonto.com/site/{siteId}/fhir/test-script
- Production
https://api.heydonto.com/site/{siteId}/fhir/test-script
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/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"
}
}
]
}
}'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.
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.
String of characters used to identify a name or a resource
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
A human-readable summary of the resource conveying the essential clinical and business information for the resource.
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.
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.
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).
String of characters used to identify a name or a resource
An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
The status of this test script. Enables tracking the life-cycle of the content.
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.
Contact details to assist a user in finding and communicating with the publisher.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
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.
A legal or geographic region in which the test script is intended to be used.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
An abstract server used in operations within this test script in the origin element.
An abstract server used in operations within this test script in the destination element.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
Reference to the profile to be used for validation.
Variable is set based either on element value in response body or on header field value in the response headers.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
A test in this script.
{ "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": [ … ] } }
- Mock server
https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script/{id}
- Sandbox
https://api-staging.heydonto.com/site/{siteId}/fhir/test-script/{id}
- Production
https://api.heydonto.com/site/{siteId}/fhir/test-script/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'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.
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.
String of characters used to identify a name or a resource
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
A human-readable summary of the resource conveying the essential clinical and business information for the resource.
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.
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.
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).
String of characters used to identify a name or a resource
An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
The status of this test script. Enables tracking the life-cycle of the content.
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.
Contact details to assist a user in finding and communicating with the publisher.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
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.
A legal or geographic region in which the test script is intended to be used.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
An abstract server used in operations within this test script in the origin element.
An abstract server used in operations within this test script in the destination element.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
Reference to the profile to be used for validation.
Variable is set based either on element value in response body or on header field value in the response headers.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
A test in this script.
{ "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": [ … ] } }
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.
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.
String of characters used to identify a name or a resource
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
A human-readable summary of the resource conveying the essential clinical and business information for the resource.
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.
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.
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).
String of characters used to identify a name or a resource
An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
The status of this test script. Enables tracking the life-cycle of the content.
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.
Contact details to assist a user in finding and communicating with the publisher.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
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.
A legal or geographic region in which the test script is intended to be used.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
An abstract server used in operations within this test script in the origin element.
An abstract server used in operations within this test script in the destination element.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
Reference to the profile to be used for validation.
Variable is set based either on element value in response body or on header field value in the response headers.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
A test in this script.
- Mock server
https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script/{id}
- Sandbox
https://api-staging.heydonto.com/site/{siteId}/fhir/test-script/{id}
- Production
https://api.heydonto.com/site/{siteId}/fhir/test-script/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/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"
}
}
]
}
}'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.
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.
String of characters used to identify a name or a resource
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
A human-readable summary of the resource conveying the essential clinical and business information for the resource.
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.
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.
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).
String of characters used to identify a name or a resource
An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
The status of this test script. Enables tracking the life-cycle of the content.
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.
Contact details to assist a user in finding and communicating with the publisher.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
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.
A legal or geographic region in which the test script is intended to be used.
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
An abstract server used in operations within this test script in the origin element.
An abstract server used in operations within this test script in the destination element.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
Reference to the profile to be used for validation.
Variable is set based either on element value in response body or on header field value in the response headers.
A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
A test in this script.
{ "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": [ … ] } }
- Mock server
https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script/{id}
- Sandbox
https://api-staging.heydonto.com/site/{siteId}/fhir/test-script/{id}
- Production
https://api.heydonto.com/site/{siteId}/fhir/test-script/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "statusText": "OK", "status": 200 }
- Mock server
https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script/{id}/history
- Sandbox
https://api-staging.heydonto.com/site/{siteId}/fhir/test-script/{id}/history
- Production
https://api.heydonto.com/site/{siteId}/fhir/test-script/{id}/history
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/test-script/{id}/history' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "resourceType": "Bundle", "type": "history", "entry": [ { … } ], "total": 2 }