CDA Module Mappings for ExportExperimental
All code examples in this document assume that you are in your generateCdaExchangeComposition function and already have the following line in your code:
var composition = ResourceBuilder.build('Composition');
- "ContinuityOfCareDocument"
To set your document to any of the following types in your cda template, use
composition.setType(documentType)
.
Example: composition.setType('ContinuityOfCareDocument')
Valid Resources for the headerExperimental
- recordTarget:
Patient
- author:
Device
- custodian:
Organization
- documentationOf:
Encounter
There is currently no support for the following optional header tags:
- dataEnterer
- informant
- informationRecipient
- legalAuthenticator
- authenticator
- participant
- inFulfillmentOf
- authorization
- componentOf
Valid Section Types and SourcesExperimental
To add a section to your cda template, use composition.addSection(sectionType)
.
Example: var medicationSection = composition.addSection("medication");
Applicable To All SectionsExperimental
The following resources are available to all sections listed.
Acceptable FHIR resources:
DocumentReference
- A Note Activity Act entry will be created for each DocumentReference in the section entry.
Admission Diagnosis SectionExperimental
Acceptable FHIR resources:
Condition
- A Problem Observation entry will be created for each Condition in the section. These Problem Observations will be nested within a single Hospital Admission Diagnosis entry.
Admission Medication SectionExperimental
Acceptable FHIR resources:
MedicationStatement
- An Admission Medication entry will be created for every Condition resource entry in the section.
Allergy and Intolerances SectionExperimental
Acceptable FHIR resources:
AllergyIntolerance
- An Allergy Concern Act entry will be created for each Coding with system RxNorm found in AllergyIntolerance.code
Acceptable FHIR resources:
Encounter
- An Encounter Activity entry will be created for each Encounter in the section.
Acceptable FHIR resources:
CarePlan
- A Care Plan entry will be created for the CarePlan section.
Acceptable FHIR resources:
CareTeam
- A CareTeam entry will be created for the CareTeam resource.
Practitioner
- A CareTeam performer act will be created for each practitioner in the CareTeam participant.
Discharge Medication SectionExperimental
Acceptable FHIR resources:
MedicationStatement
- A Discharge Medication entry will be created for every MedicationStatement resource entry in the section.
Acceptable FHIR resources:
FamilyMemberHistory
- A Family History entry will be created for each FamilyMemberHistory in the section.
Functional Status SectionExperimental
Acceptable FHIR resources:
Observation
- If an Observation contains one or more
component
s, a Functional Status Organizer entry will be created, and one Functional Status Observation entry will be nested inside the Functional Status Organizer for each component
found.
- Otherwise, a single Functional Status Observation entry will be created for the Observation.
Condition
- A Sensory Status entry will be created for each Condition in the section.
Acceptable FHIR resources:
Goal
- A Goal Observation entry will be created for each Goal in the section.
Acceptable FHIR resources:
Immunization
- An Immunization Activity entry with
moodCode="EVN"
will be created for each Immunization in the section.
ImmunizationRecommendation
- An Immunization Activity entry with
moodCode="INT"
will be created for each ImmunizationRecommendation in the section.
Medical Equipment SectionExperimental
Acceptable FHIR resources:
Procedure
- A Procedure Activity Procedure entry will be created for each Procedure in the section.
Acceptable FHIR resources:
MedicationStatement
- A Substance Administration entry with
moodCode="EVN"
will be created for each MedicationStatement.
MedicationRequest
- A Substance Administration entry with
moodCode="INT"
will be created for each MedicationRequest.
Medications Administered SectionExperimental
Acceptable FHIR resources:
MedicationStatement
- A Substance Administration entry will be created for every MedicationStatement resource entry in the section.
Acceptable FHIR resources:
Observation
- For each nested Observation resource entry in the Composition's Mental Status Section sub-section(s) will be rendered as a separate Mental Status Organizer. The section and sub-section model of the FHIR Composition will help render grouped Mental Status Observation entries.
Past Medical History SectionExperimental
Acceptable FHIR resources:
Condition
- A Problem Observation entry will be created for each Condition in the section. These Problem Observations will be nested directly under the section.
Acceptable FHIR resources:
Coverage
- For each nested Coverage resource entry in the Composition's Payers Section sub-section(s). Each sub-section will be rendered as a separate Coverage Activity. The section and sub-section model of the FHIR Composition will help render grouped Coverage Activity entries.
Plan of Treatment SectionExperimental
Acceptable FHIR resources:
Encounter
- A Planned Encounter entry will be created for each Encounter in the Plan Of Treatment Composition Section.
MedicationRequest
- A Planned Medication Activity entry will be created for each MedicationRequest in the Plan Of Treatment Composition Section.
ServiceRequest
- A Planned Observation entry will be created for each ServiceRequest in the Plan Of Treatment Composition Section.
Acceptable FHIR resources:
Condition
- A Problem Concern Act will be created for each Condition resource.
- The nested Problem Concern Observation will contain the identifier from an Encounter or EpisodeOfCare in Condition.context. If no context is present, a random identifier will be assigned for the Problem Concern Observation.
Acceptable FHIR resources:
Procedure
- An entry will be created for each Procedure in the section.
Acceptable FHIR resources:
DiagnosticReport
- A Results Organizer will be created for each Diagnostic Report.
- All Observations referenced in DiagnosticReport.result will be collected.
- For each Observation, a Result Observation will be nested in the Results Organizer for each value present in Observation.value and every Observation.component.value
Observation
- A Results Organizer will be created for each Observation that was not collected for a Diagnostic Report.
- A Result Observation will be nested in the Results Organizer for each value present in Observation.value and every Observation.component.value
Only values of type valueQuantity, valueCodeableConcept, and valueString will be read.
Acceptable FHIR resources:
Observation
- If an observation with Loinc code
72166-2
is present, a Smoking Status Meaningful Use entry will be created.
- If an observation with Loinc code
76689-9
is present, a Sex Assigned At Birth entry will be created.
For either of these two entries, you can guarantee that an entry will be present even if no FHIR resource is provided by adding the entry to the populateMissing
param array. in the /apply CDA Exchange Endpoint.
The full list of acceptable values for that array are:
"SMOKING_STATUS"
"SEX_ASSIGNED_AT_BIRTH"
- A Composition's General Status narrative-only section will be converted to a component entry with the narrative text from the section.
History of Present Illness SectionExperimental
- A Composition's History of Present Illness narrative-only section will be converted to a component entry with the narrative text from the section.
Review of Systems SectionExperimental
- A Review of Systems narrative-only section will be converted to a component entry with the narrative text from the section.
Acceptable FHIR resources:
Observation
- The CDA Exchange v2 module expects Observations to be grouped together in nested sections of the Vital Signs section. A
Vital Signs Organizer will be created for each nested section, containing one Vital Sign Observation entry for each Observation in that nested section.
- If any Observations exist as direct entries of the top-level section, all of the corresponding Vital Sign Observations
will be grouped in a single Vital Signs Organizer. This is not a recommended pattern.
let vitalSection = composition.addSection("vitalsign");
// All of these Observations will be clustered in a single Vital Signs Organizer
let topLevelList = Fhir
.search()
.forResource('Observation')
.where('subject', subject)
.where('category', 'vital-signs')
.where([some suitable filter])
.asList();
vitalSection.addSection().populate(topLevelList);
// All of these Observations will be clustered in a second Vital Signs Organizer
let clusteredList = Fhir
.search()
.forResource('Observation')
.where('subject', subject)
.where('category', 'vital-signs')
.where([some other suitable filter])
.asList();
vitalSection.addSection().populate(clusteredList);
Acceptable FHIR resources:
DocumentReference
- A note entry will be created for each DocumentReference in the section
Discharge Diagnosis SectionExperimental
Acceptable FHIR resources:
Condition
- A Problem Observation entry will be created for each Condition in the section. These Problem Observations will be nested within a single Hospital Discharge Diagnosis entry.
Admission Medications SectionExperimental
Acceptable FHIR resources:
MedicationStatement
- A Medication Activity entry will be created for each MedicationStatement in the section. These Medication Activity will be nested within a Admission Medication entry.
Discharge Medications SectionExperimental
Acceptable FHIR resources:
MedicationStatement
- A Medication Activity entry will be created for each MedicationStatement in the section. These Medication Activity will be nested within a Discharge Medication entry.