Scalable Consent Management Testing Guide - Local Development build (v1.0.0-ballot) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: http://hl7.org/fhir/us/consent-management-tg/TestPlan/fhir-consent-management-1.0.0-ballot-test-plan | Version: 1.0.0-ballot | |||
| Standards status: Trial-use | Maturity Level: 1 | Computable Name: fhir-consent-management-1.0.0-ballot-test-plan | ||
The Scalable Consent Management Testing Guide defines the testing artifacts used to verify and validate implementations declaring conformance to and against the Scalable Consent Management Implementation Guide.
Contact: (HL7 International / Community Based Collaborative Care: http://www.hl7.org/Special/com...)
Read a Consent Test a client and server to verify support for the Consent read interaction and the return of a valid Consent resource conforming to the FASTConsent profile. This scenario is generic and can be used with any FHIR format and query parameters. Actors: Consent Client, CAS Pre-condition: A Consent conforming to the FASTConsent profile exists at the CAS, and its ID is known. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Search for a Consent Test a client and server to verify support for the Consent search interaction and the return of at least one valid Consent resource conforming to the FASTConsent profile. This scenario is generic and can be used with any FHIR format and query parameters. Actors: Consent Client, CAS Pre-condition: At least one Consent conforming to the FASTConsent profile exists at the CAS, and details about it sufficient to search are known. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentController - JSON This test case extends test case "Search for a Consent". Pre-condition: FASTConsentController details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentController - XML This test case extends test case "Search for a Consent". Pre-condition: FASTConsentController details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by date - JSON This test case extends test case "Search for a Consent". Pre-condition: date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by date - XML This test case extends test case "Search for a Consent". Pre-condition: date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentGrantee - JSON This test case extends test case "Search for a Consent". Pre-condition: FASTConsentGrantee details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentGrantee - XML This test case extends test case "Search for a Consent". Pre-condition: FASTConsentGrantee details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentManager - JSON This test case extends test case "Search for a Consent". Pre-condition: FASTConsentManager details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentManager - XML This test case extends test case "Search for a Consent". Pre-condition: FASTConsentManager details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentOrganizationId - JSON This test case extends test case "Search for a Consent". Pre-condition: FASTConsentOrganizationId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentOrganizationId - XML This test case extends test case "Search for a Consent". Pre-condition: FASTConsentOrganizationId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by patient - JSON This test case extends test case "Search for a Consent". Pre-condition: patient details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by patient - XML This test case extends test case "Search for a Consent". Pre-condition: patient details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentPatientId - JSON This test case extends test case "Search for a Consent". Pre-condition: FASTConsentPatientId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsentPatientId - XML This test case extends test case "Search for a Consent". Pre-condition: FASTConsentPatientId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by scope - JSON This test case extends test case "Search for a Consent". Pre-condition: scope details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by scope - XML This test case extends test case "Search for a Consent". Pre-condition: scope details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by status - JSON This test case extends test case "Search for a Consent". Pre-condition: status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by status - XML This test case extends test case "Search for a Consent". Pre-condition: status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsent profile - JSON This test case extends test case "Search for a Consent". Pre-condition: At least one Consent declaring the FASTConsent profile and at least one Consent not declaring it exist at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by FASTConsent profile - XML This test case extends test case "Search for a Consent". Pre-condition: At least one Consent declaring the FASTConsent profile and at least one Consent not declaring it exist at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by _id - JSON This test case extends test case "Search for a Consent". Pre-condition: id of a Consent is known.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by _id - XML This test case extends test case "Search for a Consent". Pre-condition: id of a Consent is known.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by identifier - JSON This test case extends test case "Search for a Consent". Pre-condition: identifier of a Consent is known.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by identifier - XML This test case extends test case "Search for a Consent". Pre-condition: identifier of a Consent is known.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by patient and status - JSON This test case extends test case "Search for a Consent". Pre-condition: patient and status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by patient and status - XML This test case extends test case "Search for a Consent". Pre-condition: patient and status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by patient and date - JSON This test case extends test case "Search for a Consent". Pre-condition: patient and date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for Consent by patient and date - JSON This test case extends test case "Search for a Consent". Pre-condition: patient and date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Read an AuditEvent Test a client and server to verify support for the AuditEvent read interaction and the return of a valid AuditEvent resource conforming to the FASTConsentAuditEvent profile. This scenario is generic and can be used with any FHIR format and query parameters. Actors: Consent Client, CAS Pre-condition: An AuditEvent conforming to the FASTConsentAuditEvent profile exists at the CAS, and its ID is known. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Search for an AuditEvent Test a client and server to verify support for the AuditEvent search interaction and the return of at least one valid AuditEvent resource conforming to the FASTConsentAuditEvent profile. This scenario is generic and can be used with any FHIR format and query parameters. Actors: Consent Client, CAS Pre-condition: At least one AuditEvent conforming to the FASTConsentAuditEvent profile exists at the CAS, and details about it sufficient to search are known. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Search for AuditEvent by FASTAuditEventConsent - JSON This test case extends test case "Search for an AuditEvent". Pre-condition: FASTAuditEventConsent details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for AuditEvent by FASTAuditEventConsent - XML This test case extends test case "Search for an AuditEvent". Pre-condition: FASTAuditEventConsent details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for AuditEvent by patient - JSON This test case extends test case "Search for an AuditEvent". Pre-condition: patient details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for AuditEvent by patient - XML This test case extends test case "Search for an AuditEvent". Pre-condition: patient details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for AuditEvent by FASTConsentAuditEvent profile - JSON This test case extends test case "Search for an AuditEvent". Pre-condition: At least one AuditEvent declaring the FASTConsentAuditEvent profile and at least one AuditEvent not declaring it exist at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Search for AuditEvent by FASTConsentAuditEvent profile - XML This test case extends test case "Search for an AuditEvent". Pre-condition: At least one AuditEvent declaring the FASTConsentAuditEvent profile and at least one AuditEvent not declaring it exist at the CAS.
|
| Type | Content | Result |
| ?? | ?? |
Read a Subscription Test a client and server to verify support for the Subscription read interaction and the return of a valid Subscription resource conforming to the FASTSubscription profile. This scenario is generic and can be used with any FHIR format and query parameters. Actors: Consent Client, CAS Pre-condition: A Subscription conforming to the FASTSubscription profile exists at the CAS, and its ID is known. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Operation: File a Consent Actors: Consent Client, CAS Pre-condition: None Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Operation: Revoke a Consent Actors: Consent Client, CAS Pre-condition: None Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Operation: Record a Disclosure Actors: Consent Client, CAS Pre-condition: None Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Operation: Get Subscription Status Actors: Consent Client, CAS Pre-condition: A Subscription exists on the CAS. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Obtain server CapabilityStatement Actors: Consent client, CAS Pre-condition: None Narrative:
Post-condition:
|
| Language | Source[x] |
| FHIR TestScript - Touchstone profile | https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/FAST/FHIR4-0-1-Consent/Consent-1-0-0-ballot/00-Capabilities&activeOnly=true&contentEntry=TEST_SCRIPTS |
| Type | Content | Result |
| ?? | ?? |
Obtain server CapabilityStatement - JSON This test case extends test case "Obtain server CapabilityStatement".
|
| Language | Source[x] |
| FHIR TestScript - Touchstone profile | https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/FAST/FHIR4-0-1-Consent/Consent-1-0-0-ballot/00-Capabilities&activeOnly=true&contentEntry=TEST_SCRIPTS |
| Type | Content | Result |
| ?? | ?? |
Obtain server CapabilityStatement - XML This test case extends test case "Obtain server CapabilityStatement".
|
| Language | Source[x] |
| FHIR TestScript - Touchstone profile | https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/FAST/FHIR4-0-1-Consent/Consent-1-0-0-ballot/00-Capabilities&activeOnly=true&contentEntry=TEST_SCRIPTS |
| Type | Content | Result |
| ?? | ?? |
Obtain and handle conformant variations of server CapabilityStatement This tests the ability of a client to handle legal variants of CSs. Actors: Consent Client, Simulated CAS Pre-condition: None Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Obtain and handle STU3 version server CapabilityStatement This tests the ability of a client to handle an STU3 CS. Actors: Consent Client, Simulated CAS Pre-condition: None Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Test client CapabilityStatement Actors: Consent client Pre-condition: None Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Test client CapabilityStatement - JSON This test case extends test case "Test client CapabilityStatement".
|
| Type | Content | Result |
| ?? | ?? |
Test client CapabilityStatement - XML This test case extends test case "Test client CapabilityStatement".
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Utilize Consent For Disclosure This is a wide-open workflow that can be used as the base for many variations. Actors: Data Consumer, Data Holder with Consent Client, CAS Pre-condition: Data holder has PHI for a patient. CAS has a valid, active Consent associated with that patient. [The rest is undefined: Data Holder may already have the Consent and know it is managed at this particular CAS, Data Holder may not know about the Consent or the CAS and discover it at the time the disclosure is requested.] Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Create a subscription - rest-hook This is a wide-open test case that can be used as the base for many variations. Actors: Consent Client, CAS, Notification Endpoint Pre-condition: Consent Client has prepared its Notification Endpoint to receive notifications. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Create a subscription - rest-hook PUT This test case extends test case "Create a subscription - rest-hook".
|
| Type | Content | Result |
| ?? | ?? |
Error: Create a Subscription - rest-hook - unsupported backport-channel-type Actors: Consent Client, CAS Pre-condition: None Narrative:
Post-condition: The Subscription has not been created at the CAS. |
| Type | Content | Result |
| ?? | ?? |
Error: Create a Subscription - rest-hook - unsupported filter Actors: Consent Client, CAS Pre-condition: None Narrative:
Post-condition: The Subscription has not been created at the CAS. |
| Type | Content | Result |
| ?? | ?? |
Error: Create a Subscription - rest-hook - unsupported content level Actors: Consent Client, CAS Pre-condition: None Narrative:
Post-condition: The Subscription has not been created at the CAS. |
| Type | Content | Result |
| ?? | ?? |
Error: Create a Subscription - rest-hook - unsupported topic Actors: Consent Client, CAS Pre-condition: None Narrative:
Post-condition: The Subscription has not been created at the CAS. |
| Type | Content | Result |
| ?? | ?? |
Update a Subscription - rest-hook This is a wide-open test case that can be used as the base for many variations. Actors: Consent Client, CAS, Notification Endpoint Pre-condition: Consent Client has an existing Subscription at the CAS. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Update a Subscription - rest-hook PATCH This test case extends test case "Update a Subscription - rest-hook".
|
| Type | Content | Result |
| ?? | ?? |
Notify for a Subscription - rest-hook This is a wide-open test case that can be used as the base for many variations. Each variation needs to specify what the trigger in step 1 is. Actors: Consent Client, CAS, Notification Endpoint Pre-condition: Consent Client has successfully made a Subscription at the CAS, with the rest-hook channel type. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification This is a wide-open workflow that can be used as the base for many variations. Actors: Consent Client, CAS, Notification Endpoint, Tester Pre-condition: CAS has advertised its support for subscriptions in its CapabilityStatement. Consent Client has prepared its Notification Endpoint to receive notifications. There are no current subscriptions between this CAS and this Endpoint. Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - FASTConsentPatientId This test case extends test case "Workflow: Consent subscription and notification". Test data: Data for 2 conformant FASTConsents for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Each Consent differs by where it identifies the patient: patient.identifier element or patient.extension additionalIdentifier.
Additional Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - FASTConsentOrganizationId This test case extends test case "Workflow: Consent subscription and notification". Test data: Data for 4 conformant FASTConsents for an existing organization known at the CAS. No existing Consents for this organization at the CAS. Each Consent differs by where it identifies the organization: the extensions grantee, manager, controller or the provision.actor.role.reference.
Additional Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - actor This test case extends test case "Workflow: Consent subscription and notification". Test data: Data for a conformant FASTConsent for an existing Consent actor (Consent.provision.actor.reference - see the actor search parameter) known at the CAS. No existing Consents for this actor at the CAS.
Additional Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - status This test case extends test case "Workflow: Consent subscription and notification". Test data: Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents having this status at the CAS, so there may be false positives the tester will need to examine.
Additional Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - scope This test case extends test case "Workflow: Consent subscription and notification". Test data: Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents having this scope at the CAS, so there may be false positives the tester will need to examine.
Additional Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - no filters This test case extends test case "Workflow: Consent subscription and notification". Test data: Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents at the CAS, so there may be false positives the tester will need to examine.
Additional Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - full-resource payload This test case extends test case "Workflow: Consent subscription and notification".
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - id only payload This test case extends test case "Workflow: Consent subscription and notification".
|
| Type | Content | Result |
| ?? | ?? |
Workflow: Consent subscription and notification - empty payload This test case extends test case "Workflow: Consent subscription and notification".
|
| Type | Content | Result |
| ?? | ?? |
Use Case: Sign and File Consent Actors: Consenter, Consent Client, CAS Pre-condition: A consent form has been reviewed and completed (see use case Review Consent). Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |
Validate FHIR resources This is a base test case that will be added to all others. Actors: Any Pre-condition: None Narrative:
Post-condition:
|
| Type | Content | Result |
| ?? | ?? |