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
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-servicerequest | Version: 7.0.0-ballot | |||
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCoreServiceRequestProfile | ||
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:
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:
Each Service Request Must Support:
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.
*see guidance below
Profile Specific Implementation Guidance:
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.ServiceRequest.code
valueset is broad to accommodate a wide variety of use cases andSHOULDbe constrained to a subset for a particular use case or domain. (for example, LOINC for laboratory orders.)ServiceRequest.reason
or ServiceRequest.reason
, and Procedure.basedOn
that links the Procedure to the US Core ServiceRequest Profile.
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.ServiceRequest.reasonReference
, the referenced resources SHOULD be a US Core Profile.Procedure.reasonCode
or Procedure.reasonReference
when the Procedure does not have an associated ServiceRequest.
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.Procedure.reasonReference
, the referenced resources SHOULD be a US Core Profile.Certifying Servers and Clients SHALL support options 1 and 2 as Additional USCDI Requirements.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | 0..* | ServiceRequest | A request for a service to be performed | |
status | S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown |
intent | S | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option |
Slices for category | S | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by pattern:$this |
category:us-core | S | 0..* | CodeableConcept | Classification of service Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets |
code | S | 1..1 | CodeableConcept | What is being requested/ordered Binding: US Core Procedure Codes (extensible) |
subject | S | 1..1 | Reference(US Core Patient Profile S | Group | US Core Location Profile | Device) | Individual or Entity the service is ordered for |
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter in which the request was created |
occurrence[x] | S | 0..1 | When service should occur | |
occurrencePeriod | Period S | |||
occurrenceDateTime | dateTime | |||
occurrenceTiming | Timing | |||
authoredOn | S | 0..1 | dateTime | Date request signed |
requester | S | 0..1 | Reference(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 | |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.category:us-core | required | USCoreServiceRequestCategoryCodes |
ServiceRequest.code | extensible | USCoreProcedureCodes |
ServiceRequest.reasonCode | extensible | USCoreConditionCodes |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed |
implicitRules | ?!ฮฃ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Sฮฃ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. |
intent | ?!Sฮฃ | 1..1 | code | proposal | 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..* | CodeableConcept | Classification of service Slice: Unordered, Open by pattern:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. |
category:us-core | Sฮฃ | 0..* | CodeableConcept | Classification 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..1 | boolean | True if service/procedure should not be performed |
code | Sฮฃ | 1..1 | CodeableConcept | What is being requested/ordered Binding: US Core Procedure Codes (extensible) |
subject | Sฮฃ | 1..1 | Reference(US Core Patient Profile) | Individual or Entity the service is ordered for |
encounter | Sฮฃ | 0..1 | Reference(US Core Encounter Profile) | Encounter in which the request was created |
occurrence[x] | Sฮฃ | 0..1 | When service should occur | |
occurrencePeriod | Period | |||
authoredOn | Sฮฃ | 0..1 | dateTime | Date request signed |
requester | Sฮฃ | 0..1 | Reference(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 |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.status | required | RequestStatus |
ServiceRequest.intent | required | RequestIntent |
ServiceRequest.category | example | ServiceRequestCategoryCodes |
ServiceRequest.category:us-core | required | USCoreServiceRequestCategoryCodes |
ServiceRequest.code | extensible | USCoreProcedureCodes |
ServiceRequest.reasonCode | extensible | USCoreConditionCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed | ||||
id | ฮฃ | 0..1 | id | Logical id of this artifact | ||||
meta | ฮฃ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!ฮฃ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | ฮฃ | 0..* | Identifier | Identifiers assigned to this order | ||||
instantiatesCanonical | ฮฃ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | ||||
instantiatesUri | ฮฃ | 0..* | uri | Instantiates external protocol or definition | ||||
basedOn | ฮฃ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills | ||||
replaces | ฮฃ | 0..* | Reference(ServiceRequest) | What request replaces | ||||
requisition | ฮฃ | 0..1 | Identifier | Composite Request ID | ||||
status | ?!Sฮฃ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||
intent | ?!Sฮฃ | 1..1 | code | proposal | 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..* | CodeableConcept | Classification of service Slice: Unordered, Open by pattern:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
category:us-core | Sฮฃ | 0..* | CodeableConcept | Classification 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..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
doNotPerform | ?!ฮฃ | 0..1 | boolean | True if service/procedure should not be performed | ||||
code | Sฮฃ | 1..1 | CodeableConcept | What is being requested/ordered Binding: US Core Procedure Codes (extensible) | ||||
orderDetail | ฮฃC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||
quantity[x] | ฮฃ | 0..1 | Service amount | |||||
quantityQuantity | Quantity | |||||||
quantityRatio | Ratio | |||||||
quantityRange | Range | |||||||
subject | Sฮฃ | 1..1 | Reference(US Core Patient Profile S | Group | US Core Location Profile | Device) | Individual or Entity the service is ordered for | ||||
encounter | Sฮฃ | 0..1 | Reference(US Core Encounter Profile) | Encounter in which the request was created | ||||
occurrence[x] | Sฮฃ | 0..1 | When service should occur | |||||
occurrencePeriod | Period S | |||||||
occurrenceDateTime | dateTime | |||||||
occurrenceTiming | Timing | |||||||
asNeeded[x] | ฮฃ | 0..1 | Preconditions 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. | |||||
asNeededBoolean | boolean | |||||||
asNeededCodeableConcept | CodeableConcept | |||||||
authoredOn | Sฮฃ | 0..1 | dateTime | Date request signed | ||||
requester | Sฮฃ | 0..1 | Reference(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..1 | CodeableConcept | Performer 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..* | CodeableConcept | Requested 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..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
note | 0..* | Annotation | Comments | |||||
patientInstruction | ฮฃ | 0..1 | string | Patient or consumer-oriented instructions | ||||
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
ServiceRequest.language | preferred | CommonLanguages
| ||||
ServiceRequest.status | required | RequestStatus | ||||
ServiceRequest.intent | required | RequestIntent | ||||
ServiceRequest.category | example | ServiceRequestCategoryCodes | ||||
ServiceRequest.category:us-core | required | USCoreServiceRequestCategoryCodes | ||||
ServiceRequest.priority | required | RequestPriority | ||||
ServiceRequest.code | extensible | USCoreProcedureCodes | ||||
ServiceRequest.orderDetail | example | ServiceRequestOrderDetailsCodes | ||||
ServiceRequest.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes | ||||
ServiceRequest.performerType | example | ParticipantRoles | ||||
ServiceRequest.locationCode | example | ServiceDeliveryLocationRoleType | ||||
ServiceRequest.reasonCode | extensible | USCoreConditionCodes | ||||
ServiceRequest.bodySite | example | SNOMEDCTBodyStructures |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
This structure is derived from ServiceRequest
Summary
Mandatory: 1 element
Must-Support: 10 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 3
Differential View
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | 0..* | ServiceRequest | A request for a service to be performed | |
status | S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown |
intent | S | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option |
Slices for category | S | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by pattern:$this |
category:us-core | S | 0..* | CodeableConcept | Classification of service Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets |
code | S | 1..1 | CodeableConcept | What is being requested/ordered Binding: US Core Procedure Codes (extensible) |
subject | S | 1..1 | Reference(US Core Patient Profile S | Group | US Core Location Profile | Device) | Individual or Entity the service is ordered for |
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter in which the request was created |
occurrence[x] | S | 0..1 | When service should occur | |
occurrencePeriod | Period S | |||
occurrenceDateTime | dateTime | |||
occurrenceTiming | Timing | |||
authoredOn | S | 0..1 | dateTime | Date request signed |
requester | S | 0..1 | Reference(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 | |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.category:us-core | required | USCoreServiceRequestCategoryCodes |
ServiceRequest.code | extensible | USCoreProcedureCodes |
ServiceRequest.reasonCode | extensible | USCoreConditionCodes |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed |
implicitRules | ?!ฮฃ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Sฮฃ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. |
intent | ?!Sฮฃ | 1..1 | code | proposal | 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..* | CodeableConcept | Classification of service Slice: Unordered, Open by pattern:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. |
category:us-core | Sฮฃ | 0..* | CodeableConcept | Classification 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..1 | boolean | True if service/procedure should not be performed |
code | Sฮฃ | 1..1 | CodeableConcept | What is being requested/ordered Binding: US Core Procedure Codes (extensible) |
subject | Sฮฃ | 1..1 | Reference(US Core Patient Profile) | Individual or Entity the service is ordered for |
encounter | Sฮฃ | 0..1 | Reference(US Core Encounter Profile) | Encounter in which the request was created |
occurrence[x] | Sฮฃ | 0..1 | When service should occur | |
occurrencePeriod | Period | |||
authoredOn | Sฮฃ | 0..1 | dateTime | Date request signed |
requester | Sฮฃ | 0..1 | Reference(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 |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.status | required | RequestStatus |
ServiceRequest.intent | required | RequestIntent |
ServiceRequest.category | example | ServiceRequestCategoryCodes |
ServiceRequest.category:us-core | required | USCoreServiceRequestCategoryCodes |
ServiceRequest.code | extensible | USCoreProcedureCodes |
ServiceRequest.reasonCode | extensible | USCoreConditionCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed | ||||
id | ฮฃ | 0..1 | id | Logical id of this artifact | ||||
meta | ฮฃ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!ฮฃ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | ฮฃ | 0..* | Identifier | Identifiers assigned to this order | ||||
instantiatesCanonical | ฮฃ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | ||||
instantiatesUri | ฮฃ | 0..* | uri | Instantiates external protocol or definition | ||||
basedOn | ฮฃ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills | ||||
replaces | ฮฃ | 0..* | Reference(ServiceRequest) | What request replaces | ||||
requisition | ฮฃ | 0..1 | Identifier | Composite Request ID | ||||
status | ?!Sฮฃ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||
intent | ?!Sฮฃ | 1..1 | code | proposal | 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..* | CodeableConcept | Classification of service Slice: Unordered, Open by pattern:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
category:us-core | Sฮฃ | 0..* | CodeableConcept | Classification 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..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
doNotPerform | ?!ฮฃ | 0..1 | boolean | True if service/procedure should not be performed | ||||
code | Sฮฃ | 1..1 | CodeableConcept | What is being requested/ordered Binding: US Core Procedure Codes (extensible) | ||||
orderDetail | ฮฃC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||
quantity[x] | ฮฃ | 0..1 | Service amount | |||||
quantityQuantity | Quantity | |||||||
quantityRatio | Ratio | |||||||
quantityRange | Range | |||||||
subject | Sฮฃ | 1..1 | Reference(US Core Patient Profile S | Group | US Core Location Profile | Device) | Individual or Entity the service is ordered for | ||||
encounter | Sฮฃ | 0..1 | Reference(US Core Encounter Profile) | Encounter in which the request was created | ||||
occurrence[x] | Sฮฃ | 0..1 | When service should occur | |||||
occurrencePeriod | Period S | |||||||
occurrenceDateTime | dateTime | |||||||
occurrenceTiming | Timing | |||||||
asNeeded[x] | ฮฃ | 0..1 | Preconditions 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. | |||||
asNeededBoolean | boolean | |||||||
asNeededCodeableConcept | CodeableConcept | |||||||
authoredOn | Sฮฃ | 0..1 | dateTime | Date request signed | ||||
requester | Sฮฃ | 0..1 | Reference(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..1 | CodeableConcept | Performer 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..* | CodeableConcept | Requested 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..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
note | 0..* | Annotation | Comments | |||||
patientInstruction | ฮฃ | 0..1 | string | Patient or consumer-oriented instructions | ||||
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
ServiceRequest.language | preferred | CommonLanguages
| ||||
ServiceRequest.status | required | RequestStatus | ||||
ServiceRequest.intent | required | RequestIntent | ||||
ServiceRequest.category | example | ServiceRequestCategoryCodes | ||||
ServiceRequest.category:us-core | required | USCoreServiceRequestCategoryCodes | ||||
ServiceRequest.priority | required | RequestPriority | ||||
ServiceRequest.code | extensible | USCoreProcedureCodes | ||||
ServiceRequest.orderDetail | example | ServiceRequestOrderDetailsCodes | ||||
ServiceRequest.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes | ||||
ServiceRequest.performerType | example | ParticipantRoles | ||||
ServiceRequest.locationCode | example | ServiceDeliveryLocationRoleType | ||||
ServiceRequest.reasonCode | extensible | USCoreConditionCodes | ||||
ServiceRequest.bodySite | example | SNOMEDCTBodyStructures |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
This structure is derived from ServiceRequest
Summary
Mandatory: 1 element
Must-Support: 10 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 3
Other representations of profile: CSV, Excel, Schematron
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.
Servers providing access to order and referral data SHALL support these US Core SMART Scopes:
patient/ServiceRequest.rs
patient.ServiceRequest.rs?category=http://hl7.org/fhir/us/core/CodeSystem/us-core-category|sdoh
and patient.ServiceRequest.rs?category=http://hl7.org/fhir/us/core/CodeSystem/us-core-category|functional-status
and patient.ServiceRequest.rs?category=http://snomed.info/sct|surgical-procedure
.The following search parameters and search parameter combinations SHALL be supported:
SHALL support searching for all servicerequests for a patient using the patient
search parameter:
GET [base]/ServiceRequest?patient={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient (how to search by reference)
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:
Implementation Notes: (how to search by the logical id of the resource)
SHALL support searching using the combination of the patient
and category
search parameters:
GET [base]/ServiceRequest?patient={Type/}[id]&category={system|}[code]
Example:
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)
patient
and code
search parameters:
code
(e.g.code={system|}[code],{system|}[code],...
)GET [base]/ServiceRequest?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}
Example:
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)
patient
and category
and authored
search parameters:
authored
comparators: gt,lt,ge,le
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:
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)
The following search parameter combinations SHOULD be supported:
patient
and status
search parameters:
status
(e.g.status={system|}[code],{system|}[code],...
)GET [base]/ServiceRequest?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}
Example:
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)
patient
and code
and authored
search parameters:
code
(e.g.code={system|}[code],{system|}[code],...
)authored
comparators: gt,lt,ge,le
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:
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)