Skip to content
Back to testkits

Developer hub

Testkit | FHIR® Search

FHIR Search enables precise queries across complex, graph-like interconnected FHIR resources – structured, traceable, and in real time. Also available via tool interfaces.

527 / 527 = 100.0 %Community compliance

  • ✓ 1 Passed✕ 0 Failed

    • ✓ Should provide correct pagination links when searching encounters and return identical results for self/first links
  • ✓ 9 Passed✕ 0 Failed

    • ✓ Absence of search filters returns all records
    • ✓ Case sensitivity of search parameters
    • ✓ Filter on specific resource (Patient.birthDate)
    • ✓ Order of operations (filters, sort, paging, includes)
    • ✓ Parameter affecting search results (_sort)
    • ✓ Server returns exact matches and respects _include parameter
    • ✓ Should find a resource when filtering across all resources with _id
    • ✓ Should return an empty bundle when filtering across all resources with non-existent _id
    • ✓ Textual search across resource
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Search across all resource types
    • ✓ Search across all resource types with _type parameter
    • ✓ Search in a specified compartment
    • ✓ Search in a specified compartment with wildcard type
    • ✓ Search on a specified resource type
    • ✓ Validate common parameters when _type is used
  • ✓ 1 Passed✕ 0 Failed

    • ✓ Search across multiple resource types should only allow common search parameters
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Search result bundle should contain a self link
    • ✓ Self link may be absolute or relative URI
    • ✓ Self link should be expressed as an HTTP GET-based search
    • ✓ Self link should contain all used search parameters
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Paging links should be expressed as GET requests
    • ✓ Search result bundle should contain paging links when applicable
    • ✓ Should handle _include correctly with pagination
    • ✓ Should support both GET and POST for initial search with pagination
  • ✓ 1 Passed✕ 0 Failed

    • ✓ Search results should not contain duplicate entries
  • ✓ 23 Passed✕ 0 Failed

    • ✓ Empty search result should not be treated as an error
    • ✓ Server should ignore empty parameters
    • ✓ Server should ignore unknown parameters in lenient mode (default)
    • ✓ Server should include only processed parameters in self link
    • ✓ Server should process search with unknown code
    • ✓ Server should process search with unknown subject
    • ✓ Server should return an error in strict mode for unknown parameters
    • ✓ Server should return appropriate 4xx/5xx codes for other errors
    • ✓ Server should return error for syntactically incorrect parameter
    • ✓ Should handle errors with _include/_revinclude parameters
    • ✓ Should handle multiple error conditions in same request
    • ✓ Should handle search for non-existent resource by id
    • ✓ Should handle search with illegal/unsupported modifier
    • ✓ Should handle search with incorrectly formatted date
    • ✓ Should handle search with non-existent patient identifier
    • ✓ Should handle search with out of scope date
    • ✓ Should handle search with unknown code
    • ✓ Should handle search with unknown parameter
    • ✓ Should honor Prefer header when possible
    • ✓ Should ignore unknown parameters by default
    • ✓ Should optionally include OperationOutcome with hints/warnings in empty result set
    • ✓ Should return an error for syntactically incorrect parameter content
    • ✓ Should return empty result set for logically incorrect but syntactically valid parameter
  • ✓ 2 Passed✕ 0 Failed

    • ✓ Should not impose GET-specific limitations on searches within a batch
    • ✓ Should support batching multiple search requests
  • ✓ 10 Passed✕ 0 Failed

    • ✓ Should support composite search parameter
    • ✓ Should support date search parameter
    • ✓ Should support number search parameter
    • ✓ Should support quantity search parameter
    • ✓ Should support reference search parameter
    • ✓ Should support search parameter modifiers
    • ✓ Should support search parameter prefixes
    • ✓ Should support string search parameter
    • ✓ Should support token search parameter
    • ✓ Should support uri search parameter
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should perform basic string search
    • ✓ Should perform number search with modifier
    • ✓ Should perform number search with prefix
    • ✓ Should perform token search
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should match patient when searching for second address
    • ✓ Should match patient when searching for second given name
    • ✓ Should match patient when searching for second identifier
    • ✓ Should match patient with multiple addresses when searching for one address
    • ✓ Should match patient with multiple identifiers when searching for one identifier
    • ✓ Should match patient with multiple names when searching for one name
  • ✓ 2 Passed✕ 0 Failed

    • ✓ should match patient when searching by address (backbone element)
    • ✓ should match patient when searching by name (complex element)
  • ✓ 9 Passed✕ 0 Failed

    • ✓ AND, Array, Complex: Intersection of records that contain at least one match for each search criteria
    • ✓ AND, Array, Simple: Intersection of records that contain at least one match for each search criteria
    • ✓ AND, Array, Simple: Should return empty result when ANDing mutually exclusive values
    • ✓ OR, Array, Complex: Union of records that contain at least one match for any search criteria
    • ✓ OR, Array, Simple: Union of records that contain at least one match for each search criteria
    • ✓ Should perform AND join for multiple search parameters
    • ✓ Should perform AND join for repeated search parameters
    • ✓ Should perform OR join for comma-separated values
    • ✓ Should support prefixes in OR joined values
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should allow only a single modifier per search parameter
    • ✓ Should apply modifier to all values in OR-joined search
    • ✓ Should reject search with unsupported modifier
    • ✓ Should support modifiers on search parameters
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find procedures in a specific location and its parent locations
    • ✓ Should handle different reference formats with above modifier
    • ✓ Should not apply above modifier to non-hierarchical references
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find resources with versions above the specified version
    • ✓ Should handle URL escaping in canonical references with :above modifier
    • ✓ Should reject or ignore version-related search on resources with unknown version scheme with :above modifier
  • ✓ 1 Passed✕ 0 Failed

    • ✓ Should find observations with codes above the specified SNOMED CT code
  • ✓ 1 Passed✕ 0 Failed

    • ✓ Should find ValueSets with URLs above the specified URL
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find procedures in a specific location and its child locations
    • ✓ Should handle different reference formats with below modifier
    • ✓ Should not apply below modifier to non-hierarchical references
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find resources with versions below the specified version
    • ✓ Should handle searches without version specified
    • ✓ Should handle URL escaping in canonical references with :below modifier
    • ✓ Should reject or ignore version-related search on resources with unknown version scheme with :below modifier
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find observations with codes below the specified SNOMED CT code
    • ✓ Should handle token search without system
    • ✓ Should reject hierarchical token search with only system
    • ✓ Should resolve MIME types using below modifier
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find ValueSets with URLs below the specified URL
    • ✓ Should handle partial URL matching
    • ✓ Should not match URLs that are not below the specified URL
    • ✓ Should not match URNs when using below modifier
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should match exact language code case-insensitively
    • ✓ Should match language code case-insensitively
    • ✓ Should match language code containing the search term
    • ✓ Should work with reference type search parameters
    • ✓ Should work with token type search parameters
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find patients with family name containing the search string (case-insensitive)
    • ✓ Should match anywhere in the string (start, middle, end)
    • ✓ Should reject contains modifier on non-string, non-uri search parameters
  • ✓ 8 Passed✕ 0 Failed

    • ✓ Should find patient with exact match on family name (case-sensitive)
    • ✓ Should match exact diacritic character (Renée)
    • ✓ Should match exact diacritic character (Zoë)
    • ✓ Should match multi-word name exactly (Van der Berg)
    • ✓ Should not find patients with different casing or partial matches
    • ✓ Should not match different Unicode representation of diacritic
    • ✓ Should not match multi-word name with different case (Van der berg)
    • ✓ Should not match name without diacritics (Renee) when searching with diacritics
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should find observations with matching subject identifier
    • ✓ Should handle partial identifier matches correctly
    • ✓ Should not find observations with matching subject reference but no identifier
    • ✓ Should not support chaining with identifier modifier
    • ✓ Should not support identifier modifier on canonical elements
    • ✓ Should reject identifier modifier on non-reference search parameters
  • ✓ 2 Passed✕ 0 Failed

    • ✓ Should include patient and linked patients/related persons when using iterate modifier
    • ✓ Should support iterate modifier with _revinclude
  • ✓ 10 Passed✕ 0 Failed

    • ✓ Should find patients with missing given name
    • ✓ Should find patients with non-missing given name
    • ✓ Should handle additional token type parameter scenarios
    • ✓ Should handle missing modifier on date type parameters
    • ✓ Should handle missing modifier on number type parameters
    • ✓ Should handle missing modifier on quantity type parameters
    • ✓ Should handle missing modifier on reference type parameters
    • ✓ Should handle missing modifier on token type parameters
    • ✓ Should handle missing modifier on uri type parameters
    • ✓ Should reject invalid values for missing modifier
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should correctly apply not modifier to Composition sections
    • ✓ Should find patients with gender not male
    • ✓ Should handle not modifier correctly and warn about multiple values
    • ✓ Should handle not modifier with token search parameters
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should find conditions with codes not in a specified ValueSet
    • ✓ Should handle logical references to ValueSets
    • ✓ Should handle URL-encoded ValueSet references
    • ✓ Should not allow not-in modifier with boolean token parameters
    • ✓ Should reject not-in modifier on non-token search parameters
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should find patients with specific identifier type and value
    • ✓ Should handle escaped values in of-type modifier
    • ✓ Should not find patients with different identifier types
    • ✓ Should reject of-type modifier on non-token search parameters
    • ✓ Should reject of-type modifier with missing parts
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find conditions with codes that match text search on token parameter
    • ✓ Should perform case-insensitive search with text modifier
    • ✓ Should reject text modifier on non-reference, non-token search parameters
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should handle accents in token:text search
    • ✓ Should perform case-insensitive search with section:text modifier
    • ✓ Should support standard token search combinations with section:text modifier
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find conditions with synonymous codes (server-dependent)
    • ✓ Should reject text-advanced modifier on non-reference, non-token search parameters
    • ✓ Should support case-insensitive search
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should be equivalent to standard reference search
    • ✓ Should find observations with a specific patient as subject
    • ✓ Should reject type modifier on non-reference search parameters
    • ✓ Should support chaining with type modifier
    • ✓ Should support reverse chaining with type modifier
  • ✓ 11 Passed✕ 0 Failed

    • ✓ Should handle approximate prefix (ap) for number searches based on configured percentage
    • ✓ Should handle multiple prefixes in a single search
    • ✓ Should handle prefix behavior with missing values
    • ✓ Should handle prefix behavior with Range type in probability search
    • ✓ Should handle prefixes with date ranges
    • ✓ Should handle prefixes with partial dates
    • ✓ Should handle prefixes with quantity searches including units
    • ✓ Should handle prefixes with time-based searches
    • ✓ Should search for observations with date prefixes
    • ✓ Should search for observations with number prefixes
    • ✓ Should search for observations with quantity prefixes
  • ✓ 8 Passed✕ 0 Failed

    • ✓ Should handle combination of percent-encoding and escaping
    • ✓ Should handle escaped backslash as literal value
    • ✓ Should handle escaped comma as literal value
    • ✓ Should handle escaped dollar sign as literal value
    • ✓ Should handle escaped pipe as literal value
    • ✓ Should handle mix of escaped and unescaped delimiters
    • ✓ Should handle percent-encoded URLs
    • ✓ Should handle unescaped comma as OR operator
  • ✓ 10 Passed✕ 0 Failed

    • ✓ Should search date type against date, dateTime, instant, Period, and Timing
    • ✓ Should search number type against decimal, integer, and positiveInt
    • ✓ Should search quantity type against Quantity values
    • ✓ Should search reference type against Canonical
    • ✓ Should search reference type against Reference
    • ✓ Should search reference type against URI
    • ✓ Should search reference type against URL
    • ✓ Should search string type against string values
    • ✓ Should search token type against boolean, code, CodeableConcept, and Identifier
    • ✓ Should search uri type against canonical, URI, and URL values
  • ✓ 23 Passed✕ 0 Failed

    • ✓ Should handle boundary comparison correctly
    • ✓ Should handle partially specified dates - year and month
    • ✓ Should handle partially specified dates - year only
    • ✓ Should handle range comparison correctly
    • ✓ Should handle timezone corrections
    • ✓ Should handle timezone in date search
    • ✓ Should search on date datatype
    • ✓ Should search on dateTime datatype
    • ✓ Should search on instant datatype
    • ✓ Should search on Period datatype
    • ✓ Should search on Timing datatype
    • ✓ Should search procedures in patient compartment over a 2-year period
    • ✓ Should search using full date-time format
    • ✓ Should search using partial date format
    • ✓ Should search with ap prefix for a specific day
    • ✓ Should search with eb prefix
    • ✓ Should search with eq prefix
    • ✓ Should search with ge prefix
    • ✓ Should search with gt prefix
    • ✓ Should search with le prefix
    • ✓ Should search with lt prefix
    • ✓ Should search with ne prefix
    • ✓ Should search with sa prefix
  • ✓ 7 Passed✕ 0 Failed

    • ✓ Should handle exponential form in searches
    • ✓ Should handle integer searches exactly
    • ✓ Should search for decimal values (precision=2) with implicit range 99.995-100.005
    • ✓ Should search for integer values (precision=0) with implicit range 99.5-100.5
    • ✓ Should search for risk assessments with probability in prediction
    • ✓ Should search for scientific notation (1 sig fig) with implicit range 50-150
    • ✓ Should search using comparison prefixes
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should search for observations using comparison operators
    • ✓ Should search for observations with a specific value and any matching unit
    • ✓ Should search for observations with a specific value and UCUM unit
    • ✓ Should search for observations with a specific value regardless of unit
    • ✓ Should search for observations with exponential notation
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should search for observations with a local reference
    • ✓ Should search for observations with a typed local reference
    • ✓ Should search for observations with an absolute URL reference
    • ✓ Should search for observations with multiple possible reference types
    • ✓ Should search using the identifier modifier
    • ✓ Should search using the type modifier
  • ✓ 18 Passed✕ 0 Failed

    • ✓ Should handle compound name search correctly
    • ✓ should handle contains search with umlauts
    • ✓ should handle exact matches with umlauts
    • ✓ should handle multiple umlauts in one name
    • ✓ should handle ö/oe replacement in given name
    • ✓ Should handle partial name search correctly
    • ✓ Should handle search for name with hyphen correctly
    • ✓ Should handle search for non-existent compound name
    • ✓ Should handle simple name search correctly
    • ✓ should handle ß/ss replacement
    • ✓ should handle ü/ue replacement in family name
    • ✓ Should match strings starting with the search parameter
    • ✓ Should perform accent-insensitive search
    • ✓ Should perform case-insensitive search with string parameter
    • ✓ Should search family name parts independently
    • ✓ Should search on complex elements (HumanName)
    • ✓ Should use :contains modifier to match anywhere in the string
    • ✓ Should use :exact modifier for exact matching
  • ✓ 11 Passed✕ 0 Failed

    • ✓ Should search by code without system
    • ✓ Should search by code without system (explicit |code)
    • ✓ Should search by identifier with system and code
    • ✓ Should search by system only (system|)
    • ✓ Should search Condition resources using :below modifier
    • ✓ Should search in CodeableConcept
    • ✓ Should search using :in modifier with custom value set
    • ✓ Should search using :not modifier
    • ✓ Should search using :of-type modifier for identifiers
    • ✓ Should search using :text modifier
    • ✓ Should support standard token search combinations with identifier parameter
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should be case-sensitive for URI searches
    • ✓ Should not apply :above or :below modifiers to URNs
    • ✓ Should search for exact URI match
    • ✓ Should search for URN (OID) exactly
    • ✓ Should search using :above modifier
    • ✓ Should search ValueSet URLs using :below modifier
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should search Composition using section-text parameter
    • ✓ Should search Location using contains parameter
    • ✓ Should search Location using near parameter
    • ✓ Should search using _filter parameter
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should differentiate between logical id and Identifier searches
    • ✓ Should search by canonical URL for Canonical Resources
    • ✓ Should search by Identifier-type element
    • ✓ Should search by logical identifier (Resource.id)
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should allow additional search criteria with logical id search
    • ✓ Should allow including additional resources in logical id search
    • ✓ Should return a bundle even when logical id does not exist
    • ✓ Should return a bundle when searching by logical id
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should combine _in search with additional criteria
    • ✓ Should handle _list search with empty list
    • ✓ Should search for conditions in a list using _list parameter
    • ✓ Should search for Observations in a Patient compartment using _in parameter
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should handle multiple identifiers for a single patient
    • ✓ Should search for a patient by identifier
    • ✓ Should search for encounters by patient identifier using chaining
  • ✓ 2 Passed✕ 0 Failed

    • ✓ Should search encounters by patient identifier using :identifier modifier
    • ✓ Should search encounters by patient identifier using chaining
  • ✓ 2 Passed✕ 0 Failed

    • ✓ Should search for a ValueSet by its canonical URL
    • ✓ Should search for resources referencing a canonical resource
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should search for resources with canonical references
    • ✓ Should search for resources with canonical references using :below modifier
    • ✓ Should search for resources with versioned references
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find ValueSets in hierarchy using :above modifier
    • ✓ Should find ValueSets using :below modifier
    • ✓ Should handle :above/:below modifiers on non-hierarchical references
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find all image DocumentReferences using :below modifier on first segment
    • ✓ Should find DocumentReference with exact MIME type match
    • ✓ Should find DocumentReference with MIME type and charset using :below modifier
    • ✓ Should not find non-matching MIME types when using :below modifier
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find DiagnosticReports with chained patient name search
    • ✓ Should find DiagnosticReports with chained patient name search and explicit type
    • ✓ Should handle multiple independent chained parameters with AND logic
    • ✓ Should reject search with ambiguous resource types in chained parameters
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find Patients with a specific Observation code
    • ✓ Should handle _has parameter in chained-searches
    • ✓ Should handle multiple _has parameters
    • ✓ Should handle nested _has parameters
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should only return AllergyIntolerance resources with active clinical status
    • ✓ Should return AllergyIntolerance resources with missing clinical status
    • ✓ Should return both active and missing clinical status AllergyIntolerance resources using _filter
    • ✓ Should return empty result when combining active status and missing modifier
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find observations with specific code and patient name using _filter
    • ✓ Should find observations with specific code and patient name using standard search
    • ✓ Should handle _filter with date comparisons
    • ✓ Should handle complex _filter queries
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should handle searches with multiple resource types and multiple parameters
    • ✓ Should return an error when using incompatible parameters across multiple resource types
    • ✓ Should search across multiple specified resource types using base parameters
    • ✓ Should search across multiple specified resource types using common parameters
    • ✓ Should search using type-specific parameters when a single type is specified
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find explicit CodeSystem resources
    • ✓ Should handle search for created CodeSystem resources
    • ✓ Should handle search for implicit CodeSystem resources
    • ✓ Should handle search including both explicit and implicit CodeSystem resources
  • ✓ 7 Passed✕ 0 Failed

    • ✓ Should execute a named query with a specific parameter
    • ✓ Should execute a named query with a standard search parameter
    • ✓ Should execute a named query with both specific and standard parameters
    • ✓ Should execute a named query without additional parameters
    • ✓ Should handle named query with unordered parameters
    • ✓ Should not allow invoking named query via search endpoint
    • ✓ Should return OperationDefinition for named query
  • ✓ 8 Passed✕ 0 Failed

    • ✓ Should handle multiple occurrences of non-repeatable search result parameters as an error
    • ✓ Should include referenced resources using _include
    • ✓ Should include resources with reverse references using _revinclude
    • ✓ Should limit the number of results per page using _count
    • ✓ Should limit total results using _maxresults
    • ✓ Should return a summary of resources using _summary
    • ✓ Should return only specified elements using _elements
    • ✓ Should sort results using _sort
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should sort case-insensitively on string parameters
    • ✓ Should sort date-based resources
    • ✓ Should sort on code parameters
    • ✓ Should sort results in ascending order
    • ✓ Should sort results in descending order
    • ✓ Should sort results using multiple sort parameters
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should handle _total parameter with invalid value
    • ✓ Should not return total count when _total=none
    • ✓ Should return an accurate count when _total=accurate
    • ✓ Should return an estimate when _total=estimate
    • ✓ Should return total count by default
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should limit the number of returned resources based on _count
    • ✓ Should not return more resources than requested with _count
    • ✓ Should respect _count parameter in subsequent pages
    • ✓ Should return a count-only response when _count=0
    • ✓ Should return only the latest resource when using _sort and _count=1
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should include _maxresults in the Self Link
    • ✓ Should limit the total number of returned resources based on _maxresults
    • ✓ Should respect paging requirements when using _maxresults and _count
    • ✓ Should return only the latest resource when using _sort and _maxresults=1
  • ✓ 9 Passed✕ 0 Failed

    • ✓ Should allow _include with other _summary values
    • ✓ Should mark summarized resources with SUBSETTED tag
    • ✓ Should not allow _include with _summary=text
    • ✓ Should not allow _revinclude with _summary=text
    • ✓ Should remove the text element when _summary=data
    • ✓ Should return a limited subset of elements when _summary=true
    • ✓ Should return all parts of the resource when _summary=false
    • ✓ Should return only a count when _summary=count
    • ✓ Should return only text, id, meta, and top-level mandatory elements when _summary=text
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should apply _elements restrictions to included resources while preserving mandatory elements
    • ✓ Should handle _elements with [x] elements correctly
    • ✓ Should mark resources with SUBSETTED tag when using _elements
    • ✓ Should return mandatory elements even if not specified
    • ✓ Should return only specified elements plus mandatory elements
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should handle _score parameter in combination with other search parameters
    • ✓ Should not return scores when not using _score sort
    • ✓ Should return higher scores for better matches
    • ✓ Should return relevance scores when using a non-deterministic sort
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should include referenced resources with _include
    • ✓ Should include referencing resources with _revinclude
    • ✓ Should support _include with specific target type
    • ✓ Should support iterative _include
    • ✓ Should support wildcard _revinclude
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should find DocumentReference in base search without identifier parameter
    • ✓ Should include non-Resource entities as Binary resources when using _include
    • ✓ Should include resources from external servers when using _include
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should handle _graph parameter with invalid GraphDefinition reference
    • ✓ Should handle _graph parameter with non-existent GraphDefinition
    • ✓ Should include resources based on GraphDefinition when using _graph
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find MedicationRequest with contained Medication using chained search
    • ✓ Should not find contained Medication when searching directly
    • ✓ Should return contained Medication when using _contained=true and _containedType=contained
    • ✓ Should return container MedicationRequest when using _contained=true and _containedType=container
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should handle _include with multiple pages and different included resources per page
    • ✓ Should return _include resources on each page
    • ✓ Should return paged results with _revinclude respecting server hard limit
  • ✓ 2 Passed✕ 0 Failed

    • ✓ Should support all permitted modifiers for base SearchParameters
    • ✓ Should support standard search parameters listed in the specification
  • ✓ 21 Passed✕ 0 Failed

    • ✓ Should find Conditions in a List
    • ✓ Should find Encounters for Patients in a Group
    • ✓ Should find Medications not in an allergy List
    • ✓ Should find Patients which are participants of a CareTeam (optional extension)
    • ✓ Should find resources in a Group
    • ✓ Should not return inactive or excluded members
    • ✓ Should support _content parameter
    • ✓ Should support _filter parameter
    • ✓ Should support _has parameter
    • ✓ Should support _id parameter
    • ✓ Should support _in parameter with Group resource
    • ✓ Should support _language parameter
    • ✓ Should support _lastUpdated parameter
    • ✓ Should support _list parameter with standard functional list
    • ✓ Should support _profile parameter
    • ✓ Should support _security parameter
    • ✓ Should support _source parameter
    • ✓ Should support _tag parameter
    • ✓ Should support _text parameter
    • ✓ Should support _type parameter
    • ✓ Should support $lastn named query for Observations
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should find Observation with _content in code
    • ✓ Should find Observation with _content in display
    • ✓ Should find Observation with _content in valueCodeableConcept
    • ✓ Should support OR logic in _content parameter
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should find Patients with specific Observations using _has
    • ✓ Should return no results when _has condition is not met
    • ✓ Should support _has with other search parameters
    • ✓ Should support multiple _has parameters
    • ✓ Should support nested _has parameters
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should combine _id with other search parameters
    • ✓ Should find a Patient using _id parameter
    • ✓ Should not allow _id without resource type
    • ✓ Should not find a Patient using non-existent _id
    • ✓ Should only search within specified resource type
    • ✓ Should perform exact match on _id (case-sensitive)
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should find Questionnaire resources with specific language
    • ✓ Should handle case-insensitive language search
    • ✓ Should handle invalid language code
    • ✓ Should handle multiple language search
    • ✓ Should not find Questionnaire resources with different language
    • ✓ Should work with other search parameters
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should find resources updated after a specific date
    • ✓ Should find resources updated within a date range
    • ✓ Should handle invalid date format
    • ✓ Should handle multiple resource types with _lastUpdated
    • ✓ Should not find resources updated before a specific date
  • ✓ 5 Passed✕ 0 Failed

    • ✓ Should combine _list with other search parameters
    • ✓ Should find Conditions referenced by a specific List
    • ✓ Should find resources referenced by a specific List
    • ✓ Should handle functional list for current allergies
    • ✓ Should return empty result for non-existent List
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should combine _profile with other search parameters
    • ✓ Should find resources with a specific profile
    • ✓ Should find resources with multiple profiles
    • ✓ Should handle invalid profile URL
    • ✓ Should not find resources without the specified profile
    • ✓ Should work with _profile across different resource types
  • ✓ 4 Passed✕ 0 Failed

    • ✓ Should execute $everything operation successfully
    • ✓ Should execute $lastn operation with additional parameters
    • ✓ Should execute $validate operation on multiple resource types
    • ✓ Should reject request with unrecognized operation name
  • ✓ 7 Passed✕ 0 Failed

    • ✓ Should combine _security with other search parameters
    • ✓ Should find resources with a specific security label
    • ✓ Should find resources with multiple security labels
    • ✓ Should find resources with only system specified (_security)
    • ✓ Should handle invalid security label
    • ✓ Should not find resources without the specified security label
    • ✓ Should work with _security across different resource types
  • ✓ 7 Passed✕ 0 Failed

    • ✓ Should combine _source with other search parameters
    • ✓ Should find resources with a specific source
    • ✓ Should handle invalid source URI
    • ✓ Should handle multiple _source parameters
    • ✓ Should handle partial matches on source URI
    • ✓ Should not find resources without the specified source
    • ✓ Should work with _source across different resource types
  • ✓ 8 Passed✕ 0 Failed

    • ✓ Should combine _tag with other search parameters
    • ✓ Should find resources with a specific tag
    • ✓ Should find resources with multiple tags
    • ✓ Should find resources with only code specified
    • ✓ Should find resources with only system specified
    • ✓ Should handle invalid tag
    • ✓ Should not find resources without the specified tag
    • ✓ Should work with _tag across different resource types
  • ✓ 7 Passed✕ 0 Failed

    • ✓ Should combine _text with other search parameters
    • ✓ Should find resources with specific text in narrative
    • ✓ Should find resources with text in code.text
    • ✓ Should handle partial word matches in _text search
    • ✓ Should support combined AND/OR logic in _text parameter (optional extension)
    • ✓ Should support OR logic in _text parameter
    • ✓ Should work with _text across different resource types
  • ✓ 7 Passed✕ 0 Failed

    • ✓ Should accept _type with search parameters common to all resource types
    • ✓ Should combine _type with other search parameters
    • ✓ Should filter resources by multiple types
    • ✓ Should filter resources by single type
    • ✓ Should reject _type with search parameters specific to one resource type (FHIR-conform)
    • ✓ Should require case-sensitive resource type
    • ✓ Should return empty result for non-existent resource type
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should handle multiple paths for a single search parameter
    • ✓ Should search observations by code
    • ✓ Should search observations by date
    • ✓ Should search patients by birthdate
    • ✓ Should search patients by name
    • ✓ Should support _id parameter for all resource types
  • ✓ 6 Passed✕ 0 Failed

    • ✓ Should handle sophisticated text search with proximity and thesaurus considerations
    • ✓ Should search using _content parameter across entire resource content
    • ✓ Should search using _content parameter with multiple words and logical operators
    • ✓ Should search using _text parameter with multiple words and AND logic
    • ✓ Should search using _text parameter with multiple words and OR logic
    • ✓ Should search using _text parameter with single word
  • ✓ 7 Passed✕ 0 Failed

    • ✓ Should handle unsupported search parameters gracefully
    • ✓ Should honor _count parameter
    • ✓ Should honor _sort parameter
    • ✓ Should not be case-sensitive for parameter names
    • ✓ Should return used search parameters in the self link
    • ✓ Should support _include parameter when applicable
    • ✓ Should support parameter chaining when applicable
  • ✓ 3 Passed✕ 0 Failed

    • ✓ Should handle updates to resources during paged search
    • ✓ Should not change the set of resources on the server (except possibly AuditEvent)
    • ✓ Should return current results at the time of search execution