#Versions
- 1.0: Initial release
- 1.0.2: Enhancements to providers, encounters, and medications
- 1.1.0: Updated to XCode 8, Swift 3
#1.1.0
##Changes
###Globals
- in anticipation of future changes and probable removal, the cross-record public
allProviders
member has been made internal
###Allergies
reaction
andseverity
changed to a new structure -CDAKEntryDetail
as it must also capture additional data like times and identifiers (not just codes). Importer and models updated to reflect this change.
###Encounter
- Now contains
indication
(CDAKEntry) for problem list entries that drive reason for encounter
###Medication
indication
no longer a String. This was not really used by the importer/exporter, so it's being treated as a non-breaking change.indication
is now a (CDAKEntryDetail) for more fully defined problem list entries that drive reason for encounter- Model and importer now supports
precondition
(CDAKCodedEntries) for capturing precondition supporting reason for medication (template OID: 2.16.840.1.113883.10.20.22.4.25) reaction
changed to a new structure -CDAKEntryDetail
as it must also capture additional data like times and identifiers (not just codes). Importer and models updated to reflect this change.- Added
severity
to model, importer, and exporter so it can be used withreaction
###Person
Title
element removed and replaced withPrefix
andSuffix
to more closely model CDA and allow for both prefix and suffix (as opposed to a single combined title)- Importers updated to reflect changes to
Title
and introducePrefix
andSuffix
###Provider
- Updated model and importer to support
functionCode
(Provider Role like "Primary Care Provider")
###Person import - addresses and phone numbers
- The original Ruby HDS created "empty" addresses and telecoms even if all fields were empty. This results in an "invalid" address or telecom - it exists, but no member properties are populated. The import process has been changed to avoid creating these "empty" entries and treat the members as nil optionals to better reflect their actual state.
###Provider import
- The Ruby HDS approach to managing providers during import has been changed slightly (in anticipation of future changes and to fix some things). Provider matching has been changed to loosen provider matching criteria and promote more frequent provider creation.
###C32 and C-CDA XML Generation
- Person / Provider
Title
references replaced withPrefix
andSuffix
values - Result values moved to dedicated
values
(format_values.format, etc.) template to improve reusability - Providers (aka: performer) from
CDAKProviderPerformances
now placed indocumentationOf
XML during output Performer
template updated to displaycode
(provider specialty)Performer
template updated to allow for incorporation intodocumentationOf
which contains additional elements fortime
andfunctionCode
- Fix to
format_code_with_reference.format
to remove some translation code duplication - New C32 and C-CDA template
format_indication.format
forindication
(entry detail problem on some entries likeencounter
andmedication
) display - New C-CDA template
format_medication_precondition.format
forprecondition
(Precondition for Substance Administration) display - New C-CDA templates for
reaction
andseverity
applied to allergy and medication - C-CDA medication now exports
vehicle
- C-CDA and C32 medication now exports
routeCode
- C-CDA and C32 medication now exports
doseQuantity
,rateQuantity
, andmaxDoseQuantity
(using new embeddedccda_medication_dose.ccda
template) - C-CDA and C32 medication now exports
effectiveTime(2)
includinginstitutionSpecified
andperiod
for schedule of administration (timing, frequency, interval, duration) - Minor changes in CDAKEntry MustacheBox values and some filters to handle issues where child Entry's members were nil, so Mustache was (correctly) kicking up to the parent element - which resulted in undesired (parent) data being rendered in the child entry.