PackagesCanonicalsLogsProblems
    Packages
    Package.JSON@1.0.0
    http://spms.min-saude.pt/fhir/iop/StructureDefinition/medication-administration-discharge-summary
{
  "description": null,
  "_filename": "MedicationAdministrationDischargeSummary.StructureDefinition.json",
  "package_name": "Package.JSON",
  "date": null,
  "derivation": "constraint",
  "meta": {
    "versionId": "1",
    "lastUpdated": "2019-09-06T10:30:16.78+01:00"
  },
  "publisher": null,
  "fhirVersion": "3.0.1",
  "name": "medication-administration-discharge-summary",
  "abstract": false,
  "type": "MedicationAdministration",
  "experimental": null,
  "resourceType": "StructureDefinition",
  "title": null,
  "package_version": "1.0.0",
  "snapshot": {
    "element": [ {
      "constraint": [ {
        "key": "dom-2",
        "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
        "xpath": "not(parent::f:contained and f:contained)",
        "severity": "error",
        "expression": "contained.contained.empty()"
      }, {
        "key": "dom-1",
        "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
        "xpath": "not(parent::f:contained and f:text)",
        "severity": "error",
        "expression": "contained.text.empty()"
      }, {
        "key": "dom-4",
        "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
        "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
        "severity": "error",
        "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()"
      }, {
        "key": "dom-3",
        "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
        "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
        "severity": "error",
        "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()"
      }, {
        "key": "mad-2",
        "human": "Reason not given is only permitted if NotGiven is true",
        "xpath": "not(exists(f:reasonNotGiven) and f:notGiven/@value=false())",
        "severity": "error",
        "expression": "reasonNotGiven.empty() or notGiven = true"
      }, {
        "key": "mad-3",
        "human": "Reason given is only permitted if NotGiven is false",
        "xpath": "not(exists(f:reasonCode) and f:notGiven/@value=true())",
        "severity": "error",
        "expression": "reasonCode.empty() or notGiven.empty() or notGiven = 'false'"
      } ],
      "path": "MedicationAdministration",
      "min": 0,
      "definition": "Describes the event of a patient consuming or otherwise being administered a medication.  This may be as simple as swallowing a tablet or it may be a long running infusion.  Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.",
      "short": "Administration of medication to a patient",
      "mapping": [ {
        "map": "Entity. Role, or Act",
        "identity": "rim"
      }, {
        "map": "..Event",
        "identity": "workflow"
      }, {
        "map": "SubstanceAdministration",
        "identity": "rim"
      }, {
        "map": "clinical.medication",
        "identity": "w5"
      } ],
      "max": "*",
      "id": "MedicationAdministration",
      "comment": "The WG will be updating the MedicationAdministration resource  to adjust each affected resource to align with the workflow pattern (see workflow.html).",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Resource"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.id",
      "min": 1,
      "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
      "short": "Logical id of this artifact",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "id"
      } ],
      "max": "1",
      "id": "MedicationAdministration.id",
      "condition": [ "ele-1" ],
      "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Resource.id"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.meta",
      "min": 0,
      "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.",
      "short": "Metadata about the resource",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Meta"
      } ],
      "max": "1",
      "id": "MedicationAdministration.meta",
      "condition": [ "ele-1" ],
      "base": {
        "max": "1",
        "min": 0,
        "path": "Resource.meta"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.implicitRules",
      "min": 0,
      "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
      "isModifier": true,
      "short": "A set of rules under which this content was created",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "uri"
      } ],
      "max": "1",
      "id": "MedicationAdministration.implicitRules",
      "condition": [ "ele-1" ],
      "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Resource.implicitRules"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.language",
      "min": 0,
      "definition": "The base language in which the resource is written.",
      "short": "Language of the resource content",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "code"
      } ],
      "binding": {
        "strength": "extensible",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
          "valueReference": {
            "reference": "http://hl7.org/fhir/ValueSet/all-languages"
          }
        }, {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "Language"
        }, {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
          "valueBoolean": true
        } ],
        "description": "A human language.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/languages"
        }
      },
      "max": "1",
      "id": "MedicationAdministration.language",
      "condition": [ "ele-1" ],
      "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Resource.language"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.text",
      "min": 0,
      "definition": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
      "short": "Text summary of the resource, for human interpretation",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      }, {
        "map": "Act.text?",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Narrative"
      } ],
      "alias": [ "narrative", "html", "xhtml", "display" ],
      "max": "1",
      "id": "MedicationAdministration.text",
      "condition": [ "ele-1", "dom-1" ],
      "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "DomainResource.text"
      }
    }, {
      "path": "MedicationAdministration.contained",
      "min": 0,
      "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
      "short": "Contained, inline Resources",
      "mapping": [ {
        "map": "Entity. Role, or Act",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Resource"
      } ],
      "alias": [ "inline resources", "anonymous resources", "contained resources" ],
      "max": "*",
      "id": "MedicationAdministration.contained",
      "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "DomainResource.contained"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ext-1",
        "human": "Must have either extensions or value[x], not both",
        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "MedicationAdministration.extension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "short": "Additional Content defined by implementations",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "slicing": {
        "rules": "open",
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content" ],
      "max": "*",
      "id": "MedicationAdministration.extension",
      "condition": [ "ele-1" ],
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "DomainResource.extension"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ext-1",
        "human": "Must have either extensions or value[x], not both",
        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "MedicationAdministration.modifierExtension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
      "isModifier": true,
      "short": "Extensions that cannot be ignored",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "slicing": {
        "rules": "open",
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content" ],
      "max": "*",
      "id": "MedicationAdministration.modifierExtension",
      "condition": [ "ele-1" ],
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "DomainResource.modifierExtension"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.identifier",
      "min": 0,
      "definition": "External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource.  The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event.  Particularly important if these records have to be updated.",
      "short": "External identifier",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)",
        "identity": "v2"
      }, {
        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]",
        "identity": "rim"
      }, {
        "map": "Identifier",
        "identity": "servd"
      }, {
        "map": "…identifier",
        "identity": "workflow"
      }, {
        "map": ".id",
        "identity": "rim"
      }, {
        "map": "id",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "Identifier"
      } ],
      "max": "*",
      "id": "MedicationAdministration.identifier",
      "condition": [ "ele-1" ],
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.identifier"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.definition",
      "min": 0,
      "definition": "A protocol, guideline, orderset or other definition that was adhered to in whole or in part by this event.",
      "short": "Instantiates protocol or definition",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "…definition",
        "identity": "workflow"
      }, {
        "map": ".outboundRelationship[typeCode=DEFN].target[classCode=unspecified]",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
      }, {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
      } ],
      "max": "*",
      "id": "MedicationAdministration.definition",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.definition"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.partOf",
      "min": 0,
      "definition": "A larger event of which this particular event is a component or step.",
      "short": "Part of referenced event",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "…part of",
        "identity": "workflow"
      }, {
        "map": ".outboundRelationship[typeCode=COMP]/target[classCode=SBADM or PROC,moodCode=EVN]",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
      }, {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
      } ],
      "max": "*",
      "id": "MedicationAdministration.partOf",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.partOf"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.status",
      "fixedCode": "completed",
      "min": 1,
      "definition": "Will generally be set to show that the administration has been completed.  For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way.",
      "isModifier": true,
      "short": "in-progress | on-hold | completed | entered-in-error | stopped | unknown",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "…status",
        "identity": "workflow"
      }, {
        "map": "RXA-20-Completion Status",
        "identity": "v2"
      }, {
        "map": ".statusCode",
        "identity": "rim"
      }, {
        "map": "status",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "code"
      } ],
      "binding": {
        "strength": "required",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "MedicationAdministrationStatus"
        } ],
        "description": "A set of codes indicating the current status of a MedicationAdministration.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/medication-admin-status"
        }
      },
      "max": "1",
      "id": "MedicationAdministration.status",
      "condition": [ "ele-1" ],
      "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
      "base": {
        "max": "1",
        "min": 1,
        "path": "MedicationAdministration.status"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.category",
      "min": 0,
      "definition": "Indicates the type of medication administration and where the medication is expected to be consumed or administered.",
      "short": "Type of medication usage",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CE/CNE/CWE",
        "identity": "v2"
      }, {
        "map": "CD",
        "identity": "rim"
      }, {
        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD",
        "identity": "orim"
      }, {
        "map": ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"type of medication usage\"].value",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "CodeableConcept"
      } ],
      "binding": {
        "strength": "preferred",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "MedicationAdministrationCategory"
        } ],
        "description": "A coded concept describing where the medication administered is expected to occur",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/medication-admin-category"
        }
      },
      "max": "1",
      "id": "MedicationAdministration.category",
      "condition": [ "ele-1" ],
      "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.category"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.medication[x]",
      "min": 1,
      "definition": "Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.",
      "short": "What was administered",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CE/CNE/CWE",
        "identity": "v2"
      }, {
        "map": "CD",
        "identity": "rim"
      }, {
        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD",
        "identity": "orim"
      }, {
        "map": "…code",
        "identity": "workflow"
      }, {
        "map": "RXA-5-Administered Code",
        "identity": "v2"
      }, {
        "map": ".participation[typeCode=CSM].role[classCode=ADMM]",
        "identity": "rim"
      }, {
        "map": "what",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "CodeableConcept"
      }, {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/medication-discharge-summary"
      } ],
      "binding": {
        "strength": "example",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "MedicationCode"
        } ],
        "description": "Codes identifying substance or product that can be administered.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
        }
      },
      "max": "1",
      "id": "MedicationAdministration.medication[x]",
      "condition": [ "ele-1" ],
      "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .",
      "base": {
        "max": "1",
        "min": 1,
        "path": "MedicationAdministration.medication[x]"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.subject",
      "min": 1,
      "definition": "The person or animal or group receiving the medication.",
      "short": "Who received medication",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "…subject",
        "identity": "workflow"
      }, {
        "map": "PID-3-Patient ID List",
        "identity": "v2"
      }, {
        "map": ".participation[typeCode=SBJ].role[classCode=PAT]",
        "identity": "rim"
      }, {
        "map": "who.focus",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/patient-discharge-summary"
      } ],
      "max": "1",
      "id": "MedicationAdministration.subject",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "1",
        "min": 1,
        "path": "MedicationAdministration.subject"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.context",
      "min": 0,
      "definition": "The visit, admission or other contact between patient and health care provider the medication administration was performed as part of.",
      "short": "Encounter or Episode of Care administered as part of",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "…context",
        "identity": "workflow"
      }, {
        "map": "PV1-19-Visit Number",
        "identity": "v2"
      }, {
        "map": ".inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code=\"type of encounter or episode\"]",
        "identity": "rim"
      }, {
        "map": "context",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/encounter-discharge-summary"
      } ],
      "max": "1",
      "id": "MedicationAdministration.context",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.context"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.supportingInformation",
      "min": 0,
      "definition": "Additional information (for example, patient height and weight) that supports the administration of the medication.",
      "short": "Additional information to support administration",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": ".outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)]",
        "identity": "rim"
      }, {
        "map": "context",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
      } ],
      "max": "*",
      "id": "MedicationAdministration.supportingInformation",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.supportingInformation"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.effective[x]",
      "min": 1,
      "definition": "A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.",
      "short": "Start and end time of administration",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "…occurrence[x]",
        "identity": "workflow"
      }, {
        "map": "RXA-3-Date/Time Start of Administration / RXA-4-Date/Time End of Administration",
        "identity": "v2"
      }, {
        "map": ".effectiveTime",
        "identity": "rim"
      }, {
        "map": "when.done",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "dateTime"
      }, {
        "code": "Period"
      } ],
      "max": "1",
      "id": "MedicationAdministration.effective[x]",
      "condition": [ "ele-1" ],
      "base": {
        "max": "1",
        "min": 1,
        "path": "MedicationAdministration.effective[x]"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.performer",
      "min": 0,
      "definition": "The individual who was responsible for giving the medication to the patient.",
      "short": "Who administered substance",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "…performer",
        "identity": "workflow"
      }, {
        "map": "RXA-10-Administering Provider / PRT-5-Participation Person: PRT-4-Participation='AP' (RXA-10 is deprecated)",
        "identity": "v2"
      }, {
        "map": ".participation[typeCode=PRF]",
        "identity": "rim"
      }, {
        "map": "who.actor",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "BackboneElement"
      } ],
      "max": "*",
      "id": "MedicationAdministration.performer",
      "condition": [ "ele-1" ],
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.performer"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.performer.id",
      "min": 0,
      "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "short": "xml:id (or equivalent in JSON)",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "string"
      } ],
      "representation": [ "xmlAttr" ],
      "max": "1",
      "id": "MedicationAdministration.performer.id",
      "condition": [ "ele-1" ],
      "comment": "Note that FHIR strings may not exceed 1MB in size",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Element.id"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ext-1",
        "human": "Must have either extensions or value[x], not both",
        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "MedicationAdministration.performer.extension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "short": "Additional Content defined by implementations",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "slicing": {
        "rules": "open",
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content" ],
      "max": "*",
      "id": "MedicationAdministration.performer.extension",
      "condition": [ "ele-1" ],
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ext-1",
        "human": "Must have either extensions or value[x], not both",
        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "MedicationAdministration.performer.modifierExtension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
      "isModifier": true,
      "short": "Extensions that cannot be ignored",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content", "modifiers" ],
      "max": "*",
      "id": "MedicationAdministration.performer.modifierExtension",
      "condition": [ "ele-1" ],
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "BackboneElement.modifierExtension"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.performer.actor",
      "min": 1,
      "definition": "The device, practitioner, etc. who performed the action.",
      "short": "Individual who was performing",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "….actor",
        "identity": "workflow"
      }, {
        "map": ".role",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/practitioner-discharge-summary"
      } ],
      "max": "1",
      "id": "MedicationAdministration.performer.actor",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "1",
        "min": 1,
        "path": "MedicationAdministration.performer.actor"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.performer.onBehalfOf",
      "min": 0,
      "definition": "The organization the device or practitioner was acting on behalf of.",
      "short": "Organization organization was acting for",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "….onBehalfOf",
        "identity": "workflow"
      }, {
        "map": ".role.scopingOrganization",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
      } ],
      "max": "1",
      "id": "MedicationAdministration.performer.onBehalfOf",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.performer.onBehalfOf"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.notGiven",
      "min": 0,
      "definition": "Set this to true if the record is saying that the medication was NOT administered.",
      "isModifier": true,
      "short": "True if medication not administered",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "…notDone",
        "identity": "workflow"
      }, {
        "map": "RXA-20-Completion Status='NA'",
        "identity": "v2"
      }, {
        "map": ".actionNegationInd",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "boolean"
      } ],
      "meaningWhenMissing": "If this is missing, then the medication was administered",
      "max": "1",
      "id": "MedicationAdministration.notGiven",
      "condition": [ "ele-1" ],
      "comment": "This element is labeled as a modifier because it indicates that a administration didn't happen.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.notGiven"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.reasonNotGiven",
      "min": 0,
      "definition": "A code indicating why the administration was not performed.",
      "short": "Reason administration not performed",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CE/CNE/CWE",
        "identity": "v2"
      }, {
        "map": "CD",
        "identity": "rim"
      }, {
        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD",
        "identity": "orim"
      }, {
        "map": "…notDoneReason",
        "identity": "workflow"
      }, {
        "map": "RXA-9-Administration Notes / RXA-18 Substance/Treatment Refusal Reason",
        "identity": "v2"
      }, {
        "map": ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason not given\"].value",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "CodeableConcept"
      } ],
      "binding": {
        "strength": "example",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "MedicationAdministrationNegationReason"
        } ],
        "description": "A set of codes indicating the reason why the MedicationAdministration is negated.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes"
        }
      },
      "max": "*",
      "id": "MedicationAdministration.reasonNotGiven",
      "condition": [ "ele-1", "mad-2" ],
      "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.reasonNotGiven"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.reasonCode",
      "min": 0,
      "definition": "A code indicating why the medication was given.",
      "short": "Reason administration performed",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CE/CNE/CWE",
        "identity": "v2"
      }, {
        "map": "CD",
        "identity": "rim"
      }, {
        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD",
        "identity": "orim"
      }, {
        "map": "…reasonGivenCodeableConcept",
        "identity": "workflow"
      }, {
        "map": "RXE-27 Give Indication",
        "identity": "v2"
      }, {
        "map": ".reasonCode",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "CodeableConcept"
      } ],
      "binding": {
        "strength": "example",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "MedicationAdministrationReason"
        } ],
        "description": "A set of codes indicating the reason why the MedicationAdministration was made.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/reason-medication-given-codes"
        }
      },
      "max": "*",
      "id": "MedicationAdministration.reasonCode",
      "condition": [ "ele-1", "mad-3" ],
      "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.reasonCode"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.reasonReference",
      "min": 0,
      "definition": "Condition or observation that supports why the medication was administered.",
      "short": "Condition or Observation that supports why the medication was administered",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "…reasonReference",
        "identity": "workflow"
      }, {
        "map": ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason for use ASSERTION\"].value",
        "identity": "rim"
      }, {
        "map": "no mapping",
        "identity": "w3c.prov"
      }, {
        "map": "why",
        "identity": "w5"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
      }, {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
      } ],
      "max": "*",
      "id": "MedicationAdministration.reasonReference",
      "condition": [ "ele-1" ],
      "comment": "This is a reference to a condition that is the reason for the medication request.  If only a code exists, use reasonCode.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.reasonReference"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.prescription",
      "min": 0,
      "definition": "The original request, instruction or authority to perform the administration.",
      "short": "Request administration performed against",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "…basedOn",
        "identity": "workflow"
      }, {
        "map": "ORC-2-Placer Order Number / ORC-3-Filler Order Number",
        "identity": "v2"
      }, {
        "map": "InFullfillmentOf->SubstanceAdministration",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
      } ],
      "max": "1",
      "id": "MedicationAdministration.prescription",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.prescription"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.device",
      "min": 0,
      "definition": "The device used in administering the medication to the patient.  For example, a particular infusion pump.",
      "short": "Device used to administer",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": "PRT-10 Participation Device / RXR-3 Administrative Device",
        "identity": "v2"
      }, {
        "map": "device->Access  OR device->AssignedDevice",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
      } ],
      "max": "*",
      "id": "MedicationAdministration.device",
      "condition": [ "ele-1" ],
      "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.device"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.note",
      "min": 0,
      "definition": "Extra information about the medication administration that is not conveyed by the other attributes.",
      "short": "Information about the administration",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "v2"
      }, {
        "map": "Act",
        "identity": "rim"
      }, {
        "map": "…note",
        "identity": "workflow"
      }, {
        "map": ".inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code=\"annotation\"].value",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Annotation"
      } ],
      "max": "*",
      "id": "MedicationAdministration.note",
      "condition": [ "ele-1" ],
      "comment": "For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time.  This element may need to be included in narrative because of the potential for modifying information.  *Annotations SHOULD NOT* be used to communicate \"modifying\" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.note"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "mad-1",
        "human": "SHALL have at least one of dosage.dose or dosage.rate[x]",
        "xpath": "exists(f:dose) or exists(f:*[starts-with(local-name(.), 'rate')])",
        "severity": "error",
        "expression": "dose.exists() or rate.exists()"
      } ],
      "path": "MedicationAdministration.dosage",
      "min": 1,
      "definition": "Describes the medication dosage information details e.g. dose, rate, site, route, etc.",
      "short": "Details of how medication was taken",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "component->SubstanceAdministrationEvent",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "BackboneElement"
      } ],
      "max": "1",
      "id": "MedicationAdministration.dosage",
      "condition": [ "ele-1" ],
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.dosage"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.dosage.id",
      "min": 0,
      "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "short": "xml:id (or equivalent in JSON)",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "string"
      } ],
      "representation": [ "xmlAttr" ],
      "max": "1",
      "id": "MedicationAdministration.dosage.id",
      "condition": [ "ele-1" ],
      "comment": "Note that FHIR strings may not exceed 1MB in size",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Element.id"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ext-1",
        "human": "Must have either extensions or value[x], not both",
        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "MedicationAdministration.dosage.extension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "short": "Additional Content defined by implementations",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "slicing": {
        "rules": "open",
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content" ],
      "max": "*",
      "id": "MedicationAdministration.dosage.extension",
      "condition": [ "ele-1" ],
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ext-1",
        "human": "Must have either extensions or value[x], not both",
        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "MedicationAdministration.dosage.modifierExtension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
      "isModifier": true,
      "short": "Extensions that cannot be ignored",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content", "modifiers" ],
      "max": "*",
      "id": "MedicationAdministration.dosage.modifierExtension",
      "condition": [ "ele-1" ],
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "BackboneElement.modifierExtension"
      },
      "isSummary": true
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.dosage.text",
      "min": 0,
      "definition": "Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans.\r\rThe dosage instructions should reflect the dosage of the medication that was administered.",
      "short": "Free text dosage instructions e.g. SIG",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": ".text",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "string"
      } ],
      "max": "1",
      "id": "MedicationAdministration.dosage.text",
      "condition": [ "ele-1" ],
      "comment": "Note that FHIR strings may not exceed 1MB in size",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.dosage.text"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.dosage.site",
      "min": 0,
      "definition": "A coded specification of the anatomic site where the medication first entered the body.  For example, \"left arm\".",
      "short": "Body site administered to",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CE/CNE/CWE",
        "identity": "v2"
      }, {
        "map": "CD",
        "identity": "rim"
      }, {
        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD",
        "identity": "orim"
      }, {
        "map": "RXR-2 Administration Site / RXR-6 Administration Site Modifier",
        "identity": "v2"
      }, {
        "map": ".approachSiteCode",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "CodeableConcept"
      } ],
      "binding": {
        "strength": "example",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "MedicationAdministrationSite"
        } ],
        "description": "A coded concept describing the site location the medicine enters into or onto the body.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/approach-site-codes"
        }
      },
      "max": "1",
      "id": "MedicationAdministration.dosage.site",
      "condition": [ "ele-1" ],
      "comment": "If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html).  May be a summary code, or a reference to a very precise definition of the location, or both.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.dosage.site"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.dosage.route",
      "min": 0,
      "definition": "A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient.  For example, topical, intravenous, etc.",
      "short": "Path of substance into body",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CE/CNE/CWE",
        "identity": "v2"
      }, {
        "map": "CD",
        "identity": "rim"
      }, {
        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD",
        "identity": "orim"
      }, {
        "map": "RXR-1-Route",
        "identity": "v2"
      }, {
        "map": ".routeCode",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "CodeableConcept"
      } ],
      "binding": {
        "strength": "example",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "RouteOfAdministration"
        } ],
        "description": "A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/route-codes"
        }
      },
      "max": "1",
      "id": "MedicationAdministration.dosage.route",
      "condition": [ "ele-1" ],
      "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.dosage.route"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "MedicationAdministration.dosage.method",
      "min": 0,
      "definition": "A coded value indicating the method by which the medication is intended to be or was introduced into or on the body.  This attribute will most often NOT be populated.  It is most commonly used for injections.  For example, Slow Push, Deep IV.",
      "short": "How drug was administered",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "CE/CNE/CWE",
        "identity": "v2"
      }, {
        "map": "CD",
        "identity": "rim"
      }, {
        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD",
        "identity": "orim"
      }, {
        "map": "RXR-4-Administration Method",
        "identity": "v2"
      }, {
        "map": ".methodCode",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "CodeableConcept"
      } ],
      "binding": {
        "strength": "example",
        "extension": [ {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "MedicationAdministrationMethod"
        } ],
        "description": "A coded concept describing the technique by which the medicine is administered.",
        "valueSetReference": {
          "reference": "http://hl7.org/fhir/ValueSet/administration-method-codes"
        }
      },
      "max": "1",
      "id": "MedicationAdministration.dosage.method",
      "condition": [ "ele-1" ],
      "comment": "One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration.  This means the codes used in route or form may pre-coordinate the method in the route code or the form code.  The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may  be used frequently.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.dosage.method"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "qty-3",
        "human": "If a code for the unit is present, the system SHALL also be present",
        "xpath": "not(exists(f:code)) or exists(f:system)",
        "severity": "error",
        "expression": "code.empty() or system.exists()"
      }, {
        "key": "sqty-1",
        "human": "The comparator is not used on a SimpleQuantity",
        "xpath": "not(exists(f:comparator))",
        "severity": "error",
        "expression": "comparator.empty()"
      } ],
      "path": "MedicationAdministration.dosage.dose",
      "min": 0,
      "definition": "The amount of the medication given at one administration event.   Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection.",
      "isModifier": false,
      "short": "Amount of medication per dose",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "SN (see also Range) or CQ",
        "identity": "v2"
      }, {
        "map": "PQ, IVL, MO, CO, depending on the values",
        "identity": "rim"
      }, {
        "map": "RXA-6 Administered Amount / RXA-7 Administered Units",
        "identity": "v2"
      }, {
        "map": ".doseQuantity",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Quantity",
        "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
      } ],
      "max": "1",
      "id": "MedicationAdministration.dosage.dose",
      "condition": [ "ele-1" ],
      "comment": "If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.dosage.dose"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "rat-1",
        "human": "Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present",
        "xpath": "(count(f:numerator) = count(f:denominator)) and ((count(f:numerator) > 0) or (count(f:extension) > 0))",
        "severity": "error",
        "expression": "(numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())"
      } ],
      "path": "MedicationAdministration.dosage.rate[x]",
      "min": 0,
      "definition": "Identifies the speed with which the medication was or will be introduced into the patient.  Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr.  May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours.  Other examples:  200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours.",
      "short": "Dose quantity per unit of time",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "N/A",
        "identity": "v2"
      }, {
        "map": "RTO",
        "identity": "rim"
      }, {
        "map": "RXA-12-Administered Per (Time Unit)",
        "identity": "v2"
      }, {
        "map": ".rateQuantity",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Ratio"
      }, {
        "code": "Quantity",
        "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
      } ],
      "max": "1",
      "id": "MedicationAdministration.dosage.rate[x]",
      "condition": [ "ele-1" ],
      "comment": "If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "MedicationAdministration.dosage.rate[x]"
      }
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "xpath": "@value|f:*|h:div",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      }, {
        "key": "ref-1",
        "human": "SHALL have a contained resource if a local reference is provided",
        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
        "severity": "error",
        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))"
      } ],
      "path": "MedicationAdministration.eventHistory",
      "min": 0,
      "definition": "A summary of the events of interest that have occurred, such as when the administration was verified.",
      "short": "A list of events of interest in the lifecycle",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      }, {
        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)",
        "identity": "rim"
      }, {
        "map": ".inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
      } ],
      "max": "*",
      "id": "MedicationAdministration.eventHistory",
      "condition": [ "ele-1" ],
      "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "MedicationAdministration.eventHistory"
      }
    } ]
  },
  "status": "draft",
  "id": "6b785278-2d1e-4378-9777-1ef1ef4319cd",
  "kind": "resource",
  "url": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/medication-administration-discharge-summary",
  "version": null,
  "differential": {
    "element": [ {
      "id": "MedicationAdministration.id",
      "min": 1,
      "path": "MedicationAdministration.id"
    }, {
      "id": "MedicationAdministration.status",
      "path": "MedicationAdministration.status",
      "fixedCode": "completed"
    }, {
      "id": "MedicationAdministration.medication[x]",
      "path": "MedicationAdministration.medication[x]",
      "type": [ {
        "code": "CodeableConcept"
      }, {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/medication-discharge-summary"
      } ]
    }, {
      "id": "MedicationAdministration.subject",
      "path": "MedicationAdministration.subject",
      "type": [ {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/patient-discharge-summary"
      } ]
    }, {
      "id": "MedicationAdministration.context",
      "path": "MedicationAdministration.context",
      "type": [ {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/encounter-discharge-summary"
      } ]
    }, {
      "id": "MedicationAdministration.performer.actor",
      "path": "MedicationAdministration.performer.actor",
      "type": [ {
        "code": "Reference",
        "aggregation": [ "referenced", "bundled" ],
        "targetProfile": "http://spms.min-saude.pt/fhir/iop/StructureDefinition/practitioner-discharge-summary"
      } ]
    }, {
      "id": "MedicationAdministration.dosage",
      "min": 1,
      "path": "MedicationAdministration.dosage"
    } ]
  },
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
}