DRAFT - The specification is currently in development and subject to significant change. It is not ready for limited roll-out or production level use.

ServiceRequest (CA:eReC)

Structure Definition: ServiceRequest Profile

Canonical URL:https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-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

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
PatientPresentLocationS I0..*Extension(Reference(Location))
DARCS I0..*Extension(Complex)
DARTS I0..*Extension(Complex)
RoutingOptionsS I0..*Extension(CodeableConcept)
CopiedParticipantsS I0..*Extension(Reference(PractitionerRole))
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
codingS Σ0..*Coding
textΣ0..1string
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnS Σ I0..1Reference(ServiceRequest)
replacesS Σ I0..*Reference(ServiceRequest)
requisitionS Σ0..1Identifier
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBindingFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
id0..1string
extensionI0..*Extension
codingS Σ0..*Coding
textΣ0..1string
orderDetailΣ I0..*CodeableConcept
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ1..1dateTime
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
locationReferenceΣ I0..*Reference(Location)
reasonCodeS Σ0..*CodeableConceptBinding
reasonReferenceΣ I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)
insuranceI0..*Reference(Coverage | ClaimResponse)
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
specimenΣ I0..*Reference(Specimen)
bodySiteΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
authorStringstring
authorReferenceReference(http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient)
timeΣ0..1dateTime
textΣ1..1markdown
patientInstructionΣ0..1string
relevantHistoryI0..*Reference(Provenance)
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
PatientPresentLocationS I0..*Extension(Reference(Location))
DARCS I0..*Extension(Complex)
DARTS I0..*Extension(Complex)
RoutingOptionsS I0..*Extension(CodeableConcept)
CopiedParticipantsS I0..*Extension(Reference(PractitionerRole))
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
codingS Σ0..*Coding
textΣ0..1string
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnS Σ I0..1Reference(ServiceRequest)
replacesS Σ I0..*Reference(ServiceRequest)
requisitionS Σ0..1Identifier
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBindingFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
id0..1string
extensionI0..*Extension
codingS Σ0..*Coding
textΣ0..1string
orderDetailΣ I0..*CodeableConcept
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ1..1dateTime
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
locationReferenceΣ I0..*Reference(Location)
reasonCodeS Σ0..*CodeableConceptBinding
reasonReferenceΣ I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)
insuranceI0..*Reference(Coverage | ClaimResponse)
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
specimenΣ I0..*Reference(Specimen)
bodySiteΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
authorStringstring
authorReferenceReference(http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient)
timeΣ0..1dateTime
textΣ1..1markdown
patientInstructionΣ0..1string
relevantHistoryI0..*Reference(Provenance)
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
PatientPresentLocationS I0..*Extension(Reference(Location))
DARCS I0..*Extension(Complex)
DARTS I0..*Extension(Complex)
RoutingOptionsS I0..*Extension(CodeableConcept)
CopiedParticipantsS I0..*Extension(Reference(PractitionerRole))
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
codingS Σ0..*Coding
textΣ0..1string
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnS Σ I0..1Reference(ServiceRequest)
replacesS Σ I0..*Reference(ServiceRequest)
requisitionS Σ0..1Identifier
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBindingFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeBinding
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
id0..1string
extensionI0..*Extension
codingS Σ0..*Coding
textΣ0..1string
orderDetailΣ I0..*CodeableConcept
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ1..1dateTime
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
locationReferenceΣ I0..*Reference(Location)
reasonCodeS Σ0..*CodeableConceptBinding
reasonReferenceΣ I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)
insuranceI0..*Reference(Coverage | ClaimResponse)
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayΣ0..1string
specimenΣ I0..*Reference(Specimen)
bodySiteΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
authorStringstring
authorReferenceReference(http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient)
timeΣ0..1dateTime
textΣ1..1markdown
patientInstructionΣ0..1string
relevantHistoryI0..*Reference(Provenance)
ServiceRequest..
ServiceRequest.meta..
ServiceRequest.extensionExtension..
ServiceRequest.extensionExtension..
ServiceRequest.extensionExtension..
ServiceRequest.extensionExtension..
ServiceRequest.extensionExtension..
ServiceRequest.identifier..
ServiceRequest.identifier.type..
ServiceRequest.identifier.type.coding..
ServiceRequest.identifier.system..
ServiceRequest.identifier.value..
ServiceRequest.basedOnReference(ServiceRequest)..1
ServiceRequest.replacesReference(ServiceRequest)..
ServiceRequest.requisition..
ServiceRequest.status..
ServiceRequest.intent..
ServiceRequest.category..
ServiceRequest.category.coding..
ServiceRequest.category.coding.system1..
ServiceRequest.category.coding.code1..
ServiceRequest.category.coding.display1..
ServiceRequest.code..
ServiceRequest.code.coding..
ServiceRequest.subjectReference(Patient)..
ServiceRequest.subject.reference..
ServiceRequest.subject.identifier..
ServiceRequest.authoredOn1..
ServiceRequest.requesterReference(PractitionerRole | Patient)1..
ServiceRequest.requester.reference..
ServiceRequest.requester.identifier..
ServiceRequest.performerReference(PractitionerRole)1..1
ServiceRequest.performer.reference..
ServiceRequest.performer.identifier..
ServiceRequest.reasonCode..
ServiceRequest.supportingInfoReference(Resource | DocumentReference | Communication | QuestionnaireResponse)..
ServiceRequest.supportingInfo.reference..
ServiceRequest.supportingInfo.identifier..
ServiceRequest.bodySite..
ServiceRequest.note..
ServiceRequest.note.author[x]Reference(http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization | http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient), string..

{
    "resourceType": "StructureDefinition",
    "id": "CA-eReC-ServiceRequest",
    "url": "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest",
    "version": "0.1.0",
    "name": "ServiceRequest",
    "title": "ServiceRequest",
    "status": "draft",
    "description": "ServiceRequest is the main resource used 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",
                "comment": "The MustSupport flag on this element has been relaxed in this version until further confirmation of the use of meta.profile (outside of use for certain validation suites) and impact can be assessed by the working group."
            },
            {
                "id": "ServiceRequest.extension:PatientPresentLocation",
                "path": "ServiceRequest.extension",
                "sliceName": "PatientPresentLocation",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient-Present-Location-EXT"
                        ]
                    }
                ],
                "mustSupport": true,
                "isModifier": false
            },
            {
                "id": "ServiceRequest.extension:DARC",
                "path": "ServiceRequest.extension",
                "sliceName": "DARC",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/DARC-EXT"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "ServiceRequest.extension:DART",
                "path": "ServiceRequest.extension",
                "sliceName": "DART",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/DART-ext"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "ServiceRequest.extension:RoutingOptions",
                "path": "ServiceRequest.extension",
                "sliceName": "RoutingOptions",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT"
                        ]
                    }
                ],
                "mustSupport": true,
                "isModifier": false
            },
            {
                "id": "ServiceRequest.extension:CopiedParticipants",
                "path": "ServiceRequest.extension",
                "sliceName": "CopiedParticipants",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-copied-participants-EXT"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "ServiceRequest.identifier",
                "path": "ServiceRequest.identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.identifier.type.coding",
                "path": "ServiceRequest.identifier.type.coding",
                "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":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.replaces",
                "path": "ServiceRequest.replaces",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requisition",
                "path": "ServiceRequest.requisition",
                "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",
                "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.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)",
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare"
                }
            },
            {
                "id": "ServiceRequest.code.coding",
                "path": "ServiceRequest.code.coding",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.subject",
                "path": "ServiceRequest.subject",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-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.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.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.requester",
                "path": "ServiceRequest.requester",
                "min": 1,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole",
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-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.performer",
                "path": "ServiceRequest.performer",
                "min": 1,
                "max": "1",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.performer.reference",
                "path": "ServiceRequest.performer.reference",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.performer.identifier",
                "path": "ServiceRequest.performer.identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.reasonCode",
                "path": "ServiceRequest.reasonCode",
                "mustSupport": true,
                "binding": {
                    "strength": "preferred"
                }
            },
            {
                "id": "ServiceRequest.supportingInfo",
                "path": "ServiceRequest.supportingInfo",
                "definition": "Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations.  In laboratory ordering these are typically referred to as \"ask at order entry questions (AOEs)\".  This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example,  reporting the amount of inspired oxygen for blood gas measurements.",
                "comment": "To represent information about how the services are to be delivered use the `instructions` element. This element can be used to provide a Patient Summary as well.",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://hl7.org/fhir/StructureDefinition/Resource",
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-DocumentReference",
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication",
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-QuestionnaireResponse"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.supportingInfo.reference",
                "path": "ServiceRequest.supportingInfo.reference",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.supportingInfo.identifier",
                "path": "ServiceRequest.supportingInfo.identifier",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.bodySite",
                "path": "ServiceRequest.bodySite",
                "binding": {
                    "strength": "preferred"
                }
            },
            {
                "id": "ServiceRequest.note",
                "path": "ServiceRequest.note",
                "mustSupport": true
            },
            {
                "id": "ServiceRequest.note.author[x]",
                "path": "ServiceRequest.note.author[x]",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner",
                            "http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization",
                            "http://https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient"
                        ]
                    },
                    {
                        "code": "string"
                    }
                ]
            }
        ]
    }
}

Usage

ServiceRequest is the main resource used to send all referral related information to the destination system.

Note: Systems that support routing/chaining/splitting SHALL support .basedOn, .replaces, and .requisition

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)

.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
  • when a resource is sent 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

.basedOn

  • used to indicate the service(s) being performed by the service provider, including the care plan in place for the patient
  • 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

.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 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

.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
  • SHALL be populated with a reference to a PractitionerRole resource, for clinicians
  • if the ServiceRequest is being transmitted via messaging, the referenced resource SHALL be included in the message as a Bundle.entry

.supportingInfo

  • used to associate supporting information in the patient's record with a ServiceRequest
  • MAY be populated with references to QuestionnaireResponse, and/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. The Patient Summary may be attached as PDF document here for future use.
  • MAY also attach Patient Summary documents here
  • 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)

  • 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).