We’re currently in the process of writing integration tests against the PDS FHIR API (Application Restricted), using the test data packs provided: PDS FHIR API test data
Using the General Tests: All PDS data (all-pds-data2.xlsx), we haven’t gotten very far before running into inconsistencies between the test packs and the data returned by the integration API. It states that it is read-only, but some of the inconsistencies with names suggest that it they may have been modified.
It also states that it should be used to test retrievals by NHS number, which I would assume means that each row should return a valid patient.
We’ve only done some very brief testing so far, gotten as far as ensuring we’re parsing the responses correctly, and checking the names for each record.
I guess we have two questions:
- Are the data packs meant to differ this much from the integration API? It makes verifying the tests very tedious.
- Where non-spec compliant responses are returned, is this likely to happen in the production API also? Do we need to make affordances for these cases?
- 6 resources are returning INVALIDATED_RESOURCE, that aren’t noted as invalidated in the pack
- 18 have family names that are not present in the names returned by the API
9449304424: test pack = “AINDOW”, API responds with “Jones” (no history)
- 6 patients are returning the
text“Usual address for patient X” for each address, instead of one of the cases defined in the OpenAPI spec
- Unknown number with mismatching given names