Pan-Canadian Patient Summary (PS-CA) v2.1.0 DFT
DFT - For a full list of available versions, see the Directory of published versions
Releases of the PS-CA Implementation Guide may be found on a table on the Home Page of this Project.
http://hl7.org/fhir/StructureDefinition/MedicationRequest
nystatinCCDD-request-example, simvastatin-request-example
This profile represents the constraints applied to the MedicationRequest resource by the PS-CA project, which is informed by the constraints of the IPS-UV and by the constraints of the Canadian Baseline Profile to allow for cross-border and cross-jurisdiction sharing of information record of a medication request information in the patient summary.
MedicationRequestPSCA (MedicationRequest) | C | MedicationRequest | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | C | 0..* | Extension |
RenderedDosageInstruction | C | 0..1 | Extension(string) |
modifierExtension | ?! C | 0..* | Extension |
identifier | 0..* | Identifier | |
status | S Σ ?! | 1..1 | codeBinding |
statusReason | 0..1 | CodeableConcept | |
intent | Σ ?! | 1..1 | codeBinding |
category | 0..* | CodeableConcept | |
priority | Σ | 0..1 | codeBinding |
doNotPerform | Σ ?! | 0..1 | boolean |
reported[x] | Σ | 0..1 | |
reportedBoolean | boolean | ||
reportedReference | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | ||
medication[x] | S Σ | 1..1 | Binding |
medicationCodeableConcept | CodeableConceptMedicationPSCA | ||
medicationReference | Reference(MedicationPSCA) | ||
subject | S Σ | 1..1 | Reference(PatientPSCA) |
id | 0..1 | string | |
extension | C | 0..* | Extension |
reference | S Σ C | 1..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
encounter | 0..1 | Reference(Encounter) | |
supportingInformation | 0..* | Reference(Resource) | |
authoredOn | S Σ | 0..1 | dateTime |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
performer | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | |
performerType | Σ | 0..1 | CodeableConcept |
recorder | 0..1 | Reference(Practitioner | PractitionerRole) | |
reasonCode | 0..* | CodeableConcept | |
reasonReference | 0..* | Reference(Condition | Observation) | |
instantiatesCanonical | Σ | 0..* | canonical() |
instantiatesUri | Σ | 0..* | uri |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) |
groupIdentifier | Σ | 0..1 | Identifier |
courseOfTherapyType | 0..1 | CodeableConcept | |
insurance | 0..* | Reference(Coverage | ClaimResponse) | |
note | 0..* | Annotation | |
dosageInstruction | S | 0..* | Dosage |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
sequence | Σ | 0..1 | integer |
text | S Σ | 0..1 | string |
additionalInstruction | Σ | 0..* | CodeableConcept |
patientInstruction | Σ | 0..1 | string |
timing | Σ | 0..1 | Timing |
asNeeded[x] | Σ | 0..1 | |
asNeededBoolean | boolean | ||
asNeededCodeableConcept | CodeableConcept | ||
site | Σ | 0..1 | CodeableConcept |
route | Σ | 0..1 | CodeableConceptBinding |
method | Σ | 0..1 | CodeableConcept |
doseAndRate | Σ | 0..* | Element |
id | 0..1 | string | |
extension | C | 0..* | Extension |
type | Σ | 0..1 | CodeableConcept |
dose[x] | Σ | 0..1 | |
doseRange | Range | ||
doseQuantity | SimpleQuantity | ||
rate[x] | Σ | 0..1 | |
rateRatio | Ratio | ||
rateRange | Range | ||
rateQuantity | SimpleQuantity | ||
maxDosePerPeriod | Σ | 0..1 | Ratio |
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity |
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity |
dispenseRequest | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
initialFill | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
quantity | 0..1 | SimpleQuantity | |
duration | 0..1 | Duration | |
dispenseInterval | 0..1 | Duration | |
validityPeriod | 0..1 | Period | |
numberOfRepeatsAllowed | 0..1 | unsignedInt | |
quantity | 0..1 | SimpleQuantity | |
expectedSupplyDuration | 0..1 | Duration | |
performer | 0..1 | Reference(Organization) | |
substitution | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
allowed[x] | 1..1 | ||
allowedBoolean | boolean | ||
allowedCodeableConcept | CodeableConcept | ||
reason | 0..1 | CodeableConcept | |
priorPrescription | 0..1 | Reference(MedicationRequest) | |
detectedIssue | 0..* | Reference(DetectedIssue) | |
eventHistory | 0..* | Reference(Provenance) |
MedicationRequestPSCA (MedicationRequest) | C | MedicationRequest | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | C | 0..* | Extension |
RenderedDosageInstruction | C | 0..1 | Extension(string) |
modifierExtension | ?! C | 0..* | Extension |
identifier | 0..* | Identifier | |
status | S Σ ?! | 1..1 | codeBinding |
statusReason | 0..1 | CodeableConcept | |
intent | Σ ?! | 1..1 | codeBinding |
category | 0..* | CodeableConcept | |
priority | Σ | 0..1 | codeBinding |
doNotPerform | Σ ?! | 0..1 | boolean |
reported[x] | Σ | 0..1 | |
reportedBoolean | boolean | ||
reportedReference | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | ||
medication[x] | S Σ | 1..1 | Binding |
medicationCodeableConcept | CodeableConceptMedicationPSCA | ||
medicationReference | Reference(MedicationPSCA) | ||
subject | S Σ | 1..1 | Reference(PatientPSCA) |
id | 0..1 | string | |
extension | C | 0..* | Extension |
reference | S Σ C | 1..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
encounter | 0..1 | Reference(Encounter) | |
supportingInformation | 0..* | Reference(Resource) | |
authoredOn | S Σ | 0..1 | dateTime |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
performer | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | |
performerType | Σ | 0..1 | CodeableConcept |
recorder | 0..1 | Reference(Practitioner | PractitionerRole) | |
reasonCode | 0..* | CodeableConcept | |
reasonReference | 0..* | Reference(Condition | Observation) | |
instantiatesCanonical | Σ | 0..* | canonical() |
instantiatesUri | Σ | 0..* | uri |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) |
groupIdentifier | Σ | 0..1 | Identifier |
courseOfTherapyType | 0..1 | CodeableConcept | |
insurance | 0..* | Reference(Coverage | ClaimResponse) | |
note | 0..* | Annotation | |
dosageInstruction | S | 0..* | Dosage |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
sequence | Σ | 0..1 | integer |
text | S Σ | 0..1 | string |
additionalInstruction | Σ | 0..* | CodeableConcept |
patientInstruction | Σ | 0..1 | string |
timing | Σ | 0..1 | Timing |
asNeeded[x] | Σ | 0..1 | |
asNeededBoolean | boolean | ||
asNeededCodeableConcept | CodeableConcept | ||
site | Σ | 0..1 | CodeableConcept |
route | Σ | 0..1 | CodeableConceptBinding |
method | Σ | 0..1 | CodeableConcept |
doseAndRate | Σ | 0..* | Element |
id | 0..1 | string | |
extension | C | 0..* | Extension |
type | Σ | 0..1 | CodeableConcept |
dose[x] | Σ | 0..1 | |
doseRange | Range | ||
doseQuantity | SimpleQuantity | ||
rate[x] | Σ | 0..1 | |
rateRatio | Ratio | ||
rateRange | Range | ||
rateQuantity | SimpleQuantity | ||
maxDosePerPeriod | Σ | 0..1 | Ratio |
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity |
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity |
dispenseRequest | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
initialFill | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
quantity | 0..1 | SimpleQuantity | |
duration | 0..1 | Duration | |
dispenseInterval | 0..1 | Duration | |
validityPeriod | 0..1 | Period | |
numberOfRepeatsAllowed | 0..1 | unsignedInt | |
quantity | 0..1 | SimpleQuantity | |
expectedSupplyDuration | 0..1 | Duration | |
performer | 0..1 | Reference(Organization) | |
substitution | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | C | 0..* | Extension |
modifierExtension | Σ ?! C | 0..* | Extension |
allowed[x] | 1..1 | ||
allowedBoolean | boolean | ||
allowedCodeableConcept | CodeableConcept | ||
reason | 0..1 | CodeableConcept | |
priorPrescription | 0..1 | Reference(MedicationRequest) | |
detectedIssue | 0..* | Reference(DetectedIssue) | |
eventHistory | 0..* | Reference(Provenance) |
Path | Conformance | ValueSet |
---|---|---|
MedicationRequest.medication[x] | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct |
MedicationRequest.dosageInstruction.route | preferred | https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration |
Must Support Differences:
MedicationRequest.dosageInstruction.timing
is Must Support in IPS-UV and not in PS-CA.
MedicationRequest.status
is not Must Support in IPS-UV but is Must Support in PS-CA.
Note: Systems that support these elements are encouraged to send them in patient summaries
Cardinality Differences:
Vocabulary Differences:
MedicationRequest.medicationCodeableConcept
Medication.code
additional bindings Medication (PS-CA)MedicatonRequest.dosageInstruction.route
Terminology Guidance: In Canada, CCDD is the preferred binding type for medication codes. However, for broader international comprehension, it's recommended that, where mappings exist, implementers also include IPS concepts alongside CCDD. This approach aims to balance national preferences with the need for international interoperability. Additionally, systems have the flexibility to send other Canadian codes, such as SNOMED CT CA, DIN, and NPN.
Other differences between the IPS and PS-CA Include:
Data type profiles (e.g., CodeableConcept) and reference targets (e.g., Patient) replaced with PS-CA equivalents when appropriate
MedicationRequest.dosageInstruction.route
: IPS datatype profile removed