HospitalNotification Testscripts
3.0.1 - ci-build

This page is part of the DK MedCom HospitalNotification TestScripts (v3.0.1: Release) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

TestScript: HospitalNotification_TestScript_PF-send-imp-06

Official URL: http://medcomfhir.dk/ig/hospitalnotificationtestscript/hospitalnotification-PF-send-imp-06 Version: 3.0.1
Active as of 2023-05-25 Responsible: MedCom Computable Name: HospitalNotificationTestScript

Copyright/Legal: MedCom 2021

Send: Admit patient, correct message due to incorrect time of admission.

Generated Narrative: TestScript

Resource TestScript "hospitalnotification-PF-send-imp-06"

Profile: AEGIS Touchstone Testing TestScript Profile

url: http://medcomfhir.dk/ig/hospitalnotificationtestscript/hospitalnotification-PF-send-imp-06

version: 3.0.1

name: HospitalNotificationTestScript

title: Send: Admit patient, correct message due to incorrect time of admission - PF-send-imp-06

status: active

date: 2023-05-25

publisher: MedCom

contact: MedCom: mailto:fhir@medcom.dk

description: Send: Admit patient, correct message due to incorrect time of admission.

copyright: MedCom 2021

Origins

-IndexProfile
*1FHIR Client (Details: http://terminology.hl7.org/CodeSystem/testscript-profile-origin-types code FHIR-Client = 'FHIR Client', stated as 'null')

Destinations

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

fixture

id

create-STIN-01

autocreate: false

autodelete: false

resource: /FHIRSandbox/MedCom/HospitalNotification/v300/Send/Fixtures/HospitalNotification-fixture.xml

fixture

id

create-RE-STIN-02

autocreate: false

autodelete: false

resource: /FHIRSandbox/MedCom/HospitalNotification/v300/Send/Fixtures/HospitalNotification-fixture.xml

profile: http://medcomfhir.dk/ig/hospitalnotification/StructureDefinition/medcom-hospitalNotification-message "MedComHospitalNotificationMessage"

variable

name: messageHeaderid-STIN

expression: Bundle.entry[0].fullUrl

sourceId: create-message-STIN

variable

name: episodeOfCareID-STIN

expression: Bundle.entry.resource.ofType(Encounter).episodeOfCare.identifier.value

sourceId: create-message-STIN

variable

name: searchParamIdentifier-STIN

expression: Bundle.entry.resource.ofType(MessageHeader).id

sourceId: create-message-STIN

variable

name: occurredDateTime-STIN

expression: Bundle.entry.resource.ofType(Provenance).where(target.reference = %resource.entry[0].fullUrl).occurred

sourceId: create-message-STIN

variable

name: encounterDateTime-STIN

expression: Bundle.entry.resource.ofType(Encounter).period.start

sourceId: create-message-STIN

variable

name: messageHeaderid-RE-STIN

expression: Bundle.entry[0].fullUrl

sourceId: create-message-RE-STIN

variable

name: episodeOfCareID-RE-STIN

expression: Bundle.entry.resource.ofType(Encounter).episodeOfCare.identifier.value

sourceId: create-message-RE-STIN

test

id

hospitalnotification-create-STIN-01

name: Create a HospitalNotification STIN Message 01

description: Post HospitalNotification to the server.

action

Operations

-TypeResourceDescriptionDestinationEncodeRequestUrlOriginResponseIdSourceId
*Create (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code create = 'Create', stated as 'null')BundlePost a Hospitalnotification1true1create-message-STINcreate-STIN-01

action

Asserts

-DescriptionDirectionOperatorResponseCodeWarningOnly
*Confirm that the returned HTTP status is okay or created.responsein200,201false

action

Asserts

-DescriptionDirectionResourceWarningOnly
*Confirm that the client request payload contains a Bundle resource type.requestBundlefalse

action

Asserts

-DescriptionDirectionValidateProfileIdWarningOnly
*Validates the bundle against http://medcomfhir.dk/ig/hospitalnotification/ImplementationGuide/dk.fhir.ig.dk-medcom-hospitalnotificationrequesthospitalnotificationfalse

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the request resource contains the expected eventCoding.code.requestBundle.entry.resource.ofType(MessageHeader).event.as(Coding).select(code = 'hospital-notification-message').allTrue()false

action

Asserts

-DescriptionDirectionExpressionOperatorValueWarningOnly
*Confirm that the Encounter class of the request resource is IMP.requestBundle.entry.resource.ofType(Encounter).class.codeequalsIMPfalse

action

Asserts

-DescriptionDirectionExpressionOperatorValueWarningOnly
*Confirm that the Encounter status of the request resource is in-progress.requestBundle.entry.resource.ofType(Encounter).statusequalsin-progressfalse

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the request resource contains the expected activity code.requestBundle.entry.resource.ofType(Provenance).where(activity.coding.code = 'admit-inpatient').exists()false

action

Asserts

-DescriptionDirectionExpressionOperatorValueWarningOnly
*Confirm that the report of admission flag is true.requestBundle.entry.resource.ofType(MessageHeader).extension.where(url='http://medcomfhir.dk/ig/hospitalnotification/StructureDefinition/medcom-messaging-reportOfAdmissionExtension').valueequalstruefalse

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the target reference in Provenance equals MessageHeader.idrequestBundle.entry.resource.ofType(Provenance).where(target.reference = %resource.entry[0].fullUrl).exists()false

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the episodeOfCare-identifier has the structure of an UUIDrequestBundle.entry.resource.ofType(Encounter).episodeOfCare.identifier.value.matches('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')false

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the a receiver of the report of admission exists, when the flag is true, and doesn't exists when the flag is false.requestBundle.entry.resource.ofType(MessageHeader).extension.where(url='http://medcomfhir.dk/ig/hospitalnotification/StructureDefinition/medcom-messaging-reportOfAdmissionRecipientExtension').exists() = truefalse

test

id

hospitalnotification-create-RE-STIN-02

name: Create a HospitalNotification RE-STIN Message 02

description: Post HospitalNotification to the server.

action

Operations

-TypeResourceDescriptionDestinationEncodeRequestUrlOriginResponseIdSourceId
*Create (Details: http://terminology.hl7.org/CodeSystem/testscript-operation-codes code create = 'Create', stated as 'null')BundlePost a Hospitalnotification1true1create-message-RE-STINcreate-RE-STIN-02

action

Asserts

-DescriptionDirectionOperatorResponseCodeWarningOnly
*Confirm that the returned HTTP status is okay or created.responsein200,201false

action

Asserts

-DescriptionDirectionResourceWarningOnly
*Confirm that the client request payload contains a Bundle resource type.requestBundlefalse

action

Asserts

-DescriptionDirectionValidateProfileIdWarningOnly
*Validates the bundle against http://medcomfhir.dk/ig/hospitalnotification/ImplementationGuide/dk.fhir.ig.dk-medcom-hospitalnotificationrequesthospitalnotificationfalse

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the previous MessageHeader fullURL is identical to Provenance.entity.whatrequestBundle.entry.resource.ofType(Provenance).where(entity.what.reference = '${messageHeaderid-STIN}').count() = 1false

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the request resource contains the expected eventCoding.code.requestBundle.entry.resource.ofType(MessageHeader).event.as(Coding).select(code = 'hospital-notification-message').allTrue()false

action

Asserts

-DescriptionDirectionExpressionOperatorValueWarningOnly
*Confirm that the role is set to revision. Not used when testing the first message in a streamrequestBundle.entry.resource.ofType(Provenance).entity.roleequalsrevisionfalse

action

Asserts

-DescriptionDirectionExpressionOperatorValueWarningOnly
*Confirm that the Encounter class of the request resource is IMP.requestBundle.entry.resource.ofType(Encounter).class.codeequalsIMPfalse

action

Asserts

-DescriptionDirectionExpressionOperatorValueWarningOnly
*Confirm that the Encounter status of the request resource is in-progress.requestBundle.entry.resource.ofType(Encounter).statusequalsin-progressfalse

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the request resource contains the expected activity code.requestBundle.entry.resource.ofType(Provenance).where(activity.coding.code = 'revise-admit-inpatient').exists()false

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the target reference in Provenance equals MessageHeader.idrequestBundle.entry.resource.ofType(Provenance).where(target.reference = %resource.entry[0].fullUrl).exists()false

action

Asserts

-DescriptionDirectionExpressionOperatorValueWarningOnly
*Confirm that the 2 Provenance instances exists.requestBundle.entry.resource.ofType(Provenance).count()equals2false

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that the episodeOfCare-identifier is episodeOfCareID-STINrequestBundle.entry.resource.ofType(Encounter).where(episodeOfCare.identifier.value = '${episodeOfCareID-STIN}').count() = 1false

action

Asserts

-DescriptionDirectionExpressionWarningOnly
*Confirm that Encounter.period.start has been updated.requestBundle.entry.resource.ofType(Encounter).period.start != ${encounterDateTime-STIN}false