PH eReferral Implementation Guide
0.1.0 - ci-build Philippines

PH eReferral Implementation Guide, published by UP Manila SILab. 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/niccoreyes/ph-ereferral/ and changes regularly. See the Directory of published versions

Resource Profile: EReferral ServiceRequest

Official URL: urn://example.com/ph-ereferral/fhir/StructureDefinition/ereferral-service-request Version: 0.1.0
Draft as of 2026-03-23 Computable Name: ERefServiceRequest

Profile for ServiceRequest resource in the Philippine eReferral context. This profile defines the core referral request structure for referring patients between healthcare facilities.

EReferral ServiceRequest Profile

The EReferral ServiceRequest profile defines the core structure for electronic referral requests in the Philippine healthcare context. It is based on the FHIR ServiceRequest resource and establishes the minimum expectations for systems implementing patient referrals between healthcare facilities.


Scope and Purpose

This profile supports the electronic exchange of referral information between:

  • Rural Health Units (RHUs) and tertiary hospitals
  • Primary care facilities and specialist centers
  • Any healthcare facilities participating in the Philippine eReferral system

The profile maps to the Technical Working Group on Digital Health (TDG) eReferral Data Elements (rows REF-1 through REF-21), ensuring alignment with national health data standards.


Key Concepts

Referral Requester (Initiating Facility)

The requester element uses a PractitionerRole reference to capture:

TDG Row Data Element FHIR Path
REF-1 Name of Referring Practitioner requester (via PractitionerRole -> Practitioner)
REF-2 Practitioner Role requester.code (PractitionerRole.code)
REF-5 Initiating Facility Name requester (via PractitionerRole's Organization)
REF-6 Initiating Facility NHFR Code requester (via PractitionerRole's Organization.identifier)
REF-7 Initiating Facility Address requester (via PractitionerRole's Organization.address)
REF-8 Initiating Facility Contact Number requester (via PractitionerRole's Organization.telecom)

Example:

* requester = Reference(PractitionerRole/123)
  // PractitionerRole links to both Practitioner and Organization
Referral Performer (Receiving Facility)

The performer element identifies where the service should be performed:

TDG Row Data Element FHIR Path
REF-9 Care Navigator performer (via PractitionerRole on receiving side)
REF-10 Receiving Facility Name performer -> PractitionerRole.organization.display
REF-11 Receiving Facility NHFR Code performer -> PractitionerRole.organization.identifier

Example:

* performer = Reference(Organization/456)
  // Direct reference to receiving hospital
Referral Category and Priority

The profile uses value sets to standardize categorization:

Element Value Set Binding Description
category EReferralServiceCategory Extensible Type of service (imaging, laboratory, surgical, etc.)
priority EReferralPriority Required Urgency level: routine, urgent, or stat
intent Fixed value N/A Always #order for referrals

Example:

* category = $sct#363679005 "Imaging"
* priority = #urgent
* intent = #order  // Fixed value
Reason for Referral

The profile supports both coded and free-text reasons:

TDG Row Data Element FHIR Path
REF-16 Reason for Referral (service type) code
REF-16 Reason for Referral (clinical) reasonCode, reasonReference

The reasonCode element is bound to the EReferralReason value set (example binding), which includes common SNOMED CT clinical findings such as:

  • Dyspnea
  • Chest pain
  • Suspected lung cancer
  • Congestive heart failure
  • Atrial fibrillation
  • Essential hypertension
  • Diabetes mellitus
  • Anxiety disorder

Example:

* code = $sct#183519001 "Referral to cardiology service"
* reasonCode = $sct#29857009 "Chest pain"
  * text = "Chest pain on exertion, suspected unstable angina"
* reasonReference = Reference(Condition/789)
Supporting Clinical Information

The supportingInfo element allows attaching relevant clinical data:

TDG Row Data Element FHIR Path
REF-15 Clinical Summary supportingInfo

Allowed resource types:

  • Condition - Diagnoses and clinical problems
  • Observation - Vital signs, lab results, imaging findings
  • Procedure - Previous procedures relevant to referral
  • MedicationAdministration - Current medications
  • Immunization - Vaccination history

Example:

* supportingInfo[0] = Reference(Observation/BP-001)
* supportingInfo[+] = Reference(Observation/ECG-001)
* supportingInfo[+] = Reference(Condition/Diabetes-001)

Must Support Elements

The following elements are marked as Must Support and must be implemented by conformant systems:

Element Cardinality Description
requester 1..1 Referring practitioner (via PractitionerRole)
relevantHistory 0..* Audit trail via Provenance
performer 0..* Receiving facility or practitioner
authoredOn 0..1 When the referral was created
category 0..* Type of referral service
priority 0..1 Urgency level
intent 0..1 Always "order" for referrals
occurrence[x] 0..1 When the service is needed
supportingInfo 0..* Clinical information
code 0..1 Service type being requested
reasonCode 0..* Clinical reason for referral
reasonReference 0..* Conditions/Observations justifying referral
subject 0..1 Patient being referred
status 0..1 Referral status
note 0..* Additional instructions
requisition 0..1 Referral identifier

Invariants

The profile includes the following validation rule:

Invariant Severity Expression Description
ereferral-requester-has-role Warning requester.resolve().ofType(PractitionerRole).exists() implies requester.resolve().ofType(PractitionerRole).organization.exists() If using PractitionerRole, facility information should be available

Referral Lifecycle

The status element tracks the referral through its lifecycle:

Status Description
draft Referral is being prepared
active Referral has been sent and is awaiting response
on-hold Referral temporarily suspended
revoked Referral cancelled by requester
completed Service has been rendered
entered-in-error Referral created in error
unknown Status cannot be determined

Usage Scenarios

Scenario 1: RHU to Tertiary Hospital Cardiology Referral

A patient at a Rural Health Unit presents with chest pain. The physician creates an urgent referral to a cardiology department.

Instance: CardiologyReferral
InstanceOf: ERefServiceRequest
* status = #active
* intent = #order
* priority = #urgent
* category = $sct#409063005 "Counselling"
* code = $sct#183519001 "Referral to cardiology service"
* subject = Reference(Patient/001)
* authoredOn = "2025-03-23T10:00:00+08:00"
* requester = Reference(PractitionerRole/DrSantos)
* performer = Reference(Organization/PhilHeartCenter)
* reasonCode = $sct#29857009 "Chest pain"
* occurrenceDateTime = "2025-03-24T08:00:00+08:00"
Scenario 2: Diagnostic Imaging Referral

A primary care physician refers a patient for X-ray imaging at a diagnostic center.

Instance: XrayReferral
InstanceOf: ERefServiceRequest
* status = #active
* intent = #order
* priority = #routine
* category = $sct#363679005 "Imaging"
* code = $sct#168537006 "Plain X-ray of chest"
* subject = Reference(Patient/002)
* authoredOn = "2025-03-23T14:30:00+08:00"
* requester = Reference(PractitionerRole/DrReyes)
* performer = Reference(Organization/DiagnosticCenter)
* reasonCode = $sct#267036007 "Dyspnea"
* note.text = "Please evaluate for pulmonary infiltrates. Patient has history of pneumonia."

Integration with Other Resources

The EReferral ServiceRequest typically works with:

Resource Relationship Purpose
Patient subject Patient being referred
PractitionerRole requester Referring practitioner with organization context
Organization performer Receiving facility
Condition reasonReference, supportingInfo Clinical diagnoses
Observation supportingInfo Vital signs, lab results
Provenance relevantHistory Audit trail and signatures
Encounter Context Often linked via Encounter context

Philippine-Specific Identifiers

Implementers should use the following identifier systems for Philippine healthcare contexts:

Identifier Type System URL Description
Philippine Health Insurance (PhilHealth) urn:oid:2.16.840.1.113883.2.9.4.3.2 Patient PhilHealth ID
Professional Regulation Commission (PRC) urn:oid:2.16.840.1.113883.2.9.4.3.3 Practitioner license
National Health Facility Registry (NHFR) urn:oid:2.16.840.1.113883.2.9.4.1.1 Facility identifier

Value Sets

This profile uses the following value sets defined for eReferral:

Value Set Description
EReferralServiceCategory Categories of referral services
EReferralPriority Priority levels for referrals
EReferralReason Clinical reasons for referral

Additional Notes

  • Intent: The intent element is fixed to #order because eReferrals are always orders for services to be performed.
  • Requisition ID: Use the requisition element to group related referrals that were authorized simultaneously.
  • Time Called: Use occurrenceDateTime or occurrencePeriod to specify when the service is needed.
  • Audit Trail: The relevantHistory element references Provenance resources for tracking changes and signatures.

See Also

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, ereferral-requester-has-role
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... requisition SΣ 0..1 Identifier Referral identifier
... intent ?!SΣ 1..1 code Intent is always 'order' for referrals
Binding: RequestIntent (required): The kind of service request.
Fixed Value: order
... category SΣ 0..* CodeableConcept Type of referral service requested
Binding: eReferral Service Category (extensible)
... priority SΣ 0..1 code Urgency/priority of the referral
Binding: eReferral Priority (required)
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 0..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.
... subject SΣ 1..1 Reference(Patient) Patient being referred
... occurrence[x] SΣ 0..1 When the service is needed
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn SΣ 0..1 dateTime When the referral was authored
... requester SΣ 1..1 Reference(PractitionerRole) Referring practitioner
... performer SΣ 0..* Reference(Organization | PractitionerRole) Receiving facility or practitioner
... reasonCode SΣ 0..* CodeableConcept Reason for referral
Binding: eReferral Reason (example)
... reasonReference SΣ 0..* Reference(Condition | Observation) Conditions or observations supporting referral
... supportingInfo S 0..* Reference(Condition | Observation | Procedure | MedicationAdministration | Immunization) Additional clinical information
... note S 0..* Annotation Additional notes or instructions
... relevantHistory S 0..* Reference(Provenance) Referral audit trail

doco Documentation for this format

Terminology Bindings

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 extensible

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-service-category

Not State Unknown
ServiceRequest.priority Base required

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-priority

Not State Unknown
ServiceRequest.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
ServiceRequest.reasonCode Base example

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-reason

Not State Unknown

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())
ereferral-requester-has-role warning ServiceRequest The requester should reference a PractitionerRole when referring facility information is available requester.resolve().ofType(PractitionerRole).exists() implies requester.resolve().ofType(PractitionerRole).organization.exists()
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 C 0..* ServiceRequest A request for a service to be performed
Constraints: ereferral-requester-has-role
... requisition S 0..1 Identifier Referral identifier
... status S 1..1 code Referral status
... intent S 1..1 code Intent is always 'order' for referrals
Fixed Value: order
... priority S 0..1 code Urgency/priority of the referral
Binding: eReferral Priority (required)
... code S 0..1 CodeableConcept What is being requested/ordered
... subject S 1..1 Reference(Patient) Patient being referred
... occurrence[x] S 0..1 dateTime, Period, Timing When the service is needed
... authoredOn S 0..1 dateTime When the referral was authored
... requester S 1..1 Reference(PractitionerRole) Referring practitioner
... performer S 0..* Reference(Organization | PractitionerRole) Receiving facility or practitioner
... reasonCode S 0..* CodeableConcept Reason for referral
Binding: eReferral Reason (example)
... reasonReference S 0..* Reference(Condition | Observation) Conditions or observations supporting referral
... supportingInfo S 0..* Reference(Condition | Observation | Procedure | MedicationAdministration | Immunization) Additional clinical information
... note S 0..* Annotation Additional notes or instructions
... relevantHistory S 0..* Reference(Provenance) Referral audit trail

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ServiceRequest.category Base extensible

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-service-category

Not State Unknown
ServiceRequest.priority Base required

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-priority

Not State Unknown
ServiceRequest.reasonCode Base example

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-reason

Not State Unknown

Constraints

Id Grade Path(s) Description Expression
ereferral-requester-has-role warning ServiceRequest The requester should reference a PractitionerRole when referring facility information is available requester.resolve().ofType(PractitionerRole).exists() implies requester.resolve().ofType(PractitionerRole).organization.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
Constraints: prr-1, ereferral-requester-has-role
... 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 Σ 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 | ServiceRequest | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest) What request replaces
... requisition SΣ 0..1 Identifier Referral identifier
... status ?!SΣ 1..1 code Referral status
Binding: RequestStatus (required): The status of a service order.
... intent ?!SΣ 1..1 code Intent is always 'order' for referrals
Binding: RequestIntent (required): The kind of service request.
Fixed Value: order
... category SΣ 0..* CodeableConcept Type of referral service requested
Binding: eReferral Service Category (extensible)
... priority SΣ 0..1 code Urgency/priority of the referral
Binding: eReferral Priority (required)
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 0..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.
... 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) Patient being referred
... encounter Σ 0..1 Reference(Encounter) Encounter in which the request was created
... occurrence[x] SΣ 0..1 When the service is needed
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... 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 When the referral was authored
... requester SΣ 1..1 Reference(PractitionerRole) Referring practitioner
... 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(Organization | PractitionerRole) Receiving facility or practitioner
... 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 Reason for referral
Binding: eReferral Reason (example)
... reasonReference SΣ 0..* Reference(Condition | Observation) Conditions or observations supporting referral
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo S 0..* Reference(Condition | Observation | Procedure | MedicationAdministration | Immunization) 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 Additional notes or instructions
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory S 0..* Reference(Provenance) Referral audit trail

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.status Base required RequestStatus 📍4.0.1 FHIR Std.
ServiceRequest.intent Base required RequestIntent 📍4.0.1 FHIR Std.
ServiceRequest.category Base extensible

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-service-category

Not State Unknown
ServiceRequest.priority Base required

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-priority

Not State Unknown
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.1
ServiceRequest.reasonCode Base example

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-reason

Not State Unknown
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())
ereferral-requester-has-role warning ServiceRequest The requester should reference a PractitionerRole when referring facility information is available requester.resolve().ofType(PractitionerRole).exists() implies requester.resolve().ofType(PractitionerRole).organization.exists()
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: 16 elements
Fixed: 1 element

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
Constraints: prr-1, ereferral-requester-has-role
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... requisition SΣ 0..1 Identifier Referral identifier
... intent ?!SΣ 1..1 code Intent is always 'order' for referrals
Binding: RequestIntent (required): The kind of service request.
Fixed Value: order
... category SΣ 0..* CodeableConcept Type of referral service requested
Binding: eReferral Service Category (extensible)
... priority SΣ 0..1 code Urgency/priority of the referral
Binding: eReferral Priority (required)
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 0..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.
... subject SΣ 1..1 Reference(Patient) Patient being referred
... occurrence[x] SΣ 0..1 When the service is needed
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn SΣ 0..1 dateTime When the referral was authored
... requester SΣ 1..1 Reference(PractitionerRole) Referring practitioner
... performer SΣ 0..* Reference(Organization | PractitionerRole) Receiving facility or practitioner
... reasonCode SΣ 0..* CodeableConcept Reason for referral
Binding: eReferral Reason (example)
... reasonReference SΣ 0..* Reference(Condition | Observation) Conditions or observations supporting referral
... supportingInfo S 0..* Reference(Condition | Observation | Procedure | MedicationAdministration | Immunization) Additional clinical information
... note S 0..* Annotation Additional notes or instructions
... relevantHistory S 0..* Reference(Provenance) Referral audit trail

doco Documentation for this format

Terminology Bindings

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 extensible

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-service-category

Not State Unknown
ServiceRequest.priority Base required

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-priority

Not State Unknown
ServiceRequest.code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
ServiceRequest.reasonCode Base example

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-reason

Not State Unknown

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())
ereferral-requester-has-role warning ServiceRequest The requester should reference a PractitionerRole when referring facility information is available requester.resolve().ofType(PractitionerRole).exists() implies requester.resolve().ofType(PractitionerRole).organization.exists()
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 C 0..* ServiceRequest A request for a service to be performed
Constraints: ereferral-requester-has-role
... requisition S 0..1 Identifier Referral identifier
... status S 1..1 code Referral status
... intent S 1..1 code Intent is always 'order' for referrals
Fixed Value: order
... priority S 0..1 code Urgency/priority of the referral
Binding: eReferral Priority (required)
... code S 0..1 CodeableConcept What is being requested/ordered
... subject S 1..1 Reference(Patient) Patient being referred
... occurrence[x] S 0..1 dateTime, Period, Timing When the service is needed
... authoredOn S 0..1 dateTime When the referral was authored
... requester S 1..1 Reference(PractitionerRole) Referring practitioner
... performer S 0..* Reference(Organization | PractitionerRole) Receiving facility or practitioner
... reasonCode S 0..* CodeableConcept Reason for referral
Binding: eReferral Reason (example)
... reasonReference S 0..* Reference(Condition | Observation) Conditions or observations supporting referral
... supportingInfo S 0..* Reference(Condition | Observation | Procedure | MedicationAdministration | Immunization) Additional clinical information
... note S 0..* Annotation Additional notes or instructions
... relevantHistory S 0..* Reference(Provenance) Referral audit trail

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ServiceRequest.category Base extensible

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-service-category

Not State Unknown
ServiceRequest.priority Base required

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-priority

Not State Unknown
ServiceRequest.reasonCode Base example

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-reason

Not State Unknown

Constraints

Id Grade Path(s) Description Expression
ereferral-requester-has-role warning ServiceRequest The requester should reference a PractitionerRole when referring facility information is available requester.resolve().ofType(PractitionerRole).exists() implies requester.resolve().ofType(PractitionerRole).organization.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
Constraints: prr-1, ereferral-requester-has-role
... 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 Σ 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 | ServiceRequest | MedicationRequest) What request fulfills
... replaces Σ 0..* Reference(ServiceRequest) What request replaces
... requisition SΣ 0..1 Identifier Referral identifier
... status ?!SΣ 1..1 code Referral status
Binding: RequestStatus (required): The status of a service order.
... intent ?!SΣ 1..1 code Intent is always 'order' for referrals
Binding: RequestIntent (required): The kind of service request.
Fixed Value: order
... category SΣ 0..* CodeableConcept Type of referral service requested
Binding: eReferral Service Category (extensible)
... priority SΣ 0..1 code Urgency/priority of the referral
Binding: eReferral Priority (required)
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code SΣ 0..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.
... 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) Patient being referred
... encounter Σ 0..1 Reference(Encounter) Encounter in which the request was created
... occurrence[x] SΣ 0..1 When the service is needed
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... 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 When the referral was authored
... requester SΣ 1..1 Reference(PractitionerRole) Referring practitioner
... 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(Organization | PractitionerRole) Receiving facility or practitioner
... 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 Reason for referral
Binding: eReferral Reason (example)
... reasonReference SΣ 0..* Reference(Condition | Observation) Conditions or observations supporting referral
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo S 0..* Reference(Condition | Observation | Procedure | MedicationAdministration | Immunization) 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 Additional notes or instructions
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory S 0..* Reference(Provenance) Referral audit trail

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.status Base required RequestStatus 📍4.0.1 FHIR Std.
ServiceRequest.intent Base required RequestIntent 📍4.0.1 FHIR Std.
ServiceRequest.category Base extensible

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-service-category

Not State Unknown
ServiceRequest.priority Base required

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-priority

Not State Unknown
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.1
ServiceRequest.reasonCode Base example

urn://example.com/ph-ereferral/fhir/ValueSet/ereferral-reason

Not State Unknown
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())
ereferral-requester-has-role warning ServiceRequest The requester should reference a PractitionerRole when referring facility information is available requester.resolve().ofType(PractitionerRole).exists() implies requester.resolve().ofType(PractitionerRole).organization.exists()
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: 16 elements
Fixed: 1 element

 

Other representations of profile: CSV, Excel, Schematron