This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
Orders and Observations Work Group | Maturity Level: 4 | Trial Use | Security Category: Patient | Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson |
A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
ServiceRequest represents an order or proposal or plan to perform a diagnostic or other service on or for a patient (including non-human patients in veterinary settings). Examples of the types of services that may be ordered by a ServiceRequest are:
A ServiceRequest can represent an order that is entered by a practitioner in a CPOE system, or a proposal made by a clinical decision support (CDS) system based on a patient's clinical record and context of care. Planned procedures, perhaps following a defined CarePlan, may also be represented by this resource.
The ServiceRequest.intent
element identifies if the resource represents an order, proposal, or plan to perform the indicated service for, or on, a patient. The service to be performed might result in a Procedure; and could be summarized in a DiagnosticReport detailing the performance and outcomes, perhaps through referencing select generated Observations, ImagingStudies, Specimens or other resources. The various generated resources are typically linked back to this ServiceRequest through their basedOn
elements. The ServiceRequest resource may be used to share information to support a referral or transfer-of-care request from one practitioner or organization to another for a consultation, second opinion, or short- or longer-term management of health issues or problems.
Healthcare-related processes may also include requesting diagnostic investigation on a group of subjects; ordering maintenance of devices involved in the provision of healthcare; or, requesting testing of environmental locations such as ducts, bodies of water, etc.
Procedures may be performed by a healthcare professional, by the patient themself, or a friend or relative.
The general work flow that this resource facilitates is that a clinical system creates a service request. The service request is then accessed by or exchanged, perhaps via intermediaries, with a system that represents an organization (e.g., diagnostic or imaging service, surgical team, physical therapy department) that can perform the procedure. The organization receiving the service request will, after it accepts the request, update the request as the work is performed, and then finally issue a report that references the requests that it fulfilled.
Only a single procedure is requested by each ServiceRequest; if a workflow requires requesting multiple procedures simultaneously, this is done using multiple ServiceRequests. These instances can be linked in different ways, depending on the needs of the workflow. For guidance, refer to the Request pattern.
Multiple ServiceRequests may exist that are associated in some way. When the association is a simple grouping, say for billing, that grouping can be indicated with the ServiceRequest.requisition
element. When the ServiceRequest execution needs to be coordinated in some fashion, another resource such as RequestOrchestration may be needed.
This resource is a request resource from a FHIR workflow perspective - see Workflow.
ServiceRequest is a record of a proposal/plan or order for a service to be performed that would result in a Procedure, Observation, DiagnosticReport, ImagingStudy, or similar resource. In contrast to ServiceRequest, Task spans both intent and event, tracks the execution through to completion, and is intended for "administrative" actions like requesting and tracking things to be done to a record, or keeping track of a checklist of steps such to be performed as part of a fulfilment process. A ServiceRequest can be higher-level authorization that triggered the creation of Task, or it can be the "request" resource Task is seeking to fulfill. For further information about this separation of responsibilities between ServiceRequest and Task, refer to the Fulfillment/Execution section of the Request pattern.
ServiceRequest and CommunicationRequest are related. A CommunicationRequest is a request to merely disclose information. Whereas a ServiceRequest would be used to request information as part of training or counseling - i.e. when the process will involve verification of the patient's comprehension or an attempt to change the patient's mental state. In some workflows both may exist. For example, upon receiving a CommunicationRequest a practitioner might initiate a ServiceRequest.
Note to Implementers:
The ServiceRequest.orderDetail structure is subject to further feedback based on use as the modeling creates a challenge when there is no focus, while an alternate structure would yield a requirement to repeat the focus attribute on each code/value pair.
Provide feedback here .
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | TU | DomainResource | A request for a service to be performed + Rule: bodyStructure SHALL only be present if bodySite is not present + Rule: orderDetail SHALL only be present if code is present + Rule: asNeededFor SHALL only be present if asNeeded is empty or true Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
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 | RequestOrchestration | NutritionOrder) | What request fulfills |
replaces | Σ | 0..* | Reference(ServiceRequest) | What request replaces |
requisition | Σ | 0..1 | Identifier | Composite Request ID |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order + Binding: RequestIntent (Required) |
category | Σ | 0..* | CodeableConcept | Classification of service Binding: Service Request Category Codes (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
code | ΣC | 0..1 | CodeableReference(ActivityDefinition | PlanDefinition) | What is being requested/ordered Binding: Procedure Codes (SNOMED CT) (Example) |
orderDetail | ΣC | 0..* | BackboneElement | Additional information about the request |
parameterFocus | 0..1 | CodeableReference(Device | DeviceDefinition | DeviceRequest | SupplyRequest | Medication | MedicationRequest | BiologicallyDerivedProduct | Substance) | The context of the order details by reference | |
parameter | Σ | 1..* | BackboneElement | The parameter details for the service being requested |
code | Σ | 1..1 | CodeableConcept | The detail of the order being requested Binding: Servicerequest OrderDetail Parameter Code (Example) |
value[x] | Σ | 1..1 | The value for the order detail | |
valueQuantity | Quantity | |||
valueRatio | Ratio | |||
valueRange | Range | |||
valueBoolean | boolean | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valuePeriod | Period | |||
quantity[x] | Σ | 0..1 | Service amount | |
quantityQuantity | Quantity | |||
quantityRatio | Ratio | |||
quantityRange | Range | |||
subject | Σ | 1..1 | Reference(Patient | Group | Location | Device) | Individual or Entity the service is ordered for |
focus | Σ | 0..* | Reference(Any) | What the service request is about, when it is not about the subject of record |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter in which the request was created |
occurrence[x] | Σ | 0..1 | When service should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
asNeeded | Σ | 0..1 | boolean | Perform the service "as needed" |
asNeededFor | ΣC | 0..* | CodeableConcept | Specified criteria for the service Binding: SNOMED CT Medication As Needed Reason Codes (Example) |
authoredOn | Σ | 0..1 | dateTime | Date request signed |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/what is requesting service |
performerType | Σ | 0..1 | CodeableConcept | Performer role Binding: Participant Roles (Example) |
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer |
location | Σ | 0..* | CodeableReference(Location) | Requested location Binding: ServiceDeliveryLocationRoleType (Example) |
reason | Σ | 0..* | CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference | DetectedIssue | Procedure) | Reason or indication for requesting the service Binding: Procedure Reason Codes (Example) |
insurance | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |
supportingInfo | 0..* | CodeableReference(Any) | Additional clinical information | |
specimen | Σ | 0..* | Reference(Specimen) | Procedure Samples |
bodySite | ΣC | 0..* | CodeableConcept | Coded location on Body Binding: SNOMED CT Body Structures (Example) |
bodyStructure | ΣC | 0..1 | Reference(BodyStructure) | BodyStructure-based location on the body |
note | 0..* | Annotation | Comments | |
patientInstruction | 0..* | BackboneElement | Patient or consumer-oriented instructions | |
instruction[x] | Σ | 0..1 | Patient or consumer-oriented instructions | |
instructionMarkdown | markdown | |||
instructionReference | Reference(DocumentReference) | |||
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<ServiceRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|PlanDefinition) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|NutritionOrder| RequestOrchestration|ServiceRequest) What request fulfills --></basedOn> <replaces><!-- 0..* Reference(ServiceRequest) What request replaces --></replaces> <requisition><!-- 0..1 Identifier Composite Request ID --></requisition> <status value="[code]"/><!-- 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown --> <intent value="[code]"/><!-- 1..1 proposal | plan | directive | order + --> <category><!-- 0..* CodeableConcept Classification of service --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <doNotPerform value="[boolean]"/><!-- 0..1 True if service/procedure should not be performed --> <code><!-- I 0..1 CodeableReference(ActivityDefinition|PlanDefinition) What is being requested/ordered --></code> <orderDetail> <!-- I 0..* Additional information about the request --> <parameterFocus><!-- 0..1 CodeableReference(BiologicallyDerivedProduct|Device| DeviceDefinition|DeviceRequest|Medication|MedicationRequest|Substance| SupplyRequest) The context of the order details by reference --></parameterFocus> <parameter> <!-- 1..* The parameter details for the service being requested --> <code><!-- 1..1 CodeableConcept The detail of the order being requested --></code> <value[x]><!-- 1..1 Quantity|Ratio|Range|boolean|CodeableConcept|string| Period The value for the order detail --></value[x]> </parameter> </orderDetail> <quantity[x]><!-- 0..1 Quantity|Ratio|Range Service amount --></quantity[x]> <subject><!-- 1..1 Reference(Device|Group|Location|Patient) Individual or Entity the service is ordered for --></subject> <focus><!-- 0..* Reference(Any) What the service request is about, when it is not about the subject of record --></focus> <encounter><!-- 0..1 Reference(Encounter) Encounter in which the request was created --></encounter> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When service should occur --></occurrence[x]> <asNeeded value="[boolean]"/><!-- 0..1 Perform the service "as needed" --> <asNeededFor><!-- I 0..* CodeableConcept Specified criteria for the service --></asNeededFor> <authoredOn value="[dateTime]"/><!-- 0..1 Date request signed --> <requester><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who/what is requesting service --></requester> <performerType><!-- 0..1 CodeableConcept Performer role --></performerType> <performer><!-- 0..* Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Requested performer --></performer> <location><!-- 0..* CodeableReference(Location) Requested location --></location> <reason><!-- 0..* CodeableReference(Condition|DetectedIssue|DiagnosticReport| DocumentReference|Observation|Procedure) Reason or indication for requesting the service --></reason> <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance> <supportingInfo><!-- 0..* CodeableReference(Any) Additional clinical information --></supportingInfo> <specimen><!-- 0..* Reference(Specimen) Procedure Samples --></specimen> <bodySite><!-- I 0..* CodeableConcept Coded location on Body --></bodySite> <bodyStructure><!-- I 0..1 Reference(BodyStructure) BodyStructure-based location on the body --></bodyStructure> <note><!-- 0..* Annotation Comments --></note> <patientInstruction> <!-- 0..* Patient or consumer-oriented instructions --> <instruction[x]><!-- 0..1 markdown|Reference(DocumentReference) Patient or consumer-oriented instructions --></instruction[x]> </patientInstruction> <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory> </ServiceRequest>
JSON Template
{ "resourceType" : "ServiceRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers assigned to this order "instantiatesCanonical" : ["<canonical(ActivityDefinition|PlanDefinition)>"], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan|MedicationRequest|NutritionOrder| RequestOrchestration|ServiceRequest) }], // What request fulfills "replaces" : [{ Reference(ServiceRequest) }], // What request replaces "requisition" : { Identifier }, // Composite Request ID "status" : "<code>", // R! draft | active | on-hold | revoked | completed | entered-in-error | unknown "intent" : "<code>", // R! proposal | plan | directive | order + "category" : [{ CodeableConcept }], // Classification of service "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if service/procedure should not be performed "code" : { CodeableReference(ActivityDefinition|PlanDefinition) }, // I What is being requested/ordered "orderDetail" : [{ // I Additional information about the request "parameterFocus" : { CodeableReference(BiologicallyDerivedProduct|Device| DeviceDefinition|DeviceRequest|Medication|MedicationRequest|Substance| SupplyRequest) }, // The context of the order details by reference "parameter" : [{ // R! The parameter details for the service being requested "code" : { CodeableConcept }, // R! The detail of the order being requested // value[x]: The value for the order detail. One of these 7: "valueQuantity" : { Quantity }, "valueRatio" : { Ratio }, "valueRange" : { Range }, "valueBoolean" : <boolean>, "valueCodeableConcept" : { CodeableConcept }, "valueString" : "<string>", "valuePeriod" : { Period } }] }], // quantity[x]: Service amount. One of these 3: "quantityQuantity" : { Quantity }, "quantityRatio" : { Ratio }, "quantityRange" : { Range }, "subject" : { Reference(Device|Group|Location|Patient) }, // R! Individual or Entity the service is ordered for "focus" : [{ Reference(Any) }], // What the service request is about, when it is not about the subject of record "encounter" : { Reference(Encounter) }, // Encounter in which the request was created // occurrence[x]: When service should occur. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "asNeeded" : <boolean>, // Perform the service "as needed" "asNeededFor" : [{ CodeableConcept }], // I Specified criteria for the service "authoredOn" : "<dateTime>", // Date request signed "requester" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who/what is requesting service "performerType" : { CodeableConcept }, // Performer role "performer" : [{ Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Requested performer "location" : [{ CodeableReference(Location) }], // Requested location "reason" : [{ CodeableReference(Condition|DetectedIssue|DiagnosticReport| DocumentReference|Observation|Procedure) }], // Reason or indication for requesting the service "insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage "supportingInfo" : [{ CodeableReference(Any) }], // Additional clinical information "specimen" : [{ Reference(Specimen) }], // Procedure Samples "bodySite" : [{ CodeableConcept }], // I Coded location on Body "bodyStructure" : { Reference(BodyStructure) }, // I BodyStructure-based location on the body "note" : [{ Annotation }], // Comments "patientInstruction" : [{ // Patient or consumer-oriented instructions // instruction[x]: Patient or consumer-oriented instructions. One of these 2: "instructionMarkdown" : "<markdown>", "instructionReference" : { Reference(DocumentReference) } }], "relevantHistory" : [{ Reference(Provenance) }] // Request provenance }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:ServiceRequest; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Identifiers assigned to this order fhir:instantiatesCanonical ( [ canonical(ActivityDefinition|PlanDefinition) ] ... ) ; # 0..* Instantiates FHIR protocol or definition fhir:instantiatesUri ( [ uri ] ... ) ; # 0..* Instantiates external protocol or definition fhir:basedOn ( [ Reference(CarePlan|MedicationRequest|NutritionOrder|RequestOrchestration|ServiceRequest) ] ... ) ; # 0..* What request fulfills fhir:replaces ( [ Reference(ServiceRequest) ] ... ) ; # 0..* What request replaces fhir:requisition [ Identifier ] ; # 0..1 Composite Request ID fhir:status [ code ] ; # 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown fhir:intent [ code ] ; # 1..1 proposal | plan | directive | order + fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Classification of service fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:doNotPerform [ boolean ] ; # 0..1 True if service/procedure should not be performed fhir:code [ CodeableReference(ActivityDefinition|PlanDefinition) ] ; # 0..1 I What is being requested/ordered fhir:orderDetail ( [ # 0..* I Additional information about the request fhir:parameterFocus [ CodeableReference(BiologicallyDerivedProduct|Device|DeviceDefinition|DeviceRequest|Medication| MedicationRequest|Substance|SupplyRequest) ] ; # 0..1 The context of the order details by reference fhir:parameter ( [ # 1..* The parameter details for the service being requested fhir:code [ CodeableConcept ] ; # 1..1 The detail of the order being requested # value[x] : 1..1 The value for the order detail. One of these 7 fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:boolean ; boolean ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:string ; string ] fhir:value [ a fhir:Period ; Period ] ] ... ) ; ] ... ) ; # quantity[x] : 0..1 Service amount. One of these 3 fhir:quantity [ a fhir:Quantity ; Quantity ] fhir:quantity [ a fhir:Ratio ; Ratio ] fhir:quantity [ a fhir:Range ; Range ] fhir:subject [ Reference(Device|Group|Location|Patient) ] ; # 1..1 Individual or Entity the service is ordered for fhir:focus ( [ Reference(Any) ] ... ) ; # 0..* What the service request is about, when it is not about the subject of record fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter in which the request was created # occurrence[x] : 0..1 When service should occur. One of these 3 fhir:occurrence [ a fhir:dateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:occurrence [ a fhir:Timing ; Timing ] fhir:asNeeded [ boolean ] ; # 0..1 Perform the service "as needed" fhir:asNeededFor ( [ CodeableConcept ] ... ) ; # 0..* I Specified criteria for the service fhir:authoredOn [ dateTime ] ; # 0..1 Date request signed fhir:requester [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who/what is requesting service fhir:performerType [ CodeableConcept ] ; # 0..1 Performer role fhir:performer ( [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Requested performer fhir:location ( [ CodeableReference(Location) ] ... ) ; # 0..* Requested location fhir:reason ( [ CodeableReference(Condition|DetectedIssue|DiagnosticReport|DocumentReference|Observation|Procedure) ] ... ) ; # 0..* Reason or indication for requesting the service fhir:insurance ( [ Reference(ClaimResponse|Coverage) ] ... ) ; # 0..* Associated insurance coverage fhir:supportingInfo ( [ CodeableReference(Any) ] ... ) ; # 0..* Additional clinical information fhir:specimen ( [ Reference(Specimen) ] ... ) ; # 0..* Procedure Samples fhir:bodySite ( [ CodeableConcept ] ... ) ; # 0..* I Coded location on Body fhir:bodyStructure [ Reference(BodyStructure) ] ; # 0..1 I BodyStructure-based location on the body fhir:note ( [ Annotation ] ... ) ; # 0..* Comments fhir:patientInstruction ( [ # 0..* Patient or consumer-oriented instructions # instruction[x] : 0..1 Patient or consumer-oriented instructions. One of these 2 fhir:instruction [ a fhir:markdown ; markdown ] fhir:instruction [ a fhir:Reference ; Reference(DocumentReference) ] ] ... ) ; fhir:relevantHistory ( [ Reference(Provenance) ] ... ) ; # 0..* Request provenance ]
Changes from both R4 and R4B
ServiceRequest | |
ServiceRequest.basedOn |
|
ServiceRequest.code |
|
ServiceRequest.orderDetail |
|
ServiceRequest.orderDetail.parameterFocus |
|
ServiceRequest.orderDetail.parameter |
|
ServiceRequest.orderDetail.parameter.code |
|
ServiceRequest.orderDetail.parameter.value[x] |
|
ServiceRequest.focus |
|
ServiceRequest.asNeeded |
|
ServiceRequest.asNeededFor |
|
ServiceRequest.location |
|
ServiceRequest.reason |
|
ServiceRequest.supportingInfo |
|
ServiceRequest.bodyStructure |
|
ServiceRequest.patientInstruction |
|
ServiceRequest.patientInstruction.instruction[x] |
|
ServiceRequest.locationCode |
|
ServiceRequest.locationReference |
|
ServiceRequest.reasonCode |
|
ServiceRequest.reasonReference |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | TU | DomainResource | A request for a service to be performed + Rule: bodyStructure SHALL only be present if bodySite is not present + Rule: orderDetail SHALL only be present if code is present + Rule: asNeededFor SHALL only be present if asNeeded is empty or true Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
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 | RequestOrchestration | NutritionOrder) | What request fulfills |
replaces | Σ | 0..* | Reference(ServiceRequest) | What request replaces |
requisition | Σ | 0..1 | Identifier | Composite Request ID |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order + Binding: RequestIntent (Required) |
category | Σ | 0..* | CodeableConcept | Classification of service Binding: Service Request Category Codes (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
code | ΣC | 0..1 | CodeableReference(ActivityDefinition | PlanDefinition) | What is being requested/ordered Binding: Procedure Codes (SNOMED CT) (Example) |
orderDetail | ΣC | 0..* | BackboneElement | Additional information about the request |
parameterFocus | 0..1 | CodeableReference(Device | DeviceDefinition | DeviceRequest | SupplyRequest | Medication | MedicationRequest | BiologicallyDerivedProduct | Substance) | The context of the order details by reference | |
parameter | Σ | 1..* | BackboneElement | The parameter details for the service being requested |
code | Σ | 1..1 | CodeableConcept | The detail of the order being requested Binding: Servicerequest OrderDetail Parameter Code (Example) |
value[x] | Σ | 1..1 | The value for the order detail | |
valueQuantity | Quantity | |||
valueRatio | Ratio | |||
valueRange | Range | |||
valueBoolean | boolean | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valuePeriod | Period | |||
quantity[x] | Σ | 0..1 | Service amount | |
quantityQuantity | Quantity | |||
quantityRatio | Ratio | |||
quantityRange | Range | |||
subject | Σ | 1..1 | Reference(Patient | Group | Location | Device) | Individual or Entity the service is ordered for |
focus | Σ | 0..* | Reference(Any) | What the service request is about, when it is not about the subject of record |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter in which the request was created |
occurrence[x] | Σ | 0..1 | When service should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
asNeeded | Σ | 0..1 | boolean | Perform the service "as needed" |
asNeededFor | ΣC | 0..* | CodeableConcept | Specified criteria for the service Binding: SNOMED CT Medication As Needed Reason Codes (Example) |
authoredOn | Σ | 0..1 | dateTime | Date request signed |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/what is requesting service |
performerType | Σ | 0..1 | CodeableConcept | Performer role Binding: Participant Roles (Example) |
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer |
location | Σ | 0..* | CodeableReference(Location) | Requested location Binding: ServiceDeliveryLocationRoleType (Example) |
reason | Σ | 0..* | CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference | DetectedIssue | Procedure) | Reason or indication for requesting the service Binding: Procedure Reason Codes (Example) |
insurance | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |
supportingInfo | 0..* | CodeableReference(Any) | Additional clinical information | |
specimen | Σ | 0..* | Reference(Specimen) | Procedure Samples |
bodySite | ΣC | 0..* | CodeableConcept | Coded location on Body Binding: SNOMED CT Body Structures (Example) |
bodyStructure | ΣC | 0..1 | Reference(BodyStructure) | BodyStructure-based location on the body |
note | 0..* | Annotation | Comments | |
patientInstruction | 0..* | BackboneElement | Patient or consumer-oriented instructions | |
instruction[x] | Σ | 0..1 | Patient or consumer-oriented instructions | |
instructionMarkdown | markdown | |||
instructionReference | Reference(DocumentReference) | |||
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |
Documentation for this format |
See the Extensions for this resource
XML Template
<ServiceRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|PlanDefinition) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|NutritionOrder| RequestOrchestration|ServiceRequest) What request fulfills --></basedOn> <replaces><!-- 0..* Reference(ServiceRequest) What request replaces --></replaces> <requisition><!-- 0..1 Identifier Composite Request ID --></requisition> <status value="[code]"/><!-- 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown --> <intent value="[code]"/><!-- 1..1 proposal | plan | directive | order + --> <category><!-- 0..* CodeableConcept Classification of service --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <doNotPerform value="[boolean]"/><!-- 0..1 True if service/procedure should not be performed --> <code><!-- I 0..1 CodeableReference(ActivityDefinition|PlanDefinition) What is being requested/ordered --></code> <orderDetail> <!-- I 0..* Additional information about the request --> <parameterFocus><!-- 0..1 CodeableReference(BiologicallyDerivedProduct|Device| DeviceDefinition|DeviceRequest|Medication|MedicationRequest|Substance| SupplyRequest) The context of the order details by reference --></parameterFocus> <parameter> <!-- 1..* The parameter details for the service being requested --> <code><!-- 1..1 CodeableConcept The detail of the order being requested --></code> <value[x]><!-- 1..1 Quantity|Ratio|Range|boolean|CodeableConcept|string| Period The value for the order detail --></value[x]> </parameter> </orderDetail> <quantity[x]><!-- 0..1 Quantity|Ratio|Range Service amount --></quantity[x]> <subject><!-- 1..1 Reference(Device|Group|Location|Patient) Individual or Entity the service is ordered for --></subject> <focus><!-- 0..* Reference(Any) What the service request is about, when it is not about the subject of record --></focus> <encounter><!-- 0..1 Reference(Encounter) Encounter in which the request was created --></encounter> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When service should occur --></occurrence[x]> <asNeeded value="[boolean]"/><!-- 0..1 Perform the service "as needed" --> <asNeededFor><!-- I 0..* CodeableConcept Specified criteria for the service --></asNeededFor> <authoredOn value="[dateTime]"/><!-- 0..1 Date request signed --> <requester><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who/what is requesting service --></requester> <performerType><!-- 0..1 CodeableConcept Performer role --></performerType> <performer><!-- 0..* Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Requested performer --></performer> <location><!-- 0..* CodeableReference(Location) Requested location --></location> <reason><!-- 0..* CodeableReference(Condition|DetectedIssue|DiagnosticReport| DocumentReference|Observation|Procedure) Reason or indication for requesting the service --></reason> <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance> <supportingInfo><!-- 0..* CodeableReference(Any) Additional clinical information --></supportingInfo> <specimen><!-- 0..* Reference(Specimen) Procedure Samples --></specimen> <bodySite><!-- I 0..* CodeableConcept Coded location on Body --></bodySite> <bodyStructure><!-- I 0..1 Reference(BodyStructure) BodyStructure-based location on the body --></bodyStructure> <note><!-- 0..* Annotation Comments --></note> <patientInstruction> <!-- 0..* Patient or consumer-oriented instructions --> <instruction[x]><!-- 0..1 markdown|Reference(DocumentReference) Patient or consumer-oriented instructions --></instruction[x]> </patientInstruction> <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory> </ServiceRequest>
JSON Template
{ "resourceType" : "ServiceRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers assigned to this order "instantiatesCanonical" : ["<canonical(ActivityDefinition|PlanDefinition)>"], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan|MedicationRequest|NutritionOrder| RequestOrchestration|ServiceRequest) }], // What request fulfills "replaces" : [{ Reference(ServiceRequest) }], // What request replaces "requisition" : { Identifier }, // Composite Request ID "status" : "<code>", // R! draft | active | on-hold | revoked | completed | entered-in-error | unknown "intent" : "<code>", // R! proposal | plan | directive | order + "category" : [{ CodeableConcept }], // Classification of service "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if service/procedure should not be performed "code" : { CodeableReference(ActivityDefinition|PlanDefinition) }, // I What is being requested/ordered "orderDetail" : [{ // I Additional information about the request "parameterFocus" : { CodeableReference(BiologicallyDerivedProduct|Device| DeviceDefinition|DeviceRequest|Medication|MedicationRequest|Substance| SupplyRequest) }, // The context of the order details by reference "parameter" : [{ // R! The parameter details for the service being requested "code" : { CodeableConcept }, // R! The detail of the order being requested // value[x]: The value for the order detail. One of these 7: "valueQuantity" : { Quantity }, "valueRatio" : { Ratio }, "valueRange" : { Range }, "valueBoolean" : <boolean>, "valueCodeableConcept" : { CodeableConcept }, "valueString" : "<string>", "valuePeriod" : { Period } }] }], // quantity[x]: Service amount. One of these 3: "quantityQuantity" : { Quantity }, "quantityRatio" : { Ratio }, "quantityRange" : { Range }, "subject" : { Reference(Device|Group|Location|Patient) }, // R! Individual or Entity the service is ordered for "focus" : [{ Reference(Any) }], // What the service request is about, when it is not about the subject of record "encounter" : { Reference(Encounter) }, // Encounter in which the request was created // occurrence[x]: When service should occur. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "asNeeded" : <boolean>, // Perform the service "as needed" "asNeededFor" : [{ CodeableConcept }], // I Specified criteria for the service "authoredOn" : "<dateTime>", // Date request signed "requester" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who/what is requesting service "performerType" : { CodeableConcept }, // Performer role "performer" : [{ Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Requested performer "location" : [{ CodeableReference(Location) }], // Requested location "reason" : [{ CodeableReference(Condition|DetectedIssue|DiagnosticReport| DocumentReference|Observation|Procedure) }], // Reason or indication for requesting the service "insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage "supportingInfo" : [{ CodeableReference(Any) }], // Additional clinical information "specimen" : [{ Reference(Specimen) }], // Procedure Samples "bodySite" : [{ CodeableConcept }], // I Coded location on Body "bodyStructure" : { Reference(BodyStructure) }, // I BodyStructure-based location on the body "note" : [{ Annotation }], // Comments "patientInstruction" : [{ // Patient or consumer-oriented instructions // instruction[x]: Patient or consumer-oriented instructions. One of these 2: "instructionMarkdown" : "<markdown>", "instructionReference" : { Reference(DocumentReference) } }], "relevantHistory" : [{ Reference(Provenance) }] // Request provenance }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:ServiceRequest; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Identifiers assigned to this order fhir:instantiatesCanonical ( [ canonical(ActivityDefinition|PlanDefinition) ] ... ) ; # 0..* Instantiates FHIR protocol or definition fhir:instantiatesUri ( [ uri ] ... ) ; # 0..* Instantiates external protocol or definition fhir:basedOn ( [ Reference(CarePlan|MedicationRequest|NutritionOrder|RequestOrchestration|ServiceRequest) ] ... ) ; # 0..* What request fulfills fhir:replaces ( [ Reference(ServiceRequest) ] ... ) ; # 0..* What request replaces fhir:requisition [ Identifier ] ; # 0..1 Composite Request ID fhir:status [ code ] ; # 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown fhir:intent [ code ] ; # 1..1 proposal | plan | directive | order + fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Classification of service fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:doNotPerform [ boolean ] ; # 0..1 True if service/procedure should not be performed fhir:code [ CodeableReference(ActivityDefinition|PlanDefinition) ] ; # 0..1 I What is being requested/ordered fhir:orderDetail ( [ # 0..* I Additional information about the request fhir:parameterFocus [ CodeableReference(BiologicallyDerivedProduct|Device|DeviceDefinition|DeviceRequest|Medication| MedicationRequest|Substance|SupplyRequest) ] ; # 0..1 The context of the order details by reference fhir:parameter ( [ # 1..* The parameter details for the service being requested fhir:code [ CodeableConcept ] ; # 1..1 The detail of the order being requested # value[x] : 1..1 The value for the order detail. One of these 7 fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:boolean ; boolean ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:string ; string ] fhir:value [ a fhir:Period ; Period ] ] ... ) ; ] ... ) ; # quantity[x] : 0..1 Service amount. One of these 3 fhir:quantity [ a fhir:Quantity ; Quantity ] fhir:quantity [ a fhir:Ratio ; Ratio ] fhir:quantity [ a fhir:Range ; Range ] fhir:subject [ Reference(Device|Group|Location|Patient) ] ; # 1..1 Individual or Entity the service is ordered for fhir:focus ( [ Reference(Any) ] ... ) ; # 0..* What the service request is about, when it is not about the subject of record fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter in which the request was created # occurrence[x] : 0..1 When service should occur. One of these 3 fhir:occurrence [ a fhir:dateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:occurrence [ a fhir:Timing ; Timing ] fhir:asNeeded [ boolean ] ; # 0..1 Perform the service "as needed" fhir:asNeededFor ( [ CodeableConcept ] ... ) ; # 0..* I Specified criteria for the service fhir:authoredOn [ dateTime ] ; # 0..1 Date request signed fhir:requester [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who/what is requesting service fhir:performerType [ CodeableConcept ] ; # 0..1 Performer role fhir:performer ( [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Requested performer fhir:location ( [ CodeableReference(Location) ] ... ) ; # 0..* Requested location fhir:reason ( [ CodeableReference(Condition|DetectedIssue|DiagnosticReport|DocumentReference|Observation|Procedure) ] ... ) ; # 0..* Reason or indication for requesting the service fhir:insurance ( [ Reference(ClaimResponse|Coverage) ] ... ) ; # 0..* Associated insurance coverage fhir:supportingInfo ( [ CodeableReference(Any) ] ... ) ; # 0..* Additional clinical information fhir:specimen ( [ Reference(Specimen) ] ... ) ; # 0..* Procedure Samples fhir:bodySite ( [ CodeableConcept ] ... ) ; # 0..* I Coded location on Body fhir:bodyStructure [ Reference(BodyStructure) ] ; # 0..1 I BodyStructure-based location on the body fhir:note ( [ Annotation ] ... ) ; # 0..* Comments fhir:patientInstruction ( [ # 0..* Patient or consumer-oriented instructions # instruction[x] : 0..1 Patient or consumer-oriented instructions. One of these 2 fhir:instruction [ a fhir:markdown ; markdown ] fhir:instruction [ a fhir:Reference ; Reference(DocumentReference) ] ] ... ) ; fhir:relevantHistory ( [ Reference(Provenance) ] ... ) ; # 0..* Request provenance ]
Changes from both R4 and R4B
ServiceRequest | |
ServiceRequest.basedOn |
|
ServiceRequest.code |
|
ServiceRequest.orderDetail |
|
ServiceRequest.orderDetail.parameterFocus |
|
ServiceRequest.orderDetail.parameter |
|
ServiceRequest.orderDetail.parameter.code |
|
ServiceRequest.orderDetail.parameter.value[x] |
|
ServiceRequest.focus |
|
ServiceRequest.asNeeded |
|
ServiceRequest.asNeededFor |
|
ServiceRequest.location |
|
ServiceRequest.reason |
|
ServiceRequest.supportingInfo |
|
ServiceRequest.bodyStructure |
|
ServiceRequest.patientInstruction |
|
ServiceRequest.patientInstruction.instruction[x] |
|
ServiceRequest.locationCode |
|
ServiceRequest.locationReference |
|
ServiceRequest.reasonCode |
|
ServiceRequest.reasonReference |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
ServiceRequest.status | RequestStatus | Required | Codes identifying the lifecycle stage of a request. |
ServiceRequest.intent | RequestIntent | Required | Codes indicating the degree of authority/intentionality associated with a request. |
ServiceRequest.category | ServiceRequestCategoryCodes | Example | An example value set of SNOMED CT concepts that can classify a requested service |
ServiceRequest.priority | RequestPriority | Required | Identifies the level of importance to be assigned to actioning the request. |
ServiceRequest.code | ProcedureCodesSNOMEDCT | Example | Procedure Code: All SNOMED CT procedure codes. |
ServiceRequest.orderDetail.parameter.code | ServiceRequestOrderDetailParameterCode | Example | The order detail parameter codes. |
ServiceRequest.asNeededFor | SNOMEDCTMedicationAsNeededReasonCodes | Example | This value set includes all clinical findings from SNOMED CT - provided as an exemplar value set. |
ServiceRequest.performerType | ParticipantRoles | Example | Roles of participants that may be included in a care team. Defined as: Healthcare professional (occupation) or Services (qualifier value). |
ServiceRequest.location | ServiceDeliveryLocationRoleType | Example | A role of a place that further classifies the setting (e.g., accident site, road side, work site, community location) in which services are delivered. |
ServiceRequest.reason | ProcedureReasonCodes | Example | This example value set defines the set of codes that can be used to indicate a reason for a procedure. |
ServiceRequest.bodySite | SNOMEDCTBodyStructures | Example | This value set includes all codes from SNOMED CT where concept is-a 442083009 (Anatomical or acquired body site (body structure)). |
UniqueKey | Level | Location | Description | Expression |
bdystr-1 | Rule | (base) | bodyStructure SHALL only be present if bodySite is not present | bodySite.exists() implies bodyStructure.empty() |
prr-1 | Rule | (base) | orderDetail SHALL only be present if code is present | orderDetail.empty() or code.exists() |
asn-1 | Rule | (base) | asNeededFor SHALL only be present if asNeeded is empty or true | asNeededFor.empty() or (asNeeded = true or asNeeded.empty()) |
code
will often have this information embedded in it - for example, 'serum glucose' or 'chest x-ray'. Alternatively, the specimen
or bodysite
element may be used to specify it.reasonCode
element is often for billing purposes. It may relate to the resources referred to in supportingInfo
element and may be used to decide how a procedure or diagnostic investigation will be performed, or even if it will be performed at allSearch parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
authored | date | Date request signed | ServiceRequest.authoredOn | |
based-on | reference | What request fulfills | ServiceRequest.basedOn (CarePlan, MedicationRequest, RequestOrchestration, NutritionOrder, ServiceRequest) |
|
body-site | token | Where procedure is going to be done | ServiceRequest.bodySite | |
body-structure | reference | Body structure Where procedure is going to be done | ServiceRequest.bodyStructure (BodyStructure) |
|
category | token | Classification of service | ServiceRequest.category | |
code-concept | token | What is being requested/ordered | ServiceRequest.code.concept | |
code-reference | reference | What is being requested/ordered | ServiceRequest.code.reference | |
encounter | reference | An encounter in which this request is made | ServiceRequest.encounter (Encounter) |
29 Resources |
identifier | token | Identifiers assigned to this order | ServiceRequest.identifier | 65 Resources |
instantiates-canonical | reference | Instantiates FHIR protocol or definition | ServiceRequest.instantiatesCanonical (PlanDefinition, ActivityDefinition) |
|
instantiates-uri | uri | Instantiates external protocol or definition | ServiceRequest.instantiatesUri | |
intent | token | proposal | plan | directive | order + | ServiceRequest.intent | |
location-code | token | The preferred location specified in the ServiceRequest (coded) | ServiceRequest.location.concept | |
location-reference | reference | The preferred location specified in the ServiceRequest (resource reference) | ServiceRequest.location.reference | |
occurrence | date | When service should occur | ServiceRequest.occurrence.ofType(dateTime) | ServiceRequest.occurrence.ofType(Period) | ServiceRequest.occurrence.ofType(Timing) | |
patient | reference | Search by subject - a patient | ServiceRequest.subject.where(resolve() is Patient) (Patient) |
65 Resources |
performer | reference | Requested performer | ServiceRequest.performer (Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) |
|
performer-type | token | Performer role | ServiceRequest.performerType | |
priority | token | routine | urgent | asap | stat | ServiceRequest.priority | |
replaces | reference | What request replaces | ServiceRequest.replaces (ServiceRequest) |
|
requester | reference | Who/what is requesting service | ServiceRequest.requester (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) |
|
requisition | token | Composite Request ID | ServiceRequest.requisition | |
specimen | reference | Specimen to be tested | ServiceRequest.specimen (Specimen) |
|
status | token | draft | active | on-hold | revoked | completed | entered-in-error | unknown | ServiceRequest.status | |
subject | reference | Search by subject | ServiceRequest.subject (Group, Device, Patient, Location) |