US Core Implementation Guide
4.1.0 - STU4 Ballot

This page is part of the US Core (v4.1.0: STU5 Ballot 1) 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

Resource Profile: US Core DiagnosticReport Profile for Report and Note exchange

Defining URL:http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-note
Version:4.1.0
Name:USCoreDiagnosticReportProfileNoteExchange
Title:US Core DiagnosticReport Profile for Report and Note exchange
Status:Active as of 11/9/21
Definition:

Defines constraints and extensions on the DiagnosticReport resource for the minimal set of data to query and retrieve diagnostic reports associated with clinical notes for a patient

Publisher:HL7 International - Cross-Group Projects
Copyright:

Used by permission of HL7 International, all rights reserved Creative Commons License

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-note

This profile sets minimum expectations for searching and fetching Diagnostic Reports and Notes using the DiagnosticReport resource. This profile identifies the mandatory core elements, extensions, vocabularies and value sets which SHALL be present in the DiagnosticReport when using this profile. Prior to reviewing this profile, implementers are encouraged to read the Clinical Notes Guidance to understand the overlap of US Core DiagnosticReport Profile for Report and Note exchange and US Core DocumentReference Profile.

Example Usage Scenarios:

The following are example usage scenarios for the Diagnostic Report profile:

  • Query for a specific clinical test result such as electrocardiogram (ECG)
  • Query for a specific imaging test result
  • Query for a specific Radiology note (e.g., 84178-3 Interventional Radiology Note)
  • Query for category of reports (e.g. all Cardiology reports)

Mandatory and Must Support Data Elements

The following data-elements must always be present (Mandatory definition]) 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 Diagnostic Report must have:

  1. a status
  2. a category
  3. a code describing the type of report
  4. a patient
  5. date and time the report was created*

*This element has the following constraint: SHALL be present if status is ‘partial’, ‘preliminary’, ‘final’, ‘amended’, ‘corrected’ or ‘appended’.{:.new-content}

Each Diagnostic Report must support:

  1. the encounter the report occurred within
  2. instant the report was released
  3. an author (actor) producing the report
  4. a reference one or more test results
  5. a reference one or more images*
  6. a reference to one or more DICOM imaging studies*
  7. a reference to the full report (presentedForm)

*See the next section

Profile specific implementation guidance:

  • See Clinical Notes Guidance
  • The DiagnosticReport.category binding must support at a minimum the US Core DiagnosticReport Category Codes of Cardiology, Radiology, and Pathology. Other categories may be supported.
  • A server will return how a customer has categorized their reports at a particular site. Categorization of reports is not consistent across sites. (e.g. a system may categorize an orthopedic note as cardiology.)
  • Diagnostic imaging results in visual images requiring interpretation and clinical test results/reports may also reference images as part of the report. DiagnosticReport resource can link to both DICOM imaging studies and binary images directly by referencing ImagingStudy in DocumentReference.imagingStudy, or Media inDocumentReference.media.
    • Although both are marked as must support, the server system is not required to support both, but SHALL support at least one of these elements.
    • The client application SHALL support both elements and target resources.

Media which is referenced in R4 is only Maturity Level FMM 1 and in the FHIR R5 release Media is replaced by DocumentReference (Maturity Level FMM 3+). Should this profile use an extension to reference DocumentReference instead of Media?

Examples

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*DiagnosticReportUS Core Diagnostic Report Profile for Report and Note exchange
us-core-10: effective[x] SHALL be present if the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended'
... status SI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category S1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
.... category:us-core S0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... code S1..1CodeableConceptUS Core Report Code
Binding: US Core Clinical Test Codes (extensible): LOINC codes

... subject S1..1Reference(US Core Patient Profile)The subject of the report - usually, but not always, the patient
... encounter S0..1Reference(US Core Encounter Profile)Health care event when test ordered
... effective[x] SI1..1Clinically relevant time/time-period for report
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod
... issued S0..1instantDateTime this version was made
... performer S0..*Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile | US Core CareTeam Profile)Responsible Diagnostic Service
... result S0..*Reference(US Core Laboratory Result Observation Profile S | US Core Clinical Test Result Observation Profile S | US Core Imaging Result Observation Profile S)Observations
... imagingStudy S0..*Reference(ImagingStudy)Reference to full details of imaging associated with the diagnostic report
... media S0..*BackboneElementKey images associated with this report
.... link S1..1Reference(Media)Reference to the image source
... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*DiagnosticReportUS Core Diagnostic Report Profile for Report and Note exchange
us-core-10: effective[x] SHALL be present if the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended'
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier for report
... basedOn 0..*Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)What was requested
... status ?!SΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category SΣ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


.... category:us-core SΣ0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... code SΣ1..1CodeableConceptUS Core Report Code
Binding: US Core Clinical Test Codes (extensible): LOINC codes

... subject SΣ1..1Reference(US Core Patient Profile)The subject of the report - usually, but not always, the patient
... encounter SΣ0..1Reference(US Core Encounter Profile)Health care event when test ordered
... effective[x] SΣI1..1Clinically relevant time/time-period for report
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod
... issued SΣ0..1instantDateTime this version was made
... performer SΣ0..*Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile | US Core CareTeam Profile)Responsible Diagnostic Service
... resultsInterpreter Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen 0..*Reference(Specimen)Specimens this report is based on
... result S0..*Reference(US Core Laboratory Result Observation Profile S | US Core Clinical Test Result Observation Profile S | US Core Imaging Result Observation Profile S)Observations
... imagingStudy S0..*Reference(ImagingStudy)Reference to full details of imaging associated with the diagnostic report
... media SΣ0..*BackboneElementKey images associated with this report
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... comment 0..1stringComment about the image (e.g. explanation)
.... link SΣ1..1Reference(Media)Reference to the image source
... conclusion 0..1stringClinical conclusion (interpretation) of test results
... conclusionCode 0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.


... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*DiagnosticReportUS Core Diagnostic Report Profile for Report and Note exchange
us-core-10: effective[x] SHALL be present if the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended'
... status ?!ΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category Σ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


.... category:us-core Σ0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... code Σ1..1CodeableConceptUS Core Report Code
Binding: US Core Clinical Test Codes (extensible): LOINC codes

... subject Σ1..1Reference(US Core Patient Profile)The subject of the report - usually, but not always, the patient
... encounter Σ0..1Reference(US Core Encounter Profile)Health care event when test ordered
... effective[x] ΣI1..1Clinically relevant time/time-period for report
.... effectiveDateTimedateTime
... issued Σ0..1instantDateTime this version was made
... performer Σ0..*Reference(US Core Practitioner Profile | US Core Organization Profile)Responsible Diagnostic Service
... result 0..*Reference(US Core Laboratory Result Observation Profile | US Core Clinical Test Result Observation Profile | US Core Imaging Result Observation Profile)Observations
... imagingStudy 0..*Reference(ImagingStudy)Reference to full details of imaging associated with the diagnostic report
... media Σ0..*BackboneElementKey images associated with this report
.... link Σ1..1Reference(Media)Reference to the image source
... presentedForm 0..*AttachmentEntire report as issued

doco Documentation for this format

Differential View

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*DiagnosticReportUS Core Diagnostic Report Profile for Report and Note exchange
us-core-10: effective[x] SHALL be present if the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended'
... status SI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category S1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
.... category:us-core S0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... code S1..1CodeableConceptUS Core Report Code
Binding: US Core Clinical Test Codes (extensible): LOINC codes

... subject S1..1Reference(US Core Patient Profile)The subject of the report - usually, but not always, the patient
... encounter S0..1Reference(US Core Encounter Profile)Health care event when test ordered
... effective[x] SI1..1Clinically relevant time/time-period for report
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod
... issued S0..1instantDateTime this version was made
... performer S0..*Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile | US Core CareTeam Profile)Responsible Diagnostic Service
... result S0..*Reference(US Core Laboratory Result Observation Profile S | US Core Clinical Test Result Observation Profile S | US Core Imaging Result Observation Profile S)Observations
... imagingStudy S0..*Reference(ImagingStudy)Reference to full details of imaging associated with the diagnostic report
... media S0..*BackboneElementKey images associated with this report
.... link S1..1Reference(Media)Reference to the image source
... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*DiagnosticReportUS Core Diagnostic Report Profile for Report and Note exchange
us-core-10: effective[x] SHALL be present if the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended'
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier for report
... basedOn 0..*Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)What was requested
... status ?!SΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category SΣ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


.... category:us-core SΣ0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... code SΣ1..1CodeableConceptUS Core Report Code
Binding: US Core Clinical Test Codes (extensible): LOINC codes

... subject SΣ1..1Reference(US Core Patient Profile)The subject of the report - usually, but not always, the patient
... encounter SΣ0..1Reference(US Core Encounter Profile)Health care event when test ordered
... effective[x] SΣI1..1Clinically relevant time/time-period for report
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod
... issued SΣ0..1instantDateTime this version was made
... performer SΣ0..*Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile | US Core CareTeam Profile)Responsible Diagnostic Service
... resultsInterpreter Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen 0..*Reference(Specimen)Specimens this report is based on
... result S0..*Reference(US Core Laboratory Result Observation Profile S | US Core Clinical Test Result Observation Profile S | US Core Imaging Result Observation Profile S)Observations
... imagingStudy S0..*Reference(ImagingStudy)Reference to full details of imaging associated with the diagnostic report
... media SΣ0..*BackboneElementKey images associated with this report
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... comment 0..1stringComment about the image (e.g. explanation)
.... link SΣ1..1Reference(Media)Reference to the image source
... conclusion 0..1stringClinical conclusion (interpretation) of test results
... conclusionCode 0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.


... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
DiagnosticReport.languagepreferredCommonLanguages
Max Binding: AllLanguages
DiagnosticReport.statusrequiredDiagnosticReportStatus
DiagnosticReport.categoryexampleDiagnosticServiceSectionCodes
DiagnosticReport.category:us-corerequiredUSCoreDiagnosticReportCategory
DiagnosticReport.codeextensibleUSCoreClinicalTestCodes
DiagnosticReport.conclusionCodeexampleSNOMEDCTClinicalFindings

Constraints

IdPathDetailsRequirements
us-core-10DiagnosticReporteffective[x] SHALL be present if the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended'
: (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies effective.exists()

Notes:


Quick Start


Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

  • The syntax used to describe the interactions is described here.
  • 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:

  1. SHALL support searching for all diagnosticreports for a patient using the patient search parameter:

    GET [base]/DiagnosticReport?patient={Type/}[id]

    Example:

    1. GET [base]/DiagnosticReport?patient=1137192

    Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient (how to search by reference)

  2. SHALL support searching using the combination of the patient and category search parameters:

    GET [base]/DiagnosticReport?patient={Type/}[id]&category={system|}[code]

    Example:

    1. GET [base]/DiagnosticReport?patient=f201&category=http://loinc.org|LP29684-5

    Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient and a category code specified in US Core DiagnosticReport Category Codes (how to search by reference and how to search by token)

  3. SHALL support searching using the combination of the patient and code search parameters:
    • including optional support for OR search on code (e.g.code={system|}[code],{system|}[code],...)

    GET [base]/DiagnosticReport?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}

    Example:

    1. 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)

  4. SHALL support searching using the combination of the patient and category and date search parameters:
    • including support for these date comparators: gt,lt,ge,le
    • including optional support for AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/DiagnosticReport?patient={Type/}[id]&category={system|}[code]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    Example:

    1. GET [base]/DiagnosticReport?patient=f201&category=http://loinc.org|LP29684-5&date=ge2010-01-14T00:00:00Z

    Implementation Notes: Fetches a bundle of all DiagnosticReport resources for the specified patient and date and a category code specified in US Core DiagnosticReport Category Codes (how to search by reference and how to search by token and how to search by date)

Optional Search Parameters:

The following search parameter combinations SHOULD be supported:

  1. SHOULD support searching using the combination of the patient and status search parameters:
    • including support for OR search on status (e.g.status={system|}[code],{system|}[code],...)

    GET [base]/DiagnosticReport?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}

    Example:

    1. 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)

  2. SHOULD support searching using the combination of the patient and code and date search parameters:
    • including optional support for 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 AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/DiagnosticReport?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    Example:

    1. GET [base]/DiagnosticReport?patient=f201&code=http://loinc.org|24323-8&date=ge2019-01-14T00:00:00Z

    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)