Multiple Race codes in RecordTarget
davidgaines
#1 Posted : Thursday, September 19, 2013 5:44:44 PM(UTC)
Rank: Newbie

Groups: Registered
Joined: 9/19/2013(UTC)
Posts: 1
Points: 3

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
Hello, we are using the Everest Framework and it is great. However we are trying to add multiple race codes to the patient in the record target and cannot find a way to do it.

The http://transport-testing.nist.gov/ttt/ validator accepts this for multiple race codes in the recordTarget/patientRole/patient section

...
<raceCode code="1002-5" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity" displayName="American Indian or Alaska Native" />
<raceCode code="2028-9" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity" displayName="Asian" xmlns="urn:hl7-org:sdtc"/>

How can we get the framework to generate this?


Thanks
justin.fyfe1
#2 Posted : Sunday, September 22, 2013 3:58:11 PM(UTC)

Rank: Administration

Medals: Mobile Tech Grasshopper: Mobile Tech GrasshopperHealth Informatics MVP

Groups: Registered, Administrators
Joined: 7/22/2010(UTC)
Posts: 96
Points: 297
Man
Location: Hamilton, ON

Thanks: 2 times
Was thanked: 17 time(s) in 17 post(s)
Hi,

Apologies for the delayed response I am currently travelling and have limited access to the internet.

I will take a look at the CDA xsd tomorrow morning and see if there might have been a problem with the code generation of the CMET. If so I will update and bundle with our planned 1.2.8 release.

Cheers!
-Justin
justin.fyfe1
#3 Posted : Wednesday, October 2, 2013 11:34:35 AM(UTC)

Rank: Administration

Medals: Mobile Tech Grasshopper: Mobile Tech GrasshopperHealth Informatics MVP

Groups: Registered, Administrators
Joined: 7/22/2010(UTC)
Posts: 96
Points: 297
Man
Location: Hamilton, ON

Thanks: 2 times
Was thanked: 17 time(s) in 17 post(s)
Hi,

I have checked the CDA XSD and it appears that only one race code is permitted. If you would like to add multiple race codes you can add this class to your project and override the patient class to support this:

Code:
    /// <summary>
    /// Patient with multiple race codes
    /// </summary>
    [Structure(Model = "POCD_MT000040", Name = "Patient", StructureType = StructureAttribute.StructureAttributeType.MessageType)]
    public class MyPatientMultipleRaceCodes : Patient
    {

        /// <summary>
        /// Race code
        /// </summary>
        [Property(Name = "raceCode", PropertyType = PropertyAttribute.AttributeAttributeType.NonStructural)]
        public new SET<CE<String>> RaceCode { get; set; }

    }


However this will still not permit the parsing of multiple race codes unless the sender explicitly adds the xsi:type. In the next version of Everest (1.2.9) this will be corrected. To use this code:

Code:
Assembly.Load("MARC.Everest.RMIM.UV.CDAr2");
XmlIts1Formatter xf = new XmlIts1Formatter();
xf.GraphAides.Add(new ClinicalDocumentDatatypeFormatter());
xf.Settings |= SettingsType.SuppressNullEnforcement | SettingsType.AlwaysCheckForOverrides;
xf.RegisterXSITypeName("POCD_MT000040UV.Patient", typeof(MyPatientMultipleRaceCodes));


cda.RecordTarget.Add(new RecordTarget());
cda.RecordTarget[0].PatientRole = new PatientRole();
cda.RecordTarget[0].PatientRole.Patient = new MyPatientMultipleRaceCodes()
{
    RaceCode = new SET<CE<string>>() {
        new CE<String>("test"),
        new CE<String>("test1")
    }
};


This will result in the following XML in Everest 1.2.8:

Code:
<recordTarget typeCode="RCT" contextControlCode="OP">
    <patientRole classCode="PAT">
              <patient classCode="PSN" determinerCode="INSTANCE" xsi:type="POCD_MT000040.Patient">
                  <raceCode code="test" />
                  <raceCode code="test1" />
              </patient>
     </patientRole>
</recordTarget>


And this in 1.2.9:

Code:
<recordTarget typeCode="RCT" contextControlCode="OP">
    <patientRole classCode="PAT">
              <patient classCode="PSN" determinerCode="INSTANCE">
                  <raceCode code="test" />
                  <raceCode code="test1" />
              </patient>
     </patientRole>
</recordTarget>
Users browsing this topic
Guest (2)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

SoClean Theme By Jaben Cargman (Tiny Gecko)
Powered by YAF 1.9.4 | YAF © 2003-2010, Yet Another Forum.NET
This page was generated in 0.076 seconds.