FHIR to CDISC Joint Mapping Implementation Guide, published by HL7 International - BR&R Work Group. 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/HL7/fhir-cdisc-mapping/ and changes regularly. See the Directory of published versions
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.
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.
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 |