US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 9.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-pmo-servicerequest | Version: 9.0.0-ballot | |||
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCorePMOServiceRequestProfile | ||
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.70 | ||||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
The US Core PMO ServiceRequest Profile inherits from the FHIR ServiceRequest resource; refer to it for scope and usage definitions. This profile represents an order based on a PMO document and references the US Core ADI DocumentReference Profile to communicate the contents of the PMO document, such as POLST, MOLST, or other state-specific forms. PMO documents follow the patient across care settings and are typically stored as scanned images in EMRs/EHRs. Together, these two profiles satisfy the USCDI's PMO Order Data Element's intent to represent orders based on an individual's PMO. The US Core PMO ServiceRequest Profile establishes minimum expectations for recording, searching, and fetching PMO-related ServiceRequest information, specifying core elements, extensions, vocabularies, and value sets that SHALL be present to promote interoperability.
The decision to add the US Core PMO Service Request Profile and to meet the USCDI's PMO Order Data Element definition sparked a healthy debate on whether ServiceRequest
is necessary for actionable orders or if DocumentReference
is sufficient for PMO portability and patient access.
The rationale for adding ServiceRequest to represent the USCDI PMO Order includes:
The concerns include:
ServiceRequest
reflects only part of a PMO order and may not fully capture the PMO's scope.ServiceRequest
could add unnecessary complexity without clear justification.DocumentReference
-based design already meets PMO requirements for USCDIWe request feedback on the clinical utility of this profile and its implications for certification
.
Example Usage Scenarios:
The following are example usage scenarios for this profile:
The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.
Each Service Request Must Have:
Each Service Request Must Support:
*see guidance below
This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.
ServiceRequest.code
is bound to US Core Procedure Codes, a broadly defined value set that accommodates many healthcare domains, it has several additional bindings based on the PMO categories found in ServiceRequest.category
. The additional bindings are displayed in ServiceRequest.code
's Description and Constrain column in the formal definition below.ServiceRequest.requester
communicates the individual level provenance author data corresponding to the U.S. Core Data for Interoperability (USCDI) Provenance Author Data Elements.Usages:
You can also check for usages in the FHIR IG Statistics
Changes since version 8.0.0:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Note: To allow for the resource life cycle, no constraint on intent, use "directive" in PMO document Binding: RequestIntent (required): The kind of service request. | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by value:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Multiple portable medical order categories vs a single "PMO" category (2 vs 3 level code heirarchy)? Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders (extensible) | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed | ||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | What is being requested/ordered Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code (extensible): Portable Medical Order panel answers - mostly free-text
| ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the PMO procedure or service. | ||||||||||||
![]() ![]() ![]() |
SΣC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation to capture additional PMO order details. | ||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile) | limited to Patient | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Encounter Profile) | **NOT USED WHEN PART OF A PMO DOCUMENT** | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Often just a start date | |||||||||||||
![]() ![]() ![]() ![]() |
Period S | |||||||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||||||
![]() ![]() ![]() ![]() |
Timing | |||||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | Date Order signed vs date of PMO document - same if part of PMO document | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | PractitionerRole) | Authored only by Practitioner | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: US Core Condition Codes (extensible) | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | Reference(US Core ADI DocumentReference Profile S | us-core-condition | us-core-observation | us-core-diagnosticreport) | US Core ADI DocumentReference Profile or other US Core profiles that support the requested PMO service. | ||||||||||||
![]() |
Path | Status | Usage | ValueSet | Version | Source |
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.category:us-core-pmo | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders | ? | Unknown |
ServiceRequest.code | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code | ? | Unknown |
ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦9.0.0-ballot | This IG |
Id | Grade | Path(s) | Description | Expression |
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()
|
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() ![]() |
0..* | ServiceRequest | A request for a service to be performed | |||||||||||||
![]() ![]() ![]() |
S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown | ||||||||||||
![]() ![]() ![]() |
S | 1..1 | code | Note: To allow for the resource life cycle, no constraint on intent, use "directive" in PMO document | ||||||||||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by value:$this | ||||||||||||
![]() ![]() ![]() ![]() |
S | 0..* | CodeableConcept | Multiple portable medical order categories vs a single "PMO" category (2 vs 3 level code heirarchy)? Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders (extensible) | ||||||||||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | What is being requested/ordered Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code (extensible): Portable Medical Order panel answers - mostly free-text
| ||||||||||||
![]() ![]() ![]() ![]() |
S | 0..1 | string | Plain text representation of the PMO procedure or service. | ||||||||||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Additional order information | ||||||||||||
![]() ![]() ![]() ![]() |
S | 0..1 | string | Plain text representation to capture additional PMO order details. | ||||||||||||
![]() ![]() ![]() |
S | 1..1 | Reference(US Core Patient Profile) | limited to Patient | ||||||||||||
![]() ![]() ![]() |
S | 0..1 | Reference(US Core Encounter Profile) | **NOT USED WHEN PART OF A PMO DOCUMENT** | ||||||||||||
![]() ![]() ![]() |
S | 0..1 | Often just a start date | |||||||||||||
![]() ![]() ![]() ![]() |
Period S | |||||||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||||||
![]() ![]() ![]() ![]() |
Timing | |||||||||||||||
![]() ![]() ![]() |
S | 0..1 | dateTime | Date Order signed vs date of PMO document - same if part of PMO document | ||||||||||||
![]() ![]() ![]() |
S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | PractitionerRole) | Authored only by Practitioner | ||||||||||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: US Core Condition Codes (extensible) | ||||||||||||
![]() ![]() ![]() |
S | 0..* | Reference(US Core ADI DocumentReference Profile S | us-core-condition | us-core-observation | us-core-diagnosticreport) | US Core ADI DocumentReference Profile or other US Core profiles that support the requested PMO service. | ||||||||||||
![]() |
Path | Status | Usage | ValueSet | Version | Source |
ServiceRequest.category:us-core-pmo | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders | ? | Unknown |
ServiceRequest.code | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code | ? | Unknown |
ServiceRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦9.0.0-ballot | This IG |
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||||||||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||||||||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Identifiers assigned to this order | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(ServiceRequest) | What request replaces | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Composite Request ID | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Note: To allow for the resource life cycle, no constraint on intent, use "directive" in PMO document Binding: RequestIntent (required): The kind of service request. | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by value:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Multiple portable medical order categories vs a single "PMO" category (2 vs 3 level code heirarchy)? Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders (extensible) | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed | ||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | What is being requested/ordered Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code (extensible): Portable Medical Order panel answers - mostly free-text
| ||||||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the PMO procedure or service. | ||||||||||||
![]() ![]() ![]() |
SΣC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation to capture additional PMO order details. | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | Service amount | |||||||||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||||||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||||||||||
![]() ![]() ![]() ![]() |
Range | |||||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile) | limited to Patient | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Encounter Profile) | **NOT USED WHEN PART OF A PMO DOCUMENT** | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Often just a start date | |||||||||||||
![]() ![]() ![]() ![]() |
Period S | |||||||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||||||
![]() ![]() ![]() ![]() |
Timing | |||||||||||||||
![]() ![]() ![]() |
Σ | 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. | |||||||||||||
![]() ![]() ![]() ![]() |
boolean | |||||||||||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | Date Order signed vs date of PMO document - same if part of PMO document | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | PractitionerRole) | Authored only by Practitioner | ||||||||||||
![]() ![]() ![]() |
Σ | 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. | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Requested location Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered. | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Location) | Requested location | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: US Core Condition Codes (extensible) | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | Reference(US Core ADI DocumentReference Profile S | us-core-condition | us-core-observation | us-core-diagnosticreport) | US Core ADI DocumentReference Profile or other US Core profiles that support the requested PMO service. | ||||||||||||
![]() ![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||||||||||
![]() ![]() ![]() |
0..* | Reference(Resource) | Additional clinical information | |||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Specimen) | Procedure Samples | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||||||||||
![]() ![]() ![]() |
0..* | Annotation | Comments | |||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | string | Patient or consumer-oriented instructions | ||||||||||||
![]() ![]() ![]() |
0..* | Reference(Provenance) | Request provenance | |||||||||||||
![]() |
Path | Status | Usage | ValueSet | Version | Source |
ServiceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.category:us-core-pmo | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders | ? | Unknown |
ServiceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
ServiceRequest.code | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code | ? | Unknown |
ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std. |
ServiceRequest.locationCode | Base | example | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v6.5 |
ServiceRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦9.0.0-ballot | This IG |
ServiceRequest.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
Id | Grade | Path(s) | Description | Expression |
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()
|
This structure is derived from ServiceRequest
Summary
Mandatory: 1 element
Must-Support: 15 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 3
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Note: To allow for the resource life cycle, no constraint on intent, use "directive" in PMO document Binding: RequestIntent (required): The kind of service request. | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by value:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Multiple portable medical order categories vs a single "PMO" category (2 vs 3 level code heirarchy)? Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders (extensible) | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed | ||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | What is being requested/ordered Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code (extensible): Portable Medical Order panel answers - mostly free-text
| ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the PMO procedure or service. | ||||||||||||
![]() ![]() ![]() |
SΣC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation to capture additional PMO order details. | ||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile) | limited to Patient | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Encounter Profile) | **NOT USED WHEN PART OF A PMO DOCUMENT** | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Often just a start date | |||||||||||||
![]() ![]() ![]() ![]() |
Period S | |||||||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||||||
![]() ![]() ![]() ![]() |
Timing | |||||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | Date Order signed vs date of PMO document - same if part of PMO document | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | PractitionerRole) | Authored only by Practitioner | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: US Core Condition Codes (extensible) | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | Reference(US Core ADI DocumentReference Profile S | us-core-condition | us-core-observation | us-core-diagnosticreport) | US Core ADI DocumentReference Profile or other US Core profiles that support the requested PMO service. | ||||||||||||
![]() |
Path | Status | Usage | ValueSet | Version | Source |
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.category:us-core-pmo | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders | ? | Unknown |
ServiceRequest.code | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code | ? | Unknown |
ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦9.0.0-ballot | This IG |
Id | Grade | Path(s) | Description | Expression |
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()
|
Differential View
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() ![]() |
0..* | ServiceRequest | A request for a service to be performed | |||||||||||||
![]() ![]() ![]() |
S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown | ||||||||||||
![]() ![]() ![]() |
S | 1..1 | code | Note: To allow for the resource life cycle, no constraint on intent, use "directive" in PMO document | ||||||||||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by value:$this | ||||||||||||
![]() ![]() ![]() ![]() |
S | 0..* | CodeableConcept | Multiple portable medical order categories vs a single "PMO" category (2 vs 3 level code heirarchy)? Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders (extensible) | ||||||||||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | What is being requested/ordered Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code (extensible): Portable Medical Order panel answers - mostly free-text
| ||||||||||||
![]() ![]() ![]() ![]() |
S | 0..1 | string | Plain text representation of the PMO procedure or service. | ||||||||||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Additional order information | ||||||||||||
![]() ![]() ![]() ![]() |
S | 0..1 | string | Plain text representation to capture additional PMO order details. | ||||||||||||
![]() ![]() ![]() |
S | 1..1 | Reference(US Core Patient Profile) | limited to Patient | ||||||||||||
![]() ![]() ![]() |
S | 0..1 | Reference(US Core Encounter Profile) | **NOT USED WHEN PART OF A PMO DOCUMENT** | ||||||||||||
![]() ![]() ![]() |
S | 0..1 | Often just a start date | |||||||||||||
![]() ![]() ![]() ![]() |
Period S | |||||||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||||||
![]() ![]() ![]() ![]() |
Timing | |||||||||||||||
![]() ![]() ![]() |
S | 0..1 | dateTime | Date Order signed vs date of PMO document - same if part of PMO document | ||||||||||||
![]() ![]() ![]() |
S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | PractitionerRole) | Authored only by Practitioner | ||||||||||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: US Core Condition Codes (extensible) | ||||||||||||
![]() ![]() ![]() |
S | 0..* | Reference(US Core ADI DocumentReference Profile S | us-core-condition | us-core-observation | us-core-diagnosticreport) | US Core ADI DocumentReference Profile or other US Core profiles that support the requested PMO service. | ||||||||||||
![]() |
Path | Status | Usage | ValueSet | Version | Source |
ServiceRequest.category:us-core-pmo | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders | ? | Unknown |
ServiceRequest.code | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code | ? | Unknown |
ServiceRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦9.0.0-ballot | This IG |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||||||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||||||||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||||||||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||||||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Identifiers assigned to this order | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(ServiceRequest) | What request replaces | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Composite Request ID | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||||||||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Note: To allow for the resource life cycle, no constraint on intent, use "directive" in PMO document Binding: RequestIntent (required): The kind of service request. | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Classification of service Slice: Unordered, Open by value:$this Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Multiple portable medical order categories vs a single "PMO" category (2 vs 3 level code heirarchy)? Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders (extensible) | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||||||||||
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed | ||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | What is being requested/ordered Binding: http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code (extensible): Portable Medical Order panel answers - mostly free-text
| ||||||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation of the PMO procedure or service. | ||||||||||||
![]() ![]() ![]() |
SΣC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||||||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | string | Plain text representation to capture additional PMO order details. | ||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | Service amount | |||||||||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||||||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||||||||||
![]() ![]() ![]() ![]() |
Range | |||||||||||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile) | limited to Patient | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Encounter Profile) | **NOT USED WHEN PART OF A PMO DOCUMENT** | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Often just a start date | |||||||||||||
![]() ![]() ![]() ![]() |
Period S | |||||||||||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||||||||||
![]() ![]() ![]() ![]() |
Timing | |||||||||||||||
![]() ![]() ![]() |
Σ | 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. | |||||||||||||
![]() ![]() ![]() ![]() |
boolean | |||||||||||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | Date Order signed vs date of PMO document - same if part of PMO document | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | PractitionerRole) | Authored only by Practitioner | ||||||||||||
![]() ![]() ![]() |
Σ | 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. | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Requested location Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered. | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Location) | Requested location | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: US Core Condition Codes (extensible) | ||||||||||||
![]() ![]() ![]() |
SΣ | 0..* | Reference(US Core ADI DocumentReference Profile S | us-core-condition | us-core-observation | us-core-diagnosticreport) | US Core ADI DocumentReference Profile or other US Core profiles that support the requested PMO service. | ||||||||||||
![]() ![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||||||||||
![]() ![]() ![]() |
0..* | Reference(Resource) | Additional clinical information | |||||||||||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Specimen) | Procedure Samples | ||||||||||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||||||||||
![]() ![]() ![]() |
0..* | Annotation | Comments | |||||||||||||
![]() ![]() ![]() |
Σ | 0..1 | string | Patient or consumer-oriented instructions | ||||||||||||
![]() ![]() ![]() |
0..* | Reference(Provenance) | Request provenance | |||||||||||||
![]() |
Path | Status | Usage | ValueSet | Version | Source |
ServiceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.category:us-core-pmo | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-portable-medical-orders | ? | Unknown |
ServiceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
ServiceRequest.code | Base | extensible | http://hl7.org/fhir/us/core/ValueSet/us-core-pmo-procedure-code | ? | Unknown |
ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std. |
ServiceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std. |
ServiceRequest.locationCode | Base | example | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v6.5 |
ServiceRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦9.0.0-ballot | This IG |
ServiceRequest.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
Id | Grade | Path(s) | Description | Expression |
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()
|
This structure is derived from ServiceRequest
Summary
Mandatory: 1 element
Must-Support: 15 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 3
Other representations of profile: CSV, Excel, Schematron
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
Servers providing access to pmo order data SHALL support these US Core SMART Scopes:
<patient|user|system>/ServiceRequest.rs
The following search parameters and search parameter combinations SHALL be supported:
SHALL support searching for all servicerequests for a patient using the patient
search parameter:
GET [base]/ServiceRequest?patient={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient (how to search by reference)
SHALL support both read ServiceRequest by id
AND ServiceRequest search using the _id
search parameter:
GET [base]/ServiceRequest/[id]
or GET [base]/ServiceRequest?_id=[id]
Example:
Implementation Notes: (how to search by the logical id of the resource)
SHALL support searching using the combination of the patient
and category
search parameters:
GET [base]/ServiceRequest?patient={Type/}[id]&category={system|}[code]
Example:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and a category code (how to search by reference and how to search by token)
patient
and code
search parameters:
code
(e.g.code={system|}[code],{system|}[code],...
)GET [base]/ServiceRequest?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}
Example:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and report code(s). SHOULD support search by multiple report codes. (how to search by reference and how to search by token)
patient
and category
and authored
search parameters:
authored
comparators: gt,lt,ge,le
authored
(e.g.authored=[date]&authored=[date]]&...
)GET [base]/ServiceRequest?patient={Type/}[id]&category={system|}[code]&authored={gt|lt|ge|le}[date]{&authored={gt|lt|ge|le}[date]&...}
Example:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and date and a category code (how to search by reference and how to search by token and how to search by date)
The following search parameter combinations SHOULD be supported:
patient
and status
search parameters:
status
(e.g.status={system|}[code],{system|}[code],...
)GET [base]/ServiceRequest?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}
Example:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and status (how to search by reference and how to search by token)
patient
and code
and authored
search parameters:
code
(e.g.code={system|}[code],{system|}[code],...
)authored
comparators: gt,lt,ge,le
authored
(e.g.authored=[date]&authored=[date]]&...
)GET [base]/ServiceRequest?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}&authored={gt|lt|ge|le}[date]{&authored={gt|lt|ge|le}[date]&...}
Example:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and date and service code(s). SHOULD support search by multiple report codes. (how to search by reference and how to search by token and how to search by date)