US Core Implementation Guide
5.0.0 - STU5 Release US

This page is part of the US Core (v5.0.0: STU5) 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

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-note Version: 5.0.0
Active as of 2022-04-20 Computable Name: USCoreDiagnosticReportProfileNoteExchange

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

To promote interoperability and adoption through common implementation, 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. It provides the floor for standards development for specific uses cases. 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 this 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. the diagnostically relevant time (known as the “effective time” and typically the time of the procedure)*

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

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 to one or more test results
  5. a reference to one or more images
  6. a reference to the full report (presentedForm)

Profile specific implementation guidance:

  • See Clinical Notes
  • 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.)
  • For Diagnostic Imaging Reports systems SHOULD support using the subset of LOINC codes defined in CONF-DIR-19 in HL7 Implementation Guide for CDA Release 2: Imaging Integration, Levels 1, 2, and 3, Basic Imaging Reports in CDA and DICOM Diagnostic Imaging Reports (DIR) - Universal Realm, Release 1.0.
  • Diagnostic imaging results in visual images requiring interpretation and clinical test results/reports may also reference images as part of the report. The DiagnosticReport resource links to both Media which represents a specific kind of Observation whose value is image data and ImagingStudy which represents the content in a DICOM imaging study.
    • Only Media is marked as must support in this profile
    • The imagingStudy element MAY be used by systems to reference ImagingStudy. However, it is not supported by the majority of systems and its inclusion would be an unnecessary barrier to adoption.

Usage:

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..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
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 Non Laboratory 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] SI0..1Diagnostically relevant time (typically the time of the procedure)
.... 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 Observation Clinical Test Result Profile S | US Core Observation Imaging Result Profile S)Observations
... 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..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
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): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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 Non Laboratory 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ΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... 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 Observation Clinical Test Result Profile S | US Core Observation Imaging Result Profile S)Observations
... imagingStudy 0..*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..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
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 Non Laboratory 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] ΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... 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 Observation Clinical Test Result Profile | US Core Observation Imaging Result Profile)Observations
... 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..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
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 Non Laboratory 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] SI0..1Diagnostically relevant time (typically the time of the procedure)
.... 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 Observation Clinical Test Result Profile S | US Core Observation Imaging Result Profile S)Observations
... 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..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
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): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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 Non Laboratory 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ΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... 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 Observation Clinical Test Result Profile S | US Core Observation Imaging Result Profile S)Observations
... imagingStudy 0..*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.codeextensibleUSCoreNonLaboratoryCodes
DiagnosticReport.conclusionCodeexampleSNOMEDCTClinicalFindings

Constraints

IdGradePathDetailsRequirements
us-core-10errorDiagnosticReporteffective[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 Requirements 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)