Scalable Consent Management Testing Guide - Local Development build (v0.1.0) 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-0.1.0-test-plan | Version: 0.1.0 | |||
Standards status: Trial-use | Maturity Level: 1 | Computable Name: fhir-consent-management-0.1.0-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 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 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 |
| ?? | ?? |
Read an AuditEvent 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 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 Actors: Consent Client, CAS Pre-condition: A Subscription [optionally conforming to the FASTSubscription profile] exists at the CAS, and its ID is known. Narrative:
Post-condition:
|
Type | Content | Result |
| ?? | ?? |
Workflow: Create a subscription - rest-hook This is a wide-open workflow that can be used as the base for many variations. Actors: Consent Client, CAS, Notification Endpoint Pre-condition: CAS has advertised its support for subscriptions in its CapabilityStatement. Consent Client has prepared its Notification Endpoint to receive notifications. Narrative:
Post-condition:
|
Type | Content | Result |
| ?? | ?? |
Workflow: Create a subscription - rest-hook PUT This test case extends test case "Workflow: 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 |
| ?? | ?? |
Workflow: Update a Subscription - rest-hook This is a wide-open workflow 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 |
| ?? | ?? |
Workflow: Update a Subscription - rest-hook PATCH This test case extends test case "Workflow: Update a Subscription - rest-hook".
|
Type | Content | Result |
| ?? | ?? |
Workflow: Notify for a Subscription - rest-hook This is a wide-open workflow 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 |
| ?? | ?? |
Operation: Get Subscription Status Actors: Consent Client, CAS Pre-condition: None 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 |
| ?? | ?? |
Obtain server CapabilityStatement Actors: Consent client, CAS Pre-condition: None Narrative:
Post-condition:
|
Type | Content | Result |
| ?? | ?? |
Obtain server CapabilityStatement - JSON This test case extends test case "Obtain server CapabilityStatement".
|
Type | Content | Result |
| ?? | ?? |
Obtain server CapabilityStatement - XML This test case extends test case "Obtain server CapabilityStatement".
|
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: 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 - all filters This test case extends test case "Workflow: Consent subscription and notification". TBD - define background test data that:
Additional Post-condition:
|
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 |
| ?? | ?? |
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 |
| ?? | ?? |