This repository has been archived by the owner on Apr 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
tests
andrequina edited this page Dec 16, 2014
·
6 revisions
Codes below (e.g. CR01
) reference Sprinkler test IDs.
- does the server support all the resources and operations that it claims?
- does the server support any resources or operations that are not advertised?
- does the server support any non-standard resources or operations?
- does the server implement any profiles?
- [
C001
,C002
]
- create [
BI01
,CR01
,CR02
,CR03
,CR04
,CT05
] - update [
BI02
,UP01
,UP02
] - read [
BI02
,R001
,R002
,R003
,R004
] - read (type) [
BU02
] - delete [
BI03
,DE01
,DE02
] - validate [
V001
,V002
,V003
,V004
]
- vread [
HI03
] - history [
HI01
,HI02
,HI03
,HI04
,HI05
,HI06
,HI07
,HI08
,HI09
,HI10
,HI11
]
Test the extent of the search capabilities supported.
- no criteria [
SE01
] - non-existing resource [
SE02
] - id
- parameters [
SE03
,SE04
,SE24
,SE25
] - parameter modifiers (:missing, :exact, :text, :[type]) [
SE23
] - numbers (= < <= > >= significant-digits) [
SE21
,SE22
] - date (all of the permutations?)
- token
- quantities [
SE21
,SE22
] - references [
SE05
] - chained parameters
- composite parameters
- text search logical operators
- tags [
TA08
], profile, security label - _filter parameter
- result relevance
- result sorting (_sort parameter)
- result paging
- _include parameter [
SE06
] - _summary parameter
- result server conformance (report params actually used)
- advanced searching with "Query" or _query param
- Create resource that uses profile
- Create base resource that does not use the profile
- Post resource with unsupported profile data and verify (TBD, per spec)
- TBD
The FHIR spec lists three common use-cases and the required capabilities for each.
- Personal Health Record (PHR)
- Supports login and authentication
- Search and Read on Patient
- Search and Read on DocumentReference
- Search and Read on these clinical resources
- Document Sharing (XDS)
- Supports Read on DocumentReference, Patient, Practitioner, Organization, SecurityEvent, and Binary
- Implements the XDS profile
- Decision Support (CDS)
- Supports full _search capability
- Support Query resource and associated operations
- Meaningful Use (CQM)
- TBD
- xml support [
CT01
,CT02
] - json support [
CT03
,CT04
] - xml & json equality
- TBD [
MA01
,MA02
,MA03
]
- Bundles [
BU01
,BU03
,BU04
] - Transaction: Add [
TR01
] - Transaction: Update [
TR02
,TR03
] - Transaction: Delete [
TR04
]
- create [
TA01
] - read [
TA02
,TA04
,TA05
,TA06
] - update [
TA03
,TA09
,TA10
] - delete [
TA11
,TA12
] - history [
TA07
] - search [
TA08
]
- Download completed questionnaire [
QU01
] - Reupload as template [
QU02
] - Download template [
QU03
] - Upload new questionnaire [
QU04
]
- Posting feeds with valid signature [
DS01
] - Posting feeds with invalid signature [
DS02
]
- Compare resource overlap
- server sA supports resources r0, r1, r2
- server sB supports resources r1, r2, r3
- profile compatibility on overlapping resources
- does sA profile/restrict r1 in a non-compatible way from the perspective of sB?
- extension compatibility on overlapping resources
- do sA and sB support the same extensions?
- if not, is there data loss or corruption when data is exchanged?
- operation compatibility on overlapping resources
- for example, sA supports READ and UPDATE only while sB supports full CRUD
- does sA profile/restrict UPDATE to only fields f1, and f2?
- what happens if sB updates a local copy (with a full transaction that includes field f3) and then tries to update the same resource on sA?
- performance of client reference implementations on executing those operations on overlapping resources across systems
- does it work? was there data loss? data corruption?
- of the “pipes” or “pathways to interoperability” between sA and sB, which are actually interoperable?
- Can server sA validate a resource from server sB using a profile living on sB?
- Cross server references?
- Bulk transfers/transactions — can you POST a bundle or composition??
- Add large amounts of whitespace to XML
- Re-order resource JSON
- Load large numbers of resources
- Add long data fields
- Post large resource with large narrative
- Add unsafe HTML to narrative
- Provide partial dates/times and validate precision
- Provide doubles and verify the precision is maintained
- Send time data in multiple timezones and validate