Spenser - a developer's companion
1.0.0 - STU1 International flag

Spenser - a developer's companion, published by Zeora. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/costateixeira/spenser/tree/firmware/key-persistence-ota and changes regularly. See the Directory of published versions
Built from commit d7d58e76.   Branch: firmware/key-persistence-ota.

Resource Profile: SpenserRequest - Mappings

Active as of 2026-10-20

Mappings for the SpenserRequest resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameWorkflow PatternMapping to NCPDP SCRIPT 10.6FiveWs Pattern MappingRIM MappingHL7 V2 Mappingdoco
MedicationRequest
Request
Message/Body/NewRx
clinical.medication
  • Entity
  • Role
  • or Act
  • CombinedMedicationRequest
MedicationRequest / id
MedicationRequest / meta
MedicationRequest / implicitRules
MedicationRequest / language
MedicationRequest / text
Act.text?
MedicationRequest / contained
N/A
MedicationRequest / extension
N/A
MedicationRequest / modifierExtension
N/A
MedicationRequest / identifier
Request.identifier
Message/Header/PrescriberOrderNumber
FiveWs.identifier
.id
ORC-2-Placer Order Number / ORC-3-Filler Order Number
MedicationRequest / basedOn
Request.basedOn
  • .outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS
  • moodCode=RQO orPLAN or PRP]
MedicationRequest / priorPrescription
Request.replaces
not mapped
  • .outboundRelationship[typeCode=?RPLC or ?SUCC]/target[classCode=SBADM
  • moodCode=RQO]
MedicationRequest / groupIdentifier
Request.groupIdentifier
  • .outboundRelationship(typeCode=COMP].target[classCode=SBADM
  • moodCode=INT].id
MedicationRequest / status
Request.status
no mapping
FiveWs.status
.statusCode
MedicationRequest / statusReason
Request.statusReason
  • .inboundRelationship[typeCode=SUBJ].source[classCode=CACT
  • moodCode=EVN].reasonCOde
MedicationRequest / statusChanged
subjectOf Observation[code = statusChange].value = date
MedicationRequest / intent
Request.intent
FiveWs.class
.moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere)
MedicationRequest / category
Message/Body/NewRx/MedicationPrescribed/Directions or Message/Body/NewRx/MedicationPrescribed/StructuredSIG
FiveWs.class
  • .inboundRelationship[typeCode=COMP].source[classCode=OBS
  • moodCode=EVN
  • code="type of medication usage"].value
MedicationRequest / priority
Request.priority
FiveWs.grade
.priorityCode
MedicationRequest / doNotPerform
SubstanceAdministration.actionNegationInd
MedicationRequest / medication
Request.code
Message/Body/NewRx/MedicationPrescribed Medication.code.coding.code = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCode Medication.code.coding.system = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCodeQualifier Medication.code.coding.display = Message/Body/NewRx/MedicationPrescribed/DrugDescription
FiveWs.what[x]
consumable.administrableMedication
RXE-2-Give Code / RXO-1 Requested Give Code / RXC-2 Component Code
MedicationRequest / medication / id
n/a
MedicationRequest / medication / extension
n/a
MedicationRequest / medication / concept
N/A
MedicationRequest / medication / concept / id
n/a
MedicationRequest / medication / concept / extension
n/a
MedicationRequest / medication / concept / coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
MedicationRequest / medication / concept / coding / id
n/a
MedicationRequest / medication / concept / coding / extension
n/a
MedicationRequest / medication / concept / coding / system
./codeSystem
C*E.3
MedicationRequest / medication / concept / coding / version
./codeSystemVersion
C*E.7
MedicationRequest / medication / concept / coding / code
./code
C*E.1
MedicationRequest / medication / concept / coding / display
CV.displayName
C*E.2 - but note this is not well followed
MedicationRequest / medication / concept / coding / userSelected
CD.codingRationale
Sometimes implied by being first
MedicationRequest / medication / concept / text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
MedicationRequest / medication / reference
N/A
MedicationRequest / subject
Request.subject
Message/Body/NewRx/Patient (need detail to link to specific patient … Patient.Identification in SCRIPT)
FiveWs.subject[x]
.participation[typeCode=AUT].role
PID-3 Patient ID List
MedicationRequest / informationSource
  • .participation[typeCode=INF].role[classCode=PAT
  • or codes for Practitioner or Related Person or Practitioner Role or Organization
MedicationRequest / encounter
Request.encounter
no mapping
FiveWs.context
  • .inboundRelationship[typeCode=COMP].source[classCode=ENC
  • moodCode=EVN
  • code="type of encounter or episode"]
PV1-19 Visit Number
MedicationRequest / supportingInformation
Request.supportingInfo
FiveWs.context
  • .outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG
  • ENC
  • PROC
  • SPLY
  • SBADM
  • OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN
  • DEF
  • INT PRMS
  • RQO
  • PRP
  • APT
  • ARQ
  • GOL)]
MedicationRequest / authoredOn
Request.authoredOn
Message/Body/NewRx/MedicationPrescribed/WrittenDate
FiveWs.recorded
author.time
RXE-32 Original Order Date/Time / ORC-9-Date Time of Transaction
MedicationRequest / requester
Request.requester
FiveWs.author
.participation[typeCode=AUT].role
MedicationRequest / reported
.participation[typeCode=INF].role
MedicationRequest / performerType
Request.performerType
.participation[typeCode=PRF].role[scoper.determinerCode=KIND].code
MedicationRequest / performer
Request.performer
FiveWs.actor
.participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
MedicationRequest / device
.participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
MedicationRequest / recorder
FiveWs.who
.participation[typeCode=TRANS].role[classCode=ASSIGNED].code (HealthcareProviderType)
MedicationRequest / reason
Request.reason
Message/Body/NewRx/MedicationPrescribed/Diagnosis/Primary/Value
FiveWs.why[x]
reason.observation.reasonCode | reason.observation[code=ASSERTION].value
ORC-16 Order Control Code Reason /RXE-27 Give Indication/RXO-20-Indication / RXD-21 Indication / RXG-22 Indication / RXA-19 Indication
MedicationRequest / courseOfTherapyType
Act.code where classCode = LIST and moodCode = EVN
MedicationRequest / insurance
Request.insurance
.outboundRelationship[typeCode=COVBY].target
MedicationRequest / note
Request.note
Message/Body/NewRx/MedicationPrescribed/Note
  • .inboundRelationship[typeCode=SUBJ]/source[classCode=OBS
  • moodCode=EVN
  • code="annotation"].value
MedicationRequest / renderedDosageInstruction
SubstanceAdministration.text
MedicationRequest / effectiveDosePeriod
substanceAdministration.effectiveTime
MedicationRequest / dosageInstruction
see dosageInstruction mapping
MedicationRequest / dispenseRequest
Message/Body/NewRx/MedicationPrescribed/ExpirationDate
component.supplyEvent
MedicationRequest / dispenseRequest / id
n/a
MedicationRequest / dispenseRequest / extension
n/a
MedicationRequest / dispenseRequest / modifierExtension
N/A
MedicationRequest / dispenseRequest / initialFill
SubstanceAdministration -> ActRelationship[sequenceNumber = '1'] -> Supply
MedicationRequest / dispenseRequest / initialFill / id
n/a
MedicationRequest / dispenseRequest / initialFill / extension
n/a
MedicationRequest / dispenseRequest / initialFill / modifierExtension
N/A
MedicationRequest / dispenseRequest / initialFill / quantity
Supply.quantity[moodCode=RQO]
MedicationRequest / dispenseRequest / initialFill / duration
Supply.effectivetime[moodCode=RQO]
MedicationRequest / dispenseRequest / dispenseInterval
Supply.effectivetime[moodCode=RQO]
MedicationRequest / dispenseRequest / validityPeriod
Message/Body/NewRx/MedicationPrescribed/Refills
effectiveTime
MedicationRequest / dispenseRequest / numberOfRepeatsAllowed
Message/Body/NewRx/MedicationPrescribed/Quantity
repeatNumber
RXE-12 Number of Refills
MedicationRequest / dispenseRequest / quantity
Message/Body/NewRx/MedicationPrescribed/DaysSupply
quantity
RXD-4 Actual Dispense Amount / RXD-5.1 Actual Dispense Units.code / RXD-5.3 Actual Dispense Units.name of coding system
MedicationRequest / dispenseRequest / quantity / id
n/a
MedicationRequest / dispenseRequest / quantity / extension
n/a
MedicationRequest / dispenseRequest / quantity / value
  • PQ.value
  • CO.value
  • MO.value
  • IVL.high or IVL.low depending on the value
SN.2 / CQ - N/A
MedicationRequest / dispenseRequest / quantity / comparator
IVL properties
SN.1 / CQ.1
MedicationRequest / dispenseRequest / quantity / unit
PQ.unit
(see OBX.6 etc.) / CQ.2
MedicationRequest / dispenseRequest / quantity / system
  • CO.codeSystem
  • PQ.translation.codeSystem
(see OBX.6 etc.) / CQ.2
MedicationRequest / dispenseRequest / quantity / code
  • PQ.code
  • MO.currency
  • PQ.translation.code
(see OBX.6 etc.) / CQ.2
MedicationRequest / dispenseRequest / expectedSupplyDuration
Message/Body/NewRx/MedicationPrescribed/Substitutions
expectedUseTime
MedicationRequest / dispenseRequest / dispenser
FiveWs.who
  • .outboundRelationship[typeCode=COMP].target[classCode=SPLY
  • moodCode=RQO] .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
MedicationRequest / dispenseRequest / dispenserInstruction
Supply.text
MedicationRequest / dispenseRequest / doseAdministrationAid
Supply.administerableMedication.product.asContent.container.code
MedicationRequest / substitution
specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
subjectOf.substitutionPersmission
MedicationRequest / substitution / id
n/a
MedicationRequest / substitution / extension
n/a
MedicationRequest / substitution / modifierExtension
N/A
MedicationRequest / substitution / allowed[x]
specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions
code
RXO-9 Allow Substitutions / RXE-9 Substitution Status
MedicationRequest / substitution / reason
not mapped
reasonCode
RXE-9 Substition status
MedicationRequest / eventHistory
Request.relevantHistory
  • .inboundRelationship(typeCode=SUBJ].source[classCode=CACT
  • moodCode=EVN]

doco Documentation for this format