PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
BASE
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# Definition of Medication Knowledge
CLOSED {
a [fhir:MedicationKnowledge];
fhir:nodeRole [fhir:treeRoot]?;
fhir:Resource.id id?; # Logical id of this artifact
fhir:Resource.meta @?; # Metadata about the resource
fhir:Resource.implicitRules @?; # A set of rules under which this
# content was created
fhir:Resource.language @?; # Language of the resource content
fhir:DomainResource.text @?; # Text summary of the resource, for
# human interpretation
fhir:DomainResource.contained @*; # Contained, inline Resources
fhir:DomainResource.extension @*; # Additional content defined by
# implementations
fhir:DomainResource.modifierExtension @*; # Extensions that cannot be ignored
fhir:MedicationKnowledge.code @?; # Code that identifies this
# medication
fhir:MedicationKnowledge.status @ AND
{fhir:value @fhirvs:medicationknowledge-status}?; # active | inactive |
# entered-in-error
fhir:MedicationKnowledge.manufacturer @?; # Manufacturer of the item
fhir:MedicationKnowledge.doseForm @?; # powder | tablets | capsule +
fhir:MedicationKnowledge.amount @?; # Amount of drug in package
fhir:MedicationKnowledge.synonym @*; # Additional names for a medication
fhir:MedicationKnowledge.relatedMedicationKnowledge @*; # Associated or related medication
# information
fhir:MedicationKnowledge.associatedMedication @*; # A medication resource that is
# associated with this medication
fhir:MedicationKnowledge.productType @*; # Category of the medication or
# product
fhir:MedicationKnowledge.monograph @*; # Associated documentation about the
# medication
fhir:MedicationKnowledge.ingredient @*; # Active or inactive ingredient
fhir:MedicationKnowledge.preparationInstruction @?; # The instructions for preparing the
# medication
fhir:MedicationKnowledge.intendedRoute @*; # The intended or approved route of
# administration
fhir:MedicationKnowledge.cost @*; # The pricing of the medication
fhir:MedicationKnowledge.monitoringProgram @*; # Program under which a medication
# is reviewed
fhir:MedicationKnowledge.administrationGuidelines @*; # Guidelines for administration of
# the medication
fhir:MedicationKnowledge.medicineClassification @*; # Categorization of the medication
# within a formulary or
# classification system
fhir:MedicationKnowledge.packaging @?; # Details about packaged medications
fhir:MedicationKnowledge.drugCharacteristic @*; # Specifies descriptive properties
# of the medicine
fhir:MedicationKnowledge.contraindication @*; # Potential clinical issue with or
# between medication(s)
fhir:MedicationKnowledge.regulatory @*; # Regulatory information about a
# medication
fhir:MedicationKnowledge.kinetics @*; # The time course of drug
# absorption, distribution,
# metabolism and excretion of a
# medication from the body
fhir:index xsd:integer? # Relative position in a list
}
# Guidelines for administration of the medication
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.administrationGuidelines.dosage @*; # Dosage for the medication for the
# specific guidelines
( # Indication for use that apply to
# the specific administration
# guidelines
fhir:MedicationKnowledge.administrationGuidelines.indicationCodeableConcept @ |
fhir:MedicationKnowledge.administrationGuidelines.indicationReference @
)?;
fhir:MedicationKnowledge.administrationGuidelines.patientCharacteristics @*; # Characteristics of the patient
# that are relevant to the
# administration guidelines
fhir:index xsd:integer? # Relative position in a list
}
# Associated documentation about the medication
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.monograph.type @?; # The category of medication document
fhir:MedicationKnowledge.monograph.source @?; # Associated documentation about the
# medication
fhir:index xsd:integer? # Relative position in a list
}
# Regulatory information about a medication
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.regulatory.regulatoryAuthority @; # Specifies the authority of the
# regulation
fhir:MedicationKnowledge.regulatory.substitution @*; # Specifies if changes are allowed
# when dispensing a medication from
# a regulatory perspective
fhir:MedicationKnowledge.regulatory.schedule @*; # Specifies the schedule of a
# medication in jurisdiction
fhir:MedicationKnowledge.regulatory.maxDispense @?; # The maximum number of units of the
# medication that can be dispensed
# in a period
fhir:index xsd:integer? # Relative position in a list
}
# Associated or related medication information
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.relatedMedicationKnowledge.type @; # Category of medicationKnowledge
fhir:MedicationKnowledge.relatedMedicationKnowledge.reference @+; # Associated documentation about the
# associated medication knowledge
fhir:index xsd:integer? # Relative position in a list
}
# Specifies descriptive properties of the medicine
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.drugCharacteristic.type @?; # Code specifying the type of
# characteristic of medication
( # Description of the characteristic
fhir:MedicationKnowledge.drugCharacteristic.valueCodeableConcept @ |
fhir:MedicationKnowledge.drugCharacteristic.valueString @ |
fhir:MedicationKnowledge.drugCharacteristic.valueQuantity @ |
fhir:MedicationKnowledge.drugCharacteristic.valueBase64Binary @
)?;
fhir:index xsd:integer? # Relative position in a list
}
# Program under which a medication is reviewed
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.monitoringProgram.type @?; # Type of program under which the
# medication is monitored
fhir:MedicationKnowledge.monitoringProgram.name @?; # Name of the reviewing program
fhir:index xsd:integer? # Relative position in a list
}
# The time course of drug absorption, distribution, metabolism and excretion of a medication from the body
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.kinetics.areaUnderCurve @*; # The drug concentration measured at
# certain discrete points in time
fhir:MedicationKnowledge.kinetics.lethalDose50 @*; # The median lethal dose of a drug
fhir:MedicationKnowledge.kinetics.halfLifePeriod @?; # Time required for concentration in
# the body to decrease by half
fhir:index xsd:integer? # Relative position in a list
}
# The pricing of the medication
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.cost.type @; # The category of the cost
# information
fhir:MedicationKnowledge.cost.source @?; # The source or owner for the price
# information
fhir:MedicationKnowledge.cost.cost @; # The price of the medication
fhir:index xsd:integer? # Relative position in a list
}
# Categorization of the medication within a formulary or classification system
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.medicineClassification.type @; # The type of category for the
# medication (for example,
# therapeutic classification,
# therapeutic sub-classification)
fhir:MedicationKnowledge.medicineClassification.classification @*; # Specific category assigned to the
# medication
fhir:index xsd:integer? # Relative position in a list
}
# Details about packaged medications
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.packaging.type @?; # A code that defines the specific
# type of packaging that the
# medication can be found in
fhir:MedicationKnowledge.packaging.quantity @?; # The number of product units the
# package would contain if fully
# loaded
fhir:index xsd:integer? # Relative position in a list
}
# Active or inactive ingredient
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
( # Medication(s) or substance(s)
# contained in the medication
fhir:MedicationKnowledge.ingredient.itemCodeableConcept @ |
fhir:MedicationKnowledge.ingredient.itemReference @
);
fhir:MedicationKnowledge.ingredient.isActive @?; # Active ingredient indicator
fhir:MedicationKnowledge.ingredient.strength @?; # Quantity of ingredient present
fhir:index xsd:integer? # Relative position in a list
}
# The maximum number of units of the medication that can be dispensed in a period
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.regulatory.maxDispense.quantity @; # The maximum number of units of the
# medication that can be dispensed
fhir:MedicationKnowledge.regulatory.maxDispense.period @?; # The period that applies to the
# maximum number of units
fhir:index xsd:integer? # Relative position in a list
}
# Specifies the schedule of a medication in jurisdiction
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.regulatory.schedule.schedule @; # Specifies the specific drug
# schedule
fhir:index xsd:integer? # Relative position in a list
}
# Specifies if changes are allowed when dispensing a medication from a regulatory perspective
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.regulatory.substitution.type @; # Specifies the type of substitution
# allowed
fhir:MedicationKnowledge.regulatory.substitution.allowed @; # Specifies if regulation allows for
# changes in the medication when
# dispensing
fhir:index xsd:integer? # Relative position in a list
}
# Dosage for the medication for the specific guidelines
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicationKnowledge.administrationGuidelines.dosage.type @; # Type of dosage
fhir:MedicationKnowledge.administrationGuidelines.dosage.dosage @+; # Dosage for the medication for the
# specific guidelines
fhir:index xsd:integer? # Relative position in a list
}
# Characteristics of the patient that are relevant to the administration guidelines
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
( # Specific characteristic that is
# relevant to the administration
# guideline
fhir:MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicCodeableConcept @ |
fhir:MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicQuantity @
);
fhir:MedicationKnowledge.administrationGuidelines.patientCharacteristics.value @*; # The specific characteristic
fhir:index xsd:integer? # Relative position in a list
}
#---------------------- Data Types -------------------
# Metadata about a resource
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Meta.versionId @?; # Version specific identifier
fhir:Meta.lastUpdated @?; # When the resource version last
# changed
fhir:Meta.source @?; # Identifies where the resource
# comes from
fhir:Meta.profile @*; # Profiles this resource claims to
# conform to
fhir:Meta.security @*; # Security Labels applied to this
# resource
fhir:Meta.tag @*; # Tags applied to this resource
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type code
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value code?; # Primitive value for code
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type string
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value string MAXLENGTH 1048576?; # Primitive value for string
fhir:index xsd:integer? # Relative position in a list
}
# A reference from one resource to another
CLOSED {
fhir:link IRI?;
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Reference.reference @?; # Literal reference, Relative,
# internal or absolute URL
fhir:Reference.type @?; # Type the reference refers to (e.g.
# "Patient")
fhir:Reference.identifier @?; # Logical reference, when literal
# reference is not known
fhir:Reference.display @?; # Text alternative for the resource
fhir:index xsd:integer? # Relative position in a list
}
# Base Resource
{a .+;
fhir:Resource.id id?; # Logical id of this artifact
fhir:Resource.meta @?; # Metadata about the resource
fhir:Resource.implicitRules @?; # A set of rules under which this
# content was created
fhir:Resource.language @?; # Language of the resource content
fhir:index xsd:integer?
}
# A fixed quantity (no comparator)
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Quantity.value @?; # Numerical value (with implicit
# precision)
fhir:Quantity.unit @?; # Unit representation
fhir:Quantity.system @?; # System that defines coded unit form
fhir:Quantity.code @?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# A length of time
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Quantity.value @?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @ AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > - how to
# understand the value
fhir:Quantity.unit @?; # Unit representation
fhir:Quantity.system @?; # System that defines coded unit form
fhir:Quantity.code @?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# How the medication is/was taken or should be taken
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Dosage.sequence @?; # The order of the dosage
# instructions
fhir:Dosage.text @?; # Free text dosage instructions e.g.
# SIG
fhir:Dosage.additionalInstruction @*; # Supplemental instruction or
# warnings to the patient - e.g.
# "with meals", "may cause
# drowsiness"
fhir:Dosage.patientInstruction @?; # Patient or consumer oriented
# instructions
fhir:Dosage.timing @?; # When medication should be
# administered
( # Take "as needed" (for x)
fhir:Dosage.asNeededBoolean @ |
fhir:Dosage.asNeededCodeableConcept @
)?;
fhir:Dosage.site @?; # Body site to administer to
fhir:Dosage.route @?; # How drug should enter body
fhir:Dosage.method @?; # Technique for administering
# medication
fhir:Dosage.doseAndRate @*; # Amount of medication administered
fhir:Dosage.maxDosePerPeriod @?; # Upper limit on medication per unit
# of time
fhir:Dosage.maxDosePerAdministration @?; # Upper limit on medication per
# administration
fhir:Dosage.maxDosePerLifetime @?; # Upper limit on medication per
# lifetime of the patient
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type uri
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value uri?; # Primitive value for uri
fhir:index xsd:integer? # Relative position in a list
}
# Optional Extensions Element
CLOSED {
fhir:Element.id id?;
fhir:Element.extension @*;
fhir:Extension.url uri;
(
fhir:Extension.valueBase64Binary @ |
fhir:Extension.valueBoolean @ |
fhir:Extension.valueCanonical @ |
fhir:Extension.valueCode @ |
fhir:Extension.valueDate @ |
fhir:Extension.valueDateTime @ |
fhir:Extension.valueDecimal @ |
fhir:Extension.valueId @ |
fhir:Extension.valueInstant @ |
fhir:Extension.valueInteger @ |
fhir:Extension.valueMarkdown @ |
fhir:Extension.valueOid @ |
fhir:Extension.valuePositiveInt @ |
fhir:Extension.valueString @ |
fhir:Extension.valueTime @