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

This page is part of the electronic Long-Term Services and Supports Implementation Guide (v2.0.0-ballot: STU2 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 1.0.0. For a full list of available versions, 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-ballot
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 ServicePlan.quantity of 5 [USD]/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 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.
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 ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest ServiceRequest
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directedBy 0..*CodeableConceptSelf-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S0..*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 S0..1CodeableConceptService Name
Binding: HealthCareCommonProcedureCodingSystem (preferred): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... coding S0..*CodingCode defined by a terminology system
..... system S0..1uriIdentity of the terminology system
..... code S0..1codeSymbol in syntax defined by the system
.... text S0..1stringPlain text representation of the concept
... Slices for quantity[x] S0..1Quantity, Ratio, RangeService Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantity[x]:quantityQuantity S0..1QuantityService amount
..... value S0..1decimalNumerical value (with implicit precision)
..... unit S0..1stringUCUM 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 S0..1uriSystem that defines coded unit form
..... code S0..1codeCoded form of the unit
.... quantity[x]:quantityRatio S0..1RatioService amount
..... numerator S0..1QuantityNumerator value
...... value S0..1decimalNumerical value (with implicit precision)
...... unit S0..1stringUCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system S0..1uriSystem that defines coded unit form
...... code S0..1codeCoded form of the unit
..... denominator S0..1QuantityDenominator value
...... value S0..1decimalNumerical value (with implicit precision)
...... unit S0..1stringUCUM codes are very useful here
...... system S0..1uriSystem that defines coded unit form
...... code S0..1codeCoded form of the unit
... subject S1..1Reference(Patient_eltss S | Group | US Core Implantable Device Profile | Device | Location_eltss)Individual or Entity the service is ordered for
... encounter 0..1Reference(US Core Encounter Profile)Encounter in which the request was created
... Slices for occurrence[x] S0..1dateTime, Period, TimingService Start + End Date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrencePeriod S0..1PeriodUse 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 S0..1TimingPlease 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 S0..1ElementWhen the event is to occur
...... Slices for bounds[x] S0..1Duration, Range, PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... bounds[x]:boundsPeriod S0..1PeriodLength/Range of lengths, or (Start and/or end) limits
........ start S0..1dateTimeStarting time with inclusive boundary
........ end S0..1dateTimeEnd time with inclusive boundary, if not ongoing
... authoredOn S0..1dateTimeDate request signed
... requester S0..1Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device)Who/what is requesting service
... performer S0..*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 S0..*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)Explanation/Justification for service or service
... insurance S0..*Reference(Coverage S | ClaimResponse)Service Funding Source
... supportingInfo S0..*Reference(Resource)Additional clinical information
... note S0..*AnnotationService Comment

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.codepreferredHealthCareCommonProcedureCodingSystem
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directedBy 0..*CodeableConceptSelf-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... basedOn Σ0..*Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest)What request fulfills
... replaces Σ0..*Reference(ServiceRequest_eltss)What request replaces
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

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

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

.... coding SΣ0..*CodingCode defined by a terminology system
..... system SΣ0..1uriIdentity of the terminology system
..... code SΣ0..1codeSymbol in syntax defined by the system
.... text SΣ0..1stringPlain text representation of the concept
... Slices for quantity[x] SΣ0..1Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
.... quantity[x]:quantityQuantity SΣ0..1QuantityService amount
..... value SΣ0..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
..... code SΣ0..1codeCoded form of the unit
.... quantity[x]:quantityRatio SΣ0..1RatioService amount
..... numerator SΣ0..1QuantityNumerator value
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
..... denominator SΣ0..1QuantityDenominator value
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM codes are very useful here
...... system SΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
... subject SΣ1..1Reference(Patient_eltss)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
... Slices for occurrence[x] SΣ0..1Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod SΣ0..1PeriodUse 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..1TimingPlease 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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... repeat SΣC0..1ElementWhen the event is to occur
...... Slices for bounds[x] SΣ0..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDurationDuration
....... boundsRangeRange
....... boundsPeriodPeriod
....... bounds[x]:boundsPeriod SΣ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
........ start SΣC0..1dateTimeStarting time with inclusive boundary
........ end SΣC0..1dateTimeEnd time with inclusive boundary, if not ongoing
... authoredOn SΣ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner_eltss)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)Explanation/Justification for service or service
... insurance S0..*Reference(Coverage)Service Funding Source
... supportingInfo S0..*Reference(Resource)Additional clinical information
... note S0..*AnnotationService Comment

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.codepreferredHealthCareCommonProcedureCodingSystem
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator

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 C0..*ServiceRequestA request for a service to be performed
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directedBy 0..*CodeableConceptSelf-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S0..*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..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest)What request fulfills
... replaces Σ0..*Reference(ServiceRequest_eltss)What request replaces
... requisition Σ0..1IdentifierComposite Request ID
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

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

... category Σ0..*CodeableConceptClassification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


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

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

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ0..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code SΣ0..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text SΣ0..1stringPlain text representation of the concept
... orderDetail ΣC0..*CodeableConceptAdditional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... Slices for quantity[x] SΣ0..1Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
.... quantity[x]:quantityQuantity SΣ0..1QuantityService amount
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ0..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
..... code SΣ0..1codeCoded form of the unit
.... quantity[x]:quantityRatio SΣ0..1RatioService amount
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... numerator SΣ0..1QuantityNumerator value
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
..... denominator SΣ0..1QuantityDenominator value
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM codes are very useful here
...... system SΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
... subject SΣ1..1Reference(Patient_eltss S | Group | US Core Implantable Device Profile | Device | Location_eltss)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
... Slices for occurrence[x] SΣ0..1Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod SΣ0..1PeriodUse 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..1TimingPlease 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..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... event Σ0..*dateTimeWhen the event occurs
..... repeat SΣC0..1ElementWhen the event is to occur
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for bounds[x] SΣ0..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDurationDuration
....... boundsRangeRange
....... boundsPeriodPeriod
....... bounds[x]:boundsPeriod SΣ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
........ id 0..1stringUnique id for inter-element referencing
........ extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
........ start SΣC0..1dateTimeStarting time with inclusive boundary
........ end SΣC0..1dateTimeEnd time with inclusive boundary, if not ongoing
...... count Σ0..1positiveIntNumber of times to repeat
...... countMax Σ0..1positiveIntMaximum number of times to repeat
...... duration Σ0..1decimalHow long when it happens
...... durationMax Σ0..1decimalHow long when it happens (Max)
...... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... frequency Σ0..1positiveIntEvent occurs frequency times per period
...... frequencyMax Σ0..1positiveIntEvent occurs up to frequencyMax times per period
...... period Σ0..1decimalEvent occurs frequency times per period
...... periodMax Σ0..1decimalUpper limit of period (3-4 hours)
...... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

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


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

... asNeeded[x] Σ0..1Preconditions 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.

.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn SΣ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer 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..*CodeableConceptRequested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ0..*Reference(Location_eltss)Service Delivery Address
... reasonCode Σ0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.


... reasonReference Σ0..*Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note exchange | US Core DocumentReference Profile)Explanation/Justification for service or service
... insurance S0..*Reference(Coverage S | ClaimResponse)Service Funding Source
... supportingInfo S0..*Reference(Resource)Additional clinical information
... specimen Σ0..*Reference(Specimen)Procedure Samples
... bodySite Σ0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note S0..*AnnotationService Comment
... patientInstruction Σ0..1stringPatient or consumer-oriented instructions
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.priorityrequiredRequestPriority
ServiceRequest.codepreferredHealthCareCommonProcedureCodingSystem
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.durationUnitrequiredUnitsOfTime
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.periodUnitrequiredUnitsOfTime
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.dayOfWeekrequiredDaysOfWeek
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.whenrequiredEventTiming
ServiceRequest.occurrence[x]:occurrenceTiming.codepreferredTimingAbbreviation
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
ServiceRequest.performerTypeexampleParticipantRoles
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeexampleProcedureReasonCodes
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

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 ServiceRequest

Summary

Must-Support: 39 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 ServiceRequest.quantity[x] is sliced based on the value of type:$this
  • The element ServiceRequest.occurrence[x] is sliced based on the value of type:$this
  • The element ServiceRequest.occurrence[x].repeat.bounds[x] is sliced based on the value of type:$this

Maturity: 2

Differential View

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest ServiceRequest
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directedBy 0..*CodeableConceptSelf-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S0..*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 S0..1CodeableConceptService Name
Binding: HealthCareCommonProcedureCodingSystem (preferred): Use HCPCS (https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/) code + modifiers or free text.

.... coding S0..*CodingCode defined by a terminology system
..... system S0..1uriIdentity of the terminology system
..... code S0..1codeSymbol in syntax defined by the system
.... text S0..1stringPlain text representation of the concept
... Slices for quantity[x] S0..1Quantity, Ratio, RangeService Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantity[x]:quantityQuantity S0..1QuantityService amount
..... value S0..1decimalNumerical value (with implicit precision)
..... unit S0..1stringUCUM 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 S0..1uriSystem that defines coded unit form
..... code S0..1codeCoded form of the unit
.... quantity[x]:quantityRatio S0..1RatioService amount
..... numerator S0..1QuantityNumerator value
...... value S0..1decimalNumerical value (with implicit precision)
...... unit S0..1stringUCUM codes are very useful here, but also coded numerators could be used for something like: sessions per week. See the Implementation guidance section
...... system S0..1uriSystem that defines coded unit form
...... code S0..1codeCoded form of the unit
..... denominator S0..1QuantityDenominator value
...... value S0..1decimalNumerical value (with implicit precision)
...... unit S0..1stringUCUM codes are very useful here
...... system S0..1uriSystem that defines coded unit form
...... code S0..1codeCoded form of the unit
... subject S1..1Reference(Patient_eltss S | Group | US Core Implantable Device Profile | Device | Location_eltss)Individual or Entity the service is ordered for
... encounter 0..1Reference(US Core Encounter Profile)Encounter in which the request was created
... Slices for occurrence[x] S0..1dateTime, Period, TimingService Start + End Date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrencePeriod S0..1PeriodUse 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 S0..1TimingPlease 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 S0..1ElementWhen the event is to occur
...... Slices for bounds[x] S0..1Duration, Range, PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... bounds[x]:boundsPeriod S0..1PeriodLength/Range of lengths, or (Start and/or end) limits
........ start S0..1dateTimeStarting time with inclusive boundary
........ end S0..1dateTimeEnd time with inclusive boundary, if not ongoing
... authoredOn S0..1dateTimeDate request signed
... requester S0..1Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device)Who/what is requesting service
... performer S0..*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 S0..*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)Explanation/Justification for service or service
... insurance S0..*Reference(Coverage S | ClaimResponse)Service Funding Source
... supportingInfo S0..*Reference(Resource)Additional clinical information
... note S0..*AnnotationService Comment

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.codepreferredHealthCareCommonProcedureCodingSystem

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directedBy 0..*CodeableConceptSelf-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... basedOn Σ0..*Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest)What request fulfills
... replaces Σ0..*Reference(ServiceRequest_eltss)What request replaces
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

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

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

.... coding SΣ0..*CodingCode defined by a terminology system
..... system SΣ0..1uriIdentity of the terminology system
..... code SΣ0..1codeSymbol in syntax defined by the system
.... text SΣ0..1stringPlain text representation of the concept
... Slices for quantity[x] SΣ0..1Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
.... quantity[x]:quantityQuantity SΣ0..1QuantityService amount
..... value SΣ0..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
..... code SΣ0..1codeCoded form of the unit
.... quantity[x]:quantityRatio SΣ0..1RatioService amount
..... numerator SΣ0..1QuantityNumerator value
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
..... denominator SΣ0..1QuantityDenominator value
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM codes are very useful here
...... system SΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
... subject SΣ1..1Reference(Patient_eltss)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
... Slices for occurrence[x] SΣ0..1Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod SΣ0..1PeriodUse 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..1TimingPlease 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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... repeat SΣC0..1ElementWhen the event is to occur
...... Slices for bounds[x] SΣ0..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDurationDuration
....... boundsRangeRange
....... boundsPeriodPeriod
....... bounds[x]:boundsPeriod SΣ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
........ start SΣC0..1dateTimeStarting time with inclusive boundary
........ end SΣC0..1dateTimeEnd time with inclusive boundary, if not ongoing
... authoredOn SΣ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner_eltss)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)Explanation/Justification for service or service
... insurance S0..*Reference(Coverage)Service Funding Source
... supportingInfo S0..*Reference(Resource)Additional clinical information
... note S0..*AnnotationService Comment

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.codepreferredHealthCareCommonProcedureCodingSystem
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator

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 C0..*ServiceRequestA request for a service to be performed
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directedBy 0..*CodeableConceptSelf-Directed Service Indicator
URL: http://hl7.org/fhir/us/eltss/StructureDefinition/eltss-directedBy
... resource-pertainsToGoal S0..*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..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest)What request fulfills
... replaces Σ0..*Reference(ServiceRequest_eltss)What request replaces
... requisition Σ0..1IdentifierComposite Request ID
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

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

... category Σ0..*CodeableConceptClassification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


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

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

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ0..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code SΣ0..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text SΣ0..1stringPlain text representation of the concept
... orderDetail ΣC0..*CodeableConceptAdditional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... Slices for quantity[x] SΣ0..1Service Unit Quantity + Unit Type + Time Interval
Slice: Unordered, Open by type:$this
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
.... quantity[x]:quantityQuantity SΣ0..1QuantityService amount
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ0..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
..... code SΣ0..1codeCoded form of the unit
.... quantity[x]:quantityRatio SΣ0..1RatioService amount
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... numerator SΣ0..1QuantityNumerator value
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM 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ΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
..... denominator SΣ0..1QuantityDenominator value
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit SΣ0..1stringUCUM codes are very useful here
...... system SΣC0..1uriSystem that defines coded unit form
...... code SΣ0..1codeCoded form of the unit
... subject SΣ1..1Reference(Patient_eltss S | Group | US Core Implantable Device Profile | Device | Location_eltss)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(US Core Encounter Profile)Encounter in which the request was created
... Slices for occurrence[x] SΣ0..1Service Start + End Date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
.... occurrence[x]:occurrencePeriod SΣ0..1PeriodUse 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..1TimingPlease 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..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... event Σ0..*dateTimeWhen the event occurs
..... repeat SΣC0..1ElementWhen the event is to occur
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... Slices for bounds[x] SΣ0..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... boundsDurationDuration
....... boundsRangeRange
....... boundsPeriodPeriod
....... bounds[x]:boundsPeriod SΣ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
........ id 0..1stringUnique id for inter-element referencing
........ extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
........ start SΣC0..1dateTimeStarting time with inclusive boundary
........ end SΣC0..1dateTimeEnd time with inclusive boundary, if not ongoing
...... count Σ0..1positiveIntNumber of times to repeat
...... countMax Σ0..1positiveIntMaximum number of times to repeat
...... duration Σ0..1decimalHow long when it happens
...... durationMax Σ0..1decimalHow long when it happens (Max)
...... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... frequency Σ0..1positiveIntEvent occurs frequency times per period
...... frequencyMax Σ0..1positiveIntEvent occurs up to frequencyMax times per period
...... period Σ0..1decimalEvent occurs frequency times per period
...... periodMax Σ0..1decimalUpper limit of period (3-4 hours)
...... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

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


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

... asNeeded[x] Σ0..1Preconditions 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.

.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn SΣ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner_eltss S | eLTSS PractitionerRole Profile | Patient_eltss | US Core Organization Profile | eLTSS RelatedPerson Profile | US Core Implantable Device Profile | Device)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer 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..*CodeableConceptRequested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ0..*Reference(Location_eltss)Service Delivery Address
... reasonCode Σ0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.


... reasonReference Σ0..*Reference(Condition_eltss | Observation_eltss | US Core DiagnosticReport Profile for Report and Note exchange | US Core DocumentReference Profile)Explanation/Justification for service or service
... insurance S0..*Reference(Coverage S | ClaimResponse)Service Funding Source
... supportingInfo S0..*Reference(Resource)Additional clinical information
... specimen Σ0..*Reference(Specimen)Procedure Samples
... bodySite Σ0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note S0..*AnnotationService Comment
... patientInstruction Σ0..1stringPatient or consumer-oriented instructions
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.priorityrequiredRequestPriority
ServiceRequest.codepreferredHealthCareCommonProcedureCodingSystem
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
ServiceRequest.quantity[x]:quantityQuantity.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.numerator.comparatorrequiredQuantityComparator
ServiceRequest.quantity[x]:quantityRatio.denominator.comparatorrequiredQuantityComparator
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.durationUnitrequiredUnitsOfTime
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.periodUnitrequiredUnitsOfTime
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.dayOfWeekrequiredDaysOfWeek
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.whenrequiredEventTiming
ServiceRequest.occurrence[x]:occurrenceTiming.codepreferredTimingAbbreviation
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
ServiceRequest.performerTypeexampleParticipantRoles
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeexampleProcedureReasonCodes
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

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 ServiceRequest

Summary

Must-Support: 39 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 ServiceRequest.quantity[x] is sliced based on the value of type:$this
  • The element ServiceRequest.occurrence[x] is sliced based on the value of type:$this
  • The element ServiceRequest.occurrence[x].repeat.bounds[x] is sliced based on the value of type:$this

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron