Generating Clinical Documents with $document
AWS HealthLake now supports the $document
operation for Composition resources, enabling you to generate a complete clinical document by bundling the Composition with all its referenced resources into a single cohesive package. This operation is essential for healthcare applications that need to:
-
Create standardized clinical documents
-
Exchange complete patient records
-
Store comprehensive clinical documentation
-
Generate reports that include all relevant context
Usage
The $document
operation can be invoked on Composition resources using both GET and POST methods:
Supported Operations
GET/POST [base]/Composition/[id]/$document
Supported Parameters
HealthLake supports the following FHIR $document
parameter:
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
persist |
boolean | No | false | Boolean indicating whether the server should store the generated document bundle |
Examples
GET Request
GET [base]/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57
/$document?persist=true
POST Request with Parameters
POST [base]/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57
/$document
Content-Type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "persist",
"valueBoolean": true
}
]
}
Sample Response
The operation returns a Bundle resource of type "document" containing the Composition and all referenced resources:
{
"resourceType": "Bundle",
"id": "180f219f-97a8-486d-99d9-ed631fe4fc57
",
"type": "document",
"identifier": {
"system": "urn:ietf:rfc:3986",
"value": "urn:uuid:0c3151bd-1cbf-4d64-b04d-cd9187a4c6e0"
},
"timestamp": "2024-06-21T15:30:00Z",
"entry": [
{
"fullUrl": "http://example.org/fhir/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57
",
"resource": {
"resourceType": "Composition",
"id": "180f219f-97a8-486d-99d9-ed631fe4fc57
",
"status": "final",
"type": {
"coding": [
{
"system": "http://loinc.org
",
"code": "34133-9",
"display": "Summary of Episode Note"
}
]
},
"subject": {
"reference": "Patient/example"
},
"section": [
{
"title": "Allergies",
"entry": [
{
"reference": "AllergyIntolerance/123"
}
]
}
]
}
},
{
"fullUrl": "http://example.org/fhir/Patient/example
",
"resource": {
"resourceType": "Patient",
"id": "example",
"name": [
{
"family": "Smith",
"given": ["John"]
}
]
}
},
{
"fullUrl": "http://example.org/fhir/AllergyIntolerance/123
",
"resource": {
"resourceType": "AllergyIntolerance",
"id": "123",
"patient": {
"reference": "Patient/example"
},
"code": {
"coding": [
{
"system": "http://snomed.info/sct
",
"code": "418689008",
"display": "Allergy to penicillin"
}
]
}
}
}
]
}
Behavior
The $document
operation:
-
Takes the specified Composition resource as the foundation for the document
-
Identifies and retrieves all resources directly referenced by the Composition
-
Packages the Composition and all referenced resources into a Bundle of type "document"
-
Stores the generated document bundle in the datastore when the persist parameter is set to true
-
Identifies and retrieves resources indirectly referenced by the Composition for comprehensive document generation
The $document
operation currently supports retrieving resource references in the following format:
-
GET https://healthlake.
region
.amazonaws.com/datastore/datastoreId
/r4/Resource
/id
-
Resource/id
Unsupported resource references within the Composition resource will be filtered out from the generated document.
Error Handling
The operation handles the following error conditions:
-
400 Bad Request: Invalid
$document
operation (non-conformant request) or if the resulting document fails FHIR validation due to filtered out references when persist is set to true -
404 Not Found: Composition resource not found
For more information about the $document
operation specification, see the FHIR R4 Composition $document