Ejemplo n.º 1
0
 private void CallChangeStage(ClientStage stage)
 {
     if (ChangeStage != null)
     {
         ChangeStage(stage);
     }
 }
        public async Task <IEnumerable <ClientStage> > Extract(Guid?htsClientId = null)
        {
            //_clientStageRepository.Clear();

            var subscriber = await _subscriberSystemRepository.GetDefaultAsync();

            if (null == subscriber)
            {
                throw new Exception("Default EMR NOT SET");
            }

            var practices = _practiceRepository.GetAllDefault().ToList();

            var clients = new List <ClientStage>();

            var persons = _personRepository.GetAllClients();

            foreach (var person in persons)
            {
                var client   = ClientStage.Create(person, subscriber);
                var practice = practices.FirstOrDefault(x => x.Id == client.PracticeId);

                if (null != practice)
                {
                    client.SiteCode = practice.Code;
                }

                clients.Add(client);
            }
            return(clients.Where(x => !x.ClientId.IsNullOrEmpty()));
        }
Ejemplo n.º 3
0
        public static HtsRegistry Create(string facility, ClientStage clientStage, ENCOUNTERS encounters)
        {
            var newclients = new List <NEWCLIENT> {
                NEWCLIENT.Create(clientStage, encounters)
            };

            return(new HtsRegistry(MESSAGE_HEADER.Create(facility), newclients));
        }
Ejemplo n.º 4
0
    private void Update()
    {
        if (ClientStage.active)
        {
            ClientStage.Tick();
        }

        if (ServerStage.active)
        {
            ServerStage.Tick();
        }
    }
Ejemplo n.º 5
0
    private void OnDestroy()
    {
        if (ClientStage.active)
        {
            ClientStage.DisconnectClient();
        }

        if (ServerStage.active)
        {
            ServerStage.Disconnect();
        }
    }
Ejemplo n.º 6
0
    public void DisconnectClient()
    {
        if (!ClientStage.active)
        {
            return;
        }

        ClientStage.DisconnectClient();

        startServerButton.SetActive(true);
        startClientButton.SetActive(true);
        clientUI.SetActive(false);
    }
Ejemplo n.º 7
0
    public void RequestPlayerSpawn()
    {
        if (!ClientStage.active)
        {
            return;
        }

        //Debug.Log("Sending spawn message");

        NetworkMessage.SpawnPlayerMessage msg = new NetworkMessage.SpawnPlayerMessage();
        ClientStage.SendNetworkMessage(msg);

        //Debug.Log("Done sending spawn message");
    }
Ejemplo n.º 8
0
        public void InvokeRpc(string methodName, RpcArgs args, int priority)
        {
            NetworkMessage.RpcInvokeMessage rpcDef = new NetworkMessage.RpcInvokeMessage(instanceId, priority, methodName, args);

            if (ClientStage.active)
            {
                ClientStage.SendNetworkMessage(rpcDef);
            }

            if (ServerStage.active)
            {
                ServerStage.SendNetworkMessage(rpcDef);
            }
        }
Ejemplo n.º 9
0
 private static Contact Create(ClientStage client, ClientStageRelationship relationship)
 {
     return(new Contact
     {
         Id = client.Id,
         Serial = client.Serial,
         FirstName = client.FirstName,
         MiddleName = client.MiddleName,
         LastName = client.LastName,
         DateOfBirth = client.DateOfBirth,
         Sex = client.Sex,
         Relation = null != relationship ? relationship.RelationName : string.Empty
     });
 }
Ejemplo n.º 10
0
 protected PATIENT_IDENTIFICATION(ClientStage clientStage)
 {
     INTERNAL_PATIENT_ID     = Clients.INTERNAL_PATIENT_ID.Create(clientStage.ClientId, clientStage.Serial);
     PATIENT_NAME            = PATIENT_NAME.Create(clientStage.FirstName, clientStage.MiddleName, clientStage.LastName);
     DATE_OF_BIRTH           = clientStage.DateOfBirth.ToIqDateOnly();
     DATE_OF_BIRTH_PRECISION = clientStage.DateOfBirthPrecision;
     SEX     = clientStage.Sex;
     KEY_POP = new List <int> {
         clientStage.KeyPop
     };
     PATIENT_ADDRESS   = PATIENT_ADDRESS.Create(clientStage.Landmark);
     PHONE_NUMBER      = clientStage.Phone;
     MARITAL_STATUS    = clientStage.MaritalStatus;
     REGISTRATION_DATE = clientStage.RegistrationDate.ToIqDateOnly();
 }
Ejemplo n.º 11
0
        public ChatForm()
        {
            InitializeComponent();
            var parametrs = new Parametrs("config.ini");

            parametrs.LoadParametrs();

            var transport = new LiteNetLibTransport(parametrs.MaxConnection, parametrs.KeyConnection);
            var protocol  = new TransportUdpProtocol(transport, parametrs.MaxMessageSize, new BinarySerializer());
            var network   = new ProtocolUdpNetwork(protocol, new RealNow(), parametrs.Timeout);

            _chatClient              = new ChatClient(transport, network, parametrs.MaxMessageLength);
            _chatClient.Message     += ChatClientOnMessage;
            _chatClient.ChangeStage += ChatClientOnChangeStage;
            _currentStage            = ClientStage.Disconnected;
        }
Ejemplo n.º 12
0
        private void ChatClientOnChangeStage(ClientStage stage)
        {
            _currentStage = stage;
            switch (stage)
            {
            case ClientStage.Disconnecting:
                tMessage.Enabled       = false;
                tName.Enabled          = false;
                bAuthorization.Enabled = false;
                bSendMessage.Enabled   = false;
                AcceptButton           = bConnect;
                break;

            case ClientStage.Disconnected:
                tAddress.Enabled = true;
                tPort.Enabled    = true;
                bConnect.Text    = "Connect";
                bConnect.Enabled = true;
                break;

            case ClientStage.Connecting:
                tAddress.Enabled = false;
                tPort.Enabled    = false;
                bConnect.Enabled = false;
                break;

            case ClientStage.Connected:
                tName.Enabled          = true;
                bAuthorization.Enabled = true;
                bConnect.Text          = "Disconnect";
                bConnect.Enabled       = true;
                AcceptButton           = bAuthorization;
                break;

            case ClientStage.Authorizing:
                tName.Enabled          = false;
                bAuthorization.Enabled = false;
                break;

            case ClientStage.Autorized:
                tMessage.Enabled     = true;
                bSendMessage.Enabled = true;
                AcceptButton         = bSendMessage;
                break;
            }
        }
Ejemplo n.º 13
0
        public void should_Extract_Translated()
        {
            var stage = ClientStage.Create(person, subscriber);

            Assert.AreEqual(52, stage.Sex);
            Assert.AreEqual(25, stage.KeyPop);
            Assert.AreEqual(58, stage.MaritalStatus);
            Console.WriteLine(stage);

            /*
             * Code|Display|SubCode|SubDisplay|SubRef
             * ---------------------------------------------------
             * O   |Others	|25	    |Other     |HTSKeyPopulation
             * S   |Single	|58	    |Single	   |HTSMaritalStatus
             * F   |F	    |52	    |Female    |Gender
             *
             */
        }
Ejemplo n.º 14
0
        protected PATIENT_IDENTIFICATION(ClientStage clientStage)
        {
            INTERNAL_PATIENT_ID     = Clients.INTERNAL_PATIENT_ID.Create(clientStage.ClientId, clientStage.Serial);
            PATIENT_NAME            = PATIENT_NAME.Create(clientStage.FirstName, clientStage.MiddleName, clientStage.LastName, clientStage.NickName);
            DATE_OF_BIRTH           = clientStage.DateOfBirth.ToIqDateOnly();
            DATE_OF_BIRTH_PRECISION = clientStage.DateOfBirthPrecision;
            SEX     = clientStage.Sex;
            KEY_POP = new List <int> {
                clientStage.KeyPop
            };
            PATIENT_ADDRESS = PATIENT_ADDRESS.Create(clientStage.Landmark, clientStage.County, clientStage.SubCounty, clientStage.Ward);
            PHONE_NUMBER    = clientStage.Phone;
            MARITAL_STATUS  = clientStage.MaritalStatus;

            EDUCATIONLEVEL   = clientStage.Education.ToIqLookup();
            EDUCATIONOUTCOME = clientStage.Completion.ToIqLookup();
            OCCUPATION       = clientStage.Occupation.ToIqLookup();

            REGISTRATION_DATE = clientStage.RegistrationDate.ToIqDateOnly();
        }
Ejemplo n.º 15
0
    public void InvokePositionUpdate()
    {
        if (ClientStage.active && !myNetworkEntity.IsLocalObject())
        {
            return;
        }

        NetworkMessage.UpdateTransformMessage transformMsg = new NetworkMessage.UpdateTransformMessage(myNetworkEntity.instanceId, transform.position, transform.rotation, childTransform.localPosition, childTransform.rotation, _velocity);

        if (ClientStage.active)
        {
            ClientStage.SendNetworkMessage(transformMsg);
        }

        if (ServerStage.active)
        {
            ServerStage.SendNetworkMessage(transformMsg);
        }

        previousPosition      = transform.position;
        previousRotation      = transform.rotation;
        previousChildPosition = childTransform.localPosition;
        previousChildRotation = childTransform.rotation;
    }
Ejemplo n.º 16
0
 public static NEWCLIENT Create(ClientStage client)
 {
     return(new NEWCLIENT(PATIENT_IDENTIFICATION.Create(client)));
 }
Ejemplo n.º 17
0
 public static NEWCLIENT Create(ClientStage client, ENCOUNTERS encounter)
 {
     return(new NEWCLIENT(PATIENT_IDENTIFICATION.Create(client), encounter));
 }
Ejemplo n.º 18
0
 public static Contact CreatePrimary(ClientStage client)
 {
     return(Create(client, null));
 }
Ejemplo n.º 19
0
 public static Contact CreateSecondary(ClientStage client, ClientStageRelationship relationship)
 {
     return(Create(client, relationship));
 }
Ejemplo n.º 20
0
 protected PATIENT_IDENTIFICATION(ClientStage clientStage, Guid indexClientId) : this(clientStage)
 {
     INTERNAL_PATIENT_ID = Clients.INTERNAL_PATIENT_ID.CreateContact(clientStage.ClientId, indexClientId);
 }
Ejemplo n.º 21
0
 public static PATIENT_IDENTIFICATION Create(ClientStage clientStage)
 {
     return(new PATIENT_IDENTIFICATION(clientStage));
 }
 public static PARTNER_FAMILY_PATIENT_IDENTIFICATION Create(ClientStage stagedClient, Guid indexClientId, int relation)
 {
     return(new PARTNER_FAMILY_PATIENT_IDENTIFICATION(stagedClient, indexClientId, relation));
 }
 protected PARTNER_FAMILY_PATIENT_IDENTIFICATION(ClientStage clientStage, Guid indexClientId, int relationshipType) : base(clientStage, indexClientId)
 {
     RELATIONSHIP_TYPE = relationshipType;
 }
Ejemplo n.º 24
0
    private IEnumerator ReadyClient(float delay)
    {
        yield return(new WaitForSeconds(delay));

        ClientStage.Ready();
    }
Ejemplo n.º 25
0
 public void StartClient()
 {
     ClientStage.ConnectClient("localhost", 47777);
     ClientStage.AddEntityDefinitions(spawnableObjects);
     StartCoroutine(ReadyClient(1.0f));
 }
 private IndexClientMessage CreateRegistration(MESSAGE_HEADER header, PATIENT_IDENTIFICATION pid, ClientStage stagedClient, ENCOUNTERS encounter)
 {
     return(new IndexClientMessage(header, new List <NEWCLIENT> {
         NEWCLIENT.Create(pid, encounter)
     }, stagedClient.ClientId));
 }
        private async Task <IndexClientMessage> CreatePretestEncounters(MESSAGE_HEADER header,
                                                                        PATIENT_IDENTIFICATION pid, ClientStage stagedClient, ClientPretestStage pretest,
                                                                        params LoadAction[] actions)
        {
            ENCOUNTERS encounter = null;

            //  PLACER_DETAIL
            var placerDetail = PLACER_DETAIL.Create(pretest.UserId, pretest.Id);

            //  PRE_TEST
            PRE_TEST preTest = null;

            if (actions.Contains(LoadAction.All) || actions.Contains(LoadAction.Pretest))
            {
                preTest = PRE_TEST.Create(pretest);
            }

            //  HIV_TESTS
            HIV_TESTS hivTests = null;

            if (actions.Contains(LoadAction.All) || actions.Contains(LoadAction.Testing))
            {
                var allfinalTests = await _clientFinalTestStageExtractor.Extract(stagedClient.ClientId);

                var alltests = await _clientTestingStageExtractor.Extract();

                var finalTest = allfinalTests.Where(x => x.PretestEncounterId == pretest.Id).ToList()
                                .LastOrDefault();

                var tests = alltests.Where(x => x.PretestEncounterId == pretest.Id).ToList();

                if (null != finalTest && tests.Any())
                {
                    hivTests = HIV_TESTS.Create(tests, finalTest);
                }
            }

            // GET THE LAST ONE


            encounter = ENCOUNTERS.Create(placerDetail, preTest, hivTests, null, new List <NewTracing>(), null);

            return(new IndexClientMessage(header,
                                          new List <NEWCLIENT> {
                NEWCLIENT.Create(pid, encounter)
            }, stagedClient.ClientId));
        }
        private async Task <IndexClientMessage> CreateNonPretestEncounters(MESSAGE_HEADER header, PATIENT_IDENTIFICATION pid, ClientStage stagedClient, ClientPretestStage lastPretest, params LoadAction[] actions)
        {
            ENCOUNTERS encounter = null;

            //  PLACER_DETAIL

            var lastplacerDetail = PLACER_DETAIL.Create(lastPretest.UserId, lastPretest.Id);

            //  NewReferral
            NewReferral newReferral = null;

            if (actions.Contains(LoadAction.All) || actions.Contains(LoadAction.Referral))
            {
                var allReferrals = await _clientReferralStageExtractor.Extract(stagedClient.ClientId);

                if (allReferrals.Any())
                {
                    var referrall = allReferrals.LastOrDefault();
                    newReferral = NewReferral.Create(referrall);
                }
            }

            //  NewTracing
            var newTracings = new List <NewTracing>();

            if (actions.Contains(LoadAction.All) || actions.Contains(LoadAction.Tracing))
            {
                var allTracing = await _clientTracingStageExtractor.Extract(stagedClient.ClientId);

                if (allTracing.Any())
                {
                    newTracings = NewTracing.Create(allTracing.ToList());
                }
            }

            // NewLinkage
            NewLinkage newLinkage = null;

            if (actions.Contains(LoadAction.All) || actions.Contains(LoadAction.Linkage))
            {
                var allLinkages = await _clientLinkageStageExtractor.Extract(stagedClient.ClientId);

                if (allLinkages.Any())
                {
                    var linkage = allLinkages.LastOrDefault();
                    newLinkage = linkage.HasData ? NewLinkage.Create(linkage) : null;
                }
            }

            if (null == newReferral && !newTracings.Any() && null == newLinkage)
            {
                return(null);
            }

            encounter = ENCOUNTERS.Create(lastplacerDetail, null, null, newReferral, newTracings, newLinkage);

            return(new IndexClientMessage(header,
                                          new List <NEWCLIENT> {
                NEWCLIENT.Create(pid, encounter)
            }, stagedClient.ClientId));
        }