NHDR Implementation Guide Release 1.0
0.1.0 - ci-build

NHDR Implementation Guide Release 1.0, published by NHDR. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/PROJ-PHILHEALTH-EA-NHDR/PhilHealth-NHDR-IG-Review/ and changes regularly. See the Directory of published versions

Resource Profile: PH MedicationAdministration

Official URL: https://nhdr.gov.ph/fhir/StructureDefinition/PH-MedicationAdministration Version: 0.1.0
Standards status: Draft Computable Name: PH_MedicationAdministration

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

Describes the event of a patient consuming or otherwise being administered a medication.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:extEncounter 0..* Reference(PH Encounter) {r} Encounter (Extension)
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ExtEncounter
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... medication[x] Σ 1..1 Reference(PH Medication) What was administered
... effective[x] Σ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... reasonCode 0..1 CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..1 Reference(PH Condition | PH Observation | PH DiagnosticReport) Condition or observation that supports why the medication was administered
... dosage C 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... route 0..1 CodeableConcept Path of substance into body
Binding: RouteByMethod (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status
From the FHIR Standard
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-given-codes
From the FHIR Standard
MedicationAdministration.dosage.routerequiredRouteByMethod
http://terminology.hl7.org/ValueSet/v3-RouteByMethod

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mad-1errorMedicationAdministration.dosageSHALL have at least one of dosage.dose or dosage.rate[x]
: dose.exists() or rate.exists()

This structure is derived from MedicationAdministration

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... meta
.... Slices for extension Content/Rules for all slices
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
... implicitRules 0..0
... language 0..0
... contained 0..0
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:extEncounter 0..* Reference(PH Encounter) {r} Encounter (Extension)
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ExtEncounter
... modifierExtension 0..0
... instantiates 0..0
... partOf 0..0
... status 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... statusReason 0..0
... medication[x] 1..1 Reference(PH Medication) What was administered
... subject 1..1 Reference(PH Patient) Who received medication
... context 0..0
... supportingInformation 0..0
... performer
.... extension 0..0
.... modifierExtension 0..0
.... function 0..0
.... actor 1..1 Reference(PH Practitioner | PH PractitionerRole | PH Patient | PH RelatedPerson | Device) Who performed the medication administration
... reasonCode 0..1 CodeableConcept Reason administration performed
... reasonReference 0..1 Reference(PH Condition | PH Observation | PH DiagnosticReport) Condition or observation that supports why the medication was administered
... request 0..0
... device 0..0
... dosage 0..1 BackboneElement Details of how medication was taken
.... id 0..0
.... extension 0..0
.... modifierExtension 0..0
.... route 0..1 CodeableConcept Path of substance into body
Binding: RouteByMethod (required)
... eventHistory 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status
From the FHIR Standard
MedicationAdministration.dosage.routerequiredRouteByMethod
http://terminology.hl7.org/ValueSet/v3-RouteByMethod
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:extEncounter 0..* Reference(PH Encounter) {r} Encounter (Extension)
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ExtEncounter
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... category 0..1 CodeableConcept Type of medication usage
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.
... medication[x] Σ 1..1 Reference(PH Medication) What was administered
... subject Σ 1..1 Reference(PH Patient) Who received medication
... effective[x] Σ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... performer Σ 0..* BackboneElement Who performed the medication administration and what they did
.... id 0..1 string Unique id for inter-element referencing
.... actor Σ 1..1 Reference(PH Practitioner | PH PractitionerRole | PH Patient | PH RelatedPerson | Device) Who performed the medication administration
... reasonCode 0..1 CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..1 Reference(PH Condition | PH Observation | PH DiagnosticReport) Condition or observation that supports why the medication was administered
... note 0..* Annotation Information about the administration
... dosage C 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... text 0..1 string Free text dosage instructions e.g. SIG
.... site 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route 0..1 CodeableConcept Path of substance into body
Binding: RouteByMethod (required)
.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
.... dose 0..1 SimpleQuantity Amount of medication per dose
.... rate[x] 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationAdministration.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
MedicationAdministration.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status
From the FHIR Standard
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
http://hl7.org/fhir/ValueSet/medication-admin-category
From the FHIR Standard
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-given-codes
From the FHIR Standard
MedicationAdministration.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
From the FHIR Standard
MedicationAdministration.dosage.routerequiredRouteByMethod
http://terminology.hl7.org/ValueSet/v3-RouteByMethod
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mad-1errorMedicationAdministration.dosageSHALL have at least one of dosage.dose or dosage.rate[x]
: dose.exists() or rate.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:extEncounter 0..* Reference(PH Encounter) {r} Encounter (Extension)
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ExtEncounter
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... medication[x] Σ 1..1 Reference(PH Medication) What was administered
... effective[x] Σ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... reasonCode 0..1 CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..1 Reference(PH Condition | PH Observation | PH DiagnosticReport) Condition or observation that supports why the medication was administered
... dosage C 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... route 0..1 CodeableConcept Path of substance into body
Binding: RouteByMethod (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status
From the FHIR Standard
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-given-codes
From the FHIR Standard
MedicationAdministration.dosage.routerequiredRouteByMethod
http://terminology.hl7.org/ValueSet/v3-RouteByMethod

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mad-1errorMedicationAdministration.dosageSHALL have at least one of dosage.dose or dosage.rate[x]
: dose.exists() or rate.exists()

Differential View

This structure is derived from MedicationAdministration

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... meta
.... Slices for extension Content/Rules for all slices
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
... implicitRules 0..0
... language 0..0
... contained 0..0
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:extEncounter 0..* Reference(PH Encounter) {r} Encounter (Extension)
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ExtEncounter
... modifierExtension 0..0
... instantiates 0..0
... partOf 0..0
... status 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... statusReason 0..0
... medication[x] 1..1 Reference(PH Medication) What was administered
... subject 1..1 Reference(PH Patient) Who received medication
... context 0..0
... supportingInformation 0..0
... performer
.... extension 0..0
.... modifierExtension 0..0
.... function 0..0
.... actor 1..1 Reference(PH Practitioner | PH PractitionerRole | PH Patient | PH RelatedPerson | Device) Who performed the medication administration
... reasonCode 0..1 CodeableConcept Reason administration performed
... reasonReference 0..1 Reference(PH Condition | PH Observation | PH DiagnosticReport) Condition or observation that supports why the medication was administered
... request 0..0
... device 0..0
... dosage 0..1 BackboneElement Details of how medication was taken
.... id 0..0
.... extension 0..0
.... modifierExtension 0..0
.... route 0..1 CodeableConcept Path of substance into body
Binding: RouteByMethod (required)
... eventHistory 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status
From the FHIR Standard
MedicationAdministration.dosage.routerequiredRouteByMethod
http://terminology.hl7.org/ValueSet/v3-RouteByMethod

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:extEncounter 0..* Reference(PH Encounter) {r} Encounter (Extension)
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ExtEncounter
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... category 0..1 CodeableConcept Type of medication usage
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.
... medication[x] Σ 1..1 Reference(PH Medication) What was administered
... subject Σ 1..1 Reference(PH Patient) Who received medication
... effective[x] Σ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... performer Σ 0..* BackboneElement Who performed the medication administration and what they did
.... id 0..1 string Unique id for inter-element referencing
.... actor Σ 1..1 Reference(PH Practitioner | PH PractitionerRole | PH Patient | PH RelatedPerson | Device) Who performed the medication administration
... reasonCode 0..1 CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..1 Reference(PH Condition | PH Observation | PH DiagnosticReport) Condition or observation that supports why the medication was administered
... note 0..* Annotation Information about the administration
... dosage C 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... text 0..1 string Free text dosage instructions e.g. SIG
.... site 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route 0..1 CodeableConcept Path of substance into body
Binding: RouteByMethod (required)
.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
.... dose 0..1 SimpleQuantity Amount of medication per dose
.... rate[x] 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationAdministration.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
MedicationAdministration.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status
From the FHIR Standard
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
http://hl7.org/fhir/ValueSet/medication-admin-category
From the FHIR Standard
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-given-codes
From the FHIR Standard
MedicationAdministration.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
From the FHIR Standard
MedicationAdministration.dosage.routerequiredRouteByMethod
http://terminology.hl7.org/ValueSet/v3-RouteByMethod
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mad-1errorMedicationAdministration.dosageSHALL have at least one of dosage.dose or dosage.rate[x]
: dose.exists() or rate.exists()

 

Other representations of profile: CSV, Excel, Schematron