public void GenerateSocialHistoryEmpty(III hl7III, Factory hl7Factory)
        {
            IEntry entry = functionalStatus.Section.Entry.Append();

            entry.AsObservation.ClassCode = "OBS";
            entry.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            IIVXB_TS TS = hl7Factory.CreateIVXB_TS();

            hl7III = entry.AsObservation.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            hl7III = entry.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.78");
            IED ED = hl7Factory.CreateED();

            entry.AsObservation.Code.Code           = "ASSERTION";
            entry.AsObservation.Code.DisplayName    = "Assertion";
            entry.AsObservation.Code.CodeSystem     = "2.16.840.1.113883.5.4";
            entry.AsObservation.Code.CodeSystemName = "ActCode";
            entry.AsObservation.StatusCode.Init("completed");
            entry.AsObservation.EffectiveTime = new IVL_TS().Init(low: new IVXB_TS(), high: new IVXB_TS());
            ICD CD = hl7Factory.CreateCD();

            CD.NullFlavor = "UNK";
            entry.AsObservation.Value.Add(CD);
        }
Exemple #2
0
        public void GenerateImmunizationEntryEmpty(III hl7III, Factory hl7Factory)
        {
            var entry = functionalStatus.Section.Entry.Append();

            entry.TypeCode = x_ActRelationshipEntry.DRIV;
            entry.AsSubstanceAdministration.ClassCode            = "SBADM";
            entry.AsSubstanceAdministration.MoodCode             = x_DocumentSubstanceMood.EVN;
            entry.AsSubstanceAdministration.NegationInd          = false;
            entry.AsSubstanceAdministration.NegationIndSpecified = true;
            hl7III = entry.AsSubstanceAdministration.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.52");
            hl7III            = entry.AsSubstanceAdministration.Id.Append();
            hl7III.NullFlavor = "NA";
            entry.AsSubstanceAdministration.StatusCode.Code = "Completed";
            var TS = hl7Factory.CreateSXCM_TS();

            TS.Init(DateTime.Now);
            entry.AsSubstanceAdministration.EffectiveTime.Add(TS);
            var Consumable = entry.AsSubstanceAdministration.Consumable;

            Consumable.ManufacturedProduct.ClassCode = RoleClassManufacturedProduct.MANU;
            hl7III = Consumable.ManufacturedProduct.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.54");
            Consumable.ManufacturedProduct.AsMaterial.Code.NullFlavor = "NA";
        }
        public void GenerateMedicationEntryEmpty(III hl7III, Factory hl7Factory)
        {
            var Entry     = functionalStatus.Section.Entry.Append();
            var substance = hl7Factory.CreateSubstanceAdministration();

            substance.ClassCode = "SBADM";
            // substance.MoodCode = 1;
            substance.NullFlavor = "NI";
            hl7III = substance.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.16");
            hl7III = substance.Id.Append();
            hl7III.Init("2.16.840.1.113883.3.3208.9999");
            substance.StatusCode.Code = "completed";
            var low  = new IVXB_TS();
            var high = new IVXB_TS();

            low.NullFlavor  = "NA";
            high.NullFlavor = "NA";
            substance.EffectiveTime.Add(new IVL_TS().Init(low: low, high: high));
            var Consumable          = hl7Factory.CreateConsumable();
            var manufacturedProduct = hl7Factory.CreateManufacturedProduct();

            manufacturedProduct.ClassCode  = 0;
            manufacturedProduct.NullFlavor = "NI";
            hl7III = manufacturedProduct.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.23");
            var material = hl7Factory.CreateMaterial();

            material.Code.NullFlavor        = "NI";
            manufacturedProduct.AsMaterial  = material;
            Consumable.ManufacturedProduct  = manufacturedProduct;
            substance.Consumable            = Consumable;
            Entry.AsSubstanceAdministration = substance;
        }
        public void GenerateLabResultEntryEmpty(III hl7III, Factory hl7Factory)
        {
            var Entry = functionalStatus.Section.Entry.Append();

            Entry.AsOrganizer.MoodCode  = "EVN";
            Entry.AsOrganizer.ClassCode = 0;
            hl7III = Entry.AsOrganizer.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.1");
            hl7III            = Entry.AsOrganizer.Id.Append();
            hl7III.NullFlavor = "NA";
            Entry.AsOrganizer.Code.NullFlavor = "NA";
            Entry.AsOrganizer.StatusCode.Code = "completed";
            Entry.AsOrganizer.EffectiveTime.Init(DateTime.Now);
            var Comp = Entry.AsOrganizer.Component.Append();

            Comp.AsObservation.MoodCode             = x_ActMoodDocumentObservation.EVN;
            Comp.AsObservation.ClassCode            = "OBS";
            Comp.AsObservation.NegationInd          = true;
            Comp.AsObservation.NegationIndSpecified = true;
            hl7III            = Comp.AsObservation.Id.Append();
            hl7III.NullFlavor = "NA";
            hl7III            = Comp.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.2");
            Comp.AsObservation.Code.Code           = "26436-6";
            Comp.AsObservation.Code.DisplayName    = "Laboratory Studies";
            Comp.AsObservation.Code.CodeSystem     = "2.16.840.1.113883.6.1";
            Comp.AsObservation.Code.CodeSystemName = "LOINC";
            Comp.AsObservation.EffectiveTime.Init(DateTime.Now);
            Comp.AsObservation.StatusCode.Code = "completed";
            var PQ = hl7Factory.CreatePQ();

            PQ.Value = 0;
            Comp.AsObservation.Value.Add(PQ);
        }
        public void GenerateLabResultEntry(LabResult patientLabResult, int Index, III hl7III, Factory hl7Factory)
        {
            var Entry = functionalStatus.Section.Entry.Append();

            Entry.AsOrganizer.MoodCode  = "EVN";
            Entry.AsOrganizer.ClassCode = 0;
            hl7III = Entry.AsOrganizer.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.1");
            hl7III = Entry.AsOrganizer.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            Entry.AsOrganizer.Code.Code           = patientLabResult.LonicCode;
            Entry.AsOrganizer.Code.DisplayName    = patientLabResult.TestPerformed;
            Entry.AsOrganizer.Code.CodeSystemName = "LOINC";
            Entry.AsOrganizer.Code.CodeSystem     = "2.16.840.1.113883.6.1";
            Entry.AsOrganizer.StatusCode.Code     = "completed";
            var Comp = Entry.AsOrganizer.Component.Append();

            Comp.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            Comp.AsObservation.ClassCode = "OBS";
            hl7III = Comp.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.2");
            hl7III = Comp.AsObservation.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            Comp.AsObservation.Code.Code            = patientLabResult.LonicCode;
            Comp.AsObservation.Code.DisplayName     = patientLabResult.TestPerformed;
            Comp.AsObservation.Code.CodeSystem      = "2.16.840.1.113883.6.1";
            Comp.AsObservation.Code.CodeSystemName  = "LOINC";
            Comp.AsObservation.Text.Reference.Value = "#result" + Index;
            Comp.AsObservation.StatusCode.Code      = "completed";
            string month = Convert.ToDateTime(patientLabResult.ReportDate).Month.ToString();

            if (month.Length == 1)
            {
                month = "0" + month;
            }
            Comp.AsObservation.EffectiveTime.Value = Convert.ToString(Convert.ToDateTime(patientLabResult.ReportDate).Year.ToString() + month + Convert.ToDateTime(patientLabResult.ReportDate).Day.ToString());
            var PQ = hl7Factory.CreatePQ();

            try
            {
                var value = Convert.ToDouble(patientLabResult.TestResultn);
                PQ.Value = Convert.ToDouble(patientLabResult.TestResultn);
                PQ.Unit  = patientLabResult.Units;
            }
            catch (System.Exception)
            {
                PQ.NullFlavor = "UNK";
            }

            Comp.AsObservation.Value.Add(PQ);
            var ice = hl7Factory.CreateCE();

            ice.NullFlavor = "UNK";
            Comp.AsObservation.InterpretationCode.Add(ice);
            var refRange = hl7Factory.CreateReferenceRange();

            refRange.ObservationRange.Text.Text = patientLabResult.NormalFindings;
            Comp.AsObservation.ReferenceRange.Add(refRange);
        }
 public void ListWithItem(string Id, string ContxtInfo, III hl7III, Factory hl7Factory, IStrucDocList list)
 {
     content       = hl7Factory.CreateStrucDocContent();
     listItem      = hl7Factory.CreateStrucDocItem();
     content.XmlId = Id;
     content.Items.Add(ContxtInfo);
     listItem.Items.Add(content);
     list.Item.Add(listItem);
 }
        public void GenerateProblemEntryEmpty(string refId, III hl7III, Factory hl7Factory)
        {
            IEntry entry = functionalStatus.Section.Entry.Append();

            entry.TypeCode        = x_ActRelationshipEntry.DRIV;
            entry.AsAct.ClassCode = x_ActClassDocumentEntryAct.ACT;
            entry.AsAct.MoodCode  = x_DocumentActMood.EVN;
            IIVXB_TS TS = hl7Factory.CreateIVXB_TS();

            hl7III = entry.AsAct.Id.Append();
            hl7III.Init(Convert.ToString(Guid.NewGuid()));
            hl7III = entry.AsAct.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.3");
            entry.AsAct.Code.Code           = "CONC";
            entry.AsAct.Code.CodeSystem     = "2.16.840.1.113883.5.6";
            entry.AsAct.Code.CodeSystemName = "HL7ActClass";
            entry.AsAct.Code.DisplayName    = "Concern";
            entry.AsAct.StatusCode.Init("completed");
            entry.AsAct.EffectiveTime = new IVL_TS().Init(low: new IVXB_TS());
            IEntryRelationship entryRel = entry.AsAct.EntryRelationship.Append();

            entryRel.TypeCode = x_ActRelationshipEntryRelationship.SUBJ;
            entryRel.AsObservation.ClassCode            = "OBS";
            entryRel.AsObservation.MoodCode             = x_ActMoodDocumentObservation.EVN;
            entryRel.AsObservation.NegationInd          = true;
            entryRel.AsObservation.NegationIndSpecified = true;
            III TempId = entryRel.AsObservation.TemplateId.Append();

            TempId.Root = "2.16.840.1.113883.10.20.22.4.4";
            hl7III      = entryRel.AsObservation.Id.Append();
            hl7III.Root = Guid.NewGuid().ToString();
            entryRel.AsObservation.Code.Code           = "55607006";
            entryRel.AsObservation.Code.CodeSystem     = "2.16.840.1.113883.6.96";
            entryRel.AsObservation.Code.DisplayName    = "Problem";
            entryRel.AsObservation.Code.CodeSystemName = "SNOMED CT";
            IED ED = hl7Factory.CreateED();

            ED.Reference.Value          = refId;
            entryRel.AsObservation.Text = ED;
            ICS CS = hl7Factory.CreateCS();

            CS.Init("completed");
            entryRel.AsObservation.StatusCode    = CS;
            entryRel.AsObservation.EffectiveTime = new IVL_TS().Init(low: new IVXB_TS(), high: new IVXB_TS());
            ICD CD = hl7Factory.CreateCD();

            CD.Code           = "55607006";
            CD.CodeSystem     = "2.16.840.1.113883.6.96";
            CD.CodeSystemName = "SNOMED CT";
            CD.DisplayName    = Convert.ToString("Problem");
            entryRel.AsObservation.Value.Add(CD);
        }
        public void CreateEncounterEmptyEntry(III hl7III, Factory hl7factory)
        {
            IEntry entry = functionalStatus.Section.Entry.Append();

            entry.TypeCode        = x_ActRelationshipEntry.DRIV;
            entry.AsAct.ClassCode = x_ActClassDocumentEntryAct.ACT;
            entry.AsAct.MoodCode  = x_DocumentActMood.EVN;
            hl7III            = entry.AsAct.Id.Append();
            hl7III.NullFlavor = "UNK";
            hl7III            = entry.AsAct.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.30");
            entry.AsAct.Code.Code           = "48765-2";
            entry.AsAct.Code.CodeSystem     = "2.16.840.1.113883.6.1";
            entry.AsAct.Code.CodeSystemName = "LOINC";
            entry.AsAct.Code.DisplayName    = "Allergies, adverse reactions, alerts";
            entry.AsAct.StatusCode.Code     = "completed";
            entry.AsAct.EffectiveTime       = new IVL_TS().Init(low: new IVXB_TS(), high: new IVXB_TS());
            // If Status Complete

            IEntryRelationship entryRel = entry.AsAct.EntryRelationship.Append();

            entryRel.TypeCode = x_ActRelationshipEntryRelationship.SUBJ;
            entryRel.AsObservation.ClassCode = "OBS";
            entryRel.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            III TempId = entryRel.AsObservation.TemplateId.Append();

            TempId.Root = "2.16.840.1.113883.10.20.22.4.7";
            entryRel.AsObservation.StatusCode.Code = "completed";
            hl7III           = entryRel.AsObservation.Id.Append();
            hl7III.Root      = "1.3.6.1.4.1.22812.11.0.100610.4.10.2";
            hl7III.Extension = "41700060";
            entryRel.AsObservation.Code.Code       = "ASSERTION";
            entryRel.AsObservation.Code.CodeSystem = "2.16.840.1.113883.5.4";
            entryRel.AsObservation.EffectiveTime   = new IVL_TS().Init(low: new IVXB_TS());
            CD obsValueAsCD = new CD();

            obsValueAsCD.NullFlavor = "UNK";
            entryRel.AsObservation.Value.Add(obsValueAsCD);
            PN pn = new PN();

            pn.Text = "N/A";
            IParticipant2 parti = hl7factory.CreateParticipant2();

            parti.TypeCode = "CSM";
            parti.ParticipantRole.ClassCode = "MANU";
            parti.ParticipantRole.AsPlayingEntity.ClassCode       = "MMAT";
            parti.ParticipantRole.AsPlayingEntity.Code.NullFlavor = "UNK";
            parti.ParticipantRole.AsPlayingEntity.Name.Add(pn);
            entryRel.AsObservation.Participant.Add(parti);
        }
Exemple #9
0
    private III VerificarIgualdade(III ADB)
    {
        int rand = UnityEngine.Random.Range(1, 3);

        if (ADB.atacou == ADB.defendeu)
        {
            switch (rand)
            {
            case 1:
                ADB.atacou *= 2;
                break;

            case 2:
                ADB.defendeu *= 2;
                break;
            }
        }
        else if (ADB.atacou == ADB.buffou)
        {
            switch (rand)
            {
            case 1:
                ADB.atacou *= 2;
                break;

            case 2:
                ADB.buffou *= 2;
                break;
            }
        }
        else
        {
            switch (rand)
            {
            case 1:
                ADB.buffou *= 2;
                break;

            case 2:
                ADB.defendeu *= 2;
                break;
            }
        }

        return(ADB);
    }
Exemple #10
0
        public void GenerateVitalSignsEntryEmpty(III hl7III, Factory hl7Factory)
        {
            IEntry entry = functionalStatus.Section.Entry.Append();

            entry.TypeCode = x_ActRelationshipEntry.DRIV;
            entry.AsOrganizer.ClassCode = x_ActClassDocumentEntryOrganizer.CLUSTER;
            entry.AsOrganizer.MoodCode  = "EVN";
            hl7III = entry.AsOrganizer.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.26");
            hl7III                                = entry.AsOrganizer.Id.Append();
            hl7III.NullFlavor                     = "UNK";
            entry.AsOrganizer.Code.Code           = "46680005";
            entry.AsOrganizer.Code.CodeSystem     = "2.16.840.1.113883.6.96";
            entry.AsOrganizer.Code.CodeSystemName = "SNOMED CT";
            entry.AsOrganizer.Code.DisplayName    = "Vital signs";
            entry.AsOrganizer.StatusCode.Init("completed");

            entry.AsOrganizer.EffectiveTime.Init(DateTime.Now);

            IComponent4 component = entry.AsOrganizer.Component.Append();

            // Height Component
            component.AsObservation.ClassCode = "OBS";
            component.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            hl7III = component.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.27");
            hl7III            = component.AsObservation.Id.Append();
            hl7III.NullFlavor = "UNK";
            component.AsObservation.Code.NullFlavor           = "UNK";
            component.AsObservation.Text.Reference.NullFlavor = "UNK";
            component.AsObservation.StatusCode.Init("completed");
            component.AsObservation.EffectiveTime.NullFlavor = "NA";
            IPQ PQ = hl7Factory.CreatePQ();

            PQ.NullFlavor = "UNK";
            component.AsObservation.Value.Add(PQ);
            ICE CE = hl7Factory.CreateCE();

            CE.NullFlavor = "UNK";
            component.AsObservation.InterpretationCode.Add(CE);
            IReferenceRange refRange = hl7Factory.CreateReferenceRange();

            refRange.ObservationRange.Text.Text = "";
            component.AsObservation.ReferenceRange.Add(refRange);
        }
        public void GenerateProcedureEntryEmpty(III hl7III, Factory hl7factory)
        {
            var EntryN = functionalStatus.Section.Entry.Append();

            EntryN.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            EntryN.AsObservation.ClassCode = "OBS";
            hl7III = EntryN.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.13");
            hl7III = EntryN.AsObservation.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            EntryN.AsObservation.Code.NullFlavor          = "UNK";
            EntryN.AsObservation.StatusCode.NullFlavor    = "UNK";
            EntryN.AsObservation.EffectiveTime.NullFlavor = "UNK";
            EntryN.AsObservation.PriorityCode.NullFlavor  = "UNK";
            CD ValueAsCD = new CD();

            EntryN.AsObservation.Value.Add(ValueAsCD);
        }
Exemple #12
0
    private int VerificarMedio(int maior, int menor, III ADB)
    {
        int medio;

        if (ADB.atacou == maior && ADB.defendeu == menor)
        {
            medio = ADB.buffou;
        }
        else if (ADB.defendeu == maior && ADB.buffou == menor)
        {
            medio = ADB.atacou;
        }
        else
        {
            medio = ADB.defendeu;
        }

        return(medio);
    }
Exemple #13
0
    private int VerificarMaior(III ADB)
    {
        int maior;

        if (ADB.atacou > ADB.defendeu && ADB.atacou > ADB.buffou)
        {
            maior = ADB.atacou;
        }
        else if (ADB.defendeu > ADB.atacou && ADB.defendeu > ADB.buffou)
        {
            maior = ADB.defendeu;
        }
        else
        {
            maior = ADB.buffou;
        }

        return(maior);
    }
Exemple #14
0
    private int VerificarMenor(III ADB)
    {
        int menor;

        if (ADB.atacou < ADB.defendeu && ADB.atacou < ADB.buffou)
        {
            menor = ADB.atacou;
        }
        else if (ADB.defendeu < ADB.atacou && ADB.defendeu < ADB.buffou)
        {
            menor = ADB.defendeu;
        }
        else
        {
            menor = ADB.buffou;
        }

        return(menor);
    }
 private void FillEncounterContent(PatientClinicalInformation patientinfo, III hl7III, Factory hl7factory)
 {
     if (patientinfo.ptEncounters.Count > 0)
     {
         managetable = new GenerateTableBodyStructure();
         DataArr.Add("Encounter");
         DataArr.Add("Performer");
         DataArr.Add("Location");
         DataArr.Add("Date");
         tble  = hl7factory.CreateStrucDocTable();
         thead = tble.Thead;
         tbody = tble.Tbody.Append();
         tr    = thead.Tr.Append();
         managetable.CreateTableHeader(DataArr, hl7factory, tble, thead, tr);
         //ArrayList alleries = new ArrayList(patientinfo.ptAllergies.ptAllergies);
         int i = 0;
         foreach (var item in patientinfo.ptEncounters)
         {
             DataArr = new ArrayList();
             //content = hl7factory.CreateStrucDocContent();
             //content.XmlId = "encounter" + (i + 1);
             //content.Items.Add(item.EncounterDescription);
             DataArr.Add(item.EncounterDescription);
             DataArr.Add(item.PerformerName);
             DataArr.Add(patientinfo.ptClinicInformation.ClinicName);
             DataArr.Add(string.Format("{0:MM/dd/yyyy}", item.EncounterDate));
             managetable.CreateTableBody(DataArr, hl7factory, tble, tbody, tr);
             GenerateEncounterEntry(item, patientinfo, i, hl7III, hl7factory);
             i++;
         }
         functionalStatus.Section.Text.Items.Add(tble);
     }
     else
     {
         CreateEncounterEmptyEntry(hl7III, hl7factory);
     }
 }
Exemple #16
0
        public string FillLegalAuthenticatorInfo(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string legalAuthenticatordetais = string.Empty;
            var    assignedEntity           = clinicalDoc.LegalAuthenticator.AssignedEntity;

            clinicalDoc.LegalAuthenticator.Time.Init(DateTime.Now);
            clinicalDoc.LegalAuthenticator.SignatureCode.Init("S");
            hl7III = assignedEntity.Id.Append();
            hl7III.Init("2.16.840.1.113883.4.6", "KP00017");
            assignedEntity.Code.Code           = "207QA0505X";
            assignedEntity.Code.CodeSystem     = "2.16.840.1.113883.6.101";
            assignedEntity.Code.CodeSystemName = "NUCC";
            assignedEntity.Code.DisplayName    = "Adult Medicine";
            IPN AsName = hl7factory.CreatePN();

            addressphno         = new GenerateAddressPhNo();
            addressinfo         = new AddressModel();///Fill Clinic Address
            addressinfo.street  = patientinfo.ptClinicInformation.ClinicStreeet;
            addressinfo.city    = patientinfo.ptClinicInformation.ClinicCity;
            addressinfo.state   = patientinfo.ptClinicInformation.ClinicState;
            addressinfo.country = patientinfo.ptClinicInformation.ClinicCountry;
            addressinfo.pinCode = patientinfo.ptClinicInformation.ClinicZip.ToString();
            assignedEntity.Addr.Add(addressphno.GenerateAddress(addressinfo, hl7factory)); ///END

            contactinfo             = new PhNoModel();                                     ///FIll Clinic Contact Number
            contactinfo.telcomUse   = "WP";
            contactinfo.telcomValue = patientinfo.ptClinicInformation.ClinicPhoneNumber;
            contactinfo.nullFlavor  = "UNK";
            assignedEntity.Telecom.Add(addressphno.GeneratePhNo(contactinfo, hl7factory)); ///END

            AsName   = assignedEntity.AssignedPerson.Name.Append();                        ///Manage Clinic Name
            nameinfo = new NameModel();
            nameinfo.Createengiven = patientinfo.ptClinicInformation.ClinicName;
            addressphno.FillName(nameinfo, AsName, hl7factory);///FIll Clinic Name

            legalAuthenticatordetais = clinicalDoc.Xml;
            return(legalAuthenticatordetais);
        }
Exemple #17
0
        public string FillDocumentationOf(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string documentationOfdetais = string.Empty;

            addressphno         = new GenerateAddressPhNo();
            addressinfo         = new AddressModel();///Fill Clinic Address
            addressinfo.street  = patientinfo.ptClinicInformation.ClinicStreeet;
            addressinfo.city    = patientinfo.ptClinicInformation.ClinicCity;
            addressinfo.state   = patientinfo.ptClinicInformation.ClinicState;
            addressinfo.country = patientinfo.ptClinicInformation.ClinicCountry;
            addressinfo.pinCode = patientinfo.ptClinicInformation.ClinicZip.ToString();

            contactinfo           = new PhNoModel();///FIll Clinic Contact Number
            contactinfo.telcomUse = "WP";
            //contactinfo.telcomValue = patientinfo.ClinicPhoneNumber;
            contactinfo.nullFlavor = "UNK";



            var docof = clinicalDoc.DocumentationOf.Append();
            int count = 0;

            foreach (DocumentationOfList item in patientinfo.documentationOfInfo)
            {
                IVXB_TS low = new IVXB_TS();
                docof.ServiceEvent.ClassCode           = "PCPR";
                docof.ServiceEvent.Code.Code           = "99214";
                docof.ServiceEvent.Code.CodeSystem     = "2.16.840.1.113883.6.12";
                docof.ServiceEvent.Code.CodeSystemName = "CPT4";
                docof.ServiceEvent.Code.DisplayName    = "Office Visit";
                var performer = docof.ServiceEvent.Performer.Append();

                performer.TypeCode = x_ServiceEventPerformer.PRF;
                if (count == 0)
                {
                    low.Init(Convert.ToDateTime(item.date));
                    docof.ServiceEvent.EffectiveTime = new IVL_TS().Init(low: low);
                    performer.FunctionCode.Code      = "PP";
                }
                else
                {
                    if (Convert.ToDateTime(item.date).Date < Convert.ToDateTime(patientinfo.documentationOfInfo[count - 1].date).Date)
                    {
                        low.Init(Convert.ToDateTime(item.date));
                        docof.ServiceEvent.EffectiveTime = new IVL_TS().Init(low: low);
                    }
                    performer.FunctionCode.Code = "SP";
                }
                performer.FunctionCode.DisplayName    = "Care Provider";
                performer.FunctionCode.CodeSystem     = "2.16.840.1.113883.12.443";
                performer.FunctionCode.CodeSystemName = "Provider Role";
                low.Init(Convert.ToDateTime(item.date));
                performer.Time = new IVL_TS().Init(low: low);
                var id = performer.AssignedEntity.Id.Append();
                id.Init("2.16.840.1.113883.4.6", "111111111", "NPI");
                performer.AssignedEntity.Addr.Add(addressphno.GenerateAddress(addressinfo, hl7factory));
                contactinfo.telcomValue = "mailto: info @drummondgroup.com";
                performer.AssignedEntity.Telecom.Add(addressphno.GeneratePhNo(contactinfo, hl7factory));
                IPN AsName = hl7factory.CreatePN();
                AsName   = performer.AssignedEntity.AssignedPerson.Name.Append();///Manage Clinic Name
                nameinfo = new NameModel();
                //nameinfo.Createengiven = patientinfo.ClinicName;
                nameinfo.Createenfamily = item.staffName;
                addressphno.FillName(nameinfo, AsName, hl7factory);///FIll Clinic Name
                count++;
            }
            documentationOfdetais = clinicalDoc.Xml;
            return(documentationOfdetais);
        }
        public string FillEncounters(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string clinicdetais = string.Empty;

            ptEncounter = new EncounterModel();
            CreateComponent(ptEncounter, clinicalDoc, hl7III);// Manage Allergy Component
            FillEncounterContent(patientinfo, hl7III, hl7factory);
            return(clinicalDoc.Xml);
        }
        public void GenerateFunctionalStatusEntry(FunctionalStatus ptfunctionalStatus, int refid, III hl7III, Factory hl7factory)
        {
            var Entry = functionalStatus.Section.Entry.Append();

            Entry.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            Entry.AsObservation.ClassCode = "OBS";
            hl7III = Entry.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.68");
            hl7III = Entry.AsObservation.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());

            if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("finding"))
            {
                Entry.AsObservation.Code.Code = "404684003";
            }
            else if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("disease"))
            {
                Entry.AsObservation.Code.Code = "282291009";
            }
            else
            {
                Entry.AsObservation.Code.Code = "409586006";
            }
            Entry.AsObservation.Code.CodeSystem = "2.16.840.1.113883.6.96";
            if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("finding"))
            {
                Entry.AsObservation.Code.DisplayName = "Finding";
            }
            else if (Convert.ToString(ptfunctionalStatus.Description).ToLower().Contains("disease"))
            {
                Entry.AsObservation.Code.DisplayName = "Diagnosis";
            }
            else
            {
                Entry.AsObservation.Code.DisplayName = "Complaint";
            }
            IVXB_TS low = new IVXB_TS();

            low.Init(Convert.ToDateTime(ptfunctionalStatus.StatusDate));
            Entry.AsObservation.Code.OriginalText.Reference.Value = ("#fs" + (refid + 1));
            Entry.AsObservation.StatusCode.Code = "completed";
            Entry.AsObservation.EffectiveTime   = new IVL_TS().Init(low: low);


            //Entry.AsObservation.Code.Code = IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "finding"), "404684003", IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "disease"), "282291009", "409586006"));
            //Entry.AsObservation.Code.CodeSystem = "2.16.840.1.113883.6.96";
            //Entry.AsObservation.Code.DisplayName = IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "finding"), "Finding", IIf(InStr(Convert.ToString(ptfunctionalStatus.Description).ToLower(), "disease"), "Diagnosis", "Complaint"));
            //Entry.AsObservation.Code.OriginalText.Reference.Value = "#fs" + (refid + 1);
            //Entry.AsObservation.StatusCode.Code = "completed";
            //Entry.AsObservation.EffectiveTime.Init(low: new IVXB_TS().Init(ptfunctionalStatus.StatusDate));

            CD obsValueAsCD = new CD();

            obsValueAsCD.OriginalText.Reference.Value = "#fs" + (refid + 1);
            obsValueAsCD.Code           = ptfunctionalStatus.Code;
            obsValueAsCD.CodeSystem     = "2.16.840.1.113883.6.96";
            obsValueAsCD.CodeSystemName = "SNOMED CT";
            obsValueAsCD.DisplayName    = ptfunctionalStatus.Description;
            Entry.AsObservation.Value.Add(obsValueAsCD);
        }
        public string FillSocialHistory(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string clinicdetais = string.Empty;

            ptSocialHistory = new SocialHistory();
            CreateComponent(ptSocialHistory, clinicalDoc, hl7III);// Manage Problem Component
            FillSocialHistoryContent(patientinfo.ptSocialHistory, hl7factory);

            //CreateSocialHistoryBody(patientinfo.ptSocialHistory);
            // Creating Social History Table Body with Table Structure
            int idCount = 1;

            ///''' For Smoking Status ''''''

            if (patientinfo.ptSocialHistory != null)
            {
                GenerateSocialHistoryEntry(patientinfo.ptSocialHistory.Smoker, ref idCount, "Smoking", hl7III, hl7factory);
            }
            else
            {
                GenerateSocialHistoryEmpty(hl7III, hl7factory);
            }
            ///''' For Alcohol Status '''''
            if (patientinfo.ptSocialHistory != null)
            {
                if (!string.IsNullOrEmpty(patientinfo.ptSocialHistory.Alcohol))
                {
                    GenerateSocialHistoryEntry(patientinfo.ptSocialHistory.Alcohol, ref idCount, "Alcohol", hl7III, hl7factory);
                }

                if (!string.IsNullOrEmpty(patientinfo.ptSocialHistory.Drugs))
                {
                    GenerateSocialHistoryEntry(patientinfo.ptSocialHistory.Drugs, ref idCount, "Drugs", hl7III, hl7factory);
                }

                if (!string.IsNullOrEmpty(patientinfo.ptSocialHistory.Tobacoo))
                {
                    GenerateSocialHistoryEntry(patientinfo.ptSocialHistory.Tobacoo, ref idCount, "Tobacoo", hl7III, hl7factory);
                }
            }
            return(clinicalDoc.Xml);
        }
        public void GenerateProcedureEntry(ProcedureList patientProcedure, int refid, PatientClinicalInformation patientinfo, III hl7III, Factory hl7factory)
        {
            IEntry Entry = functionalStatus.Section.Entry.Append();

            Entry.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            Entry.AsObservation.ClassCode = "OBS";
            hl7III = Entry.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.13");
            hl7III = Entry.AsObservation.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            Entry.AsObservation.Code.Code           = patientProcedure.CPTCodes;
            Entry.AsObservation.Code.CodeSystem     = "2.16.840.1.113883.6.96";
            Entry.AsObservation.Code.CodeSystemName = "CPT";
            Entry.AsObservation.Code.DisplayName    = patientProcedure.Description;
            Entry.AsObservation.Code.OriginalText.Reference.Value = ("#Proc" + (refid + 1).ToString());
            Entry.AsObservation.StatusCode.Code          = "completed";
            Entry.AsObservation.EffectiveTime.NullFlavor = "UNK";
            Entry.AsObservation.PriorityCode.NullFlavor  = "UNK";
            CD obsValueAsCD = new CD();

            obsValueAsCD.OriginalText.Reference.Value = ("#Proc" + (refid + 1).ToString());
            Entry.AsObservation.Value.Add(obsValueAsCD);
            if (patientinfo.ptClinicInformation.ClinicName != null)
            {
                addressphno             = new GenerateAddressPhNo();
                addressinfo             = new AddressModel();///Fill Clinic Address
                addressinfo.street      = patientinfo.ptClinicInformation.ClinicStreeet;
                addressinfo.city        = patientinfo.ptClinicInformation.ClinicCity;
                addressinfo.state       = patientinfo.ptClinicInformation.ClinicState;
                addressinfo.country     = patientinfo.ptClinicInformation.ClinicCountry;
                addressinfo.pinCode     = patientinfo.ptClinicInformation.ClinicZip.ToString();
                contactinfo             = new PhNoModel();///FIll Clinic Contact Number
                contactinfo.telcomUse   = "WP";
                contactinfo.telcomValue = patientinfo.ptClinicInformation.ClinicPhoneNumber;
                contactinfo.nullFlavor  = "UNK";
            }
            var Performer = Entry.AsObservation.Performer.Append();

            hl7III = Performer.AssignedEntity.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            Performer.AssignedEntity.Addr.Add(addressphno.GenerateAddress(addressinfo, hl7factory));
            Performer.AssignedEntity.Telecom.Add(addressphno.GeneratePhNo(contactinfo, hl7factory));
            hl7III = Performer.AssignedEntity.RepresentedOrganization.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            IAD hl7IADInterface = hl7factory.CreateAD();

            hl7IADInterface.NullFlavor = "UNK";
            Performer.AssignedEntity.RepresentedOrganization.Addr.Add(hl7IADInterface);
            ITEL telcom = hl7factory.CreateTEL();

            telcom            = hl7factory.CreateTEL();
            telcom.NullFlavor = "UNK";
            Performer.AssignedEntity.RepresentedOrganization.Telecom.Add(telcom);
        }
        private void CreateComponent(ProcedureModel ptProcedureModel, ClinicalDocument clinicalDoc, III hl7III)
        {
            hl7Body          = clinicalDoc.Component.AsStructuredBody;
            functionalStatus = hl7Body.Component.Append();
            hl7III           = functionalStatus.Section.TemplateId.Append();
            if (ptProcedureModel.root != null)
            {
                hl7III.Init(ptProcedureModel.root);
            }

            if (ptProcedureModel.code != null)
            {
                functionalStatus.Section.Code.Code = ptProcedureModel.code;
            }

            if (ptProcedureModel.codeSystem != null)
            {
                functionalStatus.Section.Code.CodeSystem = ptProcedureModel.codeSystem;
            }

            if (ptProcedureModel.codeSystemName != null)
            {
                functionalStatus.Section.Code.CodeSystemName = ptProcedureModel.codeSystemName;
            }

            if (ptProcedureModel.displayName != null)
            {
                functionalStatus.Section.Code.DisplayName = ptProcedureModel.displayName;
            }

            if (ptProcedureModel.title != null)
            {
                functionalStatus.Section.Title.Text = ptProcedureModel.title;
            }
        }
 private void FillFunctionalStatusContent(PatientClinicalInformation patientinfo, III hl7III, Factory hl7factory)
 {
     if (patientinfo.ptFunctionalStatus.Count > 0)
     {
         managetable = new GenerateTableBodyStructure();
         DataArr.Add("Functional Condition");
         DataArr.Add("Effective Dates");
         DataArr.Add("Condition Status");
         tble  = hl7factory.CreateStrucDocTable();
         thead = tble.Thead;
         tbody = tble.Tbody.Append();
         tr    = thead.Tr.Append();
         managetable.CreateTableHeader(DataArr, hl7factory, tble, thead, tr);
         //ArrayList alleries = new ArrayList(patientinfo.ptAllergies.ptAllergies);
         int i = 0;
         foreach (var item in patientinfo.ptFunctionalStatus)
         {
             DataArr       = new ArrayList();
             content       = hl7factory.CreateStrucDocContent();
             content.XmlId = "functional" + (i + 1);
             content.Items.Add(item.Description);
             DataArr.Add(content);
             DataArr.Add(item.StatusDate.ToString());
             DataArr.Add("Active");
             managetable.CreateTableBody(DataArr, hl7factory, tble, tbody, tr);
             GenerateFunctionalStatusEntry(item, i, hl7III, hl7factory);
             i++;
         }
         functionalStatus.Section.Text.Items.Add(tble);
     }
     else
     {
         CreateFunctionalStatusEmptyEntry(hl7III, hl7factory);
     }
 }
        public string FillFunctionalStatus(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string clinicdetais = string.Empty;

            ptFunctionalStatus = new FunctionalStatusModel();
            CreateComponent(ptFunctionalStatus, clinicalDoc, hl7III);// Manage Allergy Component
            FillFunctionalStatusContent(patientinfo, hl7III, hl7factory);
            return(clinicalDoc.Xml);
        }
        private void CreateComponent(SocialHistory ptSocialHistory, ClinicalDocument clinicalDoc, III hl7III)
        {
            hl7Body          = clinicalDoc.Component.AsStructuredBody;
            functionalStatus = hl7Body.Component.Append();
            hl7III           = functionalStatus.Section.TemplateId.Append();
            if (ptSocialHistory.root != null)
            {
                hl7III.Init(ptSocialHistory.root);
            }

            //if (dictionary.ContainsKey(Root2))
            //{
            //    hl7III = functionalStatus.Section.TemplateId.Append;
            //    hl7III.Init(dictionary.Item(Root2));
            //}

            if (ptSocialHistory.code != null)
            {
                functionalStatus.Section.Code.Code = ptSocialHistory.code;
            }

            if (ptSocialHistory.codeSystem != null)
            {
                functionalStatus.Section.Code.CodeSystem = ptSocialHistory.codeSystem;
            }

            if (ptSocialHistory.codeSystemName != null)
            {
                functionalStatus.Section.Code.CodeSystemName = ptSocialHistory.codeSystemName;
            }

            if (ptSocialHistory.displayName != null)
            {
                functionalStatus.Section.Code.DisplayName = ptSocialHistory.displayName;
            }

            if (ptSocialHistory.title != null)
            {
                functionalStatus.Section.Title.Text = ptSocialHistory.title;
            }
        }
        public string FillParticipantInfo(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string participantdetais = string.Empty;
            var    participant       = clinicalDoc.Participant.Append();
            var    times             = hl7factory.CreateIVXB_TS();

            times.Init(DateTime.Now);
            IPN AsName = hl7factory.CreatePN();

            participant.TypeCode = "IND";
            participant.Time.Init(null, times, times);
            participant.AssociatedEntity.ClassCode       = "CAREGIVER";
            participant.AssociatedEntity.Code.Code       = "MTH";
            participant.AssociatedEntity.Code.CodeSystem = "2.16.840.1.113883.5.111";
            addressphno         = new GenerateAddressPhNo();
            addressinfo         = new AddressModel();///Fill Clinic Address
            addressinfo.street  = patientinfo.ptClinicInformation.ClinicStreeet;
            addressinfo.city    = patientinfo.ptClinicInformation.ClinicCity;
            addressinfo.state   = patientinfo.ptClinicInformation.ClinicState;
            addressinfo.country = patientinfo.ptClinicInformation.ClinicCountry;
            addressinfo.pinCode = patientinfo.ptClinicInformation.ClinicZip.ToString();
            participant.AssociatedEntity.Addr.Add(addressphno.GenerateAddress(addressinfo, hl7factory)); ///END

            contactinfo             = new PhNoModel();                                                   ///FIll Clinic Contact Number
            contactinfo.telcomUse   = "WP";
            contactinfo.telcomValue = patientinfo.ptClinicInformation.ClinicPhoneNumber;
            contactinfo.nullFlavor  = "UNK";
            participant.AssociatedEntity.Telecom.Add(addressphno.GeneratePhNo(contactinfo, hl7factory)); ///END

            AsName   = participant.AssociatedEntity.AssociatedPerson.Name.Append();                      ///Manage Clinic Name
            nameinfo = new NameModel();
            nameinfo.Createengiven = patientinfo.ptClinicInformation.ClinicName;
            addressphno.FillName(nameinfo, AsName, hl7factory);///FIll Clinic Name

            participantdetais = clinicalDoc.Xml;
            return(participantdetais);
        }
        public void GenerateSocialHistoryEntry(string observerValue, ref int refId, string obsrvType, III hl7III, Factory hl7Factory)
        {
            if (obsrvType == "Smoking")
            {
                IEntry entry = functionalStatus.Section.Entry.Append();
                //GetSNOMED(obsrvType)
                entry.AsObservation.ClassCode = "OBS";
                entry.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
                IIVXB_TS TS = hl7Factory.CreateIVXB_TS();
                hl7III = entry.AsObservation.Id.Append();
                hl7III.Init(Guid.NewGuid().ToString());
                hl7III = entry.AsObservation.TemplateId.Append();
                hl7III.Init("2.16.840.1.113883.10.20.22.4.78");
                //entry.AsObservation.Code.Code = IIf(obsrvType = "Smoking", "230056004", IIf(obsrvType = "Alcohol", "160573003", IIf(obsrvType = "Drugs", "228423003", "229819007")))
                IED ED = hl7Factory.CreateED();
                entry.AsObservation.Code.Code           = "ASSERTION";
                entry.AsObservation.Code.DisplayName    = "Assertion";
                entry.AsObservation.Code.CodeSystem     = "2.16.840.1.113883.5.4";
                entry.AsObservation.Code.CodeSystemName = "ActCode";
                //ED.Reference.Value = "#Sec" + refId
                //entry.AsObservation.Code.OriginalText = ED
                //entry.AsObservation.Code.CodeSystem = "2.16.840.1.113883.6.96"
                //entry.AsObservation.Code.DisplayName = IIf(obsrvType = "Smoking", "Cigarette smoking", IIf(obsrvType = "Alcohol", "Alcohol consumption", IIf(obsrvType = "Drugs", "Drugs consumption", "Tobacoo consumption")))

                entry.AsObservation.StatusCode.Init("completed");
                entry.AsObservation.EffectiveTime = new IVL_TS().Init(low: new IVXB_TS(), high: new IVXB_TS());
                //entry.AsObservation.EffectiveTime.High.Value = "UNK"
                ICD CD = hl7Factory.CreateCD();
                CD.CodeSystemName = "SNOMED CT";
                //= observerValue
                CD.CodeSystem  = "2.16.840.1.113883.6.96";
                CD.Code        = "77176002";
                CD.DisplayName = "Cigarette smoking";
                CD.OriginalText.Reference.Value = "#Sec" + refId;
                entry.AsObservation.Value.Add(CD);
                refId = refId + 1;
            }
            else
            {
                IEntry entry = functionalStatus.Section.Entry.Append();
                GetSNOMED(obsrvType);
                entry.TypeCode = x_ActRelationshipEntry.DRIV;
                entry.AsObservation.ClassCode = "OBS";
                entry.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
                IIVXB_TS TS = hl7Factory.CreateIVXB_TS();
                hl7III = entry.AsObservation.Id.Append();
                hl7III.Init(Guid.NewGuid().ToString());
                hl7III = entry.AsObservation.TemplateId.Append();
                hl7III.Init("2.16.840.1.113883.10.20.22.4.38");
                entry.AsObservation.Code.Code = (obsrvType == "Smoking" ? "230056004" : (obsrvType == "Alcohol" ? "160573003" : (obsrvType == "Drugs" ? "228423003" : "229819007")));
                IED ED = hl7Factory.CreateED();
                ED.Reference.Value = "#Sec" + refId;
                entry.AsObservation.Code.OriginalText = ED;
                entry.AsObservation.Code.CodeSystem   = "2.16.840.1.113883.6.96";
                entry.AsObservation.Code.DisplayName  = (obsrvType == "Smoking" ? "Cigarette smoking" : (obsrvType == "Alcohol" ? "Alcohol consumption" : (obsrvType == "Drugs" ? "Drugs consumption" : "Tobacoo consumption")));

                entry.AsObservation.StatusCode.Init("completed");
                entry.AsObservation.EffectiveTime.NullFlavor = "UNK";
                IST ST = hl7Factory.CreateST();
                ST.Text = observerValue;
                entry.AsObservation.Value.Add(ST);
                refId = refId + 1;
            }
        }
        public void GenerateEncounterEntry(Encounters ptEncounters, PatientClinicalInformation patientinfo, int refid, III hl7III, Factory hl7factory)
        {
            var Entry = functionalStatus.Section.Entry.Append();

            Entry.AsEncounter.ClassCode = "ENC";
            Entry.AsEncounter.MoodCode  = x_DocumentEncounterMood.EVN;
            hl7III = Entry.AsEncounter.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.49");
            hl7III = Entry.AsEncounter.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            Entry.AsEncounter.Code.Code           = "99212";
            Entry.AsEncounter.Code.DisplayName    = "Outpatient Visit";
            Entry.AsEncounter.Code.CodeSystem     = "2.16.840.1.113883.6.12";
            Entry.AsEncounter.Code.CodeSystemName = "CPT";
            IVXB_TS low = new IVXB_TS();

            low.Init(Convert.ToDateTime(ptEncounters.EncounterDate));
            Entry.AsEncounter.EffectiveTime = new IVL_TS().Init(low: low);
            var performer = Entry.AsEncounter.Performer.Append();

            hl7III = performer.AssignedEntity.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            performer.AssignedEntity.Code.Code           = "59058001";
            performer.AssignedEntity.Code.CodeSystem     = "2.16.840.1.113883.6.96";
            performer.AssignedEntity.Code.CodeSystemName = "SNOMED CT";
            performer.AssignedEntity.Code.DisplayName    = "General Physician";
            var Participant = Entry.AsEncounter.Participant.Append();

            Participant.TypeCode = "LOC";
            Participant.ParticipantRole.ClassCode = "SDLOC";
            hl7III = Participant.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.32");
            Participant.ParticipantRole.Code.Code           = "1117-1";
            Participant.ParticipantRole.Code.CodeSystem     = "2.16.840.1.113883.6.259";
            Participant.ParticipantRole.Code.CodeSystemName = "HealthcareServiceLocation";
            Participant.ParticipantRole.Code.DisplayName    = "Family Medicine Clinic";

            addressphno         = new GenerateAddressPhNo();
            addressinfo         = new AddressModel();///Fill Clinic Address
            addressinfo.street  = patientinfo.ptClinicInformation.ClinicStreeet;
            addressinfo.city    = patientinfo.ptClinicInformation.ClinicCity;
            addressinfo.state   = patientinfo.ptClinicInformation.ClinicState;
            addressinfo.country = patientinfo.ptClinicInformation.ClinicCountry;
            addressinfo.pinCode = patientinfo.ptClinicInformation.ClinicZip.ToString();
            Participant.ParticipantRole.Addr.Add(addressphno.GenerateAddress(addressinfo, hl7factory)); ///END

            contactinfo             = new PhNoModel();                                                  ///FIll Clinic Contact Number
            contactinfo.telcomUse   = "WP";
            contactinfo.telcomValue = patientinfo.ptClinicInformation.ClinicPhoneNumber;
            contactinfo.nullFlavor  = "UNK";
            Participant.ParticipantRole.Telecom.Add(addressphno.GeneratePhNo(contactinfo, hl7factory)); ///END

            var Rel = Entry.AsEncounter.EntryRelationship.Append();

            Rel.TypeCode = x_ActRelationshipEntryRelationship.RSON;
            Rel.AsObservation.ClassCode = "OBS";
            Rel.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            hl7III = Rel.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.19");
            hl7III = Rel.AsObservation.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            Rel.AsObservation.Code.Code           = "404684003";
            Rel.AsObservation.Code.CodeSystem     = "2.16.840.1.113883.6.96";
            Rel.AsObservation.Code.CodeSystemName = "SNOMED CT";
            Rel.AsObservation.Code.DisplayName    = "Finding";
            Rel.AsObservation.StatusCode.Code     = "completed";
            Rel.AsObservation.EffectiveTime       = new IVL_TS().Init(low: low);
            CD obsValueAsCD = new CD();

            obsValueAsCD.Code        = ptEncounters.Code;
            obsValueAsCD.DisplayName = Convert.ToString(ptEncounters.EncounterDescription);
            obsValueAsCD.CodeSystem  = "2.16.840.1.113883.6.96";
            Rel.AsObservation.Value.Add(obsValueAsCD);
            Rel                 = Entry.AsEncounter.EntryRelationship.Append();
            Rel.TypeCode        = x_ActRelationshipEntryRelationship.SUBJ;
            Rel.AsAct.ClassCode = 0;
            Rel.AsAct.MoodCode  = x_DocumentActMood.EVN;
            hl7III              = Rel.AsAct.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.80");
            hl7III = Rel.AsAct.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            Rel.AsAct.Code.Code           = "29308-4";
            Rel.AsAct.Code.CodeSystem     = "2.16.840.1.113883.6.1";
            Rel.AsAct.Code.CodeSystemName = "LOINC";
            Rel.AsAct.Code.DisplayName    = "ENCOUNTER DIAGNOSIS";
            Rel.AsAct.StatusCode.Code     = "active";
            Rel.AsAct.EffectiveTime       = new IVL_TS().Init(low: low);
            var SubRel = Rel.AsAct.EntryRelationship.Append();

            SubRel.TypeCode = x_ActRelationshipEntryRelationship.SUBJ;
            SubRel.AsObservation.ClassCode = "OBS";
            SubRel.AsObservation.MoodCode  = x_ActMoodDocumentObservation.EVN;
            hl7III = SubRel.AsObservation.TemplateId.Append();
            hl7III.Init("2.16.840.1.113883.10.20.22.4.4");
            hl7III = SubRel.AsObservation.Id.Append();
            hl7III.Init(Guid.NewGuid().ToString());
            SubRel.AsObservation.Code.Code        = "409586006";
            SubRel.AsObservation.Code.CodeSystem  = "2.16.840.1.113883.6.96";
            SubRel.AsObservation.Code.DisplayName = "Complaint";
            SubRel.AsObservation.StatusCode.Code  = "completed";
            SubRel.AsObservation.EffectiveTime    = new IVL_TS().Init(low: low);
            CD obsValueAsCDSub = new CD();

            obsValueAsCDSub.Code        = ptEncounters.Code;
            obsValueAsCDSub.DisplayName = Convert.ToString(ptEncounters.EncounterDescription);
            obsValueAsCDSub.CodeSystem  = "2.16.840.1.113883.6.96";
            SubRel.AsObservation.Value.Add(obsValueAsCDSub);
        }
        public string FillPatientProcedure(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string clinicdetais = string.Empty;

            ptProcedureModel = new ProcedureModel();
            CreateComponent(ptProcedureModel, clinicalDoc, hl7III);// Manage Allergy Component
            //FillProcedureContent(patientinfo, hl7factory);
            int i = 0;

            if (patientinfo.ptAllergies.Count > 0)
            {
                foreach (ProcedureList item in patientinfo.ptProcedure)
                {
                    GenerateProcedureEntry(item, (i + 1), patientinfo, hl7III, hl7factory);
                }
            }
            else
            {
                GenerateProcedureEntryEmpty(hl7III, hl7factory);
            }
            return(clinicalDoc.Xml);
        }
Exemple #30
0
        public string FillReasonForVisit(ClinicalDocument clinicalDoc, Factory hl7factory, III hl7III, PatientClinicalInformation patientinfo)
        {
            string clinicdetais = string.Empty;

            ptreason         = new ReasonForVisitModel();
            hl7Body          = clinicalDoc.Component.AsStructuredBody;
            functionalStatus = hl7Body.Component.Append();
            hl7III           = functionalStatus.Section.TemplateId.Append();
            hl7III.Root      = ptreason.root;
            functionalStatus.Section.Code.CodeSystem     = ptreason.codeSystem;
            functionalStatus.Section.Code.Code           = ptreason.code;
            functionalStatus.Section.Code.CodeSystemName = ptreason.codeSystemName;
            functionalStatus.Section.Code.DisplayName    = ptreason.displayName;
            functionalStatus.Section.Title.Text          = ptreason.title;
            var paragraph = hl7factory.CreateStrucDocParagraph();

            if (patientinfo.ptReason != null)
            {
                paragraph.Items.Add(Convert.ToString(patientinfo.ptReason.Description));
            }
            else
            {
                paragraph.Items.Add("N/A");
            }

            functionalStatus.Section.Text.Items.Add(paragraph);
            return(clinicalDoc.Xml);
        }