FHIR IG analytics| Package | ihe.pharm.meow.test |
| Resource Type | TestPlan |
| Id | TestPlan-meow-client-tests.json |
| FHIR Version | R6 |
| Source | https://build.fhir.org/ig/costateixeira/pharm-MEOW-test/TestPlan-meow-client-tests.html |
| URL | http://example.com/fhir/ihe.pharm.meow.test/TestPlan/meow-client-tests |
| Version | 1.0.0 |
| Status | draft |
| Date | 2026-08-26 |
| Name | MEOWClientTestPlan |
| Title | MEOW Consumer (Client) Test Plan |
| Realm | uv |
| Authority | ihe |
| Description | Test plan for the **Medication Overview Consumer** actor (the *MEOW client*) defined by the [IHE PHARM Medication Overview (MEOW)](https://profiles.ihe.net/PHARM/MEOW/index.html) implementation guide. Each `suite.test` below corresponds to one `Scenario:` in the Gherkin feature file named by `suite.input.file`, matched by its `tc-meow-client-NNN` identifier. The system under test is the **client**: the SUT initiates every exchange, the test bed plays the Responder and judges what arrives. |
| Purpose | To declare, in a machine-readable and runnable form, which behaviours a system claiming conformance to the MEOW Medication Overview Consumer actor must demonstrate. |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: TestPlan meow-client-tests
Scopes
| Reference | Description |
https://profiles.ihe.net/PHARM/MEOW/CapabilityStatement/MedicationOverviewConsumer | The Medication Overview Consumer (MEOW client) actor - the system under test. |
1 Suite: IHE MEOW Medication Overview Consumer - client-side conformance
Maps to the Feature of the same name in the Gherkin script. The test bed plays the Medication Overview Responder while the system under test drives every exchange.
Inputs
| Name | File |
| gherkin-script | meow-client-gherkin-script.feature |
Tests
| Name | Description | Operation |
| tc-meow-client-001 PHARM-11 query by patient and by optional parameters | Three rounds, each a separate exchange triggered on the SUT, proving the Consumer can build each query rather than build one and repeat it: by patient alone, then patient + status, then patient + _lastUpdated. | gherkin/Scenario |
| tc-meow-client-002 Submitted overview conforms to MedicationOverview | MEOW defines no submit transaction - both CapabilityStatements are read/search only - so the endpoint is deployment-specific and only the payload is governed by the profile. | gherkin/Scenario |
{
"resourceType": "TestPlan",
"resourceDefinition": "http://hl7.org/fhir/StructureDefinition/TestPlan|0.1.0-snapshot1",
"id": "meow-client-tests",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://example.com/fhir/ihe.pharm.meow.test/TestPlan/meow-client-tests",
"version": "1.0.0",
"name": "MEOWClientTestPlan",
"title": "MEOW Consumer (Client) Test Plan",
"status": "draft",
"experimental": true,
"date": "2026-08-26",
"publisher": "Jose Costa Teixeira",
"contact": [
{
"name": "Jose Costa Teixeira",
"telecom": [
{
"system": "url",
"value": "https://github.com/costateixeira/pharm-MEOW-test"
}
]
}
],
"description": "Test plan for the **Medication Overview Consumer** actor (the *MEOW client*) defined by the\n[IHE PHARM Medication Overview (MEOW)](https://profiles.ihe.net/PHARM/MEOW/index.html) implementation guide.\n\nEach `suite.test` below corresponds to one `Scenario:` in the Gherkin feature file named by\n`suite.input.file`, matched by its `tc-meow-client-NNN` identifier. The system under test is the\n**client**: the SUT initiates every exchange, the test bed plays the Responder and judges what arrives.",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "001",
"display": "World"
}
]
}
],
"purpose": "To declare, in a machine-readable and runnable form, which behaviours a system claiming conformance to the MEOW Medication Overview Consumer actor must demonstrate.",
"scope": [
{
"reference": "https://profiles.ihe.net/PHARM/MEOW/CapabilityStatement/MedicationOverviewConsumer",
"description": "The Medication Overview Consumer (MEOW client) actor - the system under test."
}
],
"runner": "https://www.itb.ec.europa.eu/docs/guides/latest/",
"suite": [
{
"name": "IHE MEOW Medication Overview Consumer - client-side conformance",
"description": "Maps to the Feature of the same name in the Gherkin script. The test bed plays the Medication Overview Responder while the system under test drives every exchange.",
"input": [
{
"name": "gherkin-script",
"file": "meow-client-gherkin-script.feature"
}
],
"test": [
{
"name": "tc-meow-client-001 PHARM-11 query by patient and by optional parameters",
"description": "Three rounds, each a separate exchange triggered on the SUT, proving the Consumer can build each query rather than build one and repeat it: by patient alone, then patient + status, then patient + _lastUpdated.",
"operation": "gherkin/Scenario",
"assertion": [
{
"severity": "error",
"human": "Every PHARM-11 query the Consumer issues is a GET against /MedicationStatement carrying a patient parameter. A query without patient is non-conformant no matter what else it carries."
},
{
"severity": "error",
"human": "The Consumer asks for FHIR JSON, via the Accept header or the _format query parameter."
},
{
"severity": "error",
"human": "The optional search parameters the Consumer declares support for are built into the query itself - status and _lastUpdated narrow the search server-side, rather than the Consumer pulling everything and filtering locally."
}
]
},
{
"name": "tc-meow-client-002 Submitted overview conforms to MedicationOverview",
"description": "MEOW defines no submit transaction - both CapabilityStatements are read/search only - so the endpoint is deployment-specific and only the payload is governed by the profile.",
"operation": "gherkin/Scenario",
"assertion": [
{
"severity": "error",
"human": "The overview the Consumer submits is a POST carrying FHIR JSON."
},
{
"severity": "error",
"human": "The submitted Bundle validates against the MEOW MedicationOverview profile."
}
]
}
]
}
]
}