US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 8.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions
Page standards status: Trial-use |
The Profile elements consist of Mandatory, Must Support, and Additional USCDI Requirements elements. The sections below define the Server and Client expectations for processing these elements and illustrate how they are displayed and documented.
Mandatory elements have a minimum cardinality of 1 (min=1). When an element is Mandatory, the data is expected always to be present. However, very rarely it may be missing, and the Missing Data section and the next section provide guidance when the data is missing. 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 and 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, FHIR Data Types, FHIR Search, and FHIR Resource formats before implementing US Core requirements.
The following summary tables may be useful to testers and analysts to review the Must Support and Mandatory elements across profiles.
The US Core Profiles include requirements from the U.S. Core Data for Interoperability (USCDI). 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. Some US Core Profile elements 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 as Additional USCDI Requirements.
Implementers seeking ONC certification (Certifying Systems) SHALL interpret Additional USCDI Requirements as Must Support elements as documented above and below; otherwise, they are considered optional. All Mandatory, Must Support, or Additional USCDI Requirements are within the scope of ONC Health IT Certification. Only simple and complex data elements are defined as Additional USCDI Requirements. The Must Support sections below document how the conformance rules are displayed and applied.
The table below lists the Additional USCDI Requirements and their corresponding Profiles and FHIR elements.
Additional USCDI Requirements | Profile | FHIR Element |
---|---|---|
A Communication Language | US Core Patient Profile | Patient.communication |
An Interpreter Needed Flag | US Core Patient Profile | Patient.extension:interpreterRequired |
An Interpreter Needed Flag | US Core Encounter Profile | Encounter.extension:interpreterRequired |
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 |
Sex Parameter For Clinical Use | US Core Patient Profile | Patient.extension:sexParameterForClinicalUse |
Gender Identity | US Core Patient Profile | Patient.extension:genderIdentity |
Personal Pronouns | US Core Patient Profile | Patient.extension:personalPronouns |
Date Of Death | US Core Patient Profile | Patient.deceased[x] |
Address Use | US Core Patient Profile | Patient.address.use |
Address Period | US Core Patient Profile | Patient.address.period |
Name Use | US Core Patient Profile | Patient.name.use |
Name Period | US Core Patient Profile | 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.performer |
A Reason Or Indication For Referral Or Consultation | US Core Procedure Profile | Procedure.performer.actor |
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 |
Health Status Assessments | US Core Simple Observation Profile | Observation.category:us-core |
Pregnancy Status | US Core Observation Pregnancy Intent Profile | Observation.performer |
Sexual Orientation | US Core Observation Sexual Orientation Profile | Observation.performer |
Pregnancy Status | US Core Observation Pregnancy Status Profile | Observation.performer |
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". Several examples below illustrate the presentation of Must Support elements and their rules. Except where noted, the same rules apply for the Additional USCDI Requirements for Certifying Systems.
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, used almost exclusively for the CodeableConcept and Coding datatypes. If an 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. If an element is marked as Additional USCDI and defined by a pattern, then the pattern defines the elements and element values that the Certifying System 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. If they are marked as Additional USCDI, then the Certifying System SHALL be capable of providing the element value to meet the Additional USCDI 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 other complex elements. Note that coded elements (CodeableConcept
, Coding
, and code
datatypes) also have additional binding rules 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 also meet the Must Support requirements and satisfy the Must Support requirements for the parent element.
For any complex element marked as Additional USCDI, the Certifying System SHALL be capable of providing at least one of the sub-element values. If any sub-element is marked as Additional USCDI, it must also meet the Additional USCDI requirements and satisfy the Additional USCDI requirements 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 or Additional USCDI 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, Servers SHALL support the sub-element(s) marked as Must Support and Certifying System SHALL the sub-elements labeled as Additional USCDI.
For example, the US Core Patient Profile telecom
element is not labeled Must Support, but telecom.system
, telecom.value
, telecom.use
are. When claiming conformance to this profile:
Patient.telecom
, they SHALL be capable of providing values in Patient.telecom.system
, Patient.telecom.value
, and Patient.telecom.use
.Patient.telecom
.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 such as Patient.suffix
.
This section documents additional Must Support requirements for the Reference type element.
When a Reference type element is labeled as Must Support has a single target profile referenced, the target profile SHALL be supported. When a Reference type element is labeled as Additional USCDI has a single target profile referenced, the target profile SHALL be supported for Certifying Systems.
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.When a Reference type element is labeled as Must Support, has multiple target profiles referenced, and specific targets are labeled as Must Support, the Must Support target profile(s) SHALL be supported. When a Reference type element labeled as Additional USCDI, has multiple target profiles referenced, and specific targets are labeled as Must Support, the Must Support target profile(s) SHALL be supported by Certifying Systems.
For example, the US Core DocumentReference Profile DocumentReference.author
is a Must Support element, and six target profiles are displayed with only the US Core Practitioner Profile labeled Must Support. When claiming conformance to this profile:
Systems can support other references, but this is not a requirement of US Core.
The tables below list the Must Support target US Core Profiles and FHIR Resources for each US Core Profile.
Must Support Targets for Must Support US Core Elements
Additional Must Support Targets for Certifying Systems supporting Additional USCDI US Core Elements as Must Support (see Additional USCDI Requirements above).
US Core Profile | Choice of Target Profiles |
---|---|
US Core Procedure Profile | US Core Practitioner Profile |
When a Reference element is labeled as Must Support has multiple target profiles referenced, but none are labeled as Must Support, at least one target profile SHALL be supported. When a Reference element is labeled as Additional USCDI has multiple target profiles referenced, but none are labeled as Must Support, at least one target profile SHALL be supported by Certifying Systems.
For example, the US Core Vital Signs Profile Observation.performer
is a Must Support element, and there are six target profiles displayed with none labeled as Must Support. When claiming conformance to this profile:
Observation.performer
with a valid reference to at least one target profile.Observation.performer
with a valid reference to any target profile.The tables below list the at least one candidate target US Core Profiles and FHIR Resources for each US Core Profile. Note that these targets may overlap with the Must Support Targets listed above.
Choice of Targets for Must Support US Core Elements
Choice of Targets for Additional USCDI US Core Elements
If a Must Support element has a choice of datatypes for its content, the datatypes the Server SHALL support are labeled as Must Support. If an Additional USCDI element has a choice of datatypes for its content, the datatypes the Certifying System SHALL support are labeled as Must Support.
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 or Additional USCDI requirements. In such cases, the Server or Certifying System 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 documented in the Profile specific implementation guidance sections.
For example:
MedicationRequest.reportedBoolean
or a reference using MedicationRequest.reportedReference
.