US Core Implementation Guide
7.0.0 - CI Build United States of America flag

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 7.0.0 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

Resource Profile: US Core ServiceRequest Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-servicerequest Version: 7.0.0
Standards status: Trial-use Maturity Level: 3 Computable Name: USCoreServiceRequestProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.42.63

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

This profile sets minimum expectations for recording, searching, and fetching the ServiceRequest resource to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains the way the elements are used when using this profile. It provides the floor for standards development for specific use cases.

Example Usage Scenarios:

The following are example usage scenarios for this profile:

  • Query for a specific procedure or test request, such as an electrocardiogram (ECG) order or a referral to a support program.
  • Query for a specific service offered to a patient, such as a referral to a support program.
  • Query for a category of service request (e.g., all cardiology requests)

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 Views below provides the formal summary, definitions, and terminology requirements.

Each Service Request Must Have:

  1. a status
  2. an intent code indicating whether the request is a proposal, plan, or order.
  3. a code defining what is being requested
  4. a patient

Each Service Request Must Support:

  1. a category
  2. the encounter in which the request was created
  3. when requested serviceSHOULDhappen
  4. when the request was made
  5. the requester

Additional USCDI Requirements:

This Additional USCDI Requirements element is not Mandatory or Must Support but is required for ONC Health IT certification testing and is included in the formal definition of the profile and the ServiceRequest examples.

  1. a reason or indication for referral or consultation*

*see guidance below

Profile Specific Implementation Guidance:

  • See the Screening and Assessments guidance page for more information when exchanging Social Determinants of Health (SDOH) Service Requests.
  • The ServiceRequest.category binding Must Support, at a minimum, the US Core ServiceRequest Category Codes. However, this valueset can be treated as extensible, and other category codes can be used instead.
  • The ServiceRequest.code valueset is broad to accommodate a wide variety of use cases and SHOULD be constrained to a subset for a particular use case or domain. (for example, LOINC for laboratory orders.)

  • *The Reason or justification for a referral or consultation is communicated through:
    1. ServiceRequest.reasonCode or ServiceRequest.reasonReference on the ServiceRequest according to the US Core ServiceRequest Profile that Procedure.basedOn references.
      • ServiceRequest.reasonCode and ServiceRequest.reasonReference are marked as Additional USCDI Requirements. The certifying server system is not required to support both but SHALL support at least one of these elements. The certifying client application SHALL support both elements.
      • As documented here, when using ServiceRequest.reasonReference, the referenced resources SHOULD be a US Core Profile.
    2. Procedure.reasonCode or Procedure.reasonReference when the Procedure does not have an associated ServiceRequest.
      • Although both Procedure.reasonCode and Procedure.reasonReference are marked as Additional USCDI Requirements. The certifying server system is not required to support both but SHALL support at least one of these elements. The certifying client application SHALL support both elements.
      • As documented here, when using Procedure.reasonReference, the referenced resources SHOULD be a US Core Profile.

    Servers and Clients SHALL support options 1 and 2 as Additional USCDI Requirements. Depending on the procedure being documented, a server will select option 1 or 2.

Usage:

Changes since version 7.0.0-ballot:

  • The data elements list has changed
  • One or more text definitions, invariants or bindings have changed
  • Formal Views of Profile Content

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

    This structure is derived from ServiceRequest

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. ServiceRequest 0..*ServiceRequestA request for a service to be performed
    ... status S1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
    ... intent S1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
    ... Slices for category S0..*CodeableConceptClassification of service
    Slice: Unordered, Open by pattern:$this
    .... category:us-core S0..*CodeableConceptClassification of service
    Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets

    ... code S1..1CodeableConceptWhat is being requested/ordered
    Binding: US Core Procedure Codes (extensible)
    ... subject S1..1Reference(US Core Patient Profile S | Group | US Core Location Profile | Device)Individual or Entity the service is ordered for
    ... encounter S0..1Reference(US Core Encounter Profile)Encounter in which the request was created
    ... occurrence[x] S0..1When service should occur
    .... occurrencePeriodPeriod S
    .... occurrenceDateTimedateTime
    .... occurrenceTimingTiming
    ... authoredOn S0..1dateTimeDate request signed
    ... requester S0..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core RelatedPerson Profile | Device)Who/what is requesting service
    ... reasonCode 0..*CodeableConcept𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
    Binding: US Core Condition Codes (extensible)
    ... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

    doco Documentation for this format

    Terminology Bindings (Differential)

    PathConformanceValueSetURI
    ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
    from this IG
    ServiceRequest.codeextensibleUSCoreProcedureCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
    from this IG
    ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
    from this IG
    NameFlagsCard.TypeDescription & Constraintsdoco
    .. ServiceRequest C0..*ServiceRequestA request for a service to be performed
    prr-1: orderDetail SHALL only be present if code is present
    ... implicitRules ?!Σ0..1uriA set of rules under which this content was created
    ... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
    ... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
    Binding: RequestStatus (required): The status of a service order.

    ... intent ?!SΣ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
    Binding: RequestIntent (required): The kind of service request.

    ... Slices for category SΣ0..*CodeableConceptClassification of service
    Slice: Unordered, Open by pattern:$this
    Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


    .... category:us-core SΣ0..*CodeableConceptClassification of service
    Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


    ... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
    ... code SΣ1..1CodeableConceptWhat is being requested/ordered
    Binding: US Core Procedure Codes (extensible)
    ... subject SΣ1..1Reference(US Core Patient Profile)Individual or Entity the service is ordered for
    ... encounter SΣ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
    ... occurrence[x] SΣ0..1When service should occur
    .... occurrencePeriodPeriod
    ... authoredOn SΣ0..1dateTimeDate request signed
    ... requester SΣ0..1Reference(US Core Practitioner Profile)Who/what is requesting service
    ... reasonCode Σ0..*CodeableConcept𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
    Binding: US Core Condition Codes (extensible)
    ... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    ServiceRequest.statusrequiredRequestStatus
    http://hl7.org/fhir/ValueSet/request-status|4.0.1
    from the FHIR Standard
    ServiceRequest.intentrequiredRequestIntent
    http://hl7.org/fhir/ValueSet/request-intent|4.0.1
    from the FHIR Standard
    ServiceRequest.categoryexampleServiceRequestCategoryCodes
    http://hl7.org/fhir/ValueSet/servicerequest-category
    from the FHIR Standard
    ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
    from this IG
    ServiceRequest.codeextensibleUSCoreProcedureCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
    from this IG
    ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
    from this IG

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practiceServiceRequestA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    prr-1errorServiceRequestorderDetail SHALL only be present if code is present
    : orderDetail.empty() or code.exists()
    NameFlagsCard.TypeDescription & Constraintsdoco
    .. ServiceRequest C0..*ServiceRequestA request for a service to be performed
    prr-1: orderDetail SHALL only be present if code is present
    ... 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: 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..*IdentifierIdentifiers assigned to this order
    ... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
    ... instantiatesUri Σ0..*uriInstantiates external protocol or definition
    ... basedOn Σ0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills
    ... replaces Σ0..*Reference(ServiceRequest)What request replaces
    ... requisition Σ0..1IdentifierComposite Request ID
    ... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
    Binding: RequestStatus (required): The status of a service order.

    ... intent ?!SΣ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
    Binding: RequestIntent (required): The kind of service request.

    ... Slices for category SΣ0..*CodeableConceptClassification of service
    Slice: Unordered, Open by pattern:$this
    Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


    .... category:us-core SΣ0..*CodeableConceptClassification of service
    Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


    ... priority Σ0..1coderoutine | urgent | asap | stat
    Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

    ... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
    ... code SΣ1..1CodeableConceptWhat is being requested/ordered
    Binding: US Core Procedure Codes (extensible)
    ... orderDetail ΣC0..*CodeableConceptAdditional order information
    Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


    ... quantity[x] Σ0..1Service amount
    .... quantityQuantityQuantity
    .... quantityRatioRatio
    .... quantityRangeRange
    ... subject SΣ1..1Reference(US Core Patient Profile S | Group | US Core Location Profile | Device)Individual or Entity the service is ordered for
    ... encounter SΣ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
    ... occurrence[x] SΣ0..1When service should occur
    .... occurrencePeriodPeriod S
    .... occurrenceDateTimedateTime
    .... occurrenceTimingTiming
    ... asNeeded[x] Σ0..1Preconditions for service
    Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

    .... asNeededBooleanboolean
    .... asNeededCodeableConceptCodeableConcept
    ... authoredOn SΣ0..1dateTimeDate request signed
    ... requester SΣ0..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core RelatedPerson Profile | Device)Who/what is requesting service
    ... performerType Σ0..1CodeableConceptPerformer role
    Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

    ... performer Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
    ... locationCode Σ0..*CodeableConceptRequested location
    Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


    ... locationReference Σ0..*Reference(Location)Requested location
    ... reasonCode Σ0..*CodeableConcept𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
    Binding: US Core Condition Codes (extensible)
    ... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service
    ... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
    ... supportingInfo 0..*Reference(Resource)Additional clinical information
    ... specimen Σ0..*Reference(Specimen)Procedure Samples
    ... bodySite Σ0..*CodeableConceptLocation on Body
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


    ... note 0..*AnnotationComments
    ... patientInstruction Σ0..1stringPatient or consumer-oriented instructions
    ... relevantHistory 0..*Reference(Provenance)Request provenance

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    ServiceRequest.languagepreferredCommonLanguages
    Additional Bindings Purpose
    AllLanguages Max Binding
    http://hl7.org/fhir/ValueSet/languages
    from the FHIR Standard
    ServiceRequest.statusrequiredRequestStatus
    http://hl7.org/fhir/ValueSet/request-status|4.0.1
    from the FHIR Standard
    ServiceRequest.intentrequiredRequestIntent
    http://hl7.org/fhir/ValueSet/request-intent|4.0.1
    from the FHIR Standard
    ServiceRequest.categoryexampleServiceRequestCategoryCodes
    http://hl7.org/fhir/ValueSet/servicerequest-category
    from the FHIR Standard
    ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
    from this IG
    ServiceRequest.priorityrequiredRequestPriority
    http://hl7.org/fhir/ValueSet/request-priority|4.0.1
    from the FHIR Standard
    ServiceRequest.codeextensibleUSCoreProcedureCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
    from this IG
    ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
    http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
    from the FHIR Standard
    ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
    http://hl7.org/fhir/ValueSet/medication-as-needed-reason
    from the FHIR Standard
    ServiceRequest.performerTypeexampleParticipantRoles
    http://hl7.org/fhir/ValueSet/participant-role
    from the FHIR Standard
    ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
    http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
    ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
    from this IG
    ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
    http://hl7.org/fhir/ValueSet/body-site
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practiceServiceRequestA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    prr-1errorServiceRequestorderDetail SHALL only be present if code is present
    : orderDetail.empty() or code.exists()

    Differential View

    This structure is derived from ServiceRequest

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. ServiceRequest 0..*ServiceRequestA request for a service to be performed
    ... status S1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
    ... intent S1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
    ... Slices for category S0..*CodeableConceptClassification of service
    Slice: Unordered, Open by pattern:$this
    .... category:us-core S0..*CodeableConceptClassification of service
    Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets

    ... code S1..1CodeableConceptWhat is being requested/ordered
    Binding: US Core Procedure Codes (extensible)
    ... subject S1..1Reference(US Core Patient Profile S | Group | US Core Location Profile | Device)Individual or Entity the service is ordered for
    ... encounter S0..1Reference(US Core Encounter Profile)Encounter in which the request was created
    ... occurrence[x] S0..1When service should occur
    .... occurrencePeriodPeriod S
    .... occurrenceDateTimedateTime
    .... occurrenceTimingTiming
    ... authoredOn S0..1dateTimeDate request signed
    ... requester S0..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core RelatedPerson Profile | Device)Who/what is requesting service
    ... reasonCode 0..*CodeableConcept𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
    Binding: US Core Condition Codes (extensible)
    ... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

    doco Documentation for this format

    Terminology Bindings (Differential)

    PathConformanceValueSetURI
    ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
    from this IG
    ServiceRequest.codeextensibleUSCoreProcedureCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
    from this IG
    ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
    from this IG

    Key Elements View

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. ServiceRequest C0..*ServiceRequestA request for a service to be performed
    prr-1: orderDetail SHALL only be present if code is present
    ... implicitRules ?!Σ0..1uriA set of rules under which this content was created
    ... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
    ... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
    Binding: RequestStatus (required): The status of a service order.

    ... intent ?!SΣ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
    Binding: RequestIntent (required): The kind of service request.

    ... Slices for category SΣ0..*CodeableConceptClassification of service
    Slice: Unordered, Open by pattern:$this
    Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


    .... category:us-core SΣ0..*CodeableConceptClassification of service
    Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


    ... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
    ... code SΣ1..1CodeableConceptWhat is being requested/ordered
    Binding: US Core Procedure Codes (extensible)
    ... subject SΣ1..1Reference(US Core Patient Profile)Individual or Entity the service is ordered for
    ... encounter SΣ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
    ... occurrence[x] SΣ0..1When service should occur
    .... occurrencePeriodPeriod
    ... authoredOn SΣ0..1dateTimeDate request signed
    ... requester SΣ0..1Reference(US Core Practitioner Profile)Who/what is requesting service
    ... reasonCode Σ0..*CodeableConcept𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
    Binding: US Core Condition Codes (extensible)
    ... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    ServiceRequest.statusrequiredRequestStatus
    http://hl7.org/fhir/ValueSet/request-status|4.0.1
    from the FHIR Standard
    ServiceRequest.intentrequiredRequestIntent
    http://hl7.org/fhir/ValueSet/request-intent|4.0.1
    from the FHIR Standard
    ServiceRequest.categoryexampleServiceRequestCategoryCodes
    http://hl7.org/fhir/ValueSet/servicerequest-category
    from the FHIR Standard
    ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
    from this IG
    ServiceRequest.codeextensibleUSCoreProcedureCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
    from this IG
    ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
    from this IG

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practiceServiceRequestA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    prr-1errorServiceRequestorderDetail SHALL only be present if code is present
    : orderDetail.empty() or code.exists()

    Snapshot View

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. ServiceRequest C0..*ServiceRequestA request for a service to be performed
    prr-1: orderDetail SHALL only be present if code is present
    ... 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: 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..*IdentifierIdentifiers assigned to this order
    ... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
    ... instantiatesUri Σ0..*uriInstantiates external protocol or definition
    ... basedOn Σ0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills
    ... replaces Σ0..*Reference(ServiceRequest)What request replaces
    ... requisition Σ0..1IdentifierComposite Request ID
    ... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
    Binding: RequestStatus (required): The status of a service order.

    ... intent ?!SΣ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
    Binding: RequestIntent (required): The kind of service request.

    ... Slices for category SΣ0..*CodeableConceptClassification of service
    Slice: Unordered, Open by pattern:$this
    Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


    .... category:us-core SΣ0..*CodeableConceptClassification of service
    Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


    ... priority Σ0..1coderoutine | urgent | asap | stat
    Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

    ... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
    ... code SΣ1..1CodeableConceptWhat is being requested/ordered
    Binding: US Core Procedure Codes (extensible)
    ... orderDetail ΣC0..*CodeableConceptAdditional order information
    Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


    ... quantity[x] Σ0..1Service amount
    .... quantityQuantityQuantity
    .... quantityRatioRatio
    .... quantityRangeRange
    ... subject SΣ1..1Reference(US Core Patient Profile S | Group | US Core Location Profile | Device)Individual or Entity the service is ordered for
    ... encounter SΣ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
    ... occurrence[x] SΣ0..1When service should occur
    .... occurrencePeriodPeriod S
    .... occurrenceDateTimedateTime
    .... occurrenceTimingTiming
    ... asNeeded[x] Σ0..1Preconditions for service
    Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

    .... asNeededBooleanboolean
    .... asNeededCodeableConceptCodeableConcept
    ... authoredOn SΣ0..1dateTimeDate request signed
    ... requester SΣ0..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core RelatedPerson Profile | Device)Who/what is requesting service
    ... performerType Σ0..1CodeableConceptPerformer role
    Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

    ... performer Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
    ... locationCode Σ0..*CodeableConceptRequested location
    Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


    ... locationReference Σ0..*Reference(Location)Requested location
    ... reasonCode Σ0..*CodeableConcept𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
    Binding: US Core Condition Codes (extensible)
    ... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service
    ... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
    ... supportingInfo 0..*Reference(Resource)Additional clinical information
    ... specimen Σ0..*Reference(Specimen)Procedure Samples
    ... bodySite Σ0..*CodeableConceptLocation on Body
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


    ... note 0..*AnnotationComments
    ... patientInstruction Σ0..1stringPatient or consumer-oriented instructions
    ... relevantHistory 0..*Reference(Provenance)Request provenance

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    ServiceRequest.languagepreferredCommonLanguages
    Additional Bindings Purpose
    AllLanguages Max Binding
    http://hl7.org/fhir/ValueSet/languages
    from the FHIR Standard
    ServiceRequest.statusrequiredRequestStatus
    http://hl7.org/fhir/ValueSet/request-status|4.0.1
    from the FHIR Standard
    ServiceRequest.intentrequiredRequestIntent
    http://hl7.org/fhir/ValueSet/request-intent|4.0.1
    from the FHIR Standard
    ServiceRequest.categoryexampleServiceRequestCategoryCodes
    http://hl7.org/fhir/ValueSet/servicerequest-category
    from the FHIR Standard
    ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
    from this IG
    ServiceRequest.priorityrequiredRequestPriority
    http://hl7.org/fhir/ValueSet/request-priority|4.0.1
    from the FHIR Standard
    ServiceRequest.codeextensibleUSCoreProcedureCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
    from this IG
    ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
    http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
    from the FHIR Standard
    ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
    http://hl7.org/fhir/ValueSet/medication-as-needed-reason
    from the FHIR Standard
    ServiceRequest.performerTypeexampleParticipantRoles
    http://hl7.org/fhir/ValueSet/participant-role
    from the FHIR Standard
    ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
    http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
    ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
    http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
    from this IG
    ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
    http://hl7.org/fhir/ValueSet/body-site
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practiceServiceRequestA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    prr-1errorServiceRequestorderDetail SHALL only be present if code is present
    : orderDetail.empty() or code.exists()

     

    Other representations of profile: CSV, Excel, Schematron

    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.

    • See the Scopes Format section for a description of the SMART scopes syntax.
    • See the Search Syntax section for a description of the US Core search syntax.
    • 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 <patient user system>s.

    US Core Scopes

    Servers providing access to order and referral data SHALL support these US Core SMART Scopes:

    Mandatory Search Parameters:

    The following search parameters and search parameter combinations SHALL be supported:

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

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

      Example:

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

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

    2. SHALL support both read ServiceRequest by id AND ServiceRequest search using the _id search parameter:

      GET [base]/ServiceRequest/[id] or GET [base]/ServiceRequest?_id=[id]

      Example:

      1. GET [base]/ServiceRequest/1032702
      2. GET [base]/ServiceRequest?_id=1032702

      Implementation Notes: (how to search by the logical id of the resource)

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

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

      Example:

      1. GET [base]/ServiceRequest?patient=f201&category=http://loinc.org|LG41762-2

      Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and a category code (how to search by reference and how to search by token)

    4. 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]/ServiceRequest?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}

      Example:

      1. GET [base]/ServiceRequest?patient=1032702&code=http://snomed.info/sct|35637008

      Implementation Notes: Fetches a bundle of all ServiceRequest 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)

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

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

      Example:

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

      Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and date and a category code (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]/ServiceRequest?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}

      Example:

      1. GET [base]/ServiceRequest?patient=1137192&status=completed

      Implementation Notes: Fetches a bundle of all ServiceRequest 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 authored search parameters:
      • including optional support for OR search on code (e.g.code={system|}[code],{system|}[code],...)
      • including support for these authored comparators: gt,lt,ge,le
      • including optional support for AND search on authored (e.g.authored=[date]&authored=[date]]&...)

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

      Example:

      1. GET [base]/ServiceRequest?patient=f201&code=http://snomed.info/sct|35637008&date=ge2019-01-14T00:00:00Z

      Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and date and service 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)