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.
This resource is a request resource from a FHIR workflow perspective - see Workflow.
ServiceRequest represents an order or proposal or plan, as distinguished by ServiceRequest.intent
to perform a diagnostic or other service on or for a patient. ServiceRequest represents a proposal or plan or order for a service to be performed that would result in a Procedure or DiagnosticReport, which in turn may reference one or more Observations, which summarize the performance of the procedures and associated documentation such as observations, images, findings that are relevant to the treatment/management of the subject. This resource may be used to share relevant information required to support a referral or a transfer of care request from one
practitioner or organization to another when a patient is required to be referred to another provider for a
consultation
/second opinion and/or for short term or longer term management of one or more health issues or problems.
Examples include:
Procedures may be performed by a healthcare professional, a friend or relative or in some cases by the patient themselves.
The principal intention of ServiceRequest is to support ordering procedures for one patient (which includes non-human patients in veterinary medicine). However, in many contexts, healthcare related processes include performing diagnostic investigations on groups of subjects, devices involved in the provision of healthcare, and even environmental locations such as ducts, bodies of water, etc. ServiceRequest supports all these usages. The service request may represent an order that is entered by a practitioner in a CPOE system as well as a proposal made by a clinical decision support (CDS) system based on a patient's clinical record and context of care. Planned procedures referenced by a CarePlan may also be represented by this resource.
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 with a system, perhaps via intermediaries, 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.
The ServiceRequest resource allows requesting only a single procedure. If a workflow requires requesting multiple procedures simultaneously, this is done using multiple instances of this resource. These instances can be linked in different ways, depending on the needs of the workflow. For guidance, refer to the Request pattern
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 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) | 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[x] | Σ | 0..1 | Preconditions for service Binding: SNOMED CT Medication As Needed Reason Codes (Example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
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) | Explanation/Justification for procedure or 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|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[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> <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) Explanation/Justification for procedure or 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|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[x]: Preconditions for service. One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "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) }], // Explanation/Justification for procedure or 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|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 ] # asNeeded[x] : 0..1 Preconditions for service. One of these 2 fhir:asNeeded [ a fhir:boolean ; boolean ] fhir:asNeeded [ a fhir:CodeableConcept ; CodeableConcept ] 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) ] ... ) ; # 0..* Explanation/Justification for procedure or 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.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 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) | 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[x] | Σ | 0..1 | Preconditions for service Binding: SNOMED CT Medication As Needed Reason Codes (Example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
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) | Explanation/Justification for procedure or 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|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[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> <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) Explanation/Justification for procedure or 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|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[x]: Preconditions for service. One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "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) }], // Explanation/Justification for procedure or 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|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 ] # asNeeded[x] : 0..1 Preconditions for service. One of these 2 fhir:asNeeded [ a fhir:boolean ; boolean ] fhir:asNeeded [ a fhir:CodeableConcept ; CodeableConcept ] 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) ] ... ) ; # 0..* Explanation/Justification for procedure or 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.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.asNeeded[x] | 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() |
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, 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) |