Bản hướng dẫn thực thi (IG) dành cho các hệ thống thông tin Y tế tại Việt Nam
1.0.0 - CI Build

Bản hướng dẫn thực thi (IG) dành cho các hệ thống thông tin Y tế tại Việt Nam, published by Cục Công nghệ thông tin - Bộ Y tế. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7vn/vn-core-ig/ and changes regularly. See the Directory of published versions

Data Type Profile: VNCoreDosage - Detailed Descriptions

Definitions for the vn-core-dosage Profile.

Guidance on how to interpret the contents of this table can be found here

0. Dosage
Definition

Indicates how the medication is/was taken or should be taken by the patient.

ShortHow the medication is/was taken or should be taken
Control0..*
Is Modifierfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
2. Dosage.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
4. Dosage.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

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.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on Dosage.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Dosage.modifierExtension
    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    8. Dosage.sequence
    Definition

    Indicates the order in which the dosage instructions should be applied or interpreted.

    ShortThe order of the dosage instructions
    Control0..1
    Typeinteger
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    If the sequence number of multiple Dosages is the same, then it is implied that the instructions are to be treated as concurrent. If the sequence number is different, then the Dosages are intended to be sequential.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    10. Dosage.text
    Definition

    Free text dosage instructions e.g. SIG.

    ShortFree text dosage instructions e.g. SIG
    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing. Additional information about administration or preparation of the medication should be included as text.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    12. Dosage.additionalInstruction
    Definition

    A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

    ShortConcept - reference to a terminology or just text
    Comments

    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.

    Control0..*
    This element is affected by the following invariants: ele-1
    BindingThe codes SHOULD be taken from ValueSet dành cho Các chỉ dẫn dùng thuốc (bổ sung) (SNOMED CT)
    (preferred to http://fhir.ehealth.gov.vn/core/ValueSet/snomedCT-additional-dosage-instruction)
    TypeCodeableConcept(Codeable Concept profile - VN Core R4)
    Is Modifierfalse
    Must Supporttrue
    Requirements

    Additional instruction is intended to be coded, but where no code exists, the element could include text. For example, "Swallow with plenty of water" which might or might not be coded.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    14. Dosage.patientInstruction
    Definition

    Instructions in terms that are understood by the patient or consumer.

    ShortPatient or consumer oriented instructions
    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    16. Dosage.timing
    Definition

    When medication should be administered.

    ShortWhen medication should be administered
    Comments

    This attribute might not always be populated while the Dosage.text is expected to be populated. If both are populated, then the Dosage.text should reflect the content of the Dosage.timing.

    Control0..1
    TypeTiming
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Requirements

    The timing schedule for giving the medication to the patient. This data type allows many different expressions. For example: "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. Dosage.asNeeded[x]
    Definition

    Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept).

    ShortTake "as needed" (for x)
    Comments

    Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed".

    Control0..1
    BindingThe codes SHOULD be taken from ValueSet dành cho Các thông tin thăm, khám lâm sàng (SNOMED CT)
    (preferred to http://fhir.ehealth.gov.vn/core/ValueSet/snomedCT-clinical-finding)
    TypeChoice of: boolean, CodeableConcept(Codeable Concept profile - VN Core R4)
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    20. Dosage.site
    Definition

    A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

    ShortConcept - reference to a terminology or just text
    Comments

    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.

    Control0..1
    This element is affected by the following invariants: ele-1
    BindingFor example codes, see SNOMEDCTAnatomicalStructureForAdministrationSiteCodes
    (example to http://hl7.org/fhir/ValueSet/approach-site-codes)

    A coded concept describing the site location the medicine enters into or onto the body.

    TypeCodeableConcept(Codeable Concept profile - VN Core R4)
    Is Modifierfalse
    Must Supporttrue
    Requirements

    A coded specification of the anatomic site where the medication first enters the body.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    22. Dosage.route
    Definition

    A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

    ShortConcept - reference to a terminology or just text
    Comments

    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.

    Control0..1
    This element is affected by the following invariants: ele-1
    BindingFor example codes, see SNOMEDCTRouteCodes
    (example to http://hl7.org/fhir/ValueSet/route-codes)

    A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

    TypeCodeableConcept(Codeable Concept profile - VN Core R4)
    Is Modifierfalse
    Must Supporttrue
    Requirements

    A code specifying the route or physiological path of administration of a therapeutic agent into or onto a patient's body.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    24. Dosage.method
    Definition

    A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

    ShortConcept - reference to a terminology or just text
    Comments

    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.

    Control0..1
    This element is affected by the following invariants: ele-1
    BindingThe codes SHOULD be taken from SNOMEDCTAdministrationMethodCodes
    (preferred to http://hl7.org/fhir/ValueSet/administration-method-codes)
    TypeCodeableConcept(Codeable Concept profile - VN Core R4)
    Is Modifierfalse
    Must Supporttrue
    Requirements

    A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. For examples, Slow Push; Deep IV.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    26. Dosage.doseAndRate
    Definition

    The amount of medication administered.

    ShortAmount of medication administered
    Control0..*
    TypeElement
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    28. Dosage.doseAndRate.id
    Definition

    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ShortUnique id for inter-element referencing
    Control0..1
    Typestring
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    30. Dosage.doseAndRate.extension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ShortAdditional content defined by implementations
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on Dosage.doseAndRate.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 32. Dosage.doseAndRate.type
      Definition

      A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

      ShortConcept - reference to a terminology or just text
      Comments

      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.

      Control0..1
      This element is affected by the following invariants: ele-1
      BindingFor example codes, see DoseAndRateType
      (example to http://hl7.org/fhir/ValueSet/dose-rate-type)

      The kind of dose or rate specified.

      TypeCodeableConcept(Codeable Concept profile - VN Core R4)
      Is Modifierfalse
      Requirements

      If the type is not populated, assume to be "ordered".

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      34. Dosage.doseAndRate.dose[x]
      Definition

      Amount of medication per dose.

      ShortAmount of medication per dose
      Comments

      Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours.

      Control0..1
      TypeChoice of: Range(Range (IPS)), Quantity(SimpleQuantity, SimpleQuantity (IPS))
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Summarytrue
      Requirements

      The amount of therapeutic or other substance given at one administration event.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      36. Dosage.doseAndRate.rate[x]
      Definition

      Amount of medication per unit of time.

      ShortAmount of medication per unit of time
      Comments

      It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate.

      It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour.

      Control0..1
      TypeChoice of: Ratio(Ratio (IPS)), Range(Range (IPS)), Quantity(SimpleQuantity, SimpleQuantity (IPS))
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Summarytrue
      Requirements

      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. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      38. Dosage.maxDosePerPeriod
      Definition

      A relationship of two Quantity values - expressed as a numerator and a denominator.

      ShortA ratio of two Quantity values - a numerator and a denominator
      Comments

      The Ratio datatype should only be used to express a relationship of two numbers if the relationship cannot be suitably expressed using a Quantity and a common unit. Where the denominator value is known to be fixed to "1", Quantity should be used instead of Ratio.

      Control0..1
      This element is affected by the following invariants: ele-1
      TypeRatio(Ratio (IPS))
      Is Modifierfalse
      Must Supporttrue
      Requirements

      The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present ((numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists()))
      40. Dosage.maxDosePerAdministration
      Definition

      Upper limit on medication per administration.

      ShortUpper limit on medication per administration
      Comments

      This is intended for use as an adjunct to the dosage when there is an upper cap. For example, a body surface area related dose with a maximum amount, such as 1.5 mg/m2 (maximum 2 mg) IV over 5 – 10 minutes would have doseQuantity of 1.5 mg/m2 and maxDosePerAdministration of 2 mg.

      Control0..1
      TypeQuantity(SimpleQuantity, SimpleQuantity (IPS))
      Is Modifierfalse
      Must Supporttrue
      Must Support TypesNo must-support rules about the choice of types/profiles
      Summarytrue
      Requirements

      The maximum total quantity of a therapeutic substance that may be administered to a subject per administration.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      42. Dosage.maxDosePerLifetime
      Definition

      Upper limit on medication per lifetime of the patient.

      ShortUpper limit on medication per lifetime of the patient
      Control0..1
      TypeQuantity(SimpleQuantity, SimpleQuantity (IPS))
      Is Modifierfalse
      Summarytrue
      Requirements

      The maximum total quantity of a therapeutic substance that may be administered per lifetime of the subject.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))