QI-Core Implementation Guide
4.1.0 - release

Publication Build: This will be filled in by the publication tooling

## Resource Profile: QICoreServiceRequest - Mappings

Mappings for the qicore-servicerequest resource profile.

### Mappings for Mapping to Quality Improvement Domain Analysis Model (http://hl7.org/qidam)

QICoreServiceRequest
ServiceRequest |
extension (approachBodyStructure) | Not in QIDAM, but should have been included because the procedure request might include a requested approach, for example, to distinguish between urethral and supra-pubic urinary catheterization.
extension (appropriatenessScore) | Not in QIDAM, but added because of a persuasive ballot comment (May 2015).

### Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

QICoreServiceRequest
ServiceRequest | Request
identifier | Request.identifier
instantiatesCanonical | Request.instantiatesCanonical
instantiatesUri | Request.instantiatesUri
basedOn | Request.basedOn
replaces | Request.replaces
requisition | Request.groupIdentifier
status | Request.status
intent | Request.intent
priority | Request.priority
doNotPerform | Request.doNotPerform
code | Request.code
subject | Request.subject
encounter | Request.encounter
occurrence[x] | Request.occurrence[x]
authoredOn | Request.authoredOn
requester | Request.requester
performerType | Request.performerType
performer | Request.performer
reasonCode | Request.reasonCode
reasonReference | Request.reasonReference
insurance | Request.insurance
supportingInfo | Request.supportingInfo
note | Request.note
relevantHistory | Request.relevantHistory

### Mappings for HL7 v2 Mapping (http://hl7.org/v2)

QICoreServiceRequest
ServiceRequest | ORC
extension (statusReason) | Varies by domain
identifier | ORC.2, ORC.3, RF1-6 / RF1-11,
instantiatesCanonical | Varies by domain
instantiatesUri | Varies by domain
basedOn | ORC.8 (plus others)
replaces | Handled by message location of ORC (ORC.1=RO or RU)
requisition | ORC.4
status | ORC.5,RF1-1
intent | N/A
category | RF1-5
priority | TQ1.9, RF1-2
code | PR1-3 / OBR-4 (varies by domain)
orderDetail | NTE
quantity[x] | NTE
subject | PID
encounter | PV1
occurrence[x] | TQ1/TQ2, OBR-7/OBR-8
authoredOn | ORC.9, RF1-7 / RF1-9
requester | ORC.12, PRT
performerType | PRT, RF!-3
performer | PRT, Practitioner: PRD-2/PRD-7 where PRD-3 = RT; Organization: PRD-10 where PRD-3 = RT
reasonCode | ORC.16, RF1-10
reasonReference | ORC.16
insurance | IN1/IN2
supportingInfo | Accompanying segments
specimen | SPM
bodySite | SPM
note | NTE
patientInstruction | NTE
relevantHistory | N/A

### Mappings for RIM Mapping (http://hl7.org/v3)

QICoreServiceRequest
ServiceRequest | Entity. Role, or Act, Act[moodCode<=INT]
text | Act.text?
contained | N/A
extension (statusReason) | .inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde
identifier | .identifier
instantiatesCanonical | .outboundRelationship[typeCode=DEFN].target
instantiatesUri | .outboundRelationship[typeCode=DEFN].target
basedOn | .outboundRelationship[typeCode=FLFS].target
replaces | .outboundRelationship[typeCode=RPLC].target
requisition | .inboundRelationship(typeCode=COMP].source[moodCode=INT].identifier
status | .status
intent | .moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere)
category | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="INT"].code
priority | .priorityCode
doNotPerform | .actionNegationInd
code | .code
orderDetail | .code
quantity[x] | .quantity
subject | .participation[typeCode=SBJ].role
encounter | .inboundRelationship(typeCode=COMP].source[classCode<=PCPR, moodCode=EVN]
occurrence[x] | .effectiveTime
asNeeded[x] | boolean: precondition.negationInd (inversed - so negationInd = true means asNeeded=false CodeableConcept: precondition.observationEventCriterion[code="Assertion"].value
authoredOn | .participation[typeCode=AUT].time
requester | .participation[typeCode=AUT].role
performerType | .participation[typeCode=PRF].role[scoper.determinerCode=KIND].code
performer | .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
locationCode | .participation[typeCode=LOC].role[scoper.determinerCode=KIND].code
locationReference | .participation[typeCode=LOC].role[scoper.determinerCode=INSTANCE]
reasonCode | .reasonCode
reasonReference | .outboundRelationship[typeCode=RSON].target
insurance | .outboundRelationship[typeCode=COVBY].target
supportingInfo | .outboundRelationship[typeCode=PERT].target
specimen | .participation[typeCode=SPC].role
bodySite | targetSiteCode
note | .inboundRelationship(typeCode=SUBJ].source[classCode=ANNGEN, moodCode=EVN].value[xsi:type=ST]
patientInstruction | .text
relevantHistory | .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]

### Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

QICoreServiceRequest
ServiceRequest |
identifier | FiveWs.identifier
status | FiveWs.status
intent | FiveWs.class
category | FiveWs.class
priority | FiveWs.grade
code | FiveWs.what[x]
subject | FiveWs.subject[x], FiveWs.subject
encounter | FiveWs.context
occurrence[x] | FiveWs.planned
authoredOn | FiveWs.recorded
requester | FiveWs.author
performerType | FiveWs.actor
performer | FiveWs.actor
locationCode | FiveWs.actor
locationReference | FiveWs.actor
reasonCode | FiveWs.why[x]
reasonReference | FiveWs.why[x]

### Mappings for Quality Improvement and Clinical Knowledge (QUICK) (http://siframework.org/cqf)

QICoreServiceRequest
ServiceRequest |
identifier | ClinicalStatement.identifier
status | Action.currentStatus
code | Procedure.procedureCode
orderDetail | Procedure.procedureCode
subject | ClinicalStatement.subject
encounter | ClinicalStatement.encounter
occurrence[x] | Procedure.procedureSchedule
asNeeded[x] | Proposal.prnReason.reason
authoredOn | Proposal.proposedAtTime
requester | ClinicalStatement.statementAuthor
bodySite | Procedure.targetBodySite
note | ClinicalStatement.additionalText