Name | /FHIR4-0-0-Connectathon23/Terminology-Formal/JSON Format/Subsumes/terminology-c23-subsumes-snomed-04-notok-get-json |
Description | CodeSystem $subsumes tests against known and unknown SNOMED codes where the expected outcome is a failure response with a returned OperationOutcome. All $subsumes operations are performed using the FHIR Operation Framework HTTP GET method. |
Version | 2 | Latest | 2 |
<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
<id value="terminology-c23-subsumes-snomed-04-notok-get-json"/>
<meta>
<profile value="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript"/>
</meta>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>FHIR Connectathon 23 - Terminology Services - Subsumes - SNOMED - NOT OK - GET - JSON</p>
</div>
</text>
<url value="http://wildfhir.aegis.net/fhir4-0-0/TestScript/terminology-c23-subsumes-snomed-04-notok-get-json"/>
<name value="FHIRC23TerminologySubsumesSNOMEDNotOKGETJSON"/>
<title value="FHIR Connectathon 23 - Terminology Services - Subsumes - SNOMED - NOT OK - GET - JSON"/>
<status value="active"/>
<date value="2020-01-22"/>
<publisher value="AEGIS.net, Inc."/>
<contact>
<name value="Touchstone Support"/>
<telecom>
<system value="email"/>
<value value="Touchstone_Support@aegis.net"/>
<use value="work"/>
</telecom>
</contact>
<description value="CodeSystem $subsumes tests against known and unknown SNOMED codes where the expected outcome is a failure response with a returned OperationOutcome. All $subsumes operations are performed using the FHIR Operation Framework HTTP GET method."/>
<copyright value="(c) AEGIS.net, Inc. 2019"/>
<profile id="OperationOutcomeProfile">
<reference value="http://hl7.org/fhir/StructureDefinition/OperationOutcome"/>
</profile>
<test id="01-SNOMED-InvalidSystemValue">
<name value="SNOMED-InvalidSystemValue"/>
<description value="Subsumes test for an invalid (SNOMED) system and codes using HTTP GET; 3738000 (viral hepatitis) subsumed-by 235856003 (disorder of the liver). Expected response is 4xx/5xx with an OperationOutcome payload containing at least one error issue."/>
<action>
<operation>
<type>
<system value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="subsumes"/>
</type>
<resource value="CodeSystem"/>
<description value="CodeSystem $subsumes operation for invalid (SNOMED) system and valid codes."/>
<accept value="json"/>
<encodeRequestUrl value="true"/>
<params value="/$subsumes?system=http://snomed.info/sctx&codeA=3738000&codeB=235856003"/>
</operation>
</action>
<action>
<assert>
<description value="Confirm that the returned HTTP status is 4xx/5xx."/>
<direction value="response"/>
<operator value="greaterThan"/>
<responseCode value="399"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned format is JSON. Warning only to allow for review."/>
<direction value="response"/>
<contentType value="json"/>
<warningOnly value="true"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned resource type is OperationOutcome."/>
<direction value="response"/>
<resource value="OperationOutcome"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource type conforms the base FHIR specification."/>
<direction value="response"/>
<validateProfileId value="OperationOutcomeProfile"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource contains at least one error or fatal issue."/>
<direction value="response"/>
<expression value="OperationOutcome.issue.where(severity = 'error').count() > 0 or OperationOutcome.issue.where(severity = 'fatal').count() > 0"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
<test id="02-SNOMED-InvalidCodeAValue">
<name value="SNOMED-InvalidCodeAValue"/>
<description value="Subsumes test for the SNOMED system and an invalid codeA value using HTTP GET; 3738000X (invalid) subsumed-by 235856003 (disorder of the liver). Expected response is 4xx/5xx with an OperationOutcome payload containing at least one error issue."/>
<action>
<operation>
<type>
<system value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="subsumes"/>
</type>
<resource value="CodeSystem"/>
<description value="CodeSystem $subsumes operation for SNOMED system and an invalid codeA value."/>
<accept value="json"/>
<encodeRequestUrl value="true"/>
<params value="/$subsumes?system=http://snomed.info/sct&codeA=3738000X&codeB=235856003"/>
</operation>
</action>
<action>
<assert>
<description value="Confirm that the returned HTTP status is 4xx/5xx."/>
<direction value="response"/>
<operator value="greaterThan"/>
<responseCode value="399"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned format is JSON. Warning only to allow for review."/>
<direction value="response"/>
<contentType value="json"/>
<warningOnly value="true"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned resource type is OperationOutcome."/>
<direction value="response"/>
<resource value="OperationOutcome"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource type conforms the base FHIR specification."/>
<direction value="response"/>
<validateProfileId value="OperationOutcomeProfile"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource contains at least one error or fatal issue."/>
<direction value="response"/>
<expression value="OperationOutcome.issue.where(severity = 'error').count() > 0 or OperationOutcome.issue.where(severity = 'fatal').count() > 0"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
<test id="03-SNOMED-InvalidCodeBValue">
<name value="SNOMED-InvalidCodeBValue"/>
<description value="Subsumes test for the SNOMED system and an invalid codeB value using HTTP GET; 3738000 (viral hepatitis) subsumed-by 235856003X (invalid). Expected response is 4xx/5xx with an OperationOutcome payload containing at least one error issue."/>
<action>
<operation>
<type>
<system value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="subsumes"/>
</type>
<resource value="CodeSystem"/>
<description value="CodeSystem $subsumes operation for SNOMED system and an invalid codeB value."/>
<accept value="json"/>
<encodeRequestUrl value="true"/>
<params value="/$subsumes?system=http://snomed.info/sct&codeA=3738000&codeB=235856003X"/>
</operation>
</action>
<action>
<assert>
<description value="Confirm that the returned HTTP status is 4xx/5xx."/>
<direction value="response"/>
<operator value="greaterThan"/>
<responseCode value="399"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned format is JSON. Warning only to allow for review."/>
<direction value="response"/>
<contentType value="json"/>
<warningOnly value="true"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned resource type is OperationOutcome."/>
<direction value="response"/>
<resource value="OperationOutcome"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource type conforms the base FHIR specification."/>
<direction value="response"/>
<validateProfileId value="OperationOutcomeProfile"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource contains at least one error or fatal issue."/>
<direction value="response"/>
<expression value="OperationOutcome.issue.where(severity = 'error').count() > 0 or OperationOutcome.issue.where(severity = 'fatal').count() > 0"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
<test id="04-SNOMED-InvalidSystemCodeACodeBValues">
<name value="SNOMED-InvalidSystemCodeACodeBValues"/>
<description value="Subsumes test for invalid (SNOMED) system, codeA, and codeB values using HTTP GET; 3738000X (invalid) subsumed-by 235856003X (invalid). Expected response is 4xx/5xx with an OperationOutcome payload containing at least one error issue."/>
<action>
<operation>
<type>
<system value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="subsumes"/>
</type>
<resource value="CodeSystem"/>
<description value="CodeSystem $subsumes operation for invalid (SNOMED) system, codeA, and codeB values."/>
<accept value="json"/>
<encodeRequestUrl value="true"/>
<params value="/$subsumes?system=http://snomed.info/sctx&codeA=3738000X&codeB=235856003X"/>
</operation>
</action>
<action>
<assert>
<description value="Confirm that the returned HTTP status is 4xx/5xx."/>
<direction value="response"/>
<operator value="greaterThan"/>
<responseCode value="399"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned format is JSON. Warning only to allow for review."/>
<direction value="response"/>
<contentType value="json"/>
<warningOnly value="true"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned resource type is OperationOutcome."/>
<direction value="response"/>
<resource value="OperationOutcome"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource type conforms the base FHIR specification."/>
<direction value="response"/>
<validateProfileId value="OperationOutcomeProfile"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource contains at least one error or fatal issue."/>
<direction value="response"/>
<expression value="OperationOutcome.issue.where(severity = 'error').count() > 0 or OperationOutcome.issue.where(severity = 'fatal').count() > 0"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
<test id="05-SNOMED-MissingParameterCodeB">
<name value="SNOMED-MissingParameterCodeB"/>
<description value="Subsumes test for the SNOMED system and a missing codeB parameter using HTTP GET; 3738000 (viral hepatitis) subsumed-by (missing). Expected response is 4xx/5xx with an OperationOutcome payload containing at least one error issue."/>
<action>
<operation>
<type>
<system value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="subsumes"/>
</type>
<resource value="CodeSystem"/>
<description value="CodeSystem $subsumes operation for SNOMED system and a missing codeB parameter."/>
<accept value="json"/>
<encodeRequestUrl value="true"/>
<params value="/$subsumes?system=http://snomed.info/sct&codeA=3738000"/>
</operation>
</action>
<action>
<assert>
<description value="Confirm that the returned HTTP status is 4xx/5xx."/>
<direction value="response"/>
<operator value="greaterThan"/>
<responseCode value="399"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned format is JSON. Warning only to allow for review."/>
<direction value="response"/>
<contentType value="json"/>
<warningOnly value="true"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned resource type is OperationOutcome."/>
<direction value="response"/>
<resource value="OperationOutcome"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource type conforms the base FHIR specification."/>
<direction value="response"/>
<validateProfileId value="OperationOutcomeProfile"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource contains at least one error or fatal issue."/>
<direction value="response"/>
<expression value="OperationOutcome.issue.where(severity = 'error').count() > 0 or OperationOutcome.issue.where(severity = 'fatal').count() > 0"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
<test id="06-SNOMED-IncorrectParameterCode">
<name value="SNOMED-IncorrectParameterCode"/>
<description value="Subsumes test for the SNOMED system and an incorrect code parameter using HTTP GET; 3738000 (viral hepatitis) subsumed-by 235856003 (disorder of the liver). Expected response is 4xx/5xx with an OperationOutcome payload containing at least one error issue."/>
<action>
<operation>
<type>
<system value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="subsumes"/>
</type>
<resource value="CodeSystem"/>
<description value="CodeSystem $subsumes operation for SNOMED system and an incorrect code parameter."/>
<accept value="json"/>
<encodeRequestUrl value="true"/>
<params value="/$subsumes?system=http://snomed.info/sct&codeA=3738000&code=235856003"/>
</operation>
</action>
<action>
<assert>
<description value="Confirm that the returned HTTP status is 4xx/5xx."/>
<direction value="response"/>
<operator value="greaterThan"/>
<responseCode value="399"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned format is JSON. Warning only to allow for review."/>
<direction value="response"/>
<contentType value="json"/>
<warningOnly value="true"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned resource type is OperationOutcome."/>
<direction value="response"/>
<resource value="OperationOutcome"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource type conforms the base FHIR specification."/>
<direction value="response"/>
<validateProfileId value="OperationOutcomeProfile"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description value="Confirm that the returned OperationOutcome resource contains at least one error or fatal issue."/>
<direction value="response"/>
<expression value="OperationOutcome.issue.where(severity = 'error').count() > 0 or OperationOutcome.issue.where(severity = 'fatal').count() > 0"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
</TestScript>