FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

12.18 Resource ServiceRequest - Content

Orders and Observations icon Work GroupMaturity Level: 4 Trial UseSecurity 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:

  • diagnostic tests/studies
  • endoscopic procedures
  • counseling
  • biopsies
  • therapies (e.g., physio-, social-, psychological-)
  • (exploratory) surgeries or procedures
  • exercises
  • specialist consultation and assessments
  • community services
  • nursing services
  • pharmacist medication review, and
  • other clinical interventions.

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 icon.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 | 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[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 icon (Example)

... reason Σ 0..* CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference | DetectedIssue | Procedure) 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


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

ServiceRequest (DomainResource)Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfilleridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequestinstantiatesCanonical : canonical [0..*] « ActivityDefinition| PlanDefinition »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequestinstantiatesUri : uri [0..*]Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « CarePlan|ServiceRequest| MedicationRequest|RequestOrchestration|NutritionOrder »The request takes the place of the referenced completed or terminated request(s)replaces : Reference [0..*] « ServiceRequest »A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifierrequisition : Identifier [0..1]The status of the order (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)RequestStatus! »Whether the request is a proposal, plan, an original order or a reflex order (this element modifies the meaning of other elements)intent : code [1..1] « null (Strength=Required)RequestIntent! »A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure")category : CodeableConcept [0..*] « null (Strength=Example)ServiceRequestCategoryCodes?? »Indicates how quickly the ServiceRequest should be addressed with respect to other requestspriority : code [0..1] « null (Strength=Required)RequestPriority! »Set this to true if the record is saying that the service/procedure should NOT be performed (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that has been requestedcode : CodeableReference [0..1] « ActivityDefinition|PlanDefinition; null (Strength=Example) ProcedureCodesSNOMEDCT?? » « This element has or is affected by some invariantsC »An amount of service being requestedquantity[x] : DataType [0..1] « Quantity|Ratio|Range »On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)subject : Reference [1..1] « Patient|Group|Location|Device »The actual focus of a service request when it is not the subject of record representing something or someone associated with the subject such as a spouse, parent, fetus, or donor. The focus of a service request could also be an existing condition, an intervention, the subject's diet, another service request on the subject, or a body structure such as tumor or implanted devicefocus : Reference [0..*] « Any »An encounter that provides additional information about the healthcare context in which this request is madeencounter : Reference [0..1] « Encounter »The date/time at which the requested service should occuroccurrence[x] : DataType [0..1] « dateTime|Period|Timing »If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etcasNeeded[x] : DataType [0..1] « boolean|CodeableConcept; null (Strength=Example) SNOMEDCTMedicationAsNeededRea...?? »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »Desired type of performer for doing the requested serviceperformerType : CodeableConcept [0..1] « null (Strength=Example)ParticipantRoles?? »The desired performer for doing the requested service. For example, the surgeon, dermatopathologist, endoscopist, etcperformer : Reference [0..*] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care centerlocation : CodeableReference [0..*] « Location; null (Strength=Example) ServiceDeliveryLocationRoleTy...?? »An explanation or justification for why this service is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in `supportingInfo`reason : CodeableReference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference|DetectedIssue|Procedure; Diagnosis or problem codes justifying the reason for requesting the service investigation. (Strength=Example) ProcedureReasonCodes?? »Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested serviceinsurance : Reference [0..*] « Coverage|ClaimResponse »Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as 'ask at order entry questions (AOEs).' This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurementssupportingInfo : CodeableReference [0..*] « Any »One or more specimens that the laboratory procedure will usespecimen : Reference [0..*] « Specimen »Anatomic location where the procedure should be performed. This is the target sitebodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example)SNOMEDCTBodyStructures?? » « This element has or is affected by some invariantsC »Anatomic location where the procedure should be performed. This is the target sitebodyStructure : Reference [0..1] « BodyStructure » « This element has or is affected by some invariantsC »Any other notes and comments made about the service request. For example, internal billing notesnote : Annotation [0..*]Key events in the history of the requestrelevantHistory : Reference [0..*] « Provenance »OrderDetailIndicates the context of the order details by referenceparameterFocus : CodeableReference [0..1] « Device|DeviceDefinition| DeviceRequest|SupplyRequest|Medication|MedicationRequest| BiologicallyDerivedProduct|Substance »ParameterA value representing the additional detail or instructions for the order (e.g., catheter insertion, body elevation, descriptive device configuration and/or setting instructions)code : CodeableConcept [1..1] « null (Strength=Example)ServiceRequestOrderDetailPara...?? »Indicates a value for the order detailvalue[x] : DataType [1..1] « Quantity|Ratio|Range|boolean| CodeableConcept|string|Period »PatientInstructionInstructions in terms that are understood by the patient or consumerinstruction[x] : DataType [0..1] « markdown|Reference( DocumentReference) »The parameter details for the service being requestedparameter[1..*]Additional details and instructions about how the services are to be delivered. For example, an order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied. Questions or additional information to be gathered from a patient may be included hereorderDetail[0..*]Instructions in terms that are understood by the patient or consumerpatientInstruction[0..*]

XML Template

<ServiceRequest xmlns="http://hl7.org/fhir"> doco
 <!-- 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[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 icon --></location>
 <reason><!-- 0..* CodeableReference(Condition|DetectedIssue|DiagnosticReport|
   DocumentReference|Observation|Procedure) 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

{doco
  "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[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 icon
  "reason" : [{ CodeableReference(Condition|DetectedIssue|DiagnosticReport|
   DocumentReference|Observation|Procedure) }], // 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/> .doco


[ 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 ]
  # 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|Procedure) ] ... ) ; # 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
  • Type Reference: Added Target Types RequestOrchestration, NutritionOrder
ServiceRequest.code
  • Type changed from CodeableConcept to CodeableReference
ServiceRequest.orderDetail
  • Type changed from CodeableConcept to BackboneElement
ServiceRequest.orderDetail.parameterFocus
  • Added Element
ServiceRequest.orderDetail.parameter
  • Added Mandatory Element
ServiceRequest.orderDetail.parameter.code
  • Added Mandatory Element
ServiceRequest.orderDetail.parameter.value[x]
  • Added Mandatory Element
ServiceRequest.focus
  • Added Element
ServiceRequest.location
  • Added Element
ServiceRequest.reason
  • Added Element
ServiceRequest.supportingInfo
  • Type changed from Reference(Resource) to CodeableReference
ServiceRequest.bodyStructure
  • Added Element
ServiceRequest.patientInstruction
  • Max Cardinality changed from 1 to *
  • Type changed from string to BackboneElement
ServiceRequest.patientInstruction.instruction[x]
  • Added Element
ServiceRequest.locationCode
  • Deleted
ServiceRequest.locationReference
  • Deleted
ServiceRequest.reasonCode
  • Deleted (-> reason)
ServiceRequest.reasonReference
  • Deleted (-> reason)

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 | 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[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 icon (Example)

... reason Σ 0..* CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference | DetectedIssue | Procedure) 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


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

ServiceRequest (DomainResource)Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfilleridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequestinstantiatesCanonical : canonical [0..*] « ActivityDefinition| PlanDefinition »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequestinstantiatesUri : uri [0..*]Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « CarePlan|ServiceRequest| MedicationRequest|RequestOrchestration|NutritionOrder »The request takes the place of the referenced completed or terminated request(s)replaces : Reference [0..*] « ServiceRequest »A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifierrequisition : Identifier [0..1]The status of the order (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)RequestStatus! »Whether the request is a proposal, plan, an original order or a reflex order (this element modifies the meaning of other elements)intent : code [1..1] « null (Strength=Required)RequestIntent! »A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure")category : CodeableConcept [0..*] « null (Strength=Example)ServiceRequestCategoryCodes?? »Indicates how quickly the ServiceRequest should be addressed with respect to other requestspriority : code [0..1] « null (Strength=Required)RequestPriority! »Set this to true if the record is saying that the service/procedure should NOT be performed (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that has been requestedcode : CodeableReference [0..1] « ActivityDefinition|PlanDefinition; null (Strength=Example) ProcedureCodesSNOMEDCT?? » « This element has or is affected by some invariantsC »An amount of service being requestedquantity[x] : DataType [0..1] « Quantity|Ratio|Range »On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)subject : Reference [1..1] « Patient|Group|Location|Device »The actual focus of a service request when it is not the subject of record representing something or someone associated with the subject such as a spouse, parent, fetus, or donor. The focus of a service request could also be an existing condition, an intervention, the subject's diet, another service request on the subject, or a body structure such as tumor or implanted devicefocus : Reference [0..*] « Any »An encounter that provides additional information about the healthcare context in which this request is madeencounter : Reference [0..1] « Encounter »The date/time at which the requested service should occuroccurrence[x] : DataType [0..1] « dateTime|Period|Timing »If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etcasNeeded[x] : DataType [0..1] « boolean|CodeableConcept; null (Strength=Example) SNOMEDCTMedicationAsNeededRea...?? »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »Desired type of performer for doing the requested serviceperformerType : CodeableConcept [0..1] « null (Strength=Example)ParticipantRoles?? »The desired performer for doing the requested service. For example, the surgeon, dermatopathologist, endoscopist, etcperformer : Reference [0..*] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care centerlocation : CodeableReference [0..*] « Location; null (Strength=Example) ServiceDeliveryLocationRoleTy...?? »An explanation or justification for why this service is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in `supportingInfo`reason : CodeableReference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference|DetectedIssue|Procedure; Diagnosis or problem codes justifying the reason for requesting the service investigation. (Strength=Example) ProcedureReasonCodes?? »Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested serviceinsurance : Reference [0..*] « Coverage|ClaimResponse »Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as 'ask at order entry questions (AOEs).' This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurementssupportingInfo : CodeableReference [0..*] « Any »One or more specimens that the laboratory procedure will usespecimen : Reference [0..*] « Specimen »Anatomic location where the procedure should be performed. This is the target sitebodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example)SNOMEDCTBodyStructures?? » « This element has or is affected by some invariantsC »Anatomic location where the procedure should be performed. This is the target sitebodyStructure : Reference [0..1] « BodyStructure » « This element has or is affected by some invariantsC »Any other notes and comments made about the service request. For example, internal billing notesnote : Annotation [0..*]Key events in the history of the requestrelevantHistory : Reference [0..*] « Provenance »OrderDetailIndicates the context of the order details by referenceparameterFocus : CodeableReference [0..1] « Device|DeviceDefinition| DeviceRequest|SupplyRequest|Medication|MedicationRequest| BiologicallyDerivedProduct|Substance »ParameterA value representing the additional detail or instructions for the order (e.g., catheter insertion, body elevation, descriptive device configuration and/or setting instructions)code : CodeableConcept [1..1] « null (Strength=Example)ServiceRequestOrderDetailPara...?? »Indicates a value for the order detailvalue[x] : DataType [1..1] « Quantity|Ratio|Range|boolean| CodeableConcept|string|Period »PatientInstructionInstructions in terms that are understood by the patient or consumerinstruction[x] : DataType [0..1] « markdown|Reference( DocumentReference) »The parameter details for the service being requestedparameter[1..*]Additional details and instructions about how the services are to be delivered. For example, an order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied. Questions or additional information to be gathered from a patient may be included hereorderDetail[0..*]Instructions in terms that are understood by the patient or consumerpatientInstruction[0..*]

XML Template

<ServiceRequest xmlns="http://hl7.org/fhir"> doco
 <!-- 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[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 icon --></location>
 <reason><!-- 0..* CodeableReference(Condition|DetectedIssue|DiagnosticReport|
   DocumentReference|Observation|Procedure) 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

{doco
  "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[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 icon
  "reason" : [{ CodeableReference(Condition|DetectedIssue|DiagnosticReport|
   DocumentReference|Observation|Procedure) }], // 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/> .doco


[ 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 ]
  # 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|Procedure) ] ... ) ; # 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
  • Type Reference: Added Target Types RequestOrchestration, NutritionOrder
ServiceRequest.code
  • Type changed from CodeableConcept to CodeableReference
ServiceRequest.orderDetail
  • Type changed from CodeableConcept to BackboneElement
ServiceRequest.orderDetail.parameterFocus
  • Added Element
ServiceRequest.orderDetail.parameter
  • Added Mandatory Element
ServiceRequest.orderDetail.parameter.code
  • Added Mandatory Element
ServiceRequest.orderDetail.parameter.value[x]
  • Added Mandatory Element
ServiceRequest.focus
  • Added Element
ServiceRequest.location
  • Added Element
ServiceRequest.reason
  • Added Element
ServiceRequest.supportingInfo
  • Type changed from Reference(Resource) to CodeableReference
ServiceRequest.bodyStructure
  • Added Element
ServiceRequest.patientInstruction
  • Max Cardinality changed from 1 to *
  • Type changed from string to BackboneElement
ServiceRequest.patientInstruction.instruction[x]
  • Added Element
ServiceRequest.locationCode
  • Deleted
ServiceRequest.locationReference
  • Deleted
ServiceRequest.reasonCode
  • Deleted (-> reason)
ServiceRequest.reasonReference
  • Deleted (-> reason)

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 icon 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 icon where concept is-a 442083009 (Anatomical or acquired body site (body structure)).

UniqueKeyLevelLocationDescriptionExpression
img bdystr-1Rule (base)bodyStructure SHALL only be present if bodySite is not presentbodySite.exists() implies bodyStructure.empty()
img prr-1Rule (base)orderDetail SHALL only be present if code is presentorderDetail.empty() or code.exists()

  • Many service requests will create a need to specify a specimen, body site, or body system. The request 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.
  • The ServiceRequest should only reference the Specimen resource directly when the diagnostic investigation is requested on already existing specimens. Conversely, if the request is entered first with an uncollected specimen, the Specimen resource will reference the ServiceRequest resource when it is created.
  • The 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 all

Search 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)