## Profile Comparison between http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest vs https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication-request

Left: | IPA-MedicationRequest (http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest)
Right: | FI Base MedicationRequest (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication-request)

### Messages

Error | StructureDefinition.url | Values for url differ: 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest' vs 'https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication-request'
Error | StructureDefinition.version | Values for version differ: '1.1.0' vs '2.0.0'
Information | StructureDefinition.name | Values for name differ: 'IPAMedicationRequest' vs 'FiBaseMedicationRequest'
Information | StructureDefinition.title | Values for title differ: 'IPA-MedicationRequest' vs 'FI Base MedicationRequest'
Information | StructureDefinition.date | Values for date differ: '2022-08-02' vs '2025-10-05T15:38:20+00:00'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International / Patient Care' vs 'HL7 Finland'
Information | StructureDefinition.jurisdiction | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
Information | StructureDefinition.jurisdiction | Added the item 'urn:iso:std:iso:3166#FI'
Information | MedicationRequest.language | Example/preferred bindings differ at MedicationRequest.language using binding from IPAMedicationRequest
Warning | MedicationRequest.status | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.intent | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.reported[x] | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.medication[x] | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.subject | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.encounter | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.authoredOn | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.requester | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.dosageInstruction | Elements differ in definition for mustSupport: 'true' vs 'false'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/MedicationRequest |
copyright | Used by permission of HL7 International all rights reserved Creative Commons License |  | Removed the item 'Used by permission of HL7 International all rights reserved Creative Commons License'
date | 2022-08-02 | 2025-10-05T15:38:20+00:00 | Values Differ
description | Minimum expectations for a MedicationRequest resource when accessed via a International Patient Access API. The MedicationRequest resource represents an order or request for both supply of the medication and the instructions for administration of the medication to a patient. | This is the Finnish base profile for the MedicationRequest resource, for other than patient access use cases. | Values Differ
experimental | false |  | Removed the item 'false'
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |  | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
jurisdiction[1] |  | urn:iso:std:iso:3166#FI | Added the item 'urn:iso:std:iso:3166#FI'
kind | resource |
name | IPAMedicationRequest | FiBaseMedicationRequest | Values Differ
publisher | HL7 International / Patient Care | HL7 Finland | Values Differ
purpose |  |
status | active |
title | IPA-MedicationRequest | FI Base MedicationRequest | Values Differ
type | MedicationRequest |
url | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest | https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-medication-request | Values Differ
version | 1.1.0 | 2.0.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group |  | 0..* | MedicationRequest | Ordering of medication for patient or group |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at MedicationRequest.language using binding from IPAMedicationRequest
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier |  | 0..* | Identifier | External ids for this request |  | 0..* | Identifier | External ids for this request |
status | ?!SO Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: ?? (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| ?!Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: ?? (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription. | Elements differ in definition for mustSupport: 'true' vs 'false'
statusReason |  | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): Identifies the reasons for a given status. |  | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): Identifies the reasons for a given status. |
intent | ?!SO Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: ?? (required): The kind of medication order.
Obligations | Actor
SHALL:populate-if-known | Server
| ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: ?? (required): The kind of medication order. | Elements differ in definition for mustSupport: 'true' vs 'false'
category |  | 0..* | CodeableConcept | Type of medication usage Binding: ?? (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment. |  | 0..* | CodeableConcept | Type of medication usage Binding: ?? (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment. |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: ?? (required): Identifies the level of importance to be assigned to actioning the request. | Σ | 0..1 | code | routine | urgent | asap | stat Binding: ?? (required): Identifies the level of importance to be assigned to actioning the request. |
doNotPerform | ?!O Σ | 0..1 | boolean | True if request is prohibiting action
Obligations | Actor
SHOULD:populate | Server
SHALL:handle | Client
| ?!Σ | 0..1 | boolean | True if request is prohibiting action |
reported[x] | SO Σ | 0..1 | boolean, Reference(IPA-Patient | IPA-Practitioner | IPA-PractitionerRole) | Reported rather than primary record
Obligations | Actor
SHALL:populate-if-known | Server
SHOULD:handle | Client
| Σ | 0..1 | boolean, Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | Reported rather than primary record Slice: Unordered, Open by type:$this | Elements differ in definition for mustSupport: 'true' vs 'false'
medication[x] | SO Σ | 1..1 | CodeableConcept, Reference(IPA-Medication) | Medication to be taken Binding: ?? (example): A coded concept identifying substance or product that can be ordered.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| Σ | 1..1 | CodeableConcept, Reference(Medication) | Medication to be taken Slice: Unordered, Open by type:$this Binding: ?? (example): A coded concept identifying substance or product that can be ordered. | Elements differ in definition for mustSupport: 'true' vs 'false'
subject | SO Σ | 1..1 | Reference(IPA-Patient) | Who or group medication request is for
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| Σ | 1..1 | Reference(FI Base Patient(2.0.0)) | Who or group medication request is for | Elements differ in definition for mustSupport: 'true' vs 'false'
encounter | SO | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay
Obligations | Actor
SHALL:populate-if-known | Server
|  | 0..1 | Reference(FI Base Encounter(2.0.0)) | Encounter created as part of encounter/admission/stay | Elements differ in definition for mustSupport: 'true' vs 'false'
supportingInformation |  | 0..* | Reference(Resource) | Information to support ordering of the medication |  | 0..* | Reference(Resource) | Information to support ordering of the medication |
authoredOn | SO Σ | 0..1 | dateTime | When request was initially authored
Obligations | Actor
SHALL:populate-if-known | Server
| Σ | 0..1 | dateTime | When request was initially authored | Elements differ in definition for mustSupport: 'true' vs 'false'
requester | SO Σ | 0..1 | Reference(IPA-Practitioner | IPA-PractitionerRole | Organization | IPA-Patient | RelatedPerson | Device) | Who/What requested the Request
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| Σ | 0..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Patient(2.0.0)) | Who/What requested the Request | Elements differ in definition for mustSupport: 'true' vs 'false'
performer |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration |  | 0..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Patient(2.0.0) | FI Base Organization(2.0.0) | Device | RelatedPerson | CareTeam) | Intended performer of administration |
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ?? (example): Identifies the type of individual that is desired to administer the medication. | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ?? (example): Identifies the type of individual that is desired to administer the medication. |
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request |  | 0..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0)) | Person who entered the request |
reasonCode |  | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: ?? (example): A coded concept indicating why the medication was ordered. |  | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: ?? (example): A coded concept indicating why the medication was ordered. |
reasonReference |  | 0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written |  | 0..* | Reference(FI Base Condition(2.0.0) | FI Base Observation(2.0.0)) | Condition or observation that supports why the prescription is being written |
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills | Σ | 0..* | Reference(CarePlan | FI Base MedicationRequest(2.0.0) | ServiceRequest | ImmunizationRecommendation) | What request fulfills |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of | Σ | 0..1 | Identifier | Composite request this is part of |
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: ?? (example): Identifies the overall pattern of medication administratio. |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: ?? (example): Identifies the overall pattern of medication administratio. |
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage |
note |  | 0..* | Annotation | Information about the prescription |  | 0..* | Annotation | Information about the prescription |
dosageInstruction | SO | 0..* | Dosage | How the medication should be taken
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
|  | 0..* | Dosage | How the medication should be taken | Elements differ in definition for mustSupport: 'true' vs 'false'
id |  | 0..1 | string | Unique id for inter-element referencing |  |  |  |  | Removed this element
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  |  |  |  | Removed this element
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |  |  |  |  | Removed this element
sequence | Σ | 0..1 | integer | The order of the dosage instructions |  |  |  |  | Removed this element
text | SO Σ | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
|  |  |  |  | Removed this element
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: ?? (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". |  |  |  |  | Removed this element
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions |  |  |  |  | Removed this element
timing | Σ | 0..1 | Timing | When medication should be administered |  |  |  |  | Removed this element
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: ?? (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc. |  |  |  |  | Removed this element
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: ?? (example): A coded concept describing the site location the medicine enters into or onto the body. |  |  |  |  | Removed this element
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: ?? (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. |  |  |  |  | Removed this element
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: ?? (example): A coded concept describing the technique by which the medicine is administered. |  |  |  |  | Removed this element
doseAndRate | Σ | 0..* | Element | Amount of medication administered |  |  |  |  | Removed this element
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time |  |  |  |  | Removed this element
maxDosePerAdministration | Σ | 0..1 | ?? | Upper limit on medication per administration |  |  |  |  | Removed this element
maxDosePerLifetime | Σ | 0..1 | ?? | Upper limit on medication per lifetime of the patient |  |  |  |  | Removed this element
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization |  | 0..1 | BackboneElement | Medication supply authorization |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
initialFill |  | 0..1 | BackboneElement | First fill details |  | 0..1 | BackboneElement | First fill details |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
quantity |  | 0..1 | ?? | First fill quantity |  | 0..1 | ?? | First fill quantity |
duration |  | 0..1 | Duration | First fill duration |  | 0..1 | Duration | First fill duration |
dispenseInterval |  | 0..1 | Duration | Minimum period of time between dispenses |  | 0..1 | Duration | Minimum period of time between dispenses |
validityPeriod |  | 0..1 | Period | Time period supply is authorized for |  | 0..1 | Period | Time period supply is authorized for |
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | Number of refills authorized |  | 0..1 | unsignedInt | Number of refills authorized |
quantity |  | 0..1 | ?? | Amount of medication to supply per dispense |  | 0..1 | ?? | Amount of medication to supply per dispense |
expectedSupplyDuration |  | 0..1 | Duration | Number of days supply per dispense |  | 0..1 | Duration | Number of days supply per dispense |
performer |  | 0..1 | Reference(Organization) | Intended dispenser |  | 0..1 | Reference(FI Base Organization(2.0.0)) | Intended dispenser |
substitution |  | 0..1 | BackboneElement | Any restrictions on medication substitution |  | 0..1 | BackboneElement | Any restrictions on medication substitution |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
allowed[x] |  | 1..1 | boolean, CodeableConcept | Whether substitution is allowed or not Binding: ?? (example): Identifies the type of substitution allowed. |  | 1..1 | boolean, CodeableConcept | Whether substitution is allowed or not Binding: ?? (example): Identifies the type of substitution allowed. |
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: ?? (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: ?? (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. |
priorPrescription |  | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced |  | 0..1 | Reference(FI Base MedicationRequest(2.0.0)) | An order/prescription that is being replaced |
detectedIssue |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action |
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle |  | 0..* | Reference(FI Base Provenance(2.0.0)) | A list of events of interest in the lifecycle |
Documentation for this format