THDS provides healthcare data storage and access services based on the FHIR R4 standard. It supports resource-level data write, read, search, and batch transaction processing capabilities. The interfaces are designed to follow standardized resource models and a RESTful style, facilitating integration with hospital information systems, clinical applications, research platforms, and third-party integration systems.
Capability Scope
The FHIR operation interfaces currently provided by the platform primarily cover the following three types of capabilities:
CRUD Operation Capabilities: Supports performing operations such as create, read, update, delete, patch, and historical version read on standard FHIR resources, applicable to the lifecycle management of individual resources.
Search and Retrieval Capabilities: Supports resource search based on conditional expressions, covering scenarios such as basic search, reference search, numeric search, date/time search, pagination, sorting, and full patient information retrieval.
Bundle Transaction and Batch Processing Capabilities: Supports submitting multiple resource interaction operations in a single request via Bundle. It also supports two processing modes: transaction and batch. These capabilities are applicable to scenarios such as batch writes, related resource submissions, conditional creation, and conditional updates.
API Features
Standardization: The interfaces adhere to the FHIR resource model and interaction semantics, facilitating integration with the existing FHIR ecosystem.
Resource-based: All data is expressed and accessed through standard resources, such as Patient, Observation, Encounter, and others.
Extensibility: Supports implementing more complex data interaction workflows through standard search parameters, transaction Bundles, and resource reference mechanisms.
Easy Integration: It interacts using HTTP and JSON, making it easy to be invoked by Web applications, service integration platforms, and business systems.
Major API Categories
Resource Basic Operation APIs
CRUD APIs are used to perform basic lifecycle management of resources. They are applicable to scenarios such as patient master data maintenance, test result updates, medical record archiving, and historical version tracing. The main APIs include:
|
| Create a new resource instance. |
| Read the latest version content of the resource. |
| Read the content of a specified historical version of the resource. |
| Update the complete content of the specified resource. |
| Perform incremental modifications to partial fields of the resource. |
| Delete the specified resource, typically as a logical deletion. |
Search Operation APIs
Search APIs are used to filter resource data based on conditions. They are applicable to scenarios such as patient search, visit record query, test result filtering, diagnostic text matching, and full medical record aggregation. The following typical search methods are supported:
|
| Search resources by single or multiple regular fields. |
| Search based on the association relationships between resources. |
| Filter based on numerical fields such as test values and measurement values. |
| Filter based on dates, time ranges, and update times. |
| Supports paginated retrieval of large result sets. |
| Supports returning results sorted by specified fields. |
| Supports obtaining comprehensive patient data via $everything. |
Bundle Request APIs
The Bundle API is used to submit multiple operations in a single request. Applicable scenarios include batch data import, one-time writing of related resources, avoiding duplicate record creation, and reducing the number of API calls. The main APIs include:
|
| Submit one or more FHIR interactions through a single Bundle request. |
| Submit multiple resources with business associations within the same Bundle. |
| Use a temporary placeholder ID to establish reference relationships between resources within the same transaction. |
| Determine whether the target resource already exists based on business conditions, and create the resource if it does not. |
| Locate the target resource based on business conditions and perform an update on the matched resource. |
| Perform a delete operation on the specified resource within the transaction Bundle. |
| Perform a partial update on the specified resource within the transaction Bundle. |