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