Radiation Dose Summary for Diagnostic Procedures on FHIR
0.1.0 - STU 1 Ballot

Publication Build: This will be filled in by the publication tooling

## TestScript: TestScript_RDSC_Simulator

Generated Narrative

Resource "RDSC-Simulator"

url: `https://build.fhir.org/ig/HL7/fhir-radiation-dose-summary-ig/TestScript-RDSC-Simulator.json`

version: 0.1.0

name: TestScript_RDSC_Simulator

status: active

date: 2021-07-17

publisher: HL7 Imaging Integration Working Group

contact: http://www.hl7.org/Special/committees/imagemgt, HL7 Imaging Integration Workgroup: http://www.hl7.org/Special/committees/imagemgt, Abderrazek Boufahja: abderrazek.boufahja@ge.com

description: TestScript to validate the FHIR Server searching capabilities.

jurisdiction: World (m49.htm#001)

copyright: HL7 2021

### Destinations

- | Index | Profile
* | 1 | FHIR Server (Details: http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types code FHIR-Server = 'FHIR Server', stated as 'FHIR Server')

> variable

> name: rdsResourceId

> defaultValue: 2535717

> description: Enter the resource ID of the Observation describing a Radiation Dose Summary, registered in your server.

> variable

> name: patientId

> expression: Observation.subject.reference.replaceMatches('.*Patient/','').replaceMatches('/_history.*','')

> sourceId: rds-read-response

> variable

> name: deviceId

> expression: Observation.device.reference.replaceMatches('.*Device/','').replaceMatches('/_history.*','')

> sourceId: rds-read-response

> variable

> name: practitionerId

> expression: Observation.performer.reference.replaceMatches('.*Practitioner/','').replaceMatches('/_history.*','')

> sourceId: rds-read-response

> variable

> name: imagingStudyId

> expression: Observation.partOf.reference.replaceMatches('.*(MedicationAdministration|MedicationDispense|MedicationStatement|Procedure|Immunization|ImagingStudy)/','').replaceMatches('/_history.*','')

> sourceId: rds-read-response

> variable

> name: date

> path: Observation/effectiveDateTime/@value

> sourceId: rds-read-response

> variable

> name: identifier

> path: Observation/identifier/value

> sourceId: rds-read-response

> test

> name: Observation_read

> description: Read provided Observation - the radiation dose summary

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params | ResponseId
> > * | Read (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code read = 'Read', stated as 'null') | Observation | Read the Radiation Dose Summary observation ${rdsResourceId} | json | true | /${rdsResourceId} | rds-read-response

> > action

> > ### Asserts

> > - | Description | Direction | Operator | ResponseCode | WarningOnly
> > * | Confirm that the returned HTTP status is 200(OK) or 201(Created). | response | in | 200,201 | false

> > action

> > ### Asserts

> > - | Description | Direction | Operator | Path | WarningOnly
> > * | Confirm that the returned Observation is not empty. | response | notEmpty | Observation/id | false

> test

> name: Observation_search_patient

> description: Search radiation dose summary by patient

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params
> > * | Search (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code search = 'Search', stated as 'null') | Observation | Search Radiation Dose Summary using the patientId ${patientId} | json | true | ?code=73569-6&patient=${patientId}

> > action

> > ### Asserts

> > - | Description | Expression | WarningOnly
> > * | Confirm that the total number of response is greater than 1. | Bundle.total.toInteger() >= 1 | false

> test

> name: Observation_search_device

> description: Search radiation dose summary by device

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params
> > * | Search (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code search = 'Search', stated as 'null') | Observation | Search Radiation Dose Summary using the deviceId ${deviceId} | json | true | ?code=73569-6&device=${deviceId}

> > action

> > ### Asserts

> > - | Description | Expression | WarningOnly
> > * | Confirm that the total number of response is greater than 1. | Bundle.total.toInteger() >= 1 | false

> test

> name: Observation_search_partof

> description: Search radiation dose summary by part-of

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params
> > * | Search (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code search = 'Search', stated as 'null') | Observation | Search Radiation Dose Summary using the ImagingStudy ID ${imagingStudyId} | json | true | ?code=73569-6&part-of=${imagingStudyId}

> > action

> > ### Asserts

> > - | Description | Expression | WarningOnly
> > * | Confirm that the total number of response is greater than 1. | Bundle.total.toInteger() >= 1 | false

> test

> name: Observation_search_identifier

> description: Search radiation dose summary by identifier

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params
> > * | Search (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code search = 'Search', stated as 'null') | Observation | Search Radiation Dose Summary using the identifier of the Observation ${identifier} | json | true | ?code=73569-6&identifier=${identifier}

> > action

> > ### Asserts

> > - | Description | Expression | WarningOnly
> > * | Confirm that the total number of response is greater than 1. | Bundle.total.toInteger() >= 1 | false

> test

> name: Observation_search_date

> description: Search radiation dose summary by date

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params
> > * | Search (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code search = 'Search', stated as 'null') | Observation | Search Radiation Dose Summary using the date of the Observation ${date} | json | true | ?code=73569-6&date=${date}

> > action

> > ### Asserts

> > - | Description | Expression | WarningOnly
> > * | Confirm that the total number of response is greater than 1. | Bundle.total.toInteger() >= 1 | false

> test

> name: Observation_read_patient

> description: Read patient resource

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params | ResponseId
> > * | Read (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code read = 'Read', stated as 'null') | Patient | Read the Patient ${patientId} | json | true | /${patientId} | patient-read-response

> > action

> > ### Asserts

> > - | Description | Direction | Operator | ResponseCode | WarningOnly
> > * | Confirm that the returned HTTP status is 200(OK) or 201(Created). | response | in | 200,201 | false

> > action

> > ### Asserts

> > - | Description | Direction | Operator | Path | WarningOnly
> > * | Confirm that the returned Patient is not empty. | response | notEmpty | id | false

> test

> name: Observation_read_device

> description: Read device resource

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params | ResponseId
> > * | Read (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code read = 'Read', stated as 'null') | Device | Read the Device ${deviceId} | json | true | /${deviceId} | device-read-response

> > action

> > ### Asserts

> > - | Description | Direction | Operator | ResponseCode | WarningOnly
> > * | Confirm that the returned HTTP status is 200(OK) or 201(Created). | response | in | 200,201 | false

> > action

> > ### Asserts

> > - | Description | Direction | Operator | Path | WarningOnly
> > * | Confirm that the returned Device is not empty. | response | notEmpty | id | false

> test

> name: Observation_read_practitioner

> description: Read practitioner resource

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params | ResponseId
> > * | Read (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code read = 'Read', stated as 'null') | Practitioner | Read the Practitioner ${practitionerId} | json | true | /${practitionerId} | practitioner-read-response

> > action

> > ### Asserts

> > - | Description | Direction | Operator | ResponseCode | WarningOnly
> > * | Confirm that the returned HTTP status is 200(OK) or 201(Created). | response | in | 200,201 | false

> > action

> > ### Asserts

> > - | Description | Direction | Operator | Path | WarningOnly
> > * | Confirm that the returned Practitioner is not empty. | response | notEmpty | id | false

> test

> name: Observation_read_imagingstudy

> description: Read imagingstudy resource

> > action

> > ### Operations

> > - | Type | Resource | Description | Accept | EncodeRequestUrl | Params | ResponseId
> > * | Read (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code read = 'Read', stated as 'null') | ImagingStudy | Read the ImagingStudy ${imagingStudyId} | json | true | /${imagingStudyId} | imagingstudy-read-response

> > action

> > ### Asserts

> > - | Description | Direction | Operator | ResponseCode | WarningOnly
> > * | Confirm that the returned HTTP status is 200(OK) or 201(Created). | response | in | 200,201 | false

> > action

> > ### Asserts

> > - | Description | Direction | Operator | Path | WarningOnly
> > * | Confirm that the returned ImagingStudy is not empty. | response | notEmpty | id | false