Exemplo n.º 1
0
        public CdaProcedure(POCD_MT000040Procedure pocdProcedure)
        {
            if (pocdProcedure.id != null)
            {
                if (pocdProcedure.id.Length > 0)
                {
                    this.Id = pocdProcedure.id[0].root;
                }
            }

            this.Code = CdaCode.FromPocd(pocdProcedure.code);

            this.EffectiveTime = CdaEffectiveTime.FromPocd(pocdProcedure.effectiveTime);
        }
        public static CdaCodeObservation CreateObservation(POCD_MT000040Procedure item)
        {
            CdaCodeObservation returnVal = new CdaCodeObservation();

            CdaProcedure tempProc = new CdaProcedure(item);

            returnVal.Id            = tempProc.Id;
            returnVal.Code          = tempProc.Code;
            returnVal.EffectiveTime = tempProc.EffectiveTime;
            returnVal.Value         = new CdaCode()
            {
                DisplayName = ""
            };

            return(returnVal);
        }
Exemplo n.º 3
0
        public POCD_MT000040Procedure ToPocd()
        {
            POCD_MT000040Procedure returnVal = new POCD_MT000040Procedure();

//<procedure classCode='PROC' moodCode='EVN|INT'> 3880
//<templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.19'/>
//<templateId root='2.16.840.1.113883.10.20.1.29'/><!-- see text of section 0 -->
//<templateId root='2.16.840.1.113883.10.20.1.25'/><!-- see text of section 0 -->
//<id root='' extension=''/>
//<code code='' codeSystem='2.16.840.1.113883.5.4' codeSystemName='ActCode' /> 3885
//<text><reference value='#xxx'/></text>
//<statusCode code='completed|active|aborted|cancelled'/>
//<effectiveTime>
//<low value=''/>
//<high value=''/> 3890
//</effectiveTime>
//<priorityCode code=''/>
//<approachSiteCode code='' displayName='' codeSystem='' codeSystemName=''/>
//<targetSiteCode code='' displayName='' codeSystem='' codeSystemName=''/>
//<author /> 3895
//<informant />
//<entryRelationship typeCode='COMP' inversionInd='true'>
//<act classCode='ACT' moodCode=''>
//<templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1'/>
//<id root='' extension=''/> 3900
//</act>
//</entryRelationship>
//<entryRelationship typeCode='RSON'>
//<act classCode='ACT' moodCode='EVN'>
//<templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1'/> 3905
//<id root='' extension=''/>
//</act>
//</entryRelationship>
//</procedure>

            returnVal.classCode = "PROC";

            CdaTemplateIdList templateIds = new CdaTemplateIdList(
                "1.3.6.1.4.1.19376.1.5.3.1.4.19",
                "2.16.840.1.113883.10.20.1.29"
                );

            returnVal.moodCode = x_DocumentProcedureMood.EVN;

            returnVal.templateId = templateIds.ToPocd();

            returnVal.id = new II[] { new II()
                                      {
                                          root = this.Id
                                      } };

            returnVal.code = this.Code.ToCE();

            returnVal.text = new ED()
            {
                reference = new TEL()
                {
                    value = string.Format("#{0}", this.ReferenceId)
                }
            };

            returnVal.statusCode = new CS()
            {
                code = "completed"
            };
            returnVal.effectiveTime = this.EffectiveTime.ToIvlTs();

            return(returnVal);
        }
Exemplo n.º 4
0
        //internal List<POCD_MT000040Procedure> ExtractEducationProcedures()
        //{
        //    List<POCD_MT000040Procedure> returnList = new List<POCD_MT000040Procedure>();

        //    if (this.DocumentType == IheDocumentType.APE)
        //        returnList = this.ExtractEducationItems();

        //    return returnList;
        //}

        private List <POCD_MT000040Procedure> ExtractEducationProcedures()
        {
            List <POCD_MT000040Procedure> returnList = new List <POCD_MT000040Procedure>();

            // *** Extract section procedures from the document ***

            string sectionCode = "34895-3";

            if (this.Initialize())
            {
                // *** Check if we have something to work with ***
                if (this.PocdDocument != null)
                {
                    if (this.PocdDocument.component != null)
                    {
                        if (this.PocdDocument.component.Item is POCD_MT000040StructuredBody)
                        {
                            POCD_MT000040StructuredBody body = this.PocdDocument.component.Item as POCD_MT000040StructuredBody;

                            if (body.component != null)
                            {
                                if (body.component.Length > 0)
                                {
                                    foreach (var item in body.component)
                                    {
                                        if (item.section != null)
                                        {
                                            if (item.section.code != null)
                                            {
                                                if (item.section.code.code == sectionCode)
                                                {
                                                    if (item.section.entry != null)
                                                    {
                                                        foreach (var entry in item.section.entry)
                                                        {
                                                            if (entry.Item != null)
                                                            {
                                                                if (entry.Item is POCD_MT000040Procedure)
                                                                {
                                                                    POCD_MT000040Procedure pocdProc = entry.Item as POCD_MT000040Procedure;
                                                                    returnList.Add(pocdProc);
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            return(returnList);
        }