FHIR to CDISC Joint Mapping Implementation Guide
1.0.0 - STU 1

This page is part of the CDISC Mapping FHIR IG (v1.0.0: STU 1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Concomitant Medications

The fact a patient is taking or has been exposed to a medication can be expressed in a number of ways in FHIR, with some conveying a greater degree of certainty and/or detail about exactly what was taken and when. Mappings are provided for all of these resources.

  • MedicationStatement - captures information about a drug that the patient is believed to be taking. This is generally 'summary' information and may span multiple orders. It can also be used for non-prescribed medications. In some cases, it will also assert medications not taken.
  • MedicationRequest - captures drug orders and prescriptions (though it can also contain recommendations and plans). Not all ordered drugs are actually taken (or taken as ordered)
  • MedicationDispense - captures information about a drug that was supplied to or for a patient. It also conveys the instructions for administering the supplied medication. The existence of a dispense gives confidence that the medication was actually received, but again, not dispensed are actually taken (or taken according to instructions)
  • MedicationAdministration - captures information about a specific administration of a particular drug at a specific time. These records generally only exist for in-patient administrations, though in principle they could be captured for community administrations, either by a healthcare professional or even by the patient themselves. These records are highly specific and are the most likely to reflect what the patient actually received.
  • Immunization - captures information about a specific administration of a vaccine. Like MedicationAdministration, these records are highly specific and are the most likely to reflect what the patient actually received.

Note that the same resources are used when dealing with study drugs as with concomitant drugs, so when converting data from FHIR, data will need to be filtered to differentiate between the two.

CM Mappings

Guidance on interpreting the tables can be found here.

CDISC FHIR map (or gap) Comment
Label CDASH SDTM Element FHIRPath
Study Identifier STUDYID
Core: HR
Type: Char
STUDYID
Core: Req
Type: Char
ResearchStudy.identifier
0..* Identifier

ResearchSubject.where(subject=(MedicationStatement.subject|MedicationRequest.subject|MedicationDispense.subject|MedicationAdministration.subject|Immunizations.patient)).study.resolve().partOf.resolve().identifier

MedicationStatement.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

MedicationRequest.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

MedicationDispense.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

MedicationAdministration.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

Immunization.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The path using the extension will only exist if the system maintaining the MedicationStatement/Request/Dispense/Administration or Immunization is aware of its relevance to the Study. ResearchStudy links to Patient. Observation links to Patient. If the patients are the same, that establishes the linkage. There's also an extension that allows direct linkage to a 'study' from any resource - if the source system has actually established such a linkage.
Study Site Identifier SITEID
Core: HR
Type: Char
DM.SITEID
Core: Req
Type: Char
ResearchStudy.site
0..* Reference

ResearchSubject.where(subject=(MedicationStatement.subject|MedicationRequest.subject|MedicationDispense.subject|MedicationAdministration.subject|Immunizations.patient)).study.resolve().identifier

MedicationStatement.extension(workflow-researchstudy).valueReference.resolve().identifier

MedicationRequest.extension(workflow-researchstudy).valueReference.resolve().identifier

MedicationDispense.extension(workflow-researchstudy).valueReference.resolve().identifier

MedicationAdministration.extension(workflow-researchstudy).valueReference.resolve().identifier

Immunization.extension(workflow-researchstudy).valueReference.resolve().identifier

Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The path using the extension will only exist if the system maintaining the MedicationStatement/Request/Dispense/Administration or Immunization is aware of its relevance to the Study.
Subject Identifier for the Study SUBJID
Core: HR
Type: Char
DM.SUBJID
Core: Req
Type: Char
ResearchSubject.identifier
0..* Identifier

ResearchSubject.where(individual=(MedicationStatement.subject|MedicationRequest.subject|MedicationDispense.subject|MedicationAdministration.subject|Immunizations.patient).identifier

Study subject is found by finding the StudySubject that corresponds to the same Patient and ResearchStudy as the focal resource.

No standard way to decide which subject identifier to use
Category for Medication CMCAT
Core: O
Type: Char
CMCAT
Core: Perm
Type: Char
MedicationStatement.category
0..1 CodeableConcept
Binding: MedicationStatementCategory preferred

MedicationStatement.category

In FHIR, a medication can be categorized in multiple ways and to the granularity desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate CMCAT and CMSCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes).

A standard extension will need to be used if multiple categories are specified. There can be a wide variety of categories covering different axes of categorization. As well, the binding in the HL7 specifications 'example', which means that there are no constraints on what can be used.
MedicationRequest.category
0..* CodeableConcept
Binding: MedicationRequestCategory example

MedicationRequest.category

MedicationDispense.category
0..1 CodeableConcept
Binding: MedicationDispenseCategory preferred

MedicationDispense.category

MedicationAdministration.category
0..1 CodeableConcept
Binding: MedicationAdministrationCategory preferred

MedicationAdministration.category

Subcategory for Medication CMSCAT
Core: O
Type: Char
CMSCAT
Core: Perm
Type: Char
MedicationStatement.category
0..1 CodeableConcept
Binding: MedicationStatementCategory preferred

MedicationStatement.category

In FHIR, a medication can be categorized in multiple ways and to the granularity desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate CMCAT and CMSCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes).

A standard extension will need to be used if multiple categories are specified. There can be a wide variety of categories covering different axes of categorization. As well, the binding in the HL7 specifications 'example', which means that there are no constraints on what can be used.
MedicationRequest.category
0..* CodeableConcept
Binding: MedicationRequestCategory example

MedicationRequest.category

MedicationDispense.category
0..1 CodeableConcept
Binding: MedicationDispenseCategory preferred

MedicationDispense.category

MedicationAdministration.category
0..1 CodeableConcept
Binding: MedicationAdministrationCategory preferred

MedicationAdministration.category

Any Concomitant Medications Taken CMYN
Core: O
Type: Char
This would be determined by dates within the protocol.

What constitutes a 'concomitant' drug is study-specific and would need to be evaluated on a study level. FHIR would not normally store that information. However an extension on ResearchSubject could be utilized or could be captured in a Questionnaire.
CM Sponsor-Defined Identifier CMSPID
Core: O
Type: Char
CMSPID
Core: Perm
Type: Char
MedicationStatement.identifier
0..* Identifier

MedicationStatement.identifier

MedicationRequest.identifier
0..* Identifier

MedicationRequest.identifier

MedicationDispense.identifier
0..* Identifier

MedicationDispense.identifier

MedicationAdministration.identifier
0..* Identifier

MedicationAdministration.identifier

Immunization.identifier
0..* Identifier

Immunization.identifier

Reported Name of Drug, Med, or Therapy CMTRT
Core: HR
Type: Char
CMTRT
Core: Req
Type: Char
MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medication.medicationCodeableConcept

MedicationStatement.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationStatement.medication.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medication.medicationCodeableConcept

MedicationRequest.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationRequest.medication.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medication.medicationCodeableConcept

MedicationDispense.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationDispense.medication.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medication.medicationCodeableConcept

MedicationAdministration.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationAdministration.medication.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

CM Pre-Specified CMPRESP
Core: O
Type: Char
CMPRESP
Core: Perm
Type: Char
Would not expect to receive from the site.
CM Occurrence CMOCCUR
Core: O
Type: Char
CMOCCUR
Core: Perm
Type: Char
MedicationStatement.status
1..1 code
Binding: MedicationStatementStatus required

MedicationStatement.status

In general, medication records won't exist unless the patient is taking the medication, though there is an ability to say a medication isn't currently being taken or shouldn't be taken
MedicationRequest.doNotPerform
0..1 boolean

MedicationRequest.doNotPerform=true

MedicationRequest.status
1..1 code
Binding: MedicationRequestStatus required

MedicationRequest.status IN {'entered-in-error'|'cancelled'|'stopped'}

MedicationDispense.status
1..1 code
Binding: MedicationDispenseStatus required

MedicationRequest.status IN {entered-in-error'|'cancelled'|'stopped'}

MedicationAdministration.status
1..1 code
Binding: MedicationAdministrationStatus required

MedicationAdministration.status

Immunization.status
1..1 code
Binding: ImmunizationStatus required

Immunization.status IN {'completed'|'entered-in-error'}

Concomitant Meds Active Ingredients CMINGRD
Core: O
Type: Char
Medication.ingredient
0..* BackboneElement

MedicationStatement.medicationReference.resolve().ingredient.where(isActive)

Medication.ingredient
0..* BackboneElement

MedicationRequest.medicationReference.resolve().ingredient.where(isActive)

Medication.ingredient
0..* BackboneElement

MedicationDispense.medicationReference.resolve().ingredient.where(isActive)

Medication.ingredient
0..* BackboneElement

MedicationAdministration.medicationReference.resolve().ingredient.where(isActive)

Medication.ingredient
0..* BackboneElement

Immunization.medicationReference.resolve().ingredient.where(isActive)

CM Indication CMINDC
Core: R/C
Type: Char
CMINDC
Core: Perm
Type: Char
MedicationStatement.reasonCode
0..* CodeableConcept
Binding: MedicationReason example

MedicationStatement.reasonCode

MedicationRequest.reasonCode
0..* CodeableConcept
Binding: MedicationRequestReason example

MedicationRequest.reasonCode

MedicationAdministration.reasonCode
0..* CodeableConcept
Binding: MedicationAdministrationReason example

MedicationAdministration.reasonCode

Immunization.reasonCode
0..* CodeableConcept
Binding: ImmunizationReason example

Immunization.reasonCode

Related Adverse Event ID CMAENO
Core: O
Type: Char
AdverseEvent.identifier
0..1 Identifier

AdverseEvent.where(suspectEntity.instanceReference=[some medication id]).identifier

This could match on AdverseEvent by code. (Note that the AdverseEvent points to the medication record, not the reverse
Related Medical History Event ID CMMHNO
Core: O
Type: Char
Condition.identifier
0..* Identifier

MedicationStatement.reasonReference.resolve().identifier

Condition.identifier
0..* Identifier

MedicationRequest.reasonReference.resolve().identifier

Condition.identifier
0..* Identifier

MedicationAdministration.reasonReference.resolve().identifier

Immunization.identifier
0..* Identifier

Immunization.reasonReference.resolve().identifier

CM Dose per Administration CMDOSE
Core: O
Type: Num
CMDOSE
Core: Perm
Type: Num
MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.doseAndRate.doseQuantity

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.doseAndRate.doseQuantity

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.doseAndRate.doseQuantity

MedicationAdministration.dosage.dose
0..1 Quantity

MedicationAdministration.dosage.dose

Immunization.doseQuantity
0..1 Quantity

Immunization.doseQuantity

Concomitant Meds Dose Description CMDSTXT
Core: O
Type: Char
CMDOSTXT
Core: Perm
Type: Char CMDOSE
Core: Perm
Type: Num
MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.text|MedicationStatement.dosage.maxDosePerPeriod.of

Requires combining multiple repetitions together
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.text

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.text

MedicationAdministration.dosage.text
0..1 string

MedicationAdministration.dosage.text

CM Total Daily Dose CMDOSTOT
Core: O
Type: Num
CMDOSTOT
Core: Perm
Type: Num
MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.maxDosePerPeriod

If Total Daily Dose is required by the sponsor, it may require collection of the drug dose and frequency to derive the CM Total Daily Dose.
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.dosage.maxDosePerPeriod

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.dosage.maxDosePerPeriod

Immunization.doseQuantity
0..1 Quantity

Immunization.doseQuantity

CM Dose Units CMDOSU
Core: R/C
Type: Char
CMDOSU
Core: Perm
Type: Char
MedicationStatement.dosage
0..* Dosage

MedicationStatement.doseAndRate.doseQuantity.unit

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.maxDosePerPeriod.code

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.maxDosePerPeriod.code

CM Dose Form CMDOSFRM
Core: O
Type: Char
CMDOSFRM
Core: Perm
Type: Char
Medication.form
0..1 CodeableConcept
Binding: MedicationForm example

MedicationStatement.medicationReference.resolve().form

Medication.form
0..1 CodeableConcept
Binding: MedicationForm example

MedicationRequest.medicationReference.resolve().form

Medication.form
0..1 CodeableConcept
Binding: MedicationForm example

MedicationDispense.medicationReference.resolve().form

CM Dosing Frequency per Interval CMDOSFRQ
Core: O
Type: Char
CMDOSFRQ
Core: Perm
Type: Char
MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.timing.frequency

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.frequencey

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.frequency

CM Route of Administration CMROUTE
Core: R/C
Type: Char
CMROUTE
Core: Perm
Type: Char
MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.route

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.route

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.route

MedicationAdministration.dosage.route
0..1 CodeableConcept
Binding: RouteOfAdministration example

MedicationAdministration.dosage.route

Immunization.route
0..1 CodeableConcept
Binding: ImmunizationRoute example

Immunization.route

Concomitant Meds Start Date CMSTDAT
Core: R/C
Type: Char
CMSTDTC
Core: Perm
Type: Char
values: ISO 8601
MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

Start includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.start

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.start

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.start

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Concomitant Meds Start Time CMSTTIM
Core: R/C
Type: Char
CMSTDTC
Core: Perm
Type: Char
values: ISO 8601
MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

Start includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.start

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.start

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.start

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Concomitant Meds End Date CMENDAT
Core: R/C
Type: Char
CMSTDTC
Core: Perm
Type: Char
values: ISO 8601
MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

End includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.end

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.end

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.end

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Concomitant Meds End Time CMENTIM
Core: R/C
Type: Char
CMENDTC
Core: Perm
Type: Char
values: ISO 8601
MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

End includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.end

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.end

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.end

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Prior Concomitant Meds CMPRIOR
Core: O
Type: Char
CMSTRF
Core: Perm
Type: Char CMSTRTPT
Core: Perm
Type: Char
This would need to be an extension added to the study extension on the medication resource - normally it is not captured except in the context of a study (and would be a study-specific assertion)
Ongoing Concomitant Meds CMONGO
Core: R/C
Type: Char
CMENRF
Core: Perm
Type: Char CMENRTPT
Core: Perm
Type: Char
This would need to be an extension added to the study extension on the medication resource - normally it is not captured except in the context of a study (and would be a study-specific assertion)
Standardized Medication Name CMDECOD
Core: O
Type: Char
CMDECOD
Core: Perm
Type: Char
MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

We would not expect to receive these from the site.
Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

CM Medication Class CMCLAS
Core: O
Type: Char
CMCLAS
Core: Perm
Type: Char
MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

These *can* be provided as alternate codings, however typically encoding is performed by the sponsor and we would not expect to receive these from the site.
Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

CM Medication Class Code CMCLASCD
Core: O
Type: Num
CMCLASCD
Core: Perm
Type: Char
MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

These *can* be provided as alternate codings, however typically encoding is performed by the sponsor and we would not expect to receive these from the site.
Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

ATC Level 1 Description CMATC1
Core: O
Type: Char
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.
ATC Level 1 Code CMATC1CD
Core: O
Type: Num
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
ATC Level 2 Description CMATC2
Core: O
Type: Char
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.
ATC Level 2 Code CMATC2CD
Core: O
Type: Num
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
ATC Level 3 Description CMATC3
Core: O
Type: Char
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.
ATC Level 3 Code CMATC3CD
Core: O
Type: Num
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
ATC Level 4 Description CMATC4
Core: O
Type: Char
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.
ATC Level 4 Code CMATC4CD
Core: O
Type: Num
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
ATC Level 5 Description CMATC5
Core: O
Type: Char
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.
ATC Level 5 Code CMATC5CD
Core: O
Type: Num
SUPPCM.QVAL Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
FHIR map (or gap) CDISC Comment
Label Element FHIRPath CDASH SDTM
Study Identifier ResearchStudy.identifier
0..* Identifier

ResearchSubject.where(subject=(MedicationStatement.subject|MedicationRequest.subject|MedicationDispense.subject|MedicationAdministration.subject|Immunizations.patient)).study.resolve().partOf.resolve().identifier

MedicationStatement.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

MedicationRequest.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

MedicationDispense.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

MedicationAdministration.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

Immunization.extension(workflow-researchstudy).valueReference.resolve().partOf.resolve().identifier

STUDYID
Core: HR
Type: Char
STUDYID
Core: Req
Type: Char
Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The path using the extension will only exist if the system maintaining the MedicationStatement/Request/Dispense/Administration or Immunization is aware of its relevance to the Study. ResearchStudy links to Patient. Observation links to Patient. If the patients are the same, that establishes the linkage. There's also an extension that allows direct linkage to a 'study' from any resource - if the source system has actually established such a linkage.
Study Site Identifier ResearchStudy.site
0..* Reference

ResearchSubject.where(subject=(MedicationStatement.subject|MedicationRequest.subject|MedicationDispense.subject|MedicationAdministration.subject|Immunizations.patient)).study.resolve().identifier

MedicationStatement.extension(workflow-researchstudy).valueReference.resolve().identifier

MedicationRequest.extension(workflow-researchstudy).valueReference.resolve().identifier

MedicationDispense.extension(workflow-researchstudy).valueReference.resolve().identifier

MedicationAdministration.extension(workflow-researchstudy).valueReference.resolve().identifier

Immunization.extension(workflow-researchstudy).valueReference.resolve().identifier

SITEID
Core: HR
Type: Char
DM.SITEID
Core: Req
Type: Char
Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The path using the extension will only exist if the system maintaining the MedicationStatement/Request/Dispense/Administration or Immunization is aware of its relevance to the Study.
Subject Identifier for the Study ResearchSubject.identifier
0..* Identifier

ResearchSubject.where(individual=(MedicationStatement.subject|MedicationRequest.subject|MedicationDispense.subject|MedicationAdministration.subject|Immunizations.patient).identifier

SUBJID
Core: HR
Type: Char
DM.SUBJID
Core: Req
Type: Char
Study subject is found by finding the StudySubject that corresponds to the same Patient and ResearchStudy as the focal resource.

No standard way to decide which subject identifier to use
Category for Medication MedicationStatement.category
0..1 CodeableConcept
Binding: MedicationStatementCategory preferred

MedicationStatement.category

CMCAT
Core: O
Type: Char
CMCAT
Core: Perm
Type: Char
In FHIR, a medication can be categorized in multiple ways and to the granularity desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate CMCAT and CMSCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes).

A standard extension will need to be used if multiple categories are specified. There can be a wide variety of categories covering different axes of categorization. As well, the binding in the HL7 specifications 'example', which means that there are no constraints on what can be used.
MedicationRequest.category
0..* CodeableConcept
Binding: MedicationRequestCategory example

MedicationRequest.category

MedicationDispense.category
0..1 CodeableConcept
Binding: MedicationDispenseCategory preferred

MedicationDispense.category

MedicationAdministration.category
0..1 CodeableConcept
Binding: MedicationAdministrationCategory preferred

MedicationAdministration.category

Subcategory for Medication MedicationStatement.category
0..1 CodeableConcept
Binding: MedicationStatementCategory preferred

MedicationStatement.category

CMSCAT
Core: O
Type: Char
CMSCAT
Core: Perm
Type: Char
In FHIR, a medication can be categorized in multiple ways and to the granularity desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate CMCAT and CMSCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes).

A standard extension will need to be used if multiple categories are specified. There can be a wide variety of categories covering different axes of categorization. As well, the binding in the HL7 specifications 'example', which means that there are no constraints on what can be used.
MedicationRequest.category
0..* CodeableConcept
Binding: MedicationRequestCategory example

MedicationRequest.category

MedicationDispense.category
0..1 CodeableConcept
Binding: MedicationDispenseCategory preferred

MedicationDispense.category

MedicationAdministration.category
0..1 CodeableConcept
Binding: MedicationAdministrationCategory preferred

MedicationAdministration.category

Any Concomitant Medications Taken This would be determined by dates within the protocol.

What constitutes a 'concomitant' drug is study-specific and would need to be evaluated on a study level. FHIR would not normally store that information. However an extension on ResearchSubject could be utilized or could be captured in a Questionnaire.
CMYN
Core: O
Type: Char
CM Sponsor-Defined Identifier MedicationStatement.identifier
0..* Identifier

MedicationStatement.identifier

CMSPID
Core: O
Type: Char
CMSPID
Core: Perm
Type: Char
MedicationRequest.identifier
0..* Identifier

MedicationRequest.identifier

MedicationDispense.identifier
0..* Identifier

MedicationDispense.identifier

MedicationAdministration.identifier
0..* Identifier

MedicationAdministration.identifier

Immunization.identifier
0..* Identifier

Immunization.identifier

Reported Name of Drug, Med, or Therapy MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medication.medicationCodeableConcept

CMTRT
Core: HR
Type: Char
CMTRT
Core: Req
Type: Char
MedicationStatement.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationStatement.medication.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medication.medicationCodeableConcept

MedicationRequest.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationRequest.medication.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medication.medicationCodeableConcept

MedicationDispense.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationDispense.medication.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medication.medicationCodeableConcept

MedicationAdministration.medicationReference
1..1 Reference
Binding: MedicationCode example

MedicationAdministration.medication.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

CM Pre-Specified Would not expect to receive from the site. CMPRESP
Core: O
Type: Char
CMPRESP
Core: Perm
Type: Char
CM Occurrence MedicationStatement.status
1..1 code
Binding: MedicationStatementStatus required

MedicationStatement.status

CMOCCUR
Core: O
Type: Char
CMOCCUR
Core: Perm
Type: Char
In general, medication records won't exist unless the patient is taking the medication, though there is an ability to say a medication isn't currently being taken or shouldn't be taken
MedicationRequest.doNotPerform
0..1 boolean

MedicationRequest.doNotPerform=true

MedicationRequest.status
1..1 code
Binding: MedicationRequestStatus required

MedicationRequest.status IN {'entered-in-error'|'cancelled'|'stopped'}

MedicationDispense.status
1..1 code
Binding: MedicationDispenseStatus required

MedicationRequest.status IN {entered-in-error'|'cancelled'|'stopped'}

MedicationAdministration.status
1..1 code
Binding: MedicationAdministrationStatus required

MedicationAdministration.status

Immunization.status
1..1 code
Binding: ImmunizationStatus required

Immunization.status IN {'completed'|'entered-in-error'}

Concomitant Meds Active Ingredients Medication.ingredient
0..* BackboneElement

MedicationStatement.medicationReference.resolve().ingredient.where(isActive)

CMINGRD
Core: O
Type: Char
Medication.ingredient
0..* BackboneElement

MedicationRequest.medicationReference.resolve().ingredient.where(isActive)

Medication.ingredient
0..* BackboneElement

MedicationDispense.medicationReference.resolve().ingredient.where(isActive)

Medication.ingredient
0..* BackboneElement

MedicationAdministration.medicationReference.resolve().ingredient.where(isActive)

Medication.ingredient
0..* BackboneElement

Immunization.medicationReference.resolve().ingredient.where(isActive)

CM Indication MedicationStatement.reasonCode
0..* CodeableConcept
Binding: MedicationReason example

MedicationStatement.reasonCode

CMINDC
Core: R/C
Type: Char
CMINDC
Core: Perm
Type: Char
MedicationRequest.reasonCode
0..* CodeableConcept
Binding: MedicationRequestReason example

MedicationRequest.reasonCode

MedicationAdministration.reasonCode
0..* CodeableConcept
Binding: MedicationAdministrationReason example

MedicationAdministration.reasonCode

Immunization.reasonCode
0..* CodeableConcept
Binding: ImmunizationReason example

Immunization.reasonCode

Related Adverse Event ID AdverseEvent.identifier
0..1 Identifier

AdverseEvent.where(suspectEntity.instanceReference=[some medication id]).identifier

CMAENO
Core: O
Type: Char
This could match on AdverseEvent by code. (Note that the AdverseEvent points to the medication record, not the reverse
Related Medical History Event ID Condition.identifier
0..* Identifier

MedicationStatement.reasonReference.resolve().identifier

CMMHNO
Core: O
Type: Char
Condition.identifier
0..* Identifier

MedicationRequest.reasonReference.resolve().identifier

Condition.identifier
0..* Identifier

MedicationAdministration.reasonReference.resolve().identifier

Immunization.identifier
0..* Identifier

Immunization.reasonReference.resolve().identifier

CM Dose per Administration MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.doseAndRate.doseQuantity

CMDOSE
Core: O
Type: Num
CMDOSE
Core: Perm
Type: Num
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.doseAndRate.doseQuantity

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.doseAndRate.doseQuantity

MedicationAdministration.dosage.dose
0..1 Quantity

MedicationAdministration.dosage.dose

Immunization.doseQuantity
0..1 Quantity

Immunization.doseQuantity

Concomitant Meds Dose Description MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.text|MedicationStatement.dosage.maxDosePerPeriod.of

CMDSTXT
Core: O
Type: Char
CMDOSTXT
Core: Perm
Type: Char CMDOSE
Core: Perm
Type: Num
Requires combining multiple repetitions together
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.text

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.text

MedicationAdministration.dosage.text
0..1 string

MedicationAdministration.dosage.text

CM Total Daily Dose MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.maxDosePerPeriod

CMDOSTOT
Core: O
Type: Num
CMDOSTOT
Core: Perm
Type: Num
If Total Daily Dose is required by the sponsor, it may require collection of the drug dose and frequency to derive the CM Total Daily Dose.
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.dosage.maxDosePerPeriod

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.dosage.maxDosePerPeriod

Immunization.doseQuantity
0..1 Quantity

Immunization.doseQuantity

CM Dose Units MedicationStatement.dosage
0..* Dosage

MedicationStatement.doseAndRate.doseQuantity.unit

CMDOSU
Core: R/C
Type: Char
CMDOSU
Core: Perm
Type: Char
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.maxDosePerPeriod.code

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.maxDosePerPeriod.code

CM Dose Form Medication.form
0..1 CodeableConcept
Binding: MedicationForm example

MedicationStatement.medicationReference.resolve().form

CMDOSFRM
Core: O
Type: Char
CMDOSFRM
Core: Perm
Type: Char
Medication.form
0..1 CodeableConcept
Binding: MedicationForm example

MedicationRequest.medicationReference.resolve().form

Medication.form
0..1 CodeableConcept
Binding: MedicationForm example

MedicationDispense.medicationReference.resolve().form

CM Dosing Frequency per Interval MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.timing.frequency

CMDOSFRQ
Core: O
Type: Char
CMDOSFRQ
Core: Perm
Type: Char
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.frequencey

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.frequency

CM Route of Administration MedicationStatement.dosage
0..* Dosage

MedicationStatement.dosage.route

CMROUTE
Core: R/C
Type: Char
CMROUTE
Core: Perm
Type: Char
MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.route

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.route

MedicationAdministration.dosage.route
0..1 CodeableConcept
Binding: RouteOfAdministration example

MedicationAdministration.dosage.route

Immunization.route
0..1 CodeableConcept
Binding: ImmunizationRoute example

Immunization.route

Concomitant Meds Start Date MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

CMSTDAT
Core: R/C
Type: Char
CMSTDTC
Core: Perm
Type: Char
values: ISO 8601
Start includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.start

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.start

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.start

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Concomitant Meds Start Time MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

CMSTTIM
Core: R/C
Type: Char
CMSTDTC
Core: Perm
Type: Char
values: ISO 8601
Start includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.start

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.start

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.start

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Concomitant Meds End Date MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

CMENDAT
Core: R/C
Type: Char
CMSTDTC
Core: Perm
Type: Char
values: ISO 8601
End includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.end

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.end

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.end

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Concomitant Meds End Time MedicationStatement.effectiveDateTime
0..1 dateTime

MedicationStatement.effectiveDateTime

CMENTIM
Core: R/C
Type: Char
CMENDTC
Core: Perm
Type: Char
values: ISO 8601
End includes both date and time, though time commonly won't be specified. If string is specified, it will have to be parsed and converted to whatever precision is posisble
MedicationStatement.effectivePeriod
0..1 Period

MedicationStatement.effectivePeriod.end

MedicationRequest.dosageInstruction
0..* Dosage

MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.end

MedicationDispense.dosageInstruction
0..* Dosage

MedicationDispense.dosageInstruction.timing.repeat.boundsPeriod.end

Immunization.occurrenceDateTime
1..1 dateTime

Immunization.occurrenceDateTime

Immunization.occurrenceString
1..1 string

Immunization.occurrenceString

Prior Concomitant Meds This would need to be an extension added to the study extension on the medication resource - normally it is not captured except in the context of a study (and would be a study-specific assertion) CMPRIOR
Core: O
Type: Char
CMSTRF
Core: Perm
Type: Char CMSTRTPT
Core: Perm
Type: Char
Ongoing Concomitant Meds This would need to be an extension added to the study extension on the medication resource - normally it is not captured except in the context of a study (and would be a study-specific assertion) CMONGO
Core: R/C
Type: Char
CMENRF
Core: Perm
Type: Char CMENRTPT
Core: Perm
Type: Char
Standardized Medication Name MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

CMDECOD
Core: O
Type: Char
CMDECOD
Core: Perm
Type: Char
We would not expect to receive these from the site.
Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

CM Medication Class MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

CMCLAS
Core: O
Type: Char
CMCLAS
Core: Perm
Type: Char
These *can* be provided as alternate codings, however typically encoding is performed by the sponsor and we would not expect to receive these from the site.
Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

CM Medication Class Code MedicationStatement.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

CMCLASCD
Core: O
Type: Num
CMCLASCD
Core: Perm
Type: Char
These *can* be provided as alternate codings, however typically encoding is performed by the sponsor and we would not expect to receive these from the site.
Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationStatement.medicationCodeableConcept

MedicationStatement.medicationReference.resolve().code

MedicationRequest.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationRequest.medicationCodeableConcept

MedicationRequest.medicationReference.resolve().code

MedicationDispense.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationDispense.medicationCodeableConcept

MedicationDispense.medicationReference.resolve().code

MedicationAdministration.medicationCodeableConcept
1..1 CodeableConcept
Binding: MedicationCode example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Medication.code
0..1 CodeableConcept
Binding: MedicationFormalRepresentation example

MedicationAdministration.medicationCodeableConcept

MedicationAdministration.medicationReference.resolve().code

Immunization.vaccineCode
1..1 CodeableConcept
Binding: VaccineCode example

Immunization.vaccineCode

ATC Level 1 Description Encoding is performed by the sponsor and we would not expect to receive these from the site. CMATC1
Core: O
Type: Char
SUPPCM.QVAL
ATC Level 1 Code Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
CMATC1CD
Core: O
Type: Num
SUPPCM.QVAL
ATC Level 2 Description Encoding is performed by the sponsor and we would not expect to receive these from the site. CMATC2
Core: O
Type: Char
SUPPCM.QVAL
ATC Level 2 Code Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
CMATC2CD
Core: O
Type: Num
SUPPCM.QVAL
ATC Level 3 Description Encoding is performed by the sponsor and we would not expect to receive these from the site. CMATC3
Core: O
Type: Char
SUPPCM.QVAL
ATC Level 3 Code Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
CMATC3CD
Core: O
Type: Num
SUPPCM.QVAL
ATC Level 4 Description Encoding is performed by the sponsor and we would not expect to receive these from the site. CMATC4
Core: O
Type: Char
SUPPCM.QVAL
ATC Level 4 Code Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
CMATC4CD
Core: O
Type: Num
SUPPCM.QVAL
ATC Level 5 Description Encoding is performed by the sponsor and we would not expect to receive these from the site. CMATC5
Core: O
Type: Char
SUPPCM.QVAL
ATC Level 5 Code Encoding is performed by the sponsor and we would not expect to receive these from the site.

All coding levels are found in the same attribute as distinct codings. The granularity is distinguished by the code system or knowledge of the code
CMATC5CD
Core: O
Type: Num
SUPPCM.QVAL