Example #1
0
        /// <summary>
        /// Creates and Hydrates an Dispenser Organisation(IParticipationDispenserOrganisation).
        /// </summary>
        /// <returns>A Hydrated Dispenser Organisation</returns>
        internal static IParticipationDispenserOrganisation CreateDispenserOrganisation(Boolean mandatorySectionsOnly, Guid dispenserOrganisationId)
        {
            IParticipationDispenserOrganisation participation = BaseCDAModel.CreateDispenserOrganisation();

            participation.Participant = BaseCDAModel.CreateParticipantForDispenserOrganisation();
            participation.Participant.UniqueIdentifier = dispenserOrganisationId;

            participation.Participant.Organisation = BaseCDAModel.CreateOrganisation();

            // Prescribe rOrganisation > Participant > Entity Identifier
            participation.Participant.Organisation.Identifiers = new List <Identifier> {
                BaseCDAModel.CreateIdentifier("SampleAuthority", null, null, "1.2.3.4.5.66666", null),
                BaseCDAModel.CreateHealthIdentifier(HealthIdentifierType.HPIO, "8003620833333789")
            };

            // Organisation Name
            participation.Participant.Organisation.Name = "West End Healthiness";

            if (!mandatorySectionsOnly)
            {
                // Organisation Continued
                participation.Participant.Organisation.NameUsage  = OrganisationNameUsage.LocallyUsedName;
                participation.Participant.Organisation.Department = "General Health";

                // Dispenser Organisation > Address
                var address1 = BaseCDAModel.CreateAddress();
                address1.AddressPurpose    = AddressPurpose.Business;
                address1.AustralianAddress = BaseCDAModel.CreateAustralianAddress();
                address1.AustralianAddress.UnstructuredAddressLines = new List <string> {
                    "1 Clinician Street"
                };
                address1.AustralianAddress.SuburbTownLocality = "Nehtaville";
                address1.AustralianAddress.State           = AustralianState.QLD;
                address1.AustralianAddress.PostCode        = "5555";
                address1.AustralianAddress.DeliveryPointId = 32568931;

                participation.Participant.Addresses = new List <IAddress> {
                    address1
                };

                participation.Participant.ElectronicCommunicationDetails = new List <ElectronicCommunicationDetail>
                {
                    BaseCDAModel.CreateElectronicCommunicationDetail("0712341234", ElectronicCommunicationMedium.Telephone, ElectronicCommunicationUsage.WorkPlace)
                };

                // Prescriber > Participant > Entitlement
                var entitlement1 = BaseCDAModel.CreateEntitlement();

                var code = BaseCDAModel.CreateCodableText("11", CodingSystem.NCTISEntitlementTypeValues,
                                                          "Medicare Pharmacy Approval Number", null, null);


                entitlement1.Id = BaseCDAModel.CreateIdentifier("AGIMO (Australian Government Information Management Office)",
                                                                null,
                                                                "1234567892",
                                                                "1.2.36.174030967.1.3.2.1",
                                                                code);

                entitlement1.Type             = EntitlementType.MedicarePharmacyApprovalNumber;
                entitlement1.ValidityDuration = BaseCDAModel.CreateInterval("1", TimeUnitOfMeasure.Year);

                participation.Participant.Entitlements = new List <Entitlement> {
                    entitlement1
                };
            }
            return(participation);
        }