FHIR Artifacts > Structure Definition: ServiceRequest Profile

Structure Definition: ServiceRequest Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest

Simplifier project page: ServiceRequest

Derived from: ServiceRequest (R4)

Formal Views of Profile Content

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

Differential View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
url1..1System.StringFixed Value
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
valueReferenceReference(Location)
url1..1System.StringFixed Value
codingS Σ0..*CodingBinding
textΣ0..1string
CopiedParticipantsS I0..1Extension(Reference(PractitionerRole))
DARTS I0..1Extension(Complex)
DARCS I0..1Extension(Complex)
useΣ ?!0..1codeBinding
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnΣ I0..1Reference(ServiceRequest)
replacesΣ I0..*Reference(ServiceRequest)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBindingFixed Value
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityS Σ0..1codeBinding
doNotPerformΣ ?!0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ1..1dateTime
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
performerIdentifierS I0..1Extension(Identifier)
referenceS Σ I0..1string
typeΣ0..1uriBinding
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
locationReferenceΣ I0..*Reference(Location)
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textS Σ0..1string
reasonReferenceΣ I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)
insuranceI0..*Reference(Coverage | ClaimResponse)
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
specimenΣ I0..*Reference(Specimen)
bodySiteΣ0..*CodeableConceptBinding
authorStringstring
authorReferenceReference(Practitioner | Organization | Patient)
timeΣ0..1dateTime
textS Σ1..1markdown
patientInstructionΣ0..1string
relevantHistoryI0..*Reference(Provenance)

Hybrid View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
url1..1System.StringFixed Value
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
valueReferenceReference(Location)
url1..1System.StringFixed Value
codingS Σ0..*CodingBinding
textΣ0..1string
CopiedParticipantsS I0..1Extension(Reference(PractitionerRole))
DARTS I0..1Extension(Complex)
DARCS I0..1Extension(Complex)
useΣ ?!0..1codeBinding
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnΣ I0..1Reference(ServiceRequest)
replacesΣ I0..*Reference(ServiceRequest)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBindingFixed Value
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityS Σ0..1codeBinding
doNotPerformΣ ?!0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ1..1dateTime
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
performerIdentifierS I0..1Extension(Identifier)
referenceS Σ I0..1string
typeΣ0..1uriBinding
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
locationReferenceΣ I0..*Reference(Location)
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textS Σ0..1string
reasonReferenceΣ I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)
insuranceI0..*Reference(Coverage | ClaimResponse)
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
specimenΣ I0..*Reference(Specimen)
bodySiteΣ0..*CodeableConceptBinding
authorStringstring
authorReferenceReference(Practitioner | Organization | Patient)
timeΣ0..1dateTime
textS Σ1..1markdown
patientInstructionΣ0..1string
relevantHistoryI0..*Reference(Provenance)

Snapshot View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
url1..1System.StringFixed Value
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
valueReferenceReference(Location)
url1..1System.StringFixed Value
codingS Σ0..*CodingBinding
textΣ0..1string
CopiedParticipantsS I0..1Extension(Reference(PractitionerRole))
DARTS I0..1Extension(Complex)
DARCS I0..1Extension(Complex)
useΣ ?!0..1codeBinding
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnΣ I0..1Reference(ServiceRequest)
replacesΣ I0..*Reference(ServiceRequest)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBindingFixed Value
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityS Σ0..1codeBinding
doNotPerformΣ ?!0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ1..1dateTime
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
performerIdentifierS I0..1Extension(Identifier)
referenceS Σ I0..1string
typeΣ0..1uriBinding
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
locationReferenceΣ I0..*Reference(Location)
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textS Σ0..1string
reasonReferenceΣ I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)
insuranceI0..*Reference(Coverage | ClaimResponse)
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
specimenΣ I0..*Reference(Specimen)
bodySiteΣ0..*CodeableConceptBinding
authorStringstring
authorReferenceReference(Practitioner | Organization | Patient)
timeΣ0..1dateTime
textS Σ1..1markdown
patientInstructionΣ0..1string
relevantHistoryI0..*Reference(Provenance)

Table View

ServiceRequest..
ServiceRequest.meta1..
ServiceRequest.meta.profile1..
ServiceRequest.extension0..
ServiceRequest.extensionExtension0..1
ServiceRequest.extension.url..
ServiceRequest.extension.value[x]..
ServiceRequest.extension.value[x].reference..
ServiceRequest.extension.value[x].identifier..
ServiceRequest.extensionExtension0..
ServiceRequest.extension.url..
ServiceRequest.extension.value[x]..
ServiceRequest.extension.value[x].coding..
ServiceRequest.extensionExtension0..1
ServiceRequest.extensionExtension0..1
ServiceRequest.extensionExtension0..1
ServiceRequest.identifier..
ServiceRequest.identifier.type..
ServiceRequest.identifier.type.coding..
ServiceRequest.identifier.type.coding.system..
ServiceRequest.identifier.type.coding.code..
ServiceRequest.identifier.type.coding.display..
ServiceRequest.identifier.system..
ServiceRequest.identifier.value..
ServiceRequest.basedOnReference(ServiceRequest)..1
ServiceRequest.requisition..
ServiceRequest.requisition.system..
ServiceRequest.requisition.value..
ServiceRequest.status..
ServiceRequest.intent..
ServiceRequest.category..
ServiceRequest.category.coding..
ServiceRequest.category.coding.system1..
ServiceRequest.category.coding.code1..
ServiceRequest.category.coding.display1..
ServiceRequest.priority..
ServiceRequest.code..
ServiceRequest.code.coding..
ServiceRequest.code.coding.system1..
ServiceRequest.code.coding.code1..
ServiceRequest.code.coding.display1..
ServiceRequest.orderDetail..
ServiceRequest.orderDetail.coding..
ServiceRequest.orderDetail.coding.system1..
ServiceRequest.orderDetail.coding.code1..
ServiceRequest.orderDetail.coding.display1..
ServiceRequest.subjectReference(Patient)..
ServiceRequest.subject.reference..
ServiceRequest.subject.identifier..
ServiceRequest.subject.identifier.system..
ServiceRequest.subject.identifier.value..
ServiceRequest.authoredOn1..
ServiceRequest.requesterReference(PractitionerRole | Patient)1..
ServiceRequest.requester.reference..
ServiceRequest.requester.identifier..
ServiceRequest.requester.identifier.system..
ServiceRequest.requester.identifier.value..
ServiceRequest.performerReference(PractitionerRole | HealthcareService)1..1
ServiceRequest.performer.extension0..
ServiceRequest.performer.extensionExtension0..1
ServiceRequest.performer.reference..
ServiceRequest.performer.identifier..0
ServiceRequest.performer.identifier.system..
ServiceRequest.performer.identifier.value..
ServiceRequest.reasonCode..
ServiceRequest.reasonCode.coding..
ServiceRequest.reasonCode.coding.system1..
ServiceRequest.reasonCode.coding.code1..
ServiceRequest.reasonCode.coding.display1..
ServiceRequest.reasonCode.text..
ServiceRequest.supportingInfoReference(Resource | QuestionnaireResponse | DocumentReference | Consent | AllergyIntolerance | Condition | Communication)..
ServiceRequest.supportingInfo.reference..
ServiceRequest.supportingInfo.identifier..
ServiceRequest.supportingInfo.identifier.system..
ServiceRequest.supportingInfo.identifier.value..
ServiceRequest.bodySite..
ServiceRequest.note..
ServiceRequest.note.author[x]Reference(Practitioner | Organization | Patient), string..
ServiceRequest.note.text..


JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-eReferral-profile-ServiceRequest",
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest",
    "version": "1.0.1",
    "name": "EReferralServiceRequest",
    "title": "ServiceRequest",
    "status": "draft",
    "description": "ServiceRequest is the main resource use to send all referral related information to the destination system.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "ServiceRequest",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "ServiceRequest.meta",
                "path": "ServiceRequest.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.meta.profile",
                "path": "ServiceRequest.meta.profile",
                "comment": "#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest|1.0.1 `_**\n\nIt is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.extension",
                "path": "ServiceRequest.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "rules": "open"
                },
                "min": 0
            },
            {
                "id": "ServiceRequest.extension:PatientPresentLocation",
                "path": "ServiceRequest.extension",
                "sliceName": "PatientPresentLocation",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ext-patient-present-location"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.extension:PatientPresentLocation.url",
                "path": "ServiceRequest.extension.url",
                "fixedUri": "http://ehealthontario.ca/fhir/StructureDefinition/ext-patient-present-location"
            },
            {
                "id": "ServiceRequest.extension:PatientPresentLocation.value[x]",
                "path": "ServiceRequest.extension.value[x]",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.extension:PatientPresentLocation.value[x].reference",
                "path": "ServiceRequest.extension.value[x].reference",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.extension:PatientPresentLocation.value[x].identifier",
                "path": "ServiceRequest.extension.value[x].identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.extension:RoutingOptions",
                "path": "ServiceRequest.extension",
                "sliceName": "RoutingOptions",
                "min": 0,
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ext-routing-options"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.extension:RoutingOptions.url",
                "path": "ServiceRequest.extension.url",
                "fixedUri": "http://ehealthontario.ca/fhir/StructureDefinition/ext-routing-options"
            },
            {
                "id": "ServiceRequest.extension:RoutingOptions.value[x]",
                "path": "ServiceRequest.extension.value[x]",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.extension:RoutingOptions.value[x].coding",
                "path": "ServiceRequest.extension.value[x].coding",
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "http://ehealthontario.ca/fhir/ValueSet/ereferral-source-types"
                }
            },
            {
                "id": "ServiceRequest.extension:CopiedParticipants",
                "path": "ServiceRequest.extension",
                "sliceName": "CopiedParticipants",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ext-copied-participants"
                        ]
                    }
                ],
                "mustSupport": true,
                "isModifier": false
            },
            {
                "id": "ServiceRequest.exentsion:DART",
                "path": "ServiceRequest.extension",
                "sliceName": "DART",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ext-dart"
                        ]
                    }
                ]
            },
            {
                "id": "ServiceRequest.exentsion:DARC",
                "path": "ServiceRequest.extension",
                "sliceName": "DARC",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ext-darc"
                        ]
                    }
                ]
            },
            {
                "id": "ServiceRequest.identifier",
                "path": "ServiceRequest.identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.type",
                "path": "ServiceRequest.identifier.type",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.type.coding",
                "path": "ServiceRequest.identifier.type.coding",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.type.coding.system",
                "path": "ServiceRequest.identifier.type.coding.system",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.type.coding.code",
                "path": "ServiceRequest.identifier.type.coding.code",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.type.coding.display",
                "path": "ServiceRequest.identifier.type.coding.display",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.system",
                "path": "ServiceRequest.identifier.system",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.value",
                "path": "ServiceRequest.identifier.value",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.basedOn",
                "path": "ServiceRequest.basedOn",
                "max": "1",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ]
            },
            {
                "id": "ServiceRequest.requisition",
                "path": "ServiceRequest.requisition",
                "comment": "#### **_` FOR EREFERRAL USAGE: It is highly recommended that the common elements should match between multiple ServiceRequests (e.g., patient, requester, etc...) Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. `_**",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requisition.system",
                "path": "ServiceRequest.requisition.system",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requisition.value",
                "path": "ServiceRequest.requisition.value",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.status",
                "path": "ServiceRequest.status",
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "http://hl7.org/fhir/ValueSet/request-status"
                }
            },
            {
                "id": "ServiceRequest.intent",
                "path": "ServiceRequest.intent",
                "fixedCode": "proposal",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.category",
                "path": "ServiceRequest.category",
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare"
                }
            },
            {
                "id": "ServiceRequest.category.coding",
                "path": "ServiceRequest.category.coding",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.\n\nFor details of the value set, please visit https://tgateway.infoway-inforoute.ca/mtw.html?id=2.16.840.1.113883.2.20.3.97&versionid=20160311",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.category.coding.system",
                "path": "ServiceRequest.category.coding.system",
                "min": 1,
                "fixedUri": "http://snomed.info/sct",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.category.coding.code",
                "path": "ServiceRequest.category.coding.code",
                "min": 1,
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare"
                }
            },
            {
                "id": "ServiceRequest.category.coding.display",
                "path": "ServiceRequest.category.coding.display",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.priority",
                "path": "ServiceRequest.priority",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.code",
                "path": "ServiceRequest.code",
                "definition": "A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.\nNote that the meaning of this field is to be used in conjunction with ServiceRequest.performer pointing to a HealthCareservice, and .code further specifies the service, for example code could be a specific procedure under the specificed HealthcareService (e.g., HealthcareService = Orthopaedic Surgeon, code=Knee Surgery)",
                "comment": "#### **_`FOR EREFERRAL USAGE: The meaning of this field is to be used in conjunction with ServiceRequest.performing pointing to a HealthCareservice, and .code further specifies the service, for example code could be a specific procedure under the specificed HealthcareService (e.g., HealthcareService = Orthopaedic Surgeon, code=Knee Surgery). `_**\n\nMany laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example,  serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code.",
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare"
                }
            },
            {
                "id": "ServiceRequest.code.coding",
                "path": "ServiceRequest.code.coding",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.\n\nFor details of the value set, please visit https://tgateway.infoway-inforoute.ca/mtw.html?id=2.16.840.1.113883.2.20.3.97&versionid=20160311",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.code.coding.system",
                "path": "ServiceRequest.code.coding.system",
                "min": 1,
                "fixedUri": "http://snomed.info/sct",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.code.coding.code",
                "path": "ServiceRequest.code.coding.code",
                "min": 1,
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare"
                }
            },
            {
                "id": "ServiceRequest.code.coding.display",
                "path": "ServiceRequest.code.coding.display",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.orderDetail",
                "path": "ServiceRequest.orderDetail",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.orderDetail.coding",
                "path": "ServiceRequest.orderDetail.coding",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.orderDetail.coding.system",
                "path": "ServiceRequest.orderDetail.coding.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.orderDetail.coding.code",
                "path": "ServiceRequest.orderDetail.coding.code",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.orderDetail.coding.display",
                "path": "ServiceRequest.orderDetail.coding.display",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.subject",
                "path": "ServiceRequest.subject",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Patient"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.subject.reference",
                "path": "ServiceRequest.subject.reference",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.subject.identifier",
                "path": "ServiceRequest.subject.identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.subject.identifier.system",
                "path": "ServiceRequest.subject.identifier.system",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.subject.identifier.value",
                "path": "ServiceRequest.subject.identifier.value",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.authoredOn",
                "path": "ServiceRequest.authoredOn",
                "definition": "When the request transitioned to being actionable. In case it's 'blank' the date time should fall back to the submission time/system time of the SENDING system.",
                "comment": "#### **_`FOR EREFERRAL USAGE: authoredOn is the submission time of the sending system `_**",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requester",
                "path": "ServiceRequest.requester",
                "min": 1,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Patient"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requester.reference",
                "path": "ServiceRequest.requester.reference",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requester.identifier",
                "path": "ServiceRequest.requester.identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requester.identifier.system",
                "path": "ServiceRequest.requester.identifier.system",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requester.identifier.value",
                "path": "ServiceRequest.requester.identifier.value",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.performer",
                "path": "ServiceRequest.performer",
                "min": 1,
                "max": "1",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-HealthcareService"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.performer.extension",
                "path": "ServiceRequest.performer.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "rules": "open"
                },
                "min": 0
            },
            {
                "id": "ServiceRequest.performer.extension:performerIdentifier",
                "path": "ServiceRequest.performer.extension",
                "sliceName": "performerIdentifier",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ext-performer-identifier"
                        ]
                    }
                ],
                "mustSupport": true,
                "isModifier": false
            },
            {
                "id": "ServiceRequest.performer.reference",
                "path": "ServiceRequest.performer.reference",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.performer.identifier",
                "path": "ServiceRequest.performer.identifier",
                "max": "0",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.performer.identifier.system",
                "path": "ServiceRequest.performer.identifier.system",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.performer.identifier.value",
                "path": "ServiceRequest.performer.identifier.value",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.reasonCode",
                "path": "ServiceRequest.reasonCode",
                "mustSupport": true,
                "binding": {
                    "strength": "preferred"
                }
            },
            {
                "id": "ServiceRequest.reasonCode.coding",
                "path": "ServiceRequest.reasonCode.coding",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.reasonCode.coding.system",
                "path": "ServiceRequest.reasonCode.coding.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.reasonCode.coding.code",
                "path": "ServiceRequest.reasonCode.coding.code",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.reasonCode.coding.display",
                "path": "ServiceRequest.reasonCode.coding.display",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.reasonCode.text",
                "path": "ServiceRequest.reasonCode.text",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.supportingInfo",
                "path": "ServiceRequest.supportingInfo",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://hl7.org/fhir/StructureDefinition/Resource",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-QuestionnaireResponse",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-DocumentReference",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Consent",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-AllergyIntolerance",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Condition",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Communication"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.supportingInfo.reference",
                "path": "ServiceRequest.supportingInfo.reference",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.supportingInfo.identifier",
                "path": "ServiceRequest.supportingInfo.identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.supportingInfo.identifier.system",
                "path": "ServiceRequest.supportingInfo.identifier.system",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.supportingInfo.identifier.value",
                "path": "ServiceRequest.supportingInfo.identifier.value",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.bodySite",
                "path": "ServiceRequest.bodySite",
                "binding": {
                    "strength": "preferred"
                }
            },
            {
                "id": "ServiceRequest.note",
                "path": "ServiceRequest.note",
                "comment": "#### **_`FOR EREFERRAL USAGE: 'note' is used to include additional information in the referral that is not captured by an existing resource or in a DocumentReference. This is often used when the sending application has a custom data capture form with fields are not mapped to a resource (e.g., Food preference, home visit risk factors, etc...). `_**\n\nFor systems that do not have structured annotations, they can simply communicate a single annotation with no author or time.  This element may need to be included in narrative because of the potential for modifying information.  *Annotations SHOULD NOT* be used to communicate \"modifying\" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.note.author[x]",
                "path": "ServiceRequest.note.author[x]",
                "comment": "#### **_`FOR EREFERRAL USAGE: On submission of the ServiceRequest, if .author[x] and .time are not included, they are assumed to be the requester and received time of the ServiceRequest respectively (this is expected to be the normal use case). `_**\nOrganization is used when there's no need for specific attribution as to who made the comment.",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Practitioner",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Organization",
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Patient"
                        ]
                    },
                    {
                        "code": "string"
                    }
                ]
            },
            {
                "id": "ServiceRequest.note.text",
                "path": "ServiceRequest.note.text",
                "mustSupport": true
            }
        ]
    }
}

Usage

The ServiceRequest resource is the primary resource used to represent a referral request in this IG. References to other resources are used to convey the details of the request including the Patient (ServiceRequest.subject), Referrer (ServiceRequest.requester) and supporting information (ServiceRequest.supportingInfo).

Notes

.id

  • used to uniquely identify the resource
  • if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in Bundle.entry.fullUrl)

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest|1.0.1

.extension:PatientPresentLocation

  • used to communicate the present location of the patient if it is different than the patient's home address
  • see business rules for more information

.extension:RoutingOptions

  • used to communicate referral source type information to support referral processes with automated referral processing rules
  • see business rules for more information

.extension:CopiedParticipant

  • used to communicate updates to the ServiceRequest in cases of forwarding referrals

.extension:DARC

  • used to communicate dates affecting reason to consult

.extension:DART

  • used to communicate dates affecting reason to treat

.identifier

  • business identifers associate the information exchanged between systems with the real world entity
  • any number of business identifiers MAY be included in the resource (e.g., Ontario HCN, Band #, CHRIS #, Caredove #, Hubly ID, etc...).
  • when a resource is send back to the sender in a message, all business identifiers received SHOULD be included with the resource to help the sending system to associate the information received with the resource sent
  • for Health Information System assigned and similar Identifier values record the organization that issued the identifier in identifier.assigner.display.

.basedOn

  • used when the recipient of a ServiceRequest, creates ServiceRequests for other service providers (e.g.: a coordinator in a central intake or assessment centre may create requests for other service providers basedOn the ServiceRequest being peformed)
  • basedOn SHALL NOT be populated when a new ServiceRequest is created to initiate a referral
  • when a service provider performing a ServiceRequest creates another, basedOn SHALL be populated on the new ServiceRequest with a reference to the ServiceRequest being performed
  • if the ServiceRequest is being transmitted via messaging, the referenced ServiceRequest resource SHALL be included in the message as a Bundle.entry

.requisition

  • used in cases where multiple connected referrals are made simultaneously (i.e. a requisition

  • in these cases:

    • multiple ServiceRequests SHALL be referenced in MessageHeader.focus
    • each of the ServiceRequests in MessageHeader.focus SHALL have the same identifier in ServiceRequest.requisition
    • the identifier used in ServiceRequest.requisition SHALL also be used in MessageHeader.extension:ReferralIdentifier
  • Note that additional business rules apply to requisitions

  • FOR EREFERRAL USAGE: It is highly recommended that the common elements should match between multiple ServiceRequests (e.g., patient, requester, etc...) Requests are linked either by a basedOn relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.

.status

  • used to communicate the current status of the ServiceRequest on the requester's system
  • see Direct Messaging for a discussion of ServiceRequest.status and the state machine

.intent

  • populate with the fixed value: "proposal"

.category

  • see note on terminology binding in profile

.code

  • eREFERRAL USAGE:
    • the meaning of this field is to be used in conjunction with ServiceRequest.performer which points to a HealthCareservice,
    • .code further specifies the service, for example code could be a specific procedure under the specificed HealthcareService (e.g., HealthcareService = Orthopaedic Surgeon, code=Knee Surgery).
    • Many laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example, serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code.

.subject

  • identifies the patient being referred to the service provider
  • SHALL be populated with a reference to a Patient resource
  • if the ServiceRequest is being transmitted via messaging, the referenced Patient resource SHALL be included in the message as a Bundle.entry

.authoredOn

  • FOR EREFERRAL AND ECONSULT USAGE: .authoredOn is the submission time of the sending system
  • note: if this element corresponds to the dateTime the author "signed" the request, it could be populated with a time before the message was actually submitted
  • recommentation: to track the time that a ServiceRequest message was submitted to the performer, Task.authoredOn will contain the time the ServiceRequest was received and the Task (perform-request) was created

.requester

  • identifies the person who requested the service
  • SHALL be populated with a reference to a PractitionerRole resource or, for self-referrals, a Patient resource
  • if the ServiceRequest is being transmitted via messaging, the referenced resource SHALL be included in the message as a Bundle.entry

.performer

  • identifies the requested service or service provider
  • populate with a reference to a HealthcareService for services, or a PractitionerRole for clinicians
  • IMPORTANT if the ServiceRequest is being transmitted via messaging, this element SHALL always reference a resource known to the recipient of the message, therefore this resource is not expected to be included as a Bundle.entry when transmitting a ServiceRequest to a service provider
  • see business rules for more information

.reasonCode

  • FOR ECONSULT USAGE:
    • .text - will contain a description of the eConsult "question"

.supportingInfo

  • used to associate supporting information in the patient's record with a ServiceRequest
  • MAY be populated with references to AllergyIntolerance, Condition, Consent, QuestionnaireResponse, or other FHIR resources in the future to associate structured information with a ServiceRequest
  • MAY be populated with references to DocumentReference to associate binary attachments with a ServiceRequest
  • if the ServiceRequest is being transmitted via messaging, any resource referenced here SHALL be included in messages from the requester to the performer as a Bundle.entry

.note

  • used to communicate information that cannot be referenced in supportingInfo with a ServiceRequest

  • MAY be used when the referral source system has a custom data capture form with fields are not mapped to a resource (e.g., Food preference, home visit risk factors, etc...).

  • if note.author and note.time are not populated, these SHOULD be assumed to be the requester and authoredOn respectively (this is expected to be the normal use case)

  • an Organization MAY be referenced as the note.author when there's no need for specific attribution as to who made the comment.

  • FOR EREFERRAL USAGE:

  • note is used to include additional information in the referral that is not captured by an existing resource or in a DocumentReference. This is often used when the sending application has a custom data capture form with fields are not mapped to a resource (e.g., Food preference, home visit risk factors, etc...).

  • For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information.

  • Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Search Parameters

Name Parameter Description Sample Expression
authored ServiceRequest.authoredOn Date request signed GET [BASE]/ServiceRequest?authored=2022-07-01
status ServiceRequest.status Status of the ServiceRequest GET [BASE]/ServiceRequest?status=completed
category ServiceRequest.category Classification of service GET [BASE]/ServiceRequest?category=424008009
code ServiceRequest.code What is being requested/ordered GET [BASE]/ServiceRequest?code=105385000
identifier ServiceRequest.identifier Identifiers assigned to this order GET [BASE]/ServiceRequest?identifier=123
patient ServiceRequest.subject.where(resolve() is Patient) Search by subject - a patient GET [BASE]/ServiceRequest?patient=3640897
performer ServiceRequest.performer Performer role GET [BASE]/ServiceRequest?performer=6478147
requester ServiceRequest.requester Who/what is requesting service GET [BASE]/ServiceRequest?requester=6840735
_id The logical ID of the resource. GET [BASE]/ServiceRequest?_id=123
_lastUpdated This parameter can be used to select resources based on the last time they were changed. GET [BASE]/ServiceRequest?_lastUpdated=gt2020-01-01&_lastUpdated=lt2021-03-31
_include This parameter retrieves the primary resource and resources that are referenced by the primary resource. For HealthcareService, the _include parameter is used to return addtional resources such as Organization. GET [BASE]/ServiceRequest?id=23414_include=*
GET [BASE]/ServiceRequest?patient=3640897&_include=
ServiceRequest:patient&_include=ServiceRequest:performer&_include=ServiceRequest:requester
_revinclude This parameter retrieves resources that reference the primary resource. GET [base]/ServiceRequest?_revinclude=ServiceRequest:identifier
GET [base]/ServiceRequest?_revinclude=*