CA Core+
DFT-Ballot - The specification is a DFT-Ballot version of CA Core+ for collecting ballot feedback. For a full list of available versions, see the Directory of published versions
http://hl7.org/fhir/StructureDefinition/MedicationRequest
example-medicationrequest-ca-core
This profile applies constraints to the MedicationRequest resource for CA Core+ to support prescription and medication orders in the pan-Canadian context.
CFMM: 2
| MedicationRequestCACore (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 | Σ ?! | 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(Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | ||
| medication[x] | SO Σ | 1..1 | |
| medicationReference | Σ | 0..1 | Reference(MedicationCACore) |
| medicationCodeableConcept | Σ | 0..1 | CodeableConceptCACoreBinding |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| coding | Σ | 0..* | CodingCACore |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| system | Σ | 0..1 | uri |
| version | Σ | 0..1 | string |
| code | Σ | 0..1 | code |
| display | Σ | 0..1 | string |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| translation | C | 0..* | Extension(Complex) |
| value | 0..1 | System.String | |
| userSelected | Σ | 0..1 | boolean |
| text | Σ | 0..1 | string |
| subject | Σ C | 1..1 | Reference(PatientCACore) |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| reference | Σ C | 1..1 | string |
| type | Σ | 0..1 | uriBinding |
| identifier | Σ | 0..1 | Identifier |
| display | Σ | 0..1 | string |
| encounter | C | 0..1 | Reference(Encounter) |
| supportingInformation | C | 0..* | Reference(Resource) |
| authoredOn | Σ | 0..1 | dateTime |
| requester | Σ C | 0..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) |
| performer | C | 0..1 | Reference(CareTeam | Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) |
| performerType | Σ | 0..1 | CodeableConcept |
| recorder | C | 0..1 | Reference(Practitioner | PractitionerRole) |
| reasonCode | O | 0..* | CodeableConceptCACoreBinding |
| reasonReference | O C | 0..* | Reference(Condition | Observation) |
| instantiatesCanonical | Σ | 0..* | canonical |
| instantiatesUri | Σ | 0..* | uri |
| basedOn | Σ C | 0..* | Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | ServiceRequest) |
| groupIdentifier | Σ | 0..1 | Identifier |
| courseOfTherapyType | 0..1 | CodeableConcept | |
| insurance | C | 0..* | Reference(ClaimResponse | Coverage) |
| note | 0..* | Annotation | |
| dosageInstruction | O | 0..* | Dosage |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| sequence | Σ | 0..1 | integer |
| text | O Σ | 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 | CodeableConceptCACoreBinding |
| 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 | Σ C | 0..1 | SimpleQuantity |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| value | Σ | 0..1 | decimal |
| comparator | Σ ?! | 0..0 | codeBinding |
| unit | Σ | 0..1 | string |
| system | Σ C | 0..1 | uri |
| code | Σ | 0..1 | code |
| rate[x] | Σ | 0..1 | |
| rateQuantity | SimpleQuantity | ||
| rateRange | Range | ||
| rateRatio | Ratio | ||
| maxDosePerPeriod | Σ C | 0..1 | Ratio |
| maxDosePerAdministration | Σ C | 0..1 | SimpleQuantity |
| maxDosePerLifetime | Σ C | 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 | C | 0..1 | SimpleQuantity |
| duration | C | 0..1 | Duration |
| dispenseInterval | C | 0..1 | Duration |
| validityPeriod | C | 0..1 | Period |
| numberOfRepeatsAllowed | 0..1 | unsignedInt | |
| quantity | C | 0..1 | SimpleQuantity |
| expectedSupplyDuration | C | 0..1 | Duration |
| performer | C | 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 | C | 0..1 | Reference(MedicationRequest) |
| detectedIssue | C | 0..* | Reference(DetectedIssue) |
| eventHistory | C | 0..* | Reference(Provenance) |
| MedicationRequestCACore (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 | Σ ?! | 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(Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | ||
| medication[x] | SO Σ | 1..1 | |
| medicationReference | Σ | 0..1 | Reference(MedicationCACore) |
| medicationCodeableConcept | Σ | 0..1 | CodeableConceptCACoreBinding |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| coding | Σ | 0..* | CodingCACore |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| system | Σ | 0..1 | uri |
| version | Σ | 0..1 | string |
| code | Σ | 0..1 | code |
| display | Σ | 0..1 | string |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| translation | C | 0..* | Extension(Complex) |
| value | 0..1 | System.String | |
| userSelected | Σ | 0..1 | boolean |
| text | Σ | 0..1 | string |
| subject | Σ C | 1..1 | Reference(PatientCACore) |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| reference | Σ C | 1..1 | string |
| type | Σ | 0..1 | uriBinding |
| identifier | Σ | 0..1 | Identifier |
| display | Σ | 0..1 | string |
| encounter | C | 0..1 | Reference(Encounter) |
| supportingInformation | C | 0..* | Reference(Resource) |
| authoredOn | Σ | 0..1 | dateTime |
| requester | Σ C | 0..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) |
| performer | C | 0..1 | Reference(CareTeam | Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) |
| performerType | Σ | 0..1 | CodeableConcept |
| recorder | C | 0..1 | Reference(Practitioner | PractitionerRole) |
| reasonCode | O | 0..* | CodeableConceptCACoreBinding |
| reasonReference | O C | 0..* | Reference(Condition | Observation) |
| instantiatesCanonical | Σ | 0..* | canonical |
| instantiatesUri | Σ | 0..* | uri |
| basedOn | Σ C | 0..* | Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | ServiceRequest) |
| groupIdentifier | Σ | 0..1 | Identifier |
| courseOfTherapyType | 0..1 | CodeableConcept | |
| insurance | C | 0..* | Reference(ClaimResponse | Coverage) |
| note | 0..* | Annotation | |
| dosageInstruction | O | 0..* | Dosage |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| sequence | Σ | 0..1 | integer |
| text | O Σ | 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 | CodeableConceptCACoreBinding |
| 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 | Σ C | 0..1 | SimpleQuantity |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| value | Σ | 0..1 | decimal |
| comparator | Σ ?! | 0..0 | codeBinding |
| unit | Σ | 0..1 | string |
| system | Σ C | 0..1 | uri |
| code | Σ | 0..1 | code |
| rate[x] | Σ | 0..1 | |
| rateQuantity | SimpleQuantity | ||
| rateRange | Range | ||
| rateRatio | Ratio | ||
| maxDosePerPeriod | Σ C | 0..1 | Ratio |
| maxDosePerAdministration | Σ C | 0..1 | SimpleQuantity |
| maxDosePerLifetime | Σ C | 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 | C | 0..1 | SimpleQuantity |
| duration | C | 0..1 | Duration |
| dispenseInterval | C | 0..1 | Duration |
| validityPeriod | C | 0..1 | Period |
| numberOfRepeatsAllowed | 0..1 | unsignedInt | |
| quantity | C | 0..1 | SimpleQuantity |
| expectedSupplyDuration | C | 0..1 | Duration |
| performer | C | 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 | C | 0..1 | Reference(MedicationRequest) |
| detectedIssue | C | 0..* | Reference(DetectedIssue) |
| eventHistory | C | 0..* | Reference(Provenance) |
| Path | Conformance | ValueSet |
|---|---|---|
| MedicationRequest.medication[x]:medicationCodeableConcept | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct |
| MedicationRequest.reasonCode | preferred | https://fhir.infoway-inforoute.ca/ValueSet/medicationreasoncode |
| MedicationRequest.dosageInstruction.route | preferred | https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration |
These bindings may be used in lieu of the primary bindings in the table above.
| Path | Conformance | AdditionalValueSet |
|---|---|---|
| MedicationRequest.medication[x]:medicationCodeableConcept | candidate | https://fhir.infoway-inforoute.ca/ValueSet/LicensedNaturalHealthProducts |
| MedicationRequest.reasonCode | candidate | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionindicationforuse |
| MedicationRequest.dosageInstruction.route | candidate | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionrouteofadministration |
The following tables list how the data elements from CA Core+ map to CACDI. For more information visit Mapping Logic.
| FHIR Profile Element | CACDI Element(s) |
|---|---|
| MedicationRequest.medication[x]:medicationCodeableConcept | Medication |
| MedicationRequest.medication[x]:medicationCodeableConcept.coding.system | Drug Code System URI |
| MedicationRequest.medication[x]:medicationCodeableConcept.coding.display | Drug English Description, Drug French Description |
| MedicationRequest.reasonCode | Medication Reason |
| MedicationRequest.reasonReference | Medication Reason |
| MedicationRequest.dosageInstruction.timing | Medication Timing |
| MedicationRequest.dosageInstruction.route | Medication Route of Administration |
| MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.value | Medication Dose Value |
| MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.unit | Medication Dose Unit of Measure |