US Core Implementation Guide (Release 1)

This page is part of the US Core (v1.0.0: STU1) based on FHIR R3. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

1.0 - StructureDefinition-us-core-diagnosticreport

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, a “nested” panel (such as a microbial susceptibility panel) which references other observations, or rarely a laboratory test with component result values. 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:

  • Query for lab reports belonging to a Patient
  • Record a lab report for a specific Patient
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These 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:

  1. a status
  2. a category code of ‘LAB’
  3. a code (preferably a LOINC code) which tells you what is being measured
  4. a patient
  5. a time indicating when the measurement was taken
  6. a time indicating when the measurement was reported
  7. at least one result (an Observation reference)

Each DiagnosticReport should have:

  1. who issues the report

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 may be represented using the valueAttachment element in Observation or alternatively using the presentedForm element in DiagnosticReport.

Examples

1.2 - Formal Views of Profile Content

The official URL for this profile is:

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

This profile builds on DiagnosticReport.

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by HL7 US Realm Steering Committee.

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

Complete Summary of the Mandatory Requirements

  1. One status in DiagnosticReport.status which has a required binding to:
  2. One category in DiagnosticReport.category which must have:
    • a fixed DiagnosticReport.category.coding.system= “http://hl7.org/fhir/DiagnosticReport-category”
    • a fixed DiagnosticReport.category.coding.code= “LAB”
  3. One code in DiagnosticReport.code which has an extensible binding to:
  4. One patient in DiagnosticReport.subject
  5. A date and time in DiagnosticReport.effectiveDateTime or DiagnosticReport.effectivePeriod
  6. A date and time in DiagnosticReport.issued
  7. One or more DiagnosticReport.result and/or one or more DiagnosticReport.presentedForm

Each DiagnosticReport SHOULD have:

  1. A practitioner or organization in DiagnosticReport.performer.actor
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*US Core Diagnostic Report Profile
... id Σ0..1idLogical 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: Common Languages (extensible)
... text I0..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), Reference(ImmunizationRecommendation), Reference(MedicationRequest), Reference(NutritionOrder), Reference(ProcedureRequest), Reference(ReferralRequest)What was requested
... status ?!SΣ1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... category SΣ1..1CodeableConceptService category
Binding: Diagnostic Service Section Codes (example)
Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/v2/0074","code":"LAB"}]}
... code SΣ1..1CodeableConceptUS Core Laboratory Report Order Code
Binding: LOINC Diagnostic Report Codes (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)The subject of the report - usually, but not always, the patient
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Health care event when test ordered
... effective[x] SΣ1..1dateTime, PeriodSpecimen Collection Datetime or Period
... issued SΣ1..1instantDateTime this version was released
... performer SΣI0..*BackboneElementParticipants in producing the report
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptType of performer
Binding: Procedure Performer Role Codes (example)
.... actor SΣ1..1Reference(US Core Practitioner Profile), Reference(US Core Organization Core Profile)Practitioner or Organization participant
... specimen 0..*Reference(Specimen)Specimens this report is based on
... result S0..*Reference(US Core Results Profile)Observations - simple, or complex nested groups
... imagingStudy 0..*Reference(ImagingStudy), Reference(ImagingManifest)Reference to full details of imaging associated with the diagnostic report
... image SΣI0..*BackboneElementKey images associated with this report
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... comment 0..1stringComment about the image (e.g. explanation)
.... link Σ1..1Reference(Media)Reference to the image source
... conclusion 0..1stringClinical Interpretation of test results
... codedDiagnosis 0..*CodeableConceptCodes for the conclusion
Binding: SNOMED CT Clinical Findings (example)
... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. One status in DiagnosticReport.status which has a required binding to:
  2. One category in DiagnosticReport.category which must have:
    • a fixed DiagnosticReport.category.coding.system= “http://hl7.org/fhir/DiagnosticReport-category”
    • a fixed DiagnosticReport.category.coding.code= “LAB”
  3. One code in DiagnosticReport.code which has an extensible binding to:
  4. One patient in DiagnosticReport.subject
  5. A date and time in DiagnosticReport.effectiveDateTime or DiagnosticReport.effectivePeriod
  6. A date and time in DiagnosticReport.issued
  7. One or more DiagnosticReport.result and/or one or more DiagnosticReport.presentedForm

Each DiagnosticReport SHOULD have:

  1. A practitioner or organization in DiagnosticReport.performer.actor

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*US Core Diagnostic Report Profile
... id Σ0..1idLogical 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: Common Languages (extensible)
... text I0..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), Reference(ImmunizationRecommendation), Reference(MedicationRequest), Reference(NutritionOrder), Reference(ProcedureRequest), Reference(ReferralRequest)What was requested
... status ?!SΣ1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... category SΣ1..1CodeableConceptService category
Binding: Diagnostic Service Section Codes (example)
Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/v2/0074","code":"LAB"}]}
... code SΣ1..1CodeableConceptUS Core Laboratory Report Order Code
Binding: LOINC Diagnostic Report Codes (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)The subject of the report - usually, but not always, the patient
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Health care event when test ordered
... effective[x] SΣ1..1dateTime, PeriodSpecimen Collection Datetime or Period
... issued SΣ1..1instantDateTime this version was released
... performer SΣI0..*BackboneElementParticipants in producing the report
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptType of performer
Binding: Procedure Performer Role Codes (example)
.... actor SΣ1..1Reference(US Core Practitioner Profile), Reference(US Core Organization Core Profile)Practitioner or Organization participant
... specimen 0..*Reference(Specimen)Specimens this report is based on
... result S0..*Reference(US Core Results Profile)Observations - simple, or complex nested groups
... imagingStudy 0..*Reference(ImagingStudy), Reference(ImagingManifest)Reference to full details of imaging associated with the diagnostic report
... image SΣI0..*BackboneElementKey images associated with this report
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... comment 0..1stringComment about the image (e.g. explanation)
.... link Σ1..1Reference(Media)Reference to the image source
... conclusion 0..1stringClinical Interpretation of test results
... codedDiagnosis 0..*CodeableConceptCodes for the conclusion
Binding: SNOMED CT Clinical Findings (example)
... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

1.3 - Quick Start

Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the US Core Server for a complete list of supported RESTful operations and search parameters for this IG.

GET [base]/DiagnosticReport?patient=[id]&category=LAB

Example: GET [base]/DiagnosticReport?patient=f201&category=LAB

Support: Mandatory to support search by patient and category code = ‘LAB’.

Implementation Notes: Search based on diagnostic report category code = ‘LAB’. This fetches a bundle of all lab related DiagnosticReport resources for the specified patient (how to search by reference) and (how to search by token).


GET [base]/DiagnosticReport?patient=[id]&code=[LOINC{,LOINC2,LOINC3,...}]

Example: - Search for all metabolic panel reports (LOINC = 24323-8 Comprehensive metabolic 2000 panel - Serum or Plasma) for a patient - GET [base]/DiagnosticReport?patient=1032702&code=24323-8

  • Search for all cbc (LOINC = 58410-2 Complete blood count (hemogram) panel - Blood by Automated count), metabolic panel, and urinalysis panels (LOINC = 24356-8 Urinalysis complete panel - Urine) for a patient
    • GET [base]/DiagnosticReport?patient=1032702&code=24323-8,58410-2,24356-8

Support: Mandatory support search by a laboratory order code. SHOULD support search by multiple order codes.

Implementation Notes: Search based on DiagnosticReport code(s). This fetches a bundle of all DiagnosticReport resources for a specific diagnostic order code(s) for the specified patient (how to search by reference) and (how to search by token).


GET [base]/DiagnosticReport?patient=[id]&category=LAB&date=[date]{&date=[date]}

Example: Find all the lab reports issued after 2010-01-14

  • GET [base]/DiagnosticReport?patient=f201&category=LAB&date=ge2010-01-14

Support: Mandatory support search by category code = ‘LAB’ and date or period.

Implementation Notes: Search based on laboratory category code and date. This fetches a bundle of all DiagnosticReport resources with category ‘LAB’ for the specified patient for a specified time period (how to search by reference), (how to search by token) amd (how to search by date).