This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions
Page standards status: Informative |
The Profile elements consist of Mandatory, Must Support, and Additional USCDI Requirements elements. The sections below defines the server and client expectations for processing these elements and illustrates how they are displayed and documented.
Mandatory elements are elements with a minimum cardinality of 1 (min=1). When an element is Mandatory, the data is expected to always be present. Very rarely, it may not be, and guidance for when data is missing is provided in the Missing Data section and the next section. The convention in this guide is to mark all min=1 elements as Must Support unless they are nested under an optional element. An example of this is CarePlan.status
.
For querying and reading US Core Profiles, Must Support on any profile data element SHALL be interpreted as follows (see the Future of US Core page for writing and updating US Core Profiles):
unknown
.The terms US Core Responder Actor US Core Requestor Actor are used throughout the guide and typically refer to a server or a client.
Readers are advised to understand FHIR Terminology requirements, FHIR RESTful API based on the HTTP protocol, along with FHIR Data Types, FHIR Search, and FHIR Resource formats before implementing US Core requirements.
All the profile information for the US Core Implementation Guide is represented in a single CSV or Excel file. This may be useful to testers and analysts to review the Must Support and Mandatory elements across profiles in a single table.
This Observation Summary Table compares Must Support Elements across all the US Core Observation Profiles.
The US Core Profiles include requirements from the U.S. Core Data for Interoperability (USCDI) v4. Some US Core Profile elements that are needed to represent USCDI Data Elements for ONC Health IT Certification (g(10) certification) are not Mandatory or Must Support because many non-certifying implementers do not need them for their use cases. US Core designates these elements Additional USCDI Requirements.
Implementers seeking ONC certification SHALL interpret Additional USCDI Requirements as Must Support elements as documented above; otherwise, they are considered optional. All Mandatory, Must Support, or Additional USCDI Requirements are in scope for ONC Health IT Certification. See the USCDI page for more information about the US Core and USCDI relationship and a mapping between US Core Profiles and the USCDI Data Classes and Elements.
The table below lists the Additional USCDI Requirements and their corresponding Profiles and FHIR elements.
Additional USCDI Requirements | Profile | FHIR Element |
---|---|---|
Contact Detail | US Core Patient Profile | Patient.telecom |
A Communication Language | US Core Patient Profile | Patient.communication |
A Race | US Core Patient Profile | Patient.extension:race |
An Ethnicity | US Core Patient Profile | Patient.extension:ethnicity |
A Tribal Affiliation | US Core Patient Profile | Patient.extension:tribalAffiliation |
A Sex | US Core Patient Profile | Patient.extension:sex |
Gender Identity | US Core Patient Profile | Patient.extension:genderIdentity |
Date Of Death | US Core Patient Profile | Patient.deceased[x] |
Previous Address | US Core Patient Profile | Patient.address.use or Patient.address.period |
Previous Name | US Core Patient Profile | Patient.name.use or Patient.name.period |
Suffix | US Core Patient Profile | Patient.name.suffix |
A Reason Or Indication For Referral Or Consultation | US Core ServiceRequest Profile | ServiceRequest.reasonCode |
A Reason Or Indication For Referral Or Consultation | US Core ServiceRequest Profile | ServiceRequest.reasonReference |
A Reason Or Indication For Referral Or Consultation | US Core Procedure Profile | Procedure.reasonCode |
A Reason Or Indication For Referral Or Consultation | US Core Procedure Profile | Procedure.reasonReference |
The Reason Or Indication For The Prescription | US Core MedicationRequest Profile | MedicationRequest.reasonCode |
The Reason Or Indication For The Prescription | US Core MedicationRequest Profile | MedicationRequest.reasonReference |
Medication Adherence | US Core MedicationRequest Profile | MedicationRequest.extension:medicationAdherence |
A Reference To The Request For The Procedure | US Core Procedure Profile | Procedure.basedOn |
US Core Document Category | US Core DocumentReference Profile | DocumentReference.category:uscore |
References To An Associated Survey, Assessment, Or Screening Tool | US Core Simple Observation Profile | Observation.derivedFrom |
Specimen Source Site | US Core Specimen Profile | Specimen.collection |
Specimen Source Site | US Core Specimen Profile | Specimen.collection.bodySite |
Specimen Condition Acceptability | US Core Specimen Profile | Specimen.condition |
To communicate when Additional USCDI Requirements elements are in a US Core profile:
On each profile page, several different formal views of the US Core Profile contents are displayed in a tree format under tabs labeled “Differential Table”, “Snapshot Table”, and “Key Elements Table”.
Elements with a cardinality starting with “1” under the column header, “Card.” (e.g., 1..1) are Mandatory elements. Elements labeled Must Support in the “Differential Table” view are flagged with an S. Elements with the label “ADDITIONAL USCDI:” under the header “Description and Constraints” are Additional USCDI Requirements. Figure 1 illustrates an example of this:
The “Key Elements Table” view consists of:
This view includes the same flags and labels described in Differential Table View:
The “Snapshot Table” view in Figure 3 view consists of:
This view includes the same flags and labels as described in Differential Table View:
The StructureDefinitions define the US Core Profiles and the ElementDefinition.pattern, which is used almost exclusively for the CodeableConcept and Coding datatypes. If the element is marked as Must Support and defined by a pattern, then the pattern defines the elements and element values that the server SHALL be capable of providing.
For example, the US Core DiagnosticReport Profile for Laboratory Results Reporting category element is defined with a pattern requiring fixed values in DiagnosticReport.category.coding.system
and DiagnosticReport.category.coding.code
for a Coding element. When claiming conformance to this profile:
DiagnosticReport.category
DiagnosticReport.category
Primitive elements are single elements with a primitive value. If they are marked as Must Support, then the server SHALL be capable of providing the element value to meet the Must Support requirement.
For example, the US Core DiagnosticReport Profile for Laboratory Results Reporting issued element is a primitive instant
datatype. Therefore, when claiming conformance to this profile:
DiagnosticReport.issued
DiagnosticReport.issued
Complex elements are composed of primitive and/or other complex elements. Note that coded elements (CodeableConcept
, Coding
, and code
datatypes) also have additional binding rules, which are documented in the Coded Elements section.
For any complex element marked as Must Support, the server SHALL be capable of providing at least one of the sub-element values. If any sub-element is marked as Must Support, it must meet the Must Support requirements as well and satisfy the Must Support requirement for the parent element.
For example, the US Core DiagnosticReport Profile for Report and Note exchange presentedForm
element is labeled Must Support and has no Must Support sub-elements. When claiming conformance to this profile:
DiagnosticReport.presentedForm
sub-element.DiagnosticReport.presentedForm
.For example, the US Core Patient Profile name
element is labeled Must Support and has Must Support sub-elements “family” and “given”. When claiming conformance to this profile:
Patient.name.family
and Patient.name.given
.Patient.name.family
and Patient.name.given
.On the other hand, if any sub-element is marked as Must Support and the parent element is not, there is no expectation that you must support the parent. However, if the parent element is represented in the structure, you must support the sub-element (s) marked as Must Support. There are no examples of US Core profiles that have this structure defined.
Systems can support the other elements, but this is not a requirement of US Core. The U.S. Core Data for Interoperability (USCDI) may require additional elements, for example, suffix
.
This section documents additional Must Support requirements for the Reference
element.
In certain profiles, only specific resource references are labeled as Must Support.
For example, the US Core DocumentReference Profile author US Core Practitioner Profile is labeled Must Support. When claiming conformance to this profile:
Systems can support other references, but this is not a requirement of US Core.
In specific profiles, only a single resource reference is present on an element labeled Must Support.
For example, the US Core AllergyIntolerance Profile patient is labeled Must Support. When claiming conformance to this profile:
AllergyIntolerance.patient
with a valid reference to a US Core Patient Profile.AllergyIntolerance.patient
with a valid reference to a US Core Patient Profile.Some elements allow different data types (e.g., Observation.effective[x]) for their content. Only specific data type choice elements are labeled as Must Support in these situations.
For example, the US Core Observation Clinical Result Profile effectiveDateTime is labeled Must Support. When claiming conformance to this profile:
Observation.effectiveDateTime
.Observation.effectiveDateTime
.Systems MAY support populating and processing other choice elements (such as Observation.effectivePeriod), but this is not a requirement of US Core.
For the US Core Observation Clinical Result Profile value element, multiple elements are labeled Must Support. When claiming conformance to this profile:
Observation.valueQuantity
, Observation.valueCodeableConcept
, and Observation.valueString
.Observation.valueQuantity
, Observation.valueCodeableConcept
, and Observation.valueString
.Systems can support the other elements, but this is not a requirement of US Core.
There are several instances in this Guide where there is a choice of supporting one or another profile element to meet the Must Support requirement. In such cases, the server SHALL support at least one element, and the client application SHALL support all elements. Unfortunately, there is no way to define this in a computable way, but these instances are clearly documented in the Profile specific implementation guidance sections.
For example:
US Core MedicationRequest Profile - The MedicationRequest resource can represent that information is from a secondary source using either a boolean flag or reference in MedicationRequest.reportedBoolean
, or a reference using MedicationRequest.reportedReference
to Practitioner or another resource type. Although both are marked as Must Support, servers are not required to support a boolean and a reference but SHALL choose to support at least one of these elements.