This page is part of the US Core (v3.1.0: STU3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
StructureDefinition-us-core-diagnosticreport-lab
Laboratory results are grouped and summarized using the DiagnosticReport resource which typically reference Observation resource(s). Each Observation resource represents an individual laboratory test and result value or component result values, or a “nested” panel (such as a microbial susceptibility panel) which references other observations. They can also be presented in report form or as free text. This profile sets minimum expectations for the DiagnosticReport resource to record, search, and fetch laboratory results associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
Example Usage Scenarios:
The following are example usage scenarios for the US Core DiagnosticReport Profile for Laboratory Results Reporting:
- Query for lab reports belonging to a Patient
- Record or update a lab report for a specific Patient
Mandatory and Must Support Data Elements
The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each DiagnosticReport must have:
- a status
- a category code of ‘LAB’
- a code (preferably a LOINC code) which tells you what is being measured
- a patient
- a time indicating when the measurement was taken
- a time indicating when the measurement was reported
Each DiagnosticReport must support:
- who issues the report
- a result
Profile specific implementation guidance:
- Additional codes that translate or map to the DiagnosticReport codes or category codes are allowed. For example:
- providing both a local system codes and a LOINC code that it map to
- providing a more specific category codes to the “LAB” category code, such as “CH” (chemistry), in an additional coding element.
- Results that are free text or report form are represented using the ‘presentedForm’ element in DiagnosticReport.
Examples
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab
Published on Tue May 21 00:00:00 AEST 2019 as active by the HL7 US Realm Steering Committee.
This profile builds on DiagnosticReport
DiagnosticReport
Summary of the Mandatory Requirements
- A code in
DiagnosticReport.status
with a required binding to DiagnosticReportStatus - One or more CodeableConcepts CodeableConcept in
DiagnosticReport.category
with an example binding to Diagnostic Service Section Codes- which must have at least a
DiagnosticReport.category
={"coding": [{"code": "LAB", "system": "terminology.hl7.org/CodeSystem/v2-0074"}]}
- which must have at least a
- A CodeableConcept in
DiagnosticReport.code
with an extensible binding to US Core Diagnostic Report Laboratory Codes - A Patient Reference in
DiagnosticReport.subject
- A dateTime in
DiagnosticReport.effective[x]
- An instant in
DiagnosticReport.issued
Summary of the Must Support Requirements
- One or more Performer References in
DiagnosticReport.performer
- One or more Result References in
DiagnosticReport.result
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DiagnosticReport | I | 0..* | A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports | |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business identifier for report |
basedOn | I | 0..* | Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | What was requested |
status | ?!SΣI | 1..1 | code | registered | partial | preliminary | final + Binding: DiagnosticReportStatus (required) |
category | SΣI | 1..* | (Slice Definition) | Service category Slice: Unordered, Open by pattern:$this Binding: DiagnosticServiceSectionCodes (example) |
category:LaboratorySlice | SΣI | 1..1 | CodeableConcept | Service category Binding: DiagnosticServiceSectionCodes (example) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074 | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: LAB | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
code | SΣI | 1..1 | CodeableConcept | US Core Laboratory Report Order Code Binding: US Core Diagnostic Report Laboratory Codes (extensible) |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | The subject of the report - usually, but not always, the patient |
encounter | ΣI | 0..1 | Reference(Encounter) | Health care event when test ordered |
effective[x] | SΣI | 1..1 | Specimen Collection Datetime or Period | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | SΣI | 1..1 | instant | DateTime this version was made |
performer | SΣI | 0..* | Reference(US Core Practitioner Profile | US Core Organization Profile) | Responsible Diagnostic Service |
resultsInterpreter | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam) | Primary result interpreter |
specimen | I | 0..* | Reference(Specimen) | Specimens this report is based on |
result | SI | 0..* | Reference(US Core Laboratory Result Observation Profile) | Observations |
imagingStudy | I | 0..* | Reference(ImagingStudy) | Reference to full details of imaging associated with the diagnostic report |
media | ΣI | 0..* | BackboneElement | Key images associated with this report |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
comment | I | 0..1 | string | Comment about the image (e.g. explanation) |
link | ΣI | 1..1 | Reference(Media) | Reference to the image source |
conclusion | I | 0..1 | string | Clinical conclusion (interpretation) of test results |
conclusionCode | I | 0..* | CodeableConcept | Codes for the clinical conclusion of test results Binding: SNOMEDCTClinicalFindings (example) |
presentedForm | I | 0..* | Attachment | Entire report as issued |
Documentation for this format |
DiagnosticReport
Summary of the Mandatory Requirements
- A code in
DiagnosticReport.status
with a required binding to DiagnosticReportStatus - One or more CodeableConcepts CodeableConcept in
DiagnosticReport.category
with an example binding to Diagnostic Service Section Codes- which must have at least a
DiagnosticReport.category
={"coding": [{"code": "LAB", "system": "terminology.hl7.org/CodeSystem/v2-0074"}]}
- which must have at least a
- A CodeableConcept in
DiagnosticReport.code
with an extensible binding to US Core Diagnostic Report Laboratory Codes - A Patient Reference in
DiagnosticReport.subject
- A dateTime in
DiagnosticReport.effective[x]
- An instant in
DiagnosticReport.issued
Summary of the Must Support Requirements
- One or more Performer References in
DiagnosticReport.performer
- One or more Result References in
DiagnosticReport.result
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DiagnosticReport | I | 0..* | A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports | |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business identifier for report |
basedOn | I | 0..* | Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | What was requested |
status | ?!SΣI | 1..1 | code | registered | partial | preliminary | final + Binding: DiagnosticReportStatus (required) |
category | SΣI | 1..* | (Slice Definition) | Service category Slice: Unordered, Open by pattern:$this Binding: DiagnosticServiceSectionCodes (example) |
category:LaboratorySlice | SΣI | 1..1 | CodeableConcept | Service category Binding: DiagnosticServiceSectionCodes (example) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074 | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: LAB | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
code | SΣI | 1..1 | CodeableConcept | US Core Laboratory Report Order Code Binding: US Core Diagnostic Report Laboratory Codes (extensible) |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | The subject of the report - usually, but not always, the patient |
encounter | ΣI | 0..1 | Reference(Encounter) | Health care event when test ordered |
effective[x] | SΣI | 1..1 | Specimen Collection Datetime or Period | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | SΣI | 1..1 | instant | DateTime this version was made |
performer | SΣI | 0..* | Reference(US Core Practitioner Profile | US Core Organization Profile) | Responsible Diagnostic Service |
resultsInterpreter | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam) | Primary result interpreter |
specimen | I | 0..* | Reference(Specimen) | Specimens this report is based on |
result | SI | 0..* | Reference(US Core Laboratory Result Observation Profile) | Observations |
imagingStudy | I | 0..* | Reference(ImagingStudy) | Reference to full details of imaging associated with the diagnostic report |
media | ΣI | 0..* | BackboneElement | Key images associated with this report |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
comment | I | 0..1 | string | Comment about the image (e.g. explanation) |
link | ΣI | 1..1 | Reference(Media) | Reference to the image source |
conclusion | I | 0..1 | string | Clinical conclusion (interpretation) of test results |
conclusionCode | I | 0..* | CodeableConcept | Codes for the clinical conclusion of test results Binding: SNOMEDCTClinicalFindings (example) |
presentedForm | I | 0..* | Attachment | Entire report as issued |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
- See the General Guidance section for additional rules and expectations when a server requires status parameters.
- See the General Guidance section for additional guidance on searching for multiple patients.
Mandatory Search Parameters:
The following search parameters and search parameter combinations SHALL be supported.:
-
SHALL support searching for all diagnosticreports for a patient using the
patient
search parameter:GET [base]/DiagnosticReport?patient=[reference]
Example:
- GET [base]/DiagnosticReport?patient=1137192
Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient (how to search by reference)
-
SHALL support searching using the combination of the
patient
andcategory
search parameters:GET [base]/DiagnosticReport?patient=[reference]&category=http://terminology.hl7.org/CodeSystem/v2-0074|LAB
Example:
- GET [base]/DiagnosticReport?patient=f201&category=http://terminology.hl7.org/CodeSystem/v2-0074|LAB
Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient and a category code =
LAB
(how to search by reference and how to search by token) - SHALL support searching using the combination of the
patient
andcode
search parameters:- including optional support for composite OR search on
code
(e.g.code={[system]}|[code],{[system]}|[code],...
)
GET [base]/DiagnosticReport?patient=[reference]&code={[system]}|[code]{,{[system]}|[code],...}
Example:
- GET [base]/DiagnosticReport?patient=1032702&code=http://loinc.org|24323-8
Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient and report code(s). SHOULD support search by multiple report codes. (how to search by reference and how to search by token)
- including optional support for composite OR search on
- SHALL support searching using the combination of the
patient
andcategory
anddate
search parameters:- including support for these
date
comparators:gt,lt,ge,le
- including optional support for composite AND search on
date
(e.g.date=[date]&date=[date]]&...
)
GET [base]/DiagnosticReport?patient=[reference]&category=http://terminology.hl7.org/CodeSystem/v2-0074|LAB&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/DiagnosticReport?patient=f201&category=http://terminology.hl7.org/CodeSystem/v2-0074|LAB&date=ge2010-01-14
Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient and date and a category code =
LAB
(how to search by reference and how to search by token and how to search by date) - including support for these
Optional Search Parameters:
The following search parameter combinations SHOULD be supported.:
- SHOULD support searching using the combination of the
patient
andstatus
search parameters:- including support for composite OR search on
status
(e.g.status={[system]}|[code],{[system]}|[code],...
)
GET [base]/DiagnosticReport?patient=[reference]&status={[system]}|[code]{,{[system]}|[code],...}
Example:
- GET [base]/DiagnosticReport?patient=1137192&status=completed
Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient and status (how to search by reference and how to search by token)
- including support for composite OR search on
- SHOULD support searching using the combination of the
patient
andcode
anddate
search parameters:- including optional support for composite OR search on
code
(e.g.code={[system]}|[code],{[system]}|[code],...
) - including support for these
date
comparators:gt,lt,ge,le
- including optional support for composite AND search on
date
(e.g.date=[date]&date=[date]]&...
)
GET [base]/DiagnosticReport?patient=[reference]&code={[system]}|[code]{,{[system]}|[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/DiagnosticReport?patient=f201&code=http://loinc.org|24323-8&date=ge2019-01-14
Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient and date and report code(s). SHOULD support search by multiple report codes. (how to search by reference and how to search by token and how to search by date)
- including optional support for composite OR search on