DiagnosticReport
Overview
The DiagnosticReport resource provides the findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. This includes laboratory results, imaging reports, pathology findings, and other diagnostic studies.
Use Cases
- Laboratory result reporting and review
- Radiology and imaging report distribution
- Pathology findings documentation
- Clinical decision support based on diagnostic results
Relationships
- Patient: The subject of the diagnostic report
- Practitioner: Healthcare providers who performed or interpreted the test
- Observation: Individual test results referenced by the report
- Specimen: Samples used for laboratory testing
Resource Schema
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
| id | string | Unique identifier for the resource | Yes |
| status | code | Report status (registered, partial, preliminary, final) | Yes |
| category | CodeableConcept[] | Service category (LAB, RAD, etc.) | No |
| code | CodeableConcept | Name/code for this diagnostic report | Yes |
| subject | Reference(Patient) | The subject of the report | Yes |
| effectiveDateTime | dateTime | Clinically relevant time/time-period for report | No |
| issued | instant | DateTime this version was made | No |
| performer | Reference[] | Responsible diagnostic service | No |
| result | Reference(Observation)[] | Observations included in the report | No |
JSON Example
{
"resourceType": "DiagnosticReport",
"id": "example-lab-123",
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}
]
}
],
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}
]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2023-01-15T09:30:00Z",
"issued": "2023-01-15T14:30:00Z",
"result": [
{
"reference": "Observation/hemoglobin-123"
}
]
}
Operations
The Certified API DiagnosticReport resource supports the following operations. However, support varies by the targeted CareRecord or solution.
| CareRecord / Solution | Create | Read | Update | Search |
|---|---|---|---|---|
| GEHRIMED | Yes | Yes | Yes | Yes |
| myAvatar | Yes | Yes | Yes | Yes |
| myEvolv | Yes | Yes | Yes | Yes |
| myUnity | Yes | Yes | Yes | Yes |
| TheraOffice | Yes | Yes | Yes | Yes |
Create
Create a new DiagnosticReport resource.
- Production
- Preview
POST /DiagnosticReport
Content-Type: application/fhir+json
{
"resourceType": "DiagnosticReport",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z"
}
POST /DiagnosticReport
Content-Type: application/fhir+json
{
"resourceType": "DiagnosticReport",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z"
}
Read
Retrieves a specific DiagnosticReport resource by its unique identifier.
Endpoint: GET /DiagnosticReport/{id}
Update
Update an existing DiagnosticReport resource.
- Production
- Preview
PUT /DiagnosticReport/{id}
Content-Type: application/fhir+json
{
"resourceType": "DiagnosticReport",
"id": "{id}",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z"
}
PUT /DiagnosticReport/{id}
Content-Type: application/fhir+json
{
"resourceType": "DiagnosticReport",
"id": "{id}",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z"
}
Search
Search for diagnostic reports using various criteria.
GET Method
Use GET for simple searches with parameters in the query string.
- Production
- Preview
GET /DiagnosticReport?parameter=value
GET /DiagnosticReport?parameter=value
POST Method
Use POST for complex searches with form-encoded parameters.
- Production
- Preview
POST /DiagnosticReport/_search
POST /DiagnosticReport/_search
Not all Netsmart solutions support DiagnosticReport search. See supported operations table above and consult your target solution's documentation for more information.
Search Parameters
Patient-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
patient | reference | Yes | The subject of the report if a patient | **Yes** |
category | token | No | Which diagnostic discipline/department created the report | category=value |
code | token | No | The code for the report, as opposed to codes for the atomic results | code=value |
date | date | No | The clinically relevant time of the report | date=value |
status | token | No | The status of the report | status=value |
_lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=value |
_revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=value |
ID-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
_id | string | Yes | The ID of the resource | _id=value |
_lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=value |
_revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=value |
Examples
Create a DiagnosticReport
- Production
- Preview
curl -X POST https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/fhir+json" \
-d '{
"resourceType": "DiagnosticReport",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z"
}'
curl -X POST https://fhirtest.netsmartcloud.com/provider/patient-access/v2/DiagnosticReport \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/fhir+json" \
-d '{
"resourceType": "DiagnosticReport",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z"
}'
Update a DiagnosticReport
- Production
- Preview
curl -X PUT https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport/report-123 \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/fhir+json" \
-d '{
"resourceType": "DiagnosticReport",
"id": "report-123",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z",
"issued": "2024-01-15T14:30:00Z"
}'
curl -X PUT https://fhirtest.netsmartcloud.com/provider/patient-access/v2/DiagnosticReport/report-123 \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/fhir+json" \
-d '{
"resourceType": "DiagnosticReport",
"id": "report-123",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "LAB",
"display": "Laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count (hemogram) panel"
}]
},
"subject": {
"reference": "Patient/123"
},
"effectiveDateTime": "2024-01-15T09:30:00Z",
"issued": "2024-01-15T14:30:00Z"
}'
Read Examples
- Production
- Preview
curl -X GET https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport/123 \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"
curl -X GET https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport/123 \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"
Search Examples
Via POST (Recommended)
The POST method is recommended as it keeps health information out of the URL.
- Production
- Preview
curl -X POST https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport/_search \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123"
curl -X POST https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport/_search \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123" \
-d "category=LAB"
curl -X POST https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport/_search \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123"
curl -X POST https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport/_search \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123" \
-d "status=final"
Via GET
- Production
- Preview
curl -X GET "https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport?patient=Patient/123" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"
curl -X GET "https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport?patient=Patient/123&date=ge2023-01-01&date=le2023-12-31" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"
curl -X GET "https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/DiagnosticReport?patient=Patient/123&category=LAB" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"
Integration Patterns
Common Workflows
-
Laboratory Results Review
- Search for recent lab reports by patient
- Retrieve specific diagnostic reports with results
- Monitor trending values across multiple reports
-
Clinical Decision Support
- Query diagnostic reports before treatment decisions
- Integrate with clinical guidelines and protocols
- Alert providers to critical or abnormal results
-
Care Coordination
- Share diagnostic findings across care teams
- Include reports in care transitions and referrals
- Support population health management initiatives
Related Resources
- Patient: Subject of the diagnostic testing
- Observation: Individual test results and measurements
- Practitioner: Healthcare providers involved in testing
- Specimen: Samples collected for laboratory analysis
- ServiceRequest: Orders that initiated the diagnostic testing
Error Handling
For comprehensive error handling information, including HTTP status codes, error formats, and troubleshooting guidance, see the Error Handling documentation.
Common error scenarios for DiagnosticReport operations:
- 404 Not Found: DiagnosticReport resource does not exist
- 400 Bad Request: Invalid search parameters or malformed requests
- 401 Unauthorized: Missing or invalid authentication token
- 403 Forbidden: Insufficient permissions to access patient data
Supported Profiles
This API supports the following FHIR profiles:
- HL7 FHIR R4 DiagnosticReport
- US Core DiagnosticReport for Laboratory Results Reporting
- US Core DiagnosticReport for Report and Note Exchange
The exact profiles supported are defined in the CapabilityStatement for each environment and can be retrieved via the /metadata endpoint.