Smile CDR v2024.08.PRE
On this page:

30.3.1CDA Module Mappings for Export
Experimental

 

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');

30.3.2Valid Document Types
Experimental

 
  • "ContinuityOfCareDocument"

To set your document to any of the following types in your cda template, use composition.setType(documentType).

Example: composition.setType('ContinuityOfCareDocument')

30.3.3Valid Resources for the header
Experimental

 
  • 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

30.3.4Valid Section Types and Sources
Experimental

 

To add a section to your cda template, use composition.addSection(sectionType).

Example: var medicationSection = composition.addSection("medication");

30.3.5Allergy and Intolerances Section
Experimental

 

Acceptable FHIR resources:

  • AllergyIntolerance
    • An Allergy Concern Act entry will be created for each Coding with system RxNorm found in AllergyIntolerance.code

30.3.6Encounters Section
Experimental

 

Acceptable FHIR resources:

  • Encounter
    • An Encounter Activity entry will be created for each Encounter in the section.

30.3.7Care Plan Section
Experimental

 

Acceptable FHIR resources:

  • CarePlan
    • A Care Plan entry will be created for the CarePlan section.

30.3.8Care Team Section
Experimental

 

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.

30.3.9Family History Section
Experimental

 

Acceptable FHIR resources:

  • FamilyMemberHistory
    • A Family History entry will be created for each FamilyMemberHistory in the section.

30.3.10Functional Status Section
Experimental

 

Acceptable FHIR resources:

  • Observation
    • If an Observation contains one or more components, 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.

30.3.11Goals Section
Experimental

 

Acceptable FHIR resources:

  • Goal
    • A Goal Observation entry will be created for each Goal in the section.

30.3.12Immunizations Section
Experimental

 

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.

30.3.13Medical Equipment Section
Experimental

 

Acceptable FHIR resources:

  • Procedure
    • A Procedure Activity Procedure entry will be created for each Procedure in the section.

30.3.14Medications Section
Experimental

 

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.

30.3.15Problem Section
Experimental

 

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.

30.3.16Procedures Section
Experimental

 

Acceptable FHIR resources:

  • Procedure
    • An entry will be created for each Procedure in the section.

30.3.17Results Section
Experimental

 

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.

30.3.18Social History Section
Experimental

 

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"

30.3.19Vital Signs Section
Experimental

 

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);

30.3.20Note Section
Experimental

 

Acceptable FHIR resources:

  • DocumentReference
    • A note entry will be created for each DocumentReference in the section