Electronic Long-Term Services and Supports (eLTSS) Release 1 - US Realm
2.0.0 - STU2 United States of America flag

Electronic Long-Term Services and Supports (eLTSS) Release 1 - US Realm, published by HL7 International / Human and Social Services. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/eLTSS/ and changes regularly. See the Directory of published versions

Resource Profile: eLTSS ServiceRequest Profile

Official URL: http://hl7.org/fhir/us/eltss/StructureDefinition/ServiceRequest-eltss Version: 2.0.0
Standards status: Trial-use Maturity Level: 2 Computable Name: ServiceRequest_eltss

ServiceRequest resource mapping for eLTSS

Implementer mapping guidance

The following aids in finding the location of eLTSS data elements. See R4 FHIR Mapping page for complete guidance, here we are providing a subset of fields for convenience.

eLTSS Grouping eLTSS Data Element Name Data Element Definition (includes examples, expected list of values and usage note where applicable) FHIR R4 Resource Element(s) FHIR R4 Resource Element Cardinality (with US Core Constraints) Additional Mapping Details Important change
Service Information Service Name Identifies the paid and/or non-paid service provided to a person.
Include the code and display name plus any modifiers when a coding system (e.g., Healthcare Common Procedure Coding System (HCPCS), Home Health Revenue Codes) is used.
CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → code → text
ServiceRequest → code → coding → code
ServiceRequest → code → coding → system
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........code 0..1
............text 0..1
............coding 0..1
...............code 0..1
...............system 0..1
1) activity is part of CarePlan, so no references are required to link the two.
2) coding → code is the "code plus any modifiers" described in the eLTSS Dataset data element definition. system identifies the code system from which the code is from. For HCPCS, the system value can be set to "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/".
3) text is the "display name" described in the eLTSS Dataset data element definition.
4) Note that modifiers for CPT & HCPCS are appended to the code using a dash. So the entire code plus the modifier is a single string.
Service Information Self-Directed Service Indicator Indicates whether the individual chose to self-direct the service. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → extension → url
ServiceRequest → extension
→ valueCodeableConcept → text
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........extension 0..*
............url 0..1
............valueCodeableConcept 0..1
...............text 0..1
1) activity is part of CarePlan, so no references are required to link the two.
2) The procedure-directedBy extension is indicated by populating the url data attribute with the value "http://hl7.org/fhir/StructureDefinition/procedure-directedBy".
3) The text data element can be populated with the value "self" to indicate that this service is self-directed. Other values could be provided to indicate that someone else is directing the service. This is in addition to populating the proper element in the Resource indicated in CarePlan.activity.reference such as Task, Observation etc to indicate who is responsible or carried out the task.
Service Information Service Start Date The start date of the service being provided. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → occurrenceTiming
→ boundsPeriod → start
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........occurrenceTiming 0..1
............boundsPeriod 0..1
...............start 0..1
1) activity is part of CarePlan, so no references are required to link the two.
2) start is in dateTime format which can be date, date-time or partial date (e.g. just year or year + month).
Service Information Service End Date The end date of the service being provided. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → occurrenceTiming
→ boundsPeriod → end
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........occurrenceTiming 0..1
............boundsPeriod 0..1
...............end 0..1
1) activity is part of CarePlan, so no references are required to link the two.
2) end is in dateTime format which can be date, date-time or partial date (e.g. just year or year + month).
Service Information Service Delivery Address The address where service delivery will take place if service will not be provided at the person's address. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → locationReference(Location)

Location → address → line
Location → address → city
Location → address → district
Location → address → state
Location → address → postalCode
Location → address → text
Location → description
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........locationReference(Location) 0..*
............address 0..*
...............line 0..*
...............city 0..1
...............district 0..1
...............state 0..1
...............postalCode 0..1
...............text 0..1
............description 0..1
1) activity is part of CarePlan, so no references are required to link the two.
2) text is the full (not broken out) address.
3 line includes street name, number and suffix (e.g. 123 Main St.).
4) Information such as apt #, floor & room #, etc. also go into line, generally as a separate data element.
5) district covers county.
6) description can be used when the location is not a specific address, such as when support is being provided at a general location, such as someone providing assistance wherever the recipient grocery shops.
Service Information Service Comment Additional information related to the service being provided. This field could capture additional information of the frequency of the service, how the person wants the service delivered and only used when the comment provides additional detail of the service not already handled by another element.
CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → note → text
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........note 0..*
............text 1
1) activity is part of CarePlan, so no references are required to link the two.
2) text is required by FHIR if note is provided, and is a string.
Service Information Service Funding Source The source of payment for the service. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → insurance(Coverage)

Coverage → payor(Organization | Patient
| RelatedPerson)

Organization | Patient | RelatedPerson
→ name
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........insurance(Coverage) 0..*
............payor(Organization | Patient |
RelatedPerson) 1..*
...............name 0..1
1) Will use CarePlan → activity → reference to reference a ServiceRequest, and insurance to reference a Coverage resource, which must include a payor that is a person or an organization.
2) Coverage resource may be used to register "SelfPay" where an individual or organization other than an insurer is taking responsibility for payment for a portion of the health care cost.
Service Information Service Unit Quantity The numerical amount of the service unit being provided for a frequency.

This element is slated to be used in conjunction with Service Quantity Interval and Unit of Service Type elements to form a full description of how often a service is provided. For example, a service being provided 7 units per week, the Service Unit Quantity = "7". For a service being provided 8 hours a day, the Service Unit Value = "8".
CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → quantityQuantity → value
ServiceRequest → quantityQuantity → unit
or
ServiceRequest → quantityRatio → numerator
→ value
ServiceRequest → quantityRatio → numerator
→ unit
ServiceRequest → quantityRatio → denominator
→ value
ServiceRequest → quantityRatio → denominator
→ unit
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........quantityQuantity 0..1
............value 0..1
............unit 0..1
.........quantityRatio 0..1
............numerator 0..1
...............value 0..1
...............unit 0..1
............denominator 0..1
...............value 0..1
...............unit 0..1
1) Will use CarePlan → activity → reference to reference a ServiceRequest.
2) quantityQuantity can be used to represent simple quantities such as "1 installation" or "5 trips". quantityRatio can be used to represent quantities with intervals such as "8 hours a day" or "7 units per week". Either quantityQuantity or quantityRatio can be used, but not both for the same ServiceRequest.
3) value is a decimal, and unit is a string.
4) numerator and denominator are used to represent a quantity with an interval. For example, to represent 8 hours a day, numerator → value would be "8" and numerator → unit would be "hour", while denominator → value would be "1" and denominator → unit would be "day".
5) See the "qty-unit-interval examples" worksheet in this spreadsheet for additional details.
6) Please also consider occurrencePeriod for use when the quantity is meant to be performed within a defined, simple start and end date. E.g. For May 31,2023 to June 10, 2023 give ServiceRequest.quantityRatio of 5 USD per day. AND, use occurrenceTiming for timing information that fluctuates or is sufficiently complex. The recipient may need to calculate end-date, or one can use occurrenceTiming.boundsPeriod to ascribe a start and end date. E.g. Give ServiceRequest.quantityRatio of 5 USD per day. with the occurrenceTiming.boundsPeriod of May 31, 2023 to June 23, 2023 on occurrenceTiming.dayOfWeek = Mon and Wed at occurrenceTiming.timeOfDay = 3 pm.
Added guidance on ServiceRequest.occurrenceTiming and ServiceRequest.occurrencePeriod
Service Information Unit of Service Type A named quantity in terms of which services are measured or specified, used as a standard measurement of like services. Values include: minute(s), 8 hour(s), quarter hour(s), hour(s), half day(s), full day(s), day(s), week(s), month(s), dollar(s), meal(s), mile(s), visit(s)/session(s), installation(s), none, other (free text).

This element is slated to be used in conjunction with Service Unit Quantity interval and Service Unit Quantity elements to form a full description of how often a service is provided. For example, a service being provided 7 units per week, the Unit of Service Type = "units". For a service being provided 8 hours a day, the Unit of Service Type = "hours".
see above see above see above
Service Information Service Unit Quantity Interval A period of time corresponding to the quantity of service(s) indicated. Values include: per day, per week, per month, per year, one time only, other (free text).

This element is slated to be used in conjunction with Unit of Service Type and Service Unit Quantity elements to form a full description of how often a service is provided. For example, a service being provided 7 units per week, the Service Unit Quantity Interval = "per week". For a service being provided 8 hours a day, the Service Unit Quantity Interval = "per day".
see above see above see above
Service Information Service Rate per Unit The rate of one unit for a service. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → supportingInfo(Claim)

Claim → item → unitPrice
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........supportingInfo(Claim) 0..*
............item 0..*
...............unitPrice 0..1
1) Will use CarePlan → activity → reference to reference a ServiceRequest, and supportingInfo to reference a Claim.
2) item maps to a service.
3) unitPrice contains the charge or cost per point, which maps to the cost per one unit of the service.
4) unitPrice is of type Money, which is a descendant of the Quantity complex type and inherits value, unit, system, code, and comparator.
5) Workgroup in charge of ServiceRequest wants to work with the Claim workgroup to determine best approach. One potential approach is to update the scope of ClaimResponse since that reflects what has been approved rather than what is being asked for.
Service Information Total Cost of Service The total cost of a service for the plan. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → supportingInfo(Claim)

Claim → item → net
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........supportingInfo(Claim) 0..*
............item 0..*
...............net 0..1
1) Will use CarePlan → activity → reference to reference a ServiceRequest, and supportingInfo to reference a Claim.
2) item maps to a service.
3) net is the total cost of an item, which in this case is the total cost for the service.
4) net is of type Money, which is a descendant of the Quantity complex type and inherits value, unit, system, code, and comparator.
5) See above.
Service Provider Information Support Planner Name The name of the person (e.g., Case Manager, Care Coordinator, Plan Coordinator) who helped develop the plan. CarePlan → author(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization | CareTeam)

Practitioner | Patient | RelatedPerson
→ name → family
Practitioner | Patient | RelatedPerson
→ name → given
Practitioner | Patient | RelatedPerson
→ name → text
Organization | CareTeam → name
CarePlan
...author(Patient | Practitioner | RelatedPerson ) 0..1
......name 0..*
.........family 0..1
.........given 0..*
.........text 0..1
CarePlan
…author(Organization | CareTeam ) 0..1
......name 0..1
1) Will use CarePlan → author to reference a Practitioner, PractitionerRole, RelatedPerson, Organization, CareTeam or Patient (in self-directed plans) who is the primary author of the care plan being developed.
2) Practitioner, Organization, CareTeam, RelatedPerson and Patient all include name.
3) PractitionerRole should be used when the Organization for whom the Practitioner works for is also needed.
4) given is used for both first name & MI, so need more than one.
5) family is a string with the person's surname.
6) text is a string that contains the full name of the person.
7) The values for Support Planner Name and Support Planner Printed Name would include the same information.
Service Provider Information Support Planner Phone Number The primary phone number (and extension when applicable) of the support planner. CarePlan → author(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization | CareTeam )

Patient | Practitioner | PractitionerRole | RelatedPerson | Organization | CareTeam
→ telecom → system
Patient | Practitioner | PractitionerRole | RelatedPerson | Organization | CareTeam
→ telecom → value
CarePlan
...author(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization | CareTeam ) 0..1
......telecom 0..*
.........system 0..1
.........value 0..1
1) Will use CarePlan → author to reference a Practitioner, PractitionerRole, RelatedPerson, Organization, CareTeam or Patient (in self-directed plan) who is the primary author of the care plan being developed.
2) Practitioner, PractitionerRole, RelatedPerson, Organization, CareTeam and Patient all include telecom.
3) PractitionerRole should be used when the Organization for whom the Practitioner works for is also needed.
4) telecom is of type ContactPoint which contains elements to populate for the phone number.
5) system is required if value is provided, and can be: phone, fax, email, pager, url, sms, other.
6) Per FHIR, phone # should be formatted according to ITU-T E.123, so "(555) 675 5745" or "+22 555 675 5745".
Service Provider Information Service Provider Name The name of the entity or individual providing the service.

For paid services use the organization/agency name, for non-paid services use the first and last name of the individual providing the service.
CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → performer(Practitioner
| PractitionerRole | Organization
| Patient | Device | RelatedPerson
| HealthcareService | CareTeam)

Practitioner | PractitionerRole | CareTeam
| Organization | Patient | Device
| RelatedPerson | HealthcareService
→ name
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........performer(Practitioner |
PractitionerRole | Patient |
Device | RelatedPerson |
HealthcareService | CareTeam) 0..*
............name 0..1
----------------------------------
.........performer(Organization) 0..*
............name 1
1) Will use CarePlan → activity → reference to reference a ServiceRequest, and performer to reference a RelatedPerson, Organization or HealthcareService. Other options listed are available in FHIR, but may not be appropriate here.
2) Per eLTSS Dataset element definition, performer would reference an Organization or HealthcareService for paid services, and RelatedPerson for a non-paid service.
3) Organization → name and HealthcareService → name are strings with the organization's name.
4) RelatedPerson → name is a complex data element that includes strings for the person's surname and first name.
6) name is required by US Core for Organization.
7) The values for Service Provider Name and Service Provider Printed Name would include the same information.
Service Provider Information Service Provider Phone Number The primary phone number (and extension when applicable) of the service provider.
CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → performer(Practitioner
| PractitionerRole | Organization
| Patient | Device | RelatedPerson
| HealthcareService | CareTeam)

Practitioner | PractitionerRole | CareTeam
| Organization | Patient | Device
| RelatedPerson | HealthcareService
→ telecom → system
Practitioner | PractitionerRole | CareTeam
| Organization | Patient | Device
| RelatedPerson | HealthcareService
→ telecom → value
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........performer(Practitioner |
PractitionerRole | Patient |
Device | RelatedPerson |
HealthcareService | CareTeam) 0..*
............telecom 0..*
.............system 0..1
.............value 0..1
----------------------------------
.........performer(Organization) 0..*
............telecom 1..*
.............system 0..1
.............value 1
1) Will use CarePlan → activity → reference to reference a ServiceRequest, and performer to reference a RelatedPerson, Organization or HealthcareService. Other options listed are available in FHIR, but may not be appropriate here.
2) Per eLTSS Dataset element definition, performer would reference an Organization or HealthcareService for paid services, and RelatedPerson for a non-paid service.
3) telecom is of type ContactPoint (https://www.hl7.org/fhir/datatypes.html#contactpoint) which contains elements to populate for the phone number.
4) system is required if value is provided, and can be: phone, fax, email, pager, url, sms, other.
5) Per FHIR, phone # should be formatted according to ITU-T E.123, so "(555) 675 5745" or "+22 555 675 5745".
6) US Core requires at least one contact be provided in telecom for an Organization.
Service Provider Information Non-Paid Service Provider Relationship The relationship (e.g., spouse, neighbor, guardian, daughter) of the individual providing a non-paid service or support to the person. CarePlan → activity
→ reference(ServiceRequest)

ServiceRequest → performer(RelatedPerson)

RelatedPerson → relationship
CarePlan
...activity 0..*
......reference(ServiceRequest) 0..1
.........performer(RelatedPerson) 0..*
...........relationship 0.*
1) Will use CarePlan → activity → reference to reference a ServiceRequest, and performer to reference a RelatedPerson.
2) Per eLTSS Dataset element definition, performer would reference a RelatedPerson for a non-paid service.
3) relationship is a CodeableConcept, and FHIR provides a preferred value set whose values can be found in the PatientRelationshipType here: https://www.hl7.org/fhir/relatedperson.html. The list is very long and detailed, for example including not only sister, but stepsister, half-sister, twin sister, natural sister, and identical twin sister.
Data Requirements Not Specific to eLTSS Dataset Data Elements
This section documents data elements that are mandatory per FHIR XML schemas or US Core requirements, but that do not align with individual eLTSS Dataset data elements.
FHIR Data Element Name
Requirement Source
Data Element Definition FHIR R4 Resource Element(s) FHIR R4 Resource Element Cardinality (with US Core Constraints) Additional Mapping Details
ServiceRequest Intent
FHIR
Whether the request is a proposal, plan, an original order or a reflex order. ServiceRequest → intent ServiceRequest
...intent 1
1) intent is required by FHIR, and must use the RequestIntent value set. Possible values are: proposal, plan, order, original-order, reflex-order, filler-order, instance-order and option.
ServiceRequest Status
FHIR
The status of the request. ServiceRequest → status ServiceRequest
...status 0..1
1) status is required by FHIR, and must use the RequestStatus value set which has values: draft, active, suspended, completed, entered-in-error, and cancelled.
ServiceRequest Subject
FHIR
On whom or what the service is to be performed. ServiceRequest → subject(Patient) ServiceRequest
...subject 0..1
1) subject is required by FHIR, and is a reference to a Patient.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from USCoreServiceRequestProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest USCoreServiceRequestProfile
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... directedBy 0..* CodeableConcept Self-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S 0..* Reference(Goal) The resource-pertainsToGoal relates the resource to the goal(s) that pertain to it. Whenever there is a goal associated with a health concern or problem, this extension should be present and populated in activity (event or intent) resources.
URL: http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal
... replaces 0..* Reference(ServiceRequest_eltss) What request replaces
... code 1..1 CodeableConcept Service Name
Binding: HealthCareCommonProcedureCodingSystem (required): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... coding S 0..* Coding Code defined by a terminology system
..... system S 0..1 uri Identity of the terminology system
..... code S 0..1 code Symbol in syntax defined by the system
.... text S 0..1 string Plain text representation of the concept
... Slices for quantity[x] S 0..1 Quantity, Ratio, Range Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantity[x]:quantityQuantity S 0..1 Quantity Service amount
..... value S 0..1 decimal Numerical value (with implicit precision)
..... unit S 0..1 string UCUM codes are very useful here. But, if the concept maps to the unity unit in UCUM, then it is likely appropriate to choose a specific concept from another system. Use quanitityRatio when appropriate (such as in sessions per week) instead of quantityQuantity.
..... system S 0..1 uri System that defines coded unit form
..... code S 0..1 code Coded form of the unit
.... quantity[x]:quantityRatio S 0..1 Ratio Service amount
..... numerator S 0..1 Quantity Numerator value
...... value S 0..1 decimal Numerical value (with implicit precision)
...... unit S 0..1 string UCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system S 0..1 uri System that defines coded unit form
...... code S 0..1 code Coded form of the unit
..... denominator S 0..1 Quantity Denominator value
...... value S 0..1 decimal Numerical value (with implicit precision)
...... unit S 0..1 string UCUM codes are very useful here
...... system S 0..1 uri System that defines coded unit form
...... code S 0..1 code Coded form of the unit
... subject 1..1 Reference(Patient_eltss) (USCDI) Individual or Entity the service is ordered for
... encounter 0..1 Reference(US Core Encounter Profile) Encounter in which the request was created
... Slices for occurrence[x] 0..1 Period, dateTime, Timing Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrencePeriod S 0..1 Period S Use this when the quantity is meant to be performed within a defined, simple start and end date. E.g. For May 31,2023 to June 10, 2023 give ServicePlan.quantity of 5 [USD]/day.
.... occurrence[x]:occurrenceTiming S 0..1 Timing Please consider using this for timing information that fluctuates or is sufficiently complex. You will need to calculate end-date, or use occurrenceTiming.boundsPeriod to ascribe a start and end date. E.g. Give ServicePlan.quantity 5 with unit=[USD]/day with the occurrenceTiming.boundsPeriod of May 31, 2023 to June 23, 2023 on occurrenceTiming.dayOfWeek = Mon and Wed at occurrenceTiming.timeOfDay = 3 pm.
..... repeat S 0..1 Element When the event is to occur
...... Slices for bounds[x] S 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... bounds[x]:boundsPeriod S 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ start S 0..1 dateTime Starting time with inclusive boundary
........ end S 0..1 dateTime End time with inclusive boundary, if not ongoing
... requester 0..1 Reference(Practitioner_eltss | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device) (USCDI) Who/what is requesting service
... performer S 0..* Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile S | Patient_eltss S | US Core Organization Profile S | eLTSS RelatedPerson Profile S | US Core Implantable Device Profile | Device | US Core CareTeam Profile | HealthcareService) Service Provider Name + Phone + Relationship
... locationReference S 0..* Reference(Location_eltss) Service Delivery Address
... reasonReference 0..* Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile) (USCDI) US Core Profile that supports the requested service
... insurance S 0..* Reference(Coverage S | ClaimResponse) Service Funding Source
... supportingInfo S 0..* Reference(Resource) Additional clinical information
... note S 0..* Annotation Service Comment

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ServiceRequest.coderequiredHealthCareCommonProcedureCodingSystem
http://terminology.hl7.org/ValueSet/v3-HealthCareCommonProcedureCodingSystem
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* USCoreServiceRequestProfile A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... directedBy 0..* CodeableConcept Self-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... basedOn Σ 0..* Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest_eltss) What request replaces
... status ?!SΣ 1..1 code (USCDI) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

... intent ?!SΣ 1..1 code (USCDI) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept (USCDI) Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept (USCDI) Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept Service Name
Binding: HealthCareCommonProcedureCodingSystem (required): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... coding SΣ 0..* Coding Code defined by a terminology system
..... system SΣ 0..1 uri Identity of the terminology system
..... code SΣ 0..1 code Symbol in syntax defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... Slices for quantity[x] SΣ 0..1 Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
.... quantity[x]:quantityQuantity SΣ 0..1 Quantity Service amount
..... value SΣ 0..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ 0..1 string UCUM codes are very useful here. But, if the concept maps to the unity unit in UCUM, then it is likely appropriate to choose a specific concept from another system. Use quanitityRatio when appropriate (such as in sessions per week) instead of quantityQuantity.
..... system SΣC 0..1 uri System that defines coded unit form
..... code SΣ 0..1 code Coded form of the unit
.... quantity[x]:quantityRatio SΣ 0..1 Ratio Service amount
..... numerator SΣ 0..1 Quantity Numerator value
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
..... denominator SΣ 0..1 Quantity Denominator value
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
... subject SΣ 1..1 Reference(Patient_eltss) (USCDI) Individual or Entity the service is ordered for
... encounter Σ 0..1 Reference(US Core Encounter Profile) Encounter in which the request was created
... Slices for occurrence[x] SΣ 0..1 Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrencePeriod Period
.... occurrence[x]:occurrencePeriod SΣ 0..1 Period Use this when the quantity is meant to be performed within a defined, simple start and end date. E.g. For May 31,2023 to June 10, 2023 give ServicePlan.quantity of 5 [USD]/day.
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing Please consider using this for timing information that fluctuates or is sufficiently complex. You will need to calculate end-date, or use occurrenceTiming.boundsPeriod to ascribe a start and end date. E.g. Give ServicePlan.quantity 5 with unit=[USD]/day with the occurrenceTiming.boundsPeriod of May 31, 2023 to June 23, 2023 on occurrenceTiming.dayOfWeek = Mon and Wed at occurrenceTiming.timeOfDay = 3 pm.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... Slices for bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
....... bounds[x]:boundsPeriod SΣ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ start SΣC 0..1 dateTime Starting time with inclusive boundary
........ end SΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
... authoredOn SΣ 0..1 dateTime (USCDI) Date request signed
... requester SΣ 0..1 Reference(Practitioner_eltss) (USCDI) Who/what is requesting service
... performer SΣ 0..* Reference(Practitioner_eltss | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile) Service Provider Name + Phone + Relationship
... locationReference SΣ 0..* Reference(Location_eltss) Service Delivery Address
... reasonReference Σ 0..* Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile) (USCDI) US Core Profile that supports the requested service
... insurance S 0..* Reference(Coverage) Service Funding Source
... supportingInfo S 0..* Reference(Resource) Additional clinical information
... note S 0..* Annotation Service Comment

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.coderequiredHealthCareCommonProcedureCodingSystem
http://terminology.hl7.org/ValueSet/v3-HealthCareCommonProcedureCodingSystem
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
tim-1errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorServiceRequest.occurrence[x]:occurrenceTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorServiceRequest.occurrence[x]:occurrenceTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* USCoreServiceRequestProfile A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... directedBy 0..* CodeableConcept Self-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S 0..* Reference(Goal) The resource-pertainsToGoal relates the resource to the goal(s) that pertain to it. Whenever there is a goal associated with a health concern or problem, this extension should be present and populated in activity (event or intent) resources.
URL: http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifiers assigned to this order
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest_eltss) What request replaces
... requisition Σ 0..1 Identifier Composite Request ID
... status ?!SΣ 1..1 code (USCDI) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

... intent ?!SΣ 1..1 code (USCDI) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept (USCDI) Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept (USCDI) Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept Service Name
Binding: HealthCareCommonProcedureCodingSystem (required): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ 0..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 0..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text SΣ 0..1 string Plain text representation of the concept
... orderDetail ΣC 0..* CodeableConcept Additional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... Slices for quantity[x] SΣ 0..1 Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
.... quantity[x]:quantityQuantity SΣ 0..1 Quantity Service amount
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ 0..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ 0..1 string UCUM codes are very useful here. But, if the concept maps to the unity unit in UCUM, then it is likely appropriate to choose a specific concept from another system. Use quanitityRatio when appropriate (such as in sessions per week) instead of quantityQuantity.
..... system SΣC 0..1 uri System that defines coded unit form
..... code SΣ 0..1 code Coded form of the unit
.... quantity[x]:quantityRatio SΣ 0..1 Ratio Service amount
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... numerator SΣ 0..1 Quantity Numerator value
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
..... denominator SΣ 0..1 Quantity Denominator value
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
... subject SΣ 1..1 Reference(Patient_eltss) (USCDI) Individual or Entity the service is ordered for
... encounter Σ 0..1 Reference(US Core Encounter Profile) Encounter in which the request was created
... Slices for occurrence[x] SΣ 0..1 Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrencePeriod Period S
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
.... occurrence[x]:occurrencePeriod SΣ 0..1 Period S Use this when the quantity is meant to be performed within a defined, simple start and end date. E.g. For May 31,2023 to June 10, 2023 give ServicePlan.quantity of 5 [USD]/day.
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing Please consider using this for timing information that fluctuates or is sufficiently complex. You will need to calculate end-date, or use occurrenceTiming.boundsPeriod to ascribe a start and end date. E.g. Give ServicePlan.quantity 5 with unit=[USD]/day with the occurrenceTiming.boundsPeriod of May 31, 2023 to June 23, 2023 on occurrenceTiming.dayOfWeek = Mon and Wed at occurrenceTiming.timeOfDay = 3 pm.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... event Σ 0..* dateTime When the event occurs
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
....... bounds[x]:boundsPeriod SΣ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ start SΣC 0..1 dateTime Starting time with inclusive boundary
........ end SΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
...... count Σ 0..1 positiveInt Number of times to repeat
...... countMax Σ 0..1 positiveInt Maximum number of times to repeat
...... duration Σ 0..1 decimal How long when it happens
...... durationMax Σ 0..1 decimal How long when it happens (Max)
...... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... frequency Σ 0..1 positiveInt Event occurs frequency times per period
...... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
...... period Σ 0..1 decimal Event occurs frequency times per period
...... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
...... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
...... timeOfDay Σ 0..* time Time of day for action
...... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


...... offset Σ 0..1 unsignedInt Minutes from event (before or after)
..... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... asNeeded[x] Σ 0..1 Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
... authoredOn SΣ 0..1 dateTime (USCDI) Date request signed
... requester SΣ 0..1 Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device) (USCDI) Who/what is requesting service
... performerType Σ 0..1 CodeableConcept Performer role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

... performer SΣ 0..* Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile S | Patient_eltss S | US Core Organization Profile S | eLTSS RelatedPerson Profile S | US Core Implantable Device Profile | Device | US Core CareTeam Profile | HealthcareService) Service Provider Name + Phone + Relationship
... locationCode Σ 0..* CodeableConcept Requested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ 0..* Reference(Location_eltss) Service Delivery Address
... reasonCode Σ 0..* CodeableConcept (USCDI) Explanation/Justification for procedure or service
Binding: US Core Condition Codes (extensible)
... reasonReference Σ 0..* Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile) (USCDI) US Core Profile that supports the requested service
... insurance S 0..* Reference(Coverage S | ClaimResponse) Service Funding Source
... supportingInfo S 0..* Reference(Resource) Additional clinical information
... specimen Σ 0..* Reference(Specimen) Procedure Samples
... bodySite Σ 0..* CodeableConcept Location on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note S 0..* Annotation Service Comment
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
ServiceRequest.coderequiredHealthCareCommonProcedureCodingSystem
http://terminology.hl7.org/ValueSet/v3-HealthCareCommonProcedureCodingSystem
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
from the FHIR Standard
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
ServiceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
tim-1errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorServiceRequest.occurrence[x]:occurrenceTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorServiceRequest.occurrence[x]:occurrenceTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from USCoreServiceRequestProfile

Summary

Must-Support: 34 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of ServiceRequest.quantity[x]
  • The element 1 is sliced based on the value of ServiceRequest.occurrence[x]
  • The element 1 is sliced based on the value of ServiceRequest.occurrence[x].repeat.bounds[x]

Maturity: 2

Differential View

This structure is derived from USCoreServiceRequestProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest USCoreServiceRequestProfile
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... directedBy 0..* CodeableConcept Self-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S 0..* Reference(Goal) The resource-pertainsToGoal relates the resource to the goal(s) that pertain to it. Whenever there is a goal associated with a health concern or problem, this extension should be present and populated in activity (event or intent) resources.
URL: http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal
... replaces 0..* Reference(ServiceRequest_eltss) What request replaces
... code 1..1 CodeableConcept Service Name
Binding: HealthCareCommonProcedureCodingSystem (required): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... coding S 0..* Coding Code defined by a terminology system
..... system S 0..1 uri Identity of the terminology system
..... code S 0..1 code Symbol in syntax defined by the system
.... text S 0..1 string Plain text representation of the concept
... Slices for quantity[x] S 0..1 Quantity, Ratio, Range Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantity[x]:quantityQuantity S 0..1 Quantity Service amount
..... value S 0..1 decimal Numerical value (with implicit precision)
..... unit S 0..1 string UCUM codes are very useful here. But, if the concept maps to the unity unit in UCUM, then it is likely appropriate to choose a specific concept from another system. Use quanitityRatio when appropriate (such as in sessions per week) instead of quantityQuantity.
..... system S 0..1 uri System that defines coded unit form
..... code S 0..1 code Coded form of the unit
.... quantity[x]:quantityRatio S 0..1 Ratio Service amount
..... numerator S 0..1 Quantity Numerator value
...... value S 0..1 decimal Numerical value (with implicit precision)
...... unit S 0..1 string UCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system S 0..1 uri System that defines coded unit form
...... code S 0..1 code Coded form of the unit
..... denominator S 0..1 Quantity Denominator value
...... value S 0..1 decimal Numerical value (with implicit precision)
...... unit S 0..1 string UCUM codes are very useful here
...... system S 0..1 uri System that defines coded unit form
...... code S 0..1 code Coded form of the unit
... subject 1..1 Reference(Patient_eltss) (USCDI) Individual or Entity the service is ordered for
... encounter 0..1 Reference(US Core Encounter Profile) Encounter in which the request was created
... Slices for occurrence[x] 0..1 Period, dateTime, Timing Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrencePeriod S 0..1 Period S Use this when the quantity is meant to be performed within a defined, simple start and end date. E.g. For May 31,2023 to June 10, 2023 give ServicePlan.quantity of 5 [USD]/day.
.... occurrence[x]:occurrenceTiming S 0..1 Timing Please consider using this for timing information that fluctuates or is sufficiently complex. You will need to calculate end-date, or use occurrenceTiming.boundsPeriod to ascribe a start and end date. E.g. Give ServicePlan.quantity 5 with unit=[USD]/day with the occurrenceTiming.boundsPeriod of May 31, 2023 to June 23, 2023 on occurrenceTiming.dayOfWeek = Mon and Wed at occurrenceTiming.timeOfDay = 3 pm.
..... repeat S 0..1 Element When the event is to occur
...... Slices for bounds[x] S 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... bounds[x]:boundsPeriod S 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ start S 0..1 dateTime Starting time with inclusive boundary
........ end S 0..1 dateTime End time with inclusive boundary, if not ongoing
... requester 0..1 Reference(Practitioner_eltss | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device) (USCDI) Who/what is requesting service
... performer S 0..* Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile S | Patient_eltss S | US Core Organization Profile S | eLTSS RelatedPerson Profile S | US Core Implantable Device Profile | Device | US Core CareTeam Profile | HealthcareService) Service Provider Name + Phone + Relationship
... locationReference S 0..* Reference(Location_eltss) Service Delivery Address
... reasonReference 0..* Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile) (USCDI) US Core Profile that supports the requested service
... insurance S 0..* Reference(Coverage S | ClaimResponse) Service Funding Source
... supportingInfo S 0..* Reference(Resource) Additional clinical information
... note S 0..* Annotation Service Comment

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ServiceRequest.coderequiredHealthCareCommonProcedureCodingSystem
http://terminology.hl7.org/ValueSet/v3-HealthCareCommonProcedureCodingSystem

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* USCoreServiceRequestProfile A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... directedBy 0..* CodeableConcept Self-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... basedOn Σ 0..* Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest_eltss) What request replaces
... status ?!SΣ 1..1 code (USCDI) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

... intent ?!SΣ 1..1 code (USCDI) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept (USCDI) Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept (USCDI) Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept Service Name
Binding: HealthCareCommonProcedureCodingSystem (required): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... coding SΣ 0..* Coding Code defined by a terminology system
..... system SΣ 0..1 uri Identity of the terminology system
..... code SΣ 0..1 code Symbol in syntax defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... Slices for quantity[x] SΣ 0..1 Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
.... quantity[x]:quantityQuantity SΣ 0..1 Quantity Service amount
..... value SΣ 0..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ 0..1 string UCUM codes are very useful here. But, if the concept maps to the unity unit in UCUM, then it is likely appropriate to choose a specific concept from another system. Use quanitityRatio when appropriate (such as in sessions per week) instead of quantityQuantity.
..... system SΣC 0..1 uri System that defines coded unit form
..... code SΣ 0..1 code Coded form of the unit
.... quantity[x]:quantityRatio SΣ 0..1 Ratio Service amount
..... numerator SΣ 0..1 Quantity Numerator value
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
..... denominator SΣ 0..1 Quantity Denominator value
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
... subject SΣ 1..1 Reference(Patient_eltss) (USCDI) Individual or Entity the service is ordered for
... encounter Σ 0..1 Reference(US Core Encounter Profile) Encounter in which the request was created
... Slices for occurrence[x] SΣ 0..1 Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrencePeriod Period
.... occurrence[x]:occurrencePeriod SΣ 0..1 Period Use this when the quantity is meant to be performed within a defined, simple start and end date. E.g. For May 31,2023 to June 10, 2023 give ServicePlan.quantity of 5 [USD]/day.
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing Please consider using this for timing information that fluctuates or is sufficiently complex. You will need to calculate end-date, or use occurrenceTiming.boundsPeriod to ascribe a start and end date. E.g. Give ServicePlan.quantity 5 with unit=[USD]/day with the occurrenceTiming.boundsPeriod of May 31, 2023 to June 23, 2023 on occurrenceTiming.dayOfWeek = Mon and Wed at occurrenceTiming.timeOfDay = 3 pm.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... Slices for bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
....... bounds[x]:boundsPeriod SΣ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ start SΣC 0..1 dateTime Starting time with inclusive boundary
........ end SΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
... authoredOn SΣ 0..1 dateTime (USCDI) Date request signed
... requester SΣ 0..1 Reference(Practitioner_eltss) (USCDI) Who/what is requesting service
... performer SΣ 0..* Reference(Practitioner_eltss | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile) Service Provider Name + Phone + Relationship
... locationReference SΣ 0..* Reference(Location_eltss) Service Delivery Address
... reasonReference Σ 0..* Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile) (USCDI) US Core Profile that supports the requested service
... insurance S 0..* Reference(Coverage) Service Funding Source
... supportingInfo S 0..* Reference(Resource) Additional clinical information
... note S 0..* Annotation Service Comment

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.coderequiredHealthCareCommonProcedureCodingSystem
http://terminology.hl7.org/ValueSet/v3-HealthCareCommonProcedureCodingSystem
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
tim-1errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorServiceRequest.occurrence[x]:occurrenceTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorServiceRequest.occurrence[x]:occurrenceTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* USCoreServiceRequestProfile A request for a service to be performed
prr-1: orderDetail SHALL only be present if code is present
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... directedBy 0..* CodeableConcept Self-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S 0..* Reference(Goal) The resource-pertainsToGoal relates the resource to the goal(s) that pertain to it. Whenever there is a goal associated with a health concern or problem, this extension should be present and populated in activity (event or intent) resources.
URL: http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifiers assigned to this order
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest_eltss) What request replaces
... requisition Σ 0..1 Identifier Composite Request ID
... status ?!SΣ 1..1 code (USCDI) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

... intent ?!SΣ 1..1 code (USCDI) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept (USCDI) Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept (USCDI) Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept Service Name
Binding: HealthCareCommonProcedureCodingSystem (required): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ 0..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 0..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text SΣ 0..1 string Plain text representation of the concept
... orderDetail ΣC 0..* CodeableConcept Additional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... Slices for quantity[x] SΣ 0..1 Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
.... quantity[x]:quantityQuantity SΣ 0..1 Quantity Service amount
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ 0..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ 0..1 string UCUM codes are very useful here. But, if the concept maps to the unity unit in UCUM, then it is likely appropriate to choose a specific concept from another system. Use quanitityRatio when appropriate (such as in sessions per week) instead of quantityQuantity.
..... system SΣC 0..1 uri System that defines coded unit form
..... code SΣ 0..1 code Coded form of the unit
.... quantity[x]:quantityRatio SΣ 0..1 Ratio Service amount
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... numerator SΣ 0..1 Quantity Numerator value
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
..... denominator SΣ 0..1 Quantity Denominator value
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ 0..1 string UCUM codes are very useful here
...... system SΣC 0..1 uri System that defines coded unit form
...... code SΣ 0..1 code Coded form of the unit
... subject SΣ 1..1 Reference(Patient_eltss) (USCDI) Individual or Entity the service is ordered for
... encounter Σ 0..1 Reference(US Core Encounter Profile) Encounter in which the request was created
... Slices for occurrence[x] SΣ 0..1 Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrencePeriod Period S
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
.... occurrence[x]:occurrencePeriod SΣ 0..1 Period S Use this when the quantity is meant to be performed within a defined, simple start and end date. E.g. For May 31,2023 to June 10, 2023 give ServicePlan.quantity of 5 [USD]/day.
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing Please consider using this for timing information that fluctuates or is sufficiently complex. You will need to calculate end-date, or use occurrenceTiming.boundsPeriod to ascribe a start and end date. E.g. Give ServicePlan.quantity 5 with unit=[USD]/day with the occurrenceTiming.boundsPeriod of May 31, 2023 to June 23, 2023 on occurrenceTiming.dayOfWeek = Mon and Wed at occurrenceTiming.timeOfDay = 3 pm.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... event Σ 0..* dateTime When the event occurs
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
....... bounds[x]:boundsPeriod SΣ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ start SΣC 0..1 dateTime Starting time with inclusive boundary
........ end SΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
...... count Σ 0..1 positiveInt Number of times to repeat
...... countMax Σ 0..1 positiveInt Maximum number of times to repeat
...... duration Σ 0..1 decimal How long when it happens
...... durationMax Σ 0..1 decimal How long when it happens (Max)
...... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... frequency Σ 0..1 positiveInt Event occurs frequency times per period
...... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
...... period Σ 0..1 decimal Event occurs frequency times per period
...... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
...... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
...... timeOfDay Σ 0..* time Time of day for action
...... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


...... offset Σ 0..1 unsignedInt Minutes from event (before or after)
..... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... asNeeded[x] Σ 0..1 Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
... authoredOn SΣ 0..1 dateTime (USCDI) Date request signed
... requester SΣ 0..1 Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device) (USCDI) Who/what is requesting service
... performerType Σ 0..1 CodeableConcept Performer role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

... performer SΣ 0..* Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile S | Patient_eltss S | US Core Organization Profile S | eLTSS RelatedPerson Profile S | US Core Implantable Device Profile | Device | US Core CareTeam Profile | HealthcareService) Service Provider Name + Phone + Relationship
... locationCode Σ 0..* CodeableConcept Requested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ 0..* Reference(Location_eltss) Service Delivery Address
... reasonCode Σ 0..* CodeableConcept (USCDI) Explanation/Justification for procedure or service
Binding: US Core Condition Codes (extensible)
... reasonReference Σ 0..* Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note Exchange | US Core DocumentReference Profile) (USCDI) US Core Profile that supports the requested service
... insurance S 0..* Reference(Coverage S | ClaimResponse) Service Funding Source
... supportingInfo S 0..* Reference(Resource) Additional clinical information
... specimen Σ 0..* Reference(Specimen) Procedure Samples
... bodySite Σ 0..* CodeableConcept Location on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note S 0..* Annotation Service Comment
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
ServiceRequest.coderequiredHealthCareCommonProcedureCodingSystem
http://terminology.hl7.org/ValueSet/v3-HealthCareCommonProcedureCodingSystem
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
from the FHIR Standard
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
ServiceRequest.occurrence[x]:occurrenceTiming.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
ServiceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
tim-1errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorServiceRequest.occurrence[x]:occurrenceTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorServiceRequest.occurrence[x]:occurrenceTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorServiceRequest.occurrence[x]:occurrenceTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorServiceRequest.occurrence[x]:occurrenceTiming.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from USCoreServiceRequestProfile

Summary

Must-Support: 34 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of ServiceRequest.quantity[x]
  • The element 1 is sliced based on the value of ServiceRequest.occurrence[x]
  • The element 1 is sliced based on the value of ServiceRequest.occurrence[x].repeat.bounds[x]

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron