Sending a prescription

A prescription is a resource of type Bundle containing a CarePlan for the prescription and several MedicationRequest as prescription lines. Additional resources may be added in the Bundle to provide more information.

A full example can be found here.

The prescription Bundle

The prescriber's software creates a transaction Bundle:

idΣ0..1id
id0..0string
extensionC0..*Extension
versionIdΣ0..0id
lastUpdatedΣ0..0instant
sourceΣ0..0uri
profileΣ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..0CodingBinding
tagΣ0..0Coding
implicitRulesΣ ?!0..0uri
language0..0codeBinding
identifierΣ0..0Identifier
typeΣ1..1codeBindingFixed Value
timestampΣ0..0instant
totalΣ C0..0unsignedInt
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlΣ0..1uri
resourceΣ0..1Resource
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlΣ C1..1uri
resourceΣ C1..1EPMedPrescription
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodΣ1..1codeBindingFixed Value
urlΣ1..1uriFixed Value
ifNoneMatchΣ0..0string
ifModifiedSinceΣ0..0instant
ifMatchΣ0..0string
ifNoneExistΣ0..0string
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlΣ C1..1uri
resourceΣ C1..1EPMedPrescriptionLine
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodΣ1..1codeBindingFixed Value
urlΣ1..1uriFixed Value
ifNoneMatchΣ0..0string
ifModifiedSinceΣ0..0instant
ifMatchΣ0..0string
ifNoneExistΣ0..0string
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlΣ C1..1uri
resourceΣ C1..1EPMedDocumentRef
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodΣ1..1codeBindingFixed Value
urlΣ1..1uriFixed Value
ifNoneMatchΣ0..0string
ifModifiedSinceΣ0..0instant
ifMatchΣ0..0string
ifNoneExistΣ0..0string
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlΣ1..1uri
resourceΣ C1..1EPMedicationNoRef
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodΣ1..1codeBindingFixed Value
urlΣ1..1uriFixed Value
ifNoneMatchΣ0..0string
ifModifiedSinceΣ0..0instant
ifMatchΣ0..0string
ifNoneExistΣ0..0string
signatureΣ0..0Signature

The Bundle is a conatainer to provide all resources (in Bundle.entry) that are part of the prescriptipon, i.e.:

  • The prescription document
  • Each prescription line
  • The PDF document of the prescription

The prescription document

A prescription document is represented by a CarePlan included in a Bundle :

idΣ0..1id
id0..0string
extensionC0..*Extension
versionIdΣ0..0id
lastUpdatedΣ0..0instant
sourceΣ0..0uri
profileΣ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..0CodingBinding
tagΣ0..0Coding
implicitRulesΣ ?!0..0uri
language0..0codeBinding
text0..0Narrative
contained0..0Resource
PatientInstructionC0..*Extension(string)
OrderDetailC0..*Extension(string)
contactC1..*Extension
modifierExtension?! C0..*Extension
identifierΣ1..1EPSimpleIdentifier
instantiatesCanonicalΣ0..0canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire)
instantiatesUriΣ0..0uri
basedOnΣ C0..0Reference(CarePlan)
replacesΣ C0..0Reference(CarePlan)
partOfΣ C0..0Reference(CarePlan)
statusΣ ?! C1..1codeBinding
intentΣ ?!1..1codeBindingFixed Value
id0..0string
extensionC0..*Extension
id0..0string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1codeFixed Value
displayΣ0..0string
userSelectedΣ0..0boolean
textΣ0..0string
titleΣ0..0string
descriptionΣ0..0string
id0..0string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ0..0Identifier
displayΣ0..0string
encounterΣ C0..0Reference(Encounter)
id0..0string
extensionC0..*Extension
startΣ C1..1dateTime
endΣ C0..1dateTime
createdΣ1..1dateTime
id0..0string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ0..0Identifier
displayΣ0..0string
id0..0string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ0..0Identifier
displayΣ0..0string
careTeamC0..0Reference(CareTeam)
addressesΣ C0..0Reference(Condition)
goalC0..0Reference(Goal)
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
outcomeCodeableConcept0..0CodeableConcept
outcomeReferenceC0..0Reference(Resource)
progress0..0Annotation
id0..0string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ0..0Identifier
displayΣ0..0string
note0..0Annotation

In the extensions, there are fields for the patient and fulfiller instructions, and the phone number to call for information about the prescription.

CarePlan.activity contains references to the prescription lines.

The prescription lines

Each MedicationRequest represents a prescription line:

idΣ0..1id
id0..0string
extensionC0..*Extension
versionIdΣ0..0id
lastUpdatedΣ0..0instant
sourceΣ0..0uri
profileΣ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..0CodingBinding
tagΣ0..0Coding
implicitRulesΣ ?!0..0uri
language0..0codeBinding
text0..0Narrative
contained0..0Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifier1..1EPSimpleIdentifier
statusΣ ?! C1..1codeBinding
statusReason0..0CodeableConcept
intentΣ ?!1..1codeBindingFixed Value
id0..0string
extensionC0..*Extension
id0..0string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1codeFixed Value
displayΣ0..0string
userSelectedΣ0..0boolean
textΣ0..0string
priorityΣ0..0codeBinding
doNotPerformΣ ?!0..0boolean
id0..0string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ0..0Identifier
displayΣ0..0string
id0..0string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ0..0Identifier
displayΣ0..0string
encounterC0..0Reference(Encounter)
authoredOnΣ1..1dateTime
id0..0string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ0..0Identifier
displayΣ0..0string
performerC0..0Reference(CareTeam | Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
performerTypeΣ0..0CodeableConcept
recorderC0..0Reference(Practitioner | PractitionerRole)
reasonCode0..0CodeableConcept
reasonReferenceC0..0Reference(Condition | Observation)
instantiatesCanonicalΣ0..0canonical
instantiatesUriΣ0..0uri
basedOnΣ C0..0Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | ServiceRequest)
groupIdentifierΣ0..0Identifier
courseOfTherapyType0..0CodeableConcept
insuranceC0..0Reference(ClaimResponse | Coverage)
note0..0Annotation
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequenceΣ0..0integer
textΣ0..1string
additionalInstructionΣ0..0CodeableConcept
patientInstructionΣ0..1string
id0..0string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
eventΣ0..0dateTime
id0..0string
extensionC0..*Extension
boundsDurationDuration
boundsPeriodPeriod
countΣ0..1positiveInt
countMaxΣ0..1positiveInt
durationΣ0..1decimal
durationMaxΣ0..1decimal
durationUnitΣ0..1codeBinding
frequencyΣ0..1positiveInt
frequencyMaxΣ0..1positiveInt
periodΣ0..1decimal
periodMaxΣ0..1decimal
periodUnitΣ0..1codeBinding
dayOfWeekΣ0..*codeBinding
timeOfDayΣ0..*time
whenΣ0..*codeBinding
offsetΣ0..1unsignedInt
codeΣ0..0CodeableConceptBinding
siteΣ0..0CodeableConcept
id0..0string
extensionC0..*Extension
id0..0string
extensionC0..*Extension
systemΣ1..1uri
versionΣ0..0string
codeΣ1..1code
displayΣ0..0string
userSelectedΣ0..0boolean
textΣ0..1string
methodΣ0..0CodeableConcept
id0..0string
extensionC0..*Extension
typeΣ0..0CodeableConcept
doseQuantitySimpleQuantity
doseRangeRange
rateQuantitySimpleQuantity
rateRangeRange
rateRatioRatio
maxDosePerPeriodΣ C0..0Ratio
maxDosePerAdministrationΣ C0..0SimpleQuantity
maxDosePerLifetimeΣ C0..0SimpleQuantity
priorPrescriptionC0..0Reference(MedicationRequest)
detectedIssueC0..0Reference(DetectedIssue)
eventHistoryC0..0Reference(Provenance)

The posology is in dosageInstructions. The medication[x] element can refer either to a medication known in the referential, or to a free-text one. In this case, don't forget to add it in the Bundle.

Additional information

The other useful resources to consider are: