R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

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.

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:

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

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 which spans both intent and event and 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.

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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest TUDomainResourceA 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..*IdentifierIdentifiers assigned to this order

... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

... basedOn Σ0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills

... replaces Σ0..*Reference(ServiceRequest)What request replaces

... requisition Σ0..1IdentifierComposite Request ID
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | directive | order +
Binding: RequestIntent (Required)
... category Σ0..*CodeableConceptClassification of service
Binding: Service Request Category Codes (Example)

... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (Required)
... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
... code ΣC0..1CodeableReference(ActivityDefinition | PlanDefinition)What is being requested/ordered
Binding: Procedure Codes (SNOMED CT) (Example)
... orderDetail ΣC0..*BackboneElementAdditional order information

.... parameterFocus 0..1CodeableReference(Device | DeviceDefinition | DeviceRequest | SupplyRequest | Medication | MedicationRequest | BiologicallyDerivedProduct | Substance)The context of the order details by reference
.... parameter Σ1..*BackboneElementThe parameter details for the service being requested

..... code Σ1..1CodeableConceptThe detail of the order being requested
Binding: Servicerequest OrderDetail Parameter Code (Example)
..... value[x] Σ1..1The value for the order detail
...... valueQuantityQuantity
...... valueRatioRatio
...... valueRangeRange
...... valueBooleanboolean
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valuePeriodPeriod
... quantity[x] Σ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject Σ1..1Reference(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..1Reference(Encounter)Encounter in which the request was created
... occurrence[x] Σ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] Σ0..1Preconditions for service
Binding: SNOMED CT Medication As Needed Reason Codes (Example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn Σ0..1dateTimeDate request signed
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer 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)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 ΣC0..*CodeableConceptCoded location on Body
Binding: SNOMED CT Body Structures (Example)

... bodyStructure ΣC0..1Reference(BodyStructure)BodyStructure-based location on the body
... note 0..*AnnotationComments

... patientInstruction 0..*BackboneElementPatient or consumer-oriented instructions

.... instruction[x] Σ0..1Patient or consumer-oriented instructions
..... instructionMarkdownmarkdown
..... instructionReferenceReference(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 »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 have 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 requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction)quantity[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; 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 the how the services are to be delivered. For example, and 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 appliedorderDetail[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|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 order information -->
  <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) 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|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 order information
    "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) }], // 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|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 order information
    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.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 TUDomainResourceA 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..*IdentifierIdentifiers assigned to this order

... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

... basedOn Σ0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills

... replaces Σ0..*Reference(ServiceRequest)What request replaces

... requisition Σ0..1IdentifierComposite Request ID
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | directive | order +
Binding: RequestIntent (Required)
... category Σ0..*CodeableConceptClassification of service
Binding: Service Request Category Codes (Example)

... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (Required)
... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
... code ΣC0..1CodeableReference(ActivityDefinition | PlanDefinition)What is being requested/ordered
Binding: Procedure Codes (SNOMED CT) (Example)
... orderDetail ΣC0..*BackboneElementAdditional order information

.... parameterFocus 0..1CodeableReference(Device | DeviceDefinition | DeviceRequest | SupplyRequest | Medication | MedicationRequest | BiologicallyDerivedProduct | Substance)The context of the order details by reference
.... parameter Σ1..*BackboneElementThe parameter details for the service being requested

..... code Σ1..1CodeableConceptThe detail of the order being requested
Binding: Servicerequest OrderDetail Parameter Code (Example)
..... value[x] Σ1..1The value for the order detail
...... valueQuantityQuantity
...... valueRatioRatio
...... valueRangeRange
...... valueBooleanboolean
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valuePeriodPeriod
... quantity[x] Σ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject Σ1..1Reference(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..1Reference(Encounter)Encounter in which the request was created
... occurrence[x] Σ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] Σ0..1Preconditions for service
Binding: SNOMED CT Medication As Needed Reason Codes (Example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn Σ0..1dateTimeDate request signed
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer 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)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 ΣC0..*CodeableConceptCoded location on Body
Binding: SNOMED CT Body Structures (Example)

... bodyStructure ΣC0..1Reference(BodyStructure)BodyStructure-based location on the body
... note 0..*AnnotationComments

... patientInstruction 0..*BackboneElementPatient or consumer-oriented instructions

.... instruction[x] Σ0..1Patient or consumer-oriented instructions
..... instructionMarkdownmarkdown
..... instructionReferenceReference(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 »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 have 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 requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction)quantity[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; 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 the how the services are to be delivered. For example, and 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 appliedorderDetail[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|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 order information -->
  <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) 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|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 order information
    "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) }], // 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|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 order information
    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.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

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

NameTypeDescriptionExpressionIn Common
authoreddateDate request signedServiceRequest.authoredOn
based-onreferenceWhat request fulfillsServiceRequest.basedOn
(CarePlan, MedicationRequest, ServiceRequest)
body-sitetokenWhere procedure is going to be doneServiceRequest.bodySite
body-structurereferenceBody structure Where procedure is going to be doneServiceRequest.bodyStructure
(BodyStructure)
categorytokenClassification of serviceServiceRequest.category
code-concepttokenWhat is being requested/orderedServiceRequest.code.concept
code-referencereferenceWhat is being requested/orderedServiceRequest.code.reference
encounterreferenceAn encounter in which this request is madeServiceRequest.encounter
(Encounter)
29 Resources
identifiertokenIdentifiers assigned to this orderServiceRequest.identifier65 Resources
instantiates-canonicalreferenceInstantiates FHIR protocol or definitionServiceRequest.instantiatesCanonical
(PlanDefinition, ActivityDefinition)
instantiates-uriuriInstantiates external protocol or definitionServiceRequest.instantiatesUri
intenttokenproposal | plan | directive | order +ServiceRequest.intent
location-codetokenThe preferred location specified in the ServiceRequest (coded)ServiceRequest.location.concept
location-referencereferenceThe preferred location specified in the ServiceRequest (resource reference)ServiceRequest.location.reference
occurrencedateWhen service should occurServiceRequest.occurrence.ofType(dateTime) | ServiceRequest.occurrence.ofType(Period) | ServiceRequest.occurrence.ofType(Timing)
patientreferenceSearch by subject - a patientServiceRequest.subject.where(resolve() is Patient)
(Patient)
66 Resources
performerreferenceRequested performerServiceRequest.performer
(Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
performer-typetokenPerformer roleServiceRequest.performerType
prioritytokenroutine | urgent | asap | statServiceRequest.priority
replacesreferenceWhat request replacesServiceRequest.replaces
(ServiceRequest)
requesterreferenceWho/what is requesting serviceServiceRequest.requester
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
requisitiontokenComposite Request IDServiceRequest.requisition
specimenreferenceSpecimen to be testedServiceRequest.specimen
(Specimen)
statustokendraft | active | on-hold | revoked | completed | entered-in-error | unknownServiceRequest.status
subjectreferenceSearch by subjectServiceRequest.subject
(Group, Device, Patient, Location)