Kenya Lab Order Implementation Guide
0.1.0 - ci-build

Kenya Lab Order Implementation Guide, published by IntelliSOFT Consulting. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/Kenya-LabOrder-IG/ and changes regularly. See the Directory of published versions

Resource Profile: Kenya Order ServiceRequest

Official URL: http://example.org/StructureDefinition/kenya-order-servicerequest Version: 0.1.0
Draft as of 2025-12-18 Computable Name: KenyaCoreServiceRequest

Kenya base profile for request-for-service. Reused by lab orders and referrals.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
Constraints: prr-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..* Identifier Identifiers assigned to this order
.... use ?!SΣ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type SΣ 1..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.
Required Pattern: order
... category SΣ 0..* CodeableConcept Classification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.
.... coding SΣ 1..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 0..1 string Representation defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... priority SΣ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept What is being requested/ordered
Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
.... coding SΣ 1..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 0..1 string Representation defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(Encounter) Encounter in which the request was created
... Slices for occurrence[x] SΣ 1..1 When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime When service should occur
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing When service should occur
... authoredOn SΣ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(PractitionerRole | Practitioner | Organization) Who/what is requesting service
... performer SΣ 1..* Reference(Organization | PractitionerRole | Practitioner | Patient) Requested performer
... reasonCode SΣ 0..* CodeableConcept Explanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.
.... coding SΣ 1..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 0..1 string Representation defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ServiceRequest.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ServiceRequest.identifier.​type Base extensible IdentifierType 📍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.priority Base required Request priority 📍4.0.1 FHIR Std.
ServiceRequest.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
ServiceRequest.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest 0..* ServiceRequest A request for a service to be performed
... identifier S 1..* Identifier Identifiers assigned to this order
.... use S 0..1 code usual | official | temp | secondary | old (If known)
.... type S 1..1 CodeableConcept Description of identifier
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... status S 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
... intent S 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
.... coding S 1..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
..... display S 0..1 string Representation defined by the system
.... text S 0..1 string Plain text representation of the concept
... priority S 0..1 code routine | urgent | asap | stat
... code S 1..1 CodeableConcept What is being requested/ordered
.... coding S 1..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
..... display S 0..1 string Representation defined by the system
.... text S 0..1 string Plain text representation of the concept
... subject S 1..1 Reference(Patient) Individual or Entity the service is ordered for
... encounter S 0..1 Reference(Encounter) Encounter in which the request was created
... Slices for occurrence[x] S 1..1 dateTime, Timing When service should occur
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime S 0..1 dateTime When service should occur
.... occurrence[x]:occurrenceTiming S 0..1 Timing When service should occur
.... occurrence[x]:occurrencePeriod 0..0 When service should occur
... authoredOn S 1..1 dateTime Date request signed
... requester S 1..1 Reference(PractitionerRole | Practitioner | Organization) Who/what is requesting service
... performer S 1..* Reference(Organization | PractitionerRole | Practitioner | Patient) Requested performer
... reasonCode S 0..* CodeableConcept Explanation/Justification for procedure or service
.... coding S 1..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
..... display S 0..1 string Representation defined by the system
.... text S 0..1 string Plain text representation of the concept
... reasonReference S 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Explanation/Justification for service or service

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
Constraints: prr-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..* Identifier Identifiers assigned to this order
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!SΣ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type SΣ 1..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest) What request replaces
... requisition Σ 0..1 Identifier Composite Request ID
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.
Required Pattern: order
... category SΣ 0..* CodeableConcept Classification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.
.... 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Σ 1..* 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Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 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
... priority SΣ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept What is being requested/ordered
Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
.... 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Σ 1..* 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Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 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.
... quantity[x] Σ 0..1 Service amount
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
... subject SΣ 1..1 Reference(Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(Encounter) Encounter in which the request was created
... Slices for occurrence[x] SΣ 1..1 When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime When service should occur
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing When service should occur
... 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Σ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(PractitionerRole | Practitioner | Organization) 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Σ 1..* Reference(Organization | PractitionerRole | Practitioner | Patient) Requested performer
... locationCode Σ 0..* CodeableConcept Requested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.
... locationReference Σ 0..* Reference(Location) Requested location
... reasonCode SΣ 0..* CodeableConcept Explanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.
.... 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Σ 1..* 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Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 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
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Explanation/Justification for service or service
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo 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 0..* Annotation Comments
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ServiceRequest.language Base preferred Common Languages 📍4.0.1 FHIR Std.
ServiceRequest.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ServiceRequest.identifier.​type Base extensible IdentifierType 📍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.priority Base required Request priority 📍4.0.1 FHIR Std.
ServiceRequest.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
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 v7.0
ServiceRequest.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
ServiceRequest.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.

Constraints

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: 12 elements(6 nested mandatory elements)
Must-Support: 35 elements
Prohibited: 1 element

Slices

This structure defines the following Slices:

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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
Constraints: prr-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..* Identifier Identifiers assigned to this order
.... use ?!SΣ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type SΣ 1..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.
Required Pattern: order
... category SΣ 0..* CodeableConcept Classification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.
.... coding SΣ 1..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 0..1 string Representation defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... priority SΣ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept What is being requested/ordered
Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
.... coding SΣ 1..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 0..1 string Representation defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(Encounter) Encounter in which the request was created
... Slices for occurrence[x] SΣ 1..1 When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime When service should occur
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing When service should occur
... authoredOn SΣ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(PractitionerRole | Practitioner | Organization) Who/what is requesting service
... performer SΣ 1..* Reference(Organization | PractitionerRole | Practitioner | Patient) Requested performer
... reasonCode SΣ 0..* CodeableConcept Explanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.
.... coding SΣ 1..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 0..1 string Representation defined by the system
.... text SΣ 0..1 string Plain text representation of the concept
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ServiceRequest.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ServiceRequest.identifier.​type Base extensible IdentifierType 📍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.priority Base required Request priority 📍4.0.1 FHIR Std.
ServiceRequest.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
ServiceRequest.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest 0..* ServiceRequest A request for a service to be performed
... identifier S 1..* Identifier Identifiers assigned to this order
.... use S 0..1 code usual | official | temp | secondary | old (If known)
.... type S 1..1 CodeableConcept Description of identifier
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... status S 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
... intent S 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
.... coding S 1..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
..... display S 0..1 string Representation defined by the system
.... text S 0..1 string Plain text representation of the concept
... priority S 0..1 code routine | urgent | asap | stat
... code S 1..1 CodeableConcept What is being requested/ordered
.... coding S 1..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
..... display S 0..1 string Representation defined by the system
.... text S 0..1 string Plain text representation of the concept
... subject S 1..1 Reference(Patient) Individual or Entity the service is ordered for
... encounter S 0..1 Reference(Encounter) Encounter in which the request was created
... Slices for occurrence[x] S 1..1 dateTime, Timing When service should occur
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime S 0..1 dateTime When service should occur
.... occurrence[x]:occurrenceTiming S 0..1 Timing When service should occur
.... occurrence[x]:occurrencePeriod 0..0 When service should occur
... authoredOn S 1..1 dateTime Date request signed
... requester S 1..1 Reference(PractitionerRole | Practitioner | Organization) Who/what is requesting service
... performer S 1..* Reference(Organization | PractitionerRole | Practitioner | Patient) Requested performer
... reasonCode S 0..* CodeableConcept Explanation/Justification for procedure or service
.... coding S 1..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
..... display S 0..1 string Representation defined by the system
.... text S 0..1 string Plain text representation of the concept
... reasonReference S 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Explanation/Justification for service or service

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
Constraints: prr-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..* Identifier Identifiers assigned to this order
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!SΣ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type SΣ 1..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest) What request replaces
... requisition Σ 0..1 Identifier Composite Request ID
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.
Required Pattern: order
... category SΣ 0..* CodeableConcept Classification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.
.... 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Σ 1..* 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Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 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
... priority SΣ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept What is being requested/ordered
Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
.... 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Σ 1..* 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Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 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.
... quantity[x] Σ 0..1 Service amount
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
... subject SΣ 1..1 Reference(Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(Encounter) Encounter in which the request was created
... Slices for occurrence[x] SΣ 1..1 When service should occur
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime When service should occur
.... occurrence[x]:occurrenceTiming SΣ 0..1 Timing When service should occur
... 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Σ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(PractitionerRole | Practitioner | Organization) 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Σ 1..* Reference(Organization | PractitionerRole | Practitioner | Patient) Requested performer
... locationCode Σ 0..* CodeableConcept Requested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.
... locationReference Σ 0..* Reference(Location) Requested location
... reasonCode SΣ 0..* CodeableConcept Explanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.
.... 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Σ 1..* 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Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display SΣ 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
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Explanation/Justification for service or service
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo 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 0..* Annotation Comments
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ServiceRequest.language Base preferred Common Languages 📍4.0.1 FHIR Std.
ServiceRequest.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ServiceRequest.identifier.​type Base extensible IdentifierType 📍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.priority Base required Request priority 📍4.0.1 FHIR Std.
ServiceRequest.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
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 v7.0
ServiceRequest.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
ServiceRequest.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.

Constraints

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: 12 elements(6 nested mandatory elements)
Must-Support: 35 elements
Prohibited: 1 element

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron