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
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
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:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | ServiceRequest | |||
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 |
basedOn | 0..* | Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) | What request fulfills | |
replaces | 0..* | Reference(ServiceRequest_eltss) | What request replaces | |
code | S | 0..1 | CodeableConcept | Service Name Binding: HealthCareCommonProcedureCodingSystem (preferred): 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 | S | 1..1 | Reference(Patient_eltss S | Group | US Core Implantable Device Profile | Device | Location_eltss) | 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 | dateTime, Period, Timing | Service Start + End Date Slice: Unordered, Open by type:$this |
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. |
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 |
authoredOn | S | 0..1 | dateTime | 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) | 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) | Explanation/Justification for service or 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 |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.code | preferred | HealthCareCommonProcedureCodingSystem |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed |
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 | |
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 |
basedOn | Σ | 0..* | Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) | What request fulfills |
replaces | Σ | 0..* | Reference(ServiceRequest_eltss) | What request replaces |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. |
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
code | SΣ | 0..1 | CodeableConcept | Service Name Binding: HealthCareCommonProcedureCodingSystem (preferred): 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) | 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 | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
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 |
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 | Date request signed |
requester | SΣ | 0..1 | Reference(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 | S | 0..* | Reference(Coverage) | Service Funding Source |
supportingInfo | S | 0..* | Reference(Resource) | Additional clinical information |
note | S | 0..* | Annotation | Service Comment |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.status | required | RequestStatus |
ServiceRequest.intent | required | RequestIntent |
ServiceRequest.code | preferred | HealthCareCommonProcedureCodingSystem |
ServiceRequest.quantity[x]:quantityQuantity.comparator | required | QuantityComparator |
ServiceRequest.quantity[x]:quantityRatio.numerator.comparator | required | QuantityComparator |
ServiceRequest.quantity[x]:quantityRatio.denominator.comparator | required | QuantityComparator |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() | |
tim-1 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() | |
tim-2 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() | |
tim-4 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 | |
tim-5 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 | |
tim-6 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() | |
tim-7 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() | |
tim-8 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() | |
tim-9 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If 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-10 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed | ||||
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.
| |||||
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 | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. | ||||
category | Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
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Σ | 0..1 | CodeableConcept | Service Name Binding: HealthCareCommonProcedureCodingSystem (preferred): 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 S | Group | US Core Implantable Device Profile | Device | Location_eltss) | 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 | |||||
occurrenceDateTime | dateTime | |||||||
occurrencePeriod | Period | |||||||
occurrenceTiming | Timing | |||||||
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. | ||||
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 | ||||
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 | 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) | 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 | Explanation/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 | 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 | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
ServiceRequest.language | preferred | CommonLanguages
| ||||
ServiceRequest.status | required | RequestStatus | ||||
ServiceRequest.intent | required | RequestIntent | ||||
ServiceRequest.category | example | ServiceRequestCategoryCodes | ||||
ServiceRequest.priority | required | RequestPriority | ||||
ServiceRequest.code | preferred | HealthCareCommonProcedureCodingSystem | ||||
ServiceRequest.orderDetail | example | ServiceRequestOrderDetailsCodes | ||||
ServiceRequest.quantity[x]:quantityQuantity.comparator | required | QuantityComparator | ||||
ServiceRequest.quantity[x]:quantityRatio.numerator.comparator | required | QuantityComparator | ||||
ServiceRequest.quantity[x]:quantityRatio.denominator.comparator | required | QuantityComparator | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.durationUnit | required | UnitsOfTime | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.periodUnit | required | UnitsOfTime | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.dayOfWeek | required | DaysOfWeek | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.when | required | EventTiming | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.code | preferred | TimingAbbreviation | ||||
ServiceRequest.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes | ||||
ServiceRequest.performerType | example | ParticipantRoles | ||||
ServiceRequest.locationCode | example | ServiceDeliveryLocationRoleType | ||||
ServiceRequest.reasonCode | example | ProcedureReasonCodes | ||||
ServiceRequest.bodySite | example | SNOMEDCTBodyStructures |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() | |
tim-1 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() | |
tim-2 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() | |
tim-4 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 | |
tim-5 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 | |
tim-6 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() | |
tim-7 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() | |
tim-8 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() | |
tim-9 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If 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-10 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If 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:
Maturity: 2
Differential View
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | ServiceRequest | |||
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 |
basedOn | 0..* | Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) | What request fulfills | |
replaces | 0..* | Reference(ServiceRequest_eltss) | What request replaces | |
code | S | 0..1 | CodeableConcept | Service Name Binding: HealthCareCommonProcedureCodingSystem (preferred): 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 | S | 1..1 | Reference(Patient_eltss S | Group | US Core Implantable Device Profile | Device | Location_eltss) | 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 | dateTime, Period, Timing | Service Start + End Date Slice: Unordered, Open by type:$this |
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. |
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 |
authoredOn | S | 0..1 | dateTime | 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) | 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) | Explanation/Justification for service or 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 |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.code | preferred | HealthCareCommonProcedureCodingSystem |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed |
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 | |
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 |
basedOn | Σ | 0..* | Reference(CarePlan_eltss | ServiceRequest_eltss | MedicationRequest) | What request fulfills |
replaces | Σ | 0..* | Reference(ServiceRequest_eltss) | What request replaces |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. |
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
code | SΣ | 0..1 | CodeableConcept | Service Name Binding: HealthCareCommonProcedureCodingSystem (preferred): 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) | 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 | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
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 |
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 | Date request signed |
requester | SΣ | 0..1 | Reference(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 | S | 0..* | Reference(Coverage) | Service Funding Source |
supportingInfo | S | 0..* | Reference(Resource) | Additional clinical information |
note | S | 0..* | Annotation | Service Comment |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.status | required | RequestStatus |
ServiceRequest.intent | required | RequestIntent |
ServiceRequest.code | preferred | HealthCareCommonProcedureCodingSystem |
ServiceRequest.quantity[x]:quantityQuantity.comparator | required | QuantityComparator |
ServiceRequest.quantity[x]:quantityRatio.numerator.comparator | required | QuantityComparator |
ServiceRequest.quantity[x]:quantityRatio.denominator.comparator | required | QuantityComparator |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() | |
tim-1 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() | |
tim-2 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() | |
tim-4 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 | |
tim-5 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 | |
tim-6 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() | |
tim-7 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() | |
tim-8 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() | |
tim-9 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If 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-10 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed | ||||
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.
| |||||
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 | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. | ||||
category | Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
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Σ | 0..1 | CodeableConcept | Service Name Binding: HealthCareCommonProcedureCodingSystem (preferred): 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 S | Group | US Core Implantable Device Profile | Device | Location_eltss) | 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 | |||||
occurrenceDateTime | dateTime | |||||||
occurrencePeriod | Period | |||||||
occurrenceTiming | Timing | |||||||
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. | ||||
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 | ||||
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 | 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) | 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 | Explanation/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 | 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 | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
ServiceRequest.language | preferred | CommonLanguages
| ||||
ServiceRequest.status | required | RequestStatus | ||||
ServiceRequest.intent | required | RequestIntent | ||||
ServiceRequest.category | example | ServiceRequestCategoryCodes | ||||
ServiceRequest.priority | required | RequestPriority | ||||
ServiceRequest.code | preferred | HealthCareCommonProcedureCodingSystem | ||||
ServiceRequest.orderDetail | example | ServiceRequestOrderDetailsCodes | ||||
ServiceRequest.quantity[x]:quantityQuantity.comparator | required | QuantityComparator | ||||
ServiceRequest.quantity[x]:quantityRatio.numerator.comparator | required | QuantityComparator | ||||
ServiceRequest.quantity[x]:quantityRatio.denominator.comparator | required | QuantityComparator | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.durationUnit | required | UnitsOfTime | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.periodUnit | required | UnitsOfTime | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.dayOfWeek | required | DaysOfWeek | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.repeat.when | required | EventTiming | ||||
ServiceRequest.occurrence[x]:occurrenceTiming.code | preferred | TimingAbbreviation | ||||
ServiceRequest.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes | ||||
ServiceRequest.performerType | example | ParticipantRoles | ||||
ServiceRequest.locationCode | example | ServiceDeliveryLocationRoleType | ||||
ServiceRequest.reasonCode | example | ProcedureReasonCodes | ||||
ServiceRequest.bodySite | example | SNOMEDCTBodyStructures |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() | |
tim-1 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() | |
tim-2 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() | |
tim-4 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 | |
tim-5 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 | |
tim-6 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() | |
tim-7 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() | |
tim-8 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() | |
tim-9 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If 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-10 | error | ServiceRequest.occurrence[x]:occurrenceTiming.repeat | If 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:
Maturity: 2
Other representations of profile: CSV, Excel, Schematron