CDAKRecord

public class CDAKRecord: NSObject, NSCopying, CDAKPropertyAddressable

Primary container for all patient data that is to be represented with CDA

When creating this record, you may wish to supply a custom header (CDAKQRDAHeader) or during CDA XML generation a default boilerplate header will be applied


 let doc = ((supply your CDA XML string))

 do {
   //let's try to import from CDA
   let record = try CDAKImport_BulkRecordImporter.importRecord(doc)

   //let's create a new vital
   // use the coded values to govern "meaning" (height, weight, BMI, BP items, etc.)
   let aVital = CDAKVitalSign()
   aVital.codes.addCodes("LOINC", codes: ["3141-9"]) //weight
   aVital.values.append(CDAKPhysicalQuantityResultValue(scalar: 155.0, units: "lb"))
   aVital.start_time = NSDate().timeIntervalSince1970
   aVital.end_time = NSDate().timeIntervalSince1970

   //append our height to our record
   record.vital_signs.append(aVital)

   //render from our model to CDA - format set to .ccda (could also do .c32)
   print(record(inFormat: .ccda))
 }
 catch {
   //do something
 }

  • patient prefix (was title)

    Declaration

    Swift

    public var prefix: String?
  • patient first / given name

    Declaration

    Swift

    public var first: String?
  • patient last / family name

    Declaration

    Swift

    public var last: String?
  • patient suffix

    Declaration

    Swift

    public var suffix: String?
  • patient gender. Please consider using an HL7 Administrative Gender

    Declaration

    Swift

    public var gender: String?
  • birthdate (using time since 1970)

    Declaration

    Swift

    public var birthdate: Double?
  • date of death (using time since 1970)

    Declaration

    Swift

    public var deathdate: Double?
  • religious affiliation(s)

    Declaration

    Swift

    public var religious_affiliation: CDAKCodedEntries = CDAKCodedEntries()
  • effective time for record (not date created - date last valid)

    Declaration

    Swift

    public var effective_time: Double?
  • _id

    global unique identifier for record. Defaulted.

    Declaration

    Swift

    public var _id: String = NSUUID().UUIDString
  • When creating this record, you may wish to supply a custom header (CDAKQRDAHeader) or during CDA XML generation a default boilerplate header will be applied

    Should you wish to apply a header across all records, you can specify one in CDAKGlobals.sharedInstance.CDAKDefaultMetadata

    Optionally, you can disable the global header import by toggling disableGlobalHeader

    Declaration

    Swift

    public var header: CDAKQRDAHeader?
  • Allows you to toggle whether the global header is completely disabled for this record

    Declaration

    Swift

    public var disableGlobalHeader = false
  • any known patient pregnancies

    Declaration

    Swift

    public var pregnancies: [CDAKEntry] = []
  • patient race (coded)

    Declaration

    Swift

    public var race: CDAKCodedEntries = CDAKCodedEntries()
  • patient ethnicities (coded)

    Declaration

    Swift

    public var ethnicity: CDAKCodedEntries = CDAKCodedEntries()
  • patient languages (coded)

    Declaration

    Swift

    public var languages: [CDAKCodedEntries] = [] //Array, default: []
  • patient martial status (coded)

    Declaration

    Swift

    public var marital_status: CDAKCodedEntries = CDAKCodedEntries()
  • patient medical record number

    Declaration

    Swift

    public var medical_record_number: String?
  • patient medical record assigner

    Declaration

    Swift

    public var medical_record_assigner: String?
  • is patient expired? (deceased)

    Declaration

    Swift

    public var expired: Bool?
  • is this patient a clinical trial participant? Please refer to CMS guidance on implications

    Declaration

    Swift

    public var clinicalTrialParticipant: Bool? //NOT in model, but in Mongo JSON (probably for QRDA)
  • name of record custodian?

    Declaration

    Swift

    public var custodian: String? //NOT in model, but in Mongo JSON (probably for QRDA)
  • any patient identifiers. This may include collections of MRNs if you use multiple EMRs, etc. Could conceivably include identifiers like SSN

    Declaration

    Swift

    public var identifiers: [CDAKCDAIdentifier] = [] // NOT in the orignal model, but we want to have these on hand
  • patient addresses

    Declaration

    Swift

    public var addresses: [CDAKAddress]
  • patient telecoms

    Declaration

    Swift

    public var telecoms: [CDAKTelecom]
  • Determines whether patient is currently over the age of 18

    Declaration

    Swift

    public var over_18: Bool
  • Allergies collection

    Declaration

    Swift

    public var allergies: [CDAKAllergy]
  • This can be any number of different entry types

    Declaration

    Swift

    public var care_goals: [CDAKEntry]
  • conditions collection

    Declaration

    Swift

    public var conditions: [CDAKCondition]
  • encounters collection

    Declaration

    Swift

    public var encounters: [CDAKEncounter]
  • communications collection

    Declaration

    Swift

    public var communications: [CDAKCommunication]
  • family history collection

    Declaration

    Swift

    public var family_history: [CDAKFamilyHistory]
  • immunizations collection

    Declaration

    Swift

    public var immunizations: [CDAKImmunization]
  • medical equipment collection

    Declaration

    Swift

    public var medical_equipment: [CDAKMedicalEquipment]
  • medications collection

    Declaration

    Swift

    public var medications: [CDAKMedication]
  • procedures collection

    Declaration

    Swift

    public var procedures: [CDAKProcedure]
  • lab results collection

    Declaration

    Swift

    public var results: [CDAKLabResult]
  • social histories collection

    Declaration

    Swift

    public var social_history: [CDAKSocialHistory]
  • vital signs collection

    Declaration

    Swift

    public var vital_signs: [CDAKVitalSign]
  • support collection

    Declaration

    Swift

    public var support: [CDAKSupport]
  • advance directives collection

    Declaration

    Swift

    public var advance_directives: [CDAKEntry]
  • insurance providers collection

    Declaration

    Swift

    public var insurance_providers: [CDAKInsuranceProvider]
  • functional status collection

    Declaration

    Swift

    public var functional_statuses: [CDAKFunctionalStatus]
  • provider performances collection This is really only relevant for QRDA III

    Declaration

    Swift

    public var provider_performances: [CDAKProviderPerformance]
  • Undocumented

    Declaration

    Swift

    public class CDAKRecord: NSObject, NSCopying, CDAKPropertyAddressable
  • Do not use - will be removed. Was used in HDS Ruby.

    Declaration

    Swift

    required public init(event: [String:Any?])
  • Undocumented

    Declaration

    Swift

    public class CDAKRecord: NSObject, NSCopying, CDAKPropertyAddressable
  • Debugging description

    Declaration

    Swift

    override public var description : String
  • Undocumented

    Declaration

    Swift

    public class CDAKRecord: NSObject, NSCopying, CDAKPropertyAddressable
  • Master public convenience method for exporting record to CDA

    Formats defined in: CDAKExport.CDAKExportFormat

    EX: .ccda or .c32

    Declaration

    Swift

    public func export(inFormat format: CDAKExport.CDAKExportFormat) -> String
  • Creates a new record from CDA XML

    Declaration

    Swift

    public convenience init(fromXML doc: String) throws
  • Undocumented

    Declaration

    Swift

    public class CDAKRecord: NSObject, NSCopying, CDAKPropertyAddressable
  • Dictionary for JSON data

    Declaration

    Swift

    public var jsonDict: [String: AnyObject]