9/29/2010

9 Advantages of e-prescription

Advantages

  1. Electronic prescribing replaces pen and paper with automated, cutting-edge technology.

  1. Real-time clinical decision support for patient safety is a key feature of electronic prescribing systems. Electronic systems can check each prescription as it is written, either for internal inconsistencies such as excessive dosage or for conflicts with the patient’s known allergies, interactions with other active medications, duplicate therapy and many other conditions.

  1. On the administrative side, presenting accurate and concise formulary and benefit information at the point of care enables the prescriber to know which drugs are considered to be “on formulary” or have the highest formulary coverage status (most preferred), as well as alternative medications for those drugs not on formulary.

  1. Prescriber can also be aware of unique circumstances that may impact or otherwise limit the plan coverage for a given medication, such as prior authorization requirements, quantity limits, gender limits, age restrictions, step therapy rules, etc. Having this information available to prescribers at the point of care during the medication selection and treatment decision making process can improve formulary compliance and generic substitution which helps to control prescription drug costs.

  1. E-prescribing transactions and access to patient information are only available when requested by an authorized provider through their certified application. There is no national database containing everyone’s personal health information. All e-prescribing systems use role-based access, meaning that only those who are authorized to see sensitive patient information can access it. Firewalls and encryption add even higher levels of protection. Additionally, the use of this technology to access personal health information must comply with all aspects of the Transaction, Privacy and Security requirements of the Health Insurance Portability and Accountability Act (HIPAA), as well as any state laws that exceed these federal regulations.

  1. Creates electronic records to ensure prescription information is not lost

  1. Eliminate transcription or legibility errors.

  1. It is estimated that approximately 20 percent of prescriptions go unfilled by patients every year. This non-compliance is dangerous to the health of these patients. Not following a provider’s instructions to take a prescribed medication increases the likelihood of hospitalization, developing complications, disease progression and premature disability. It is also a waste of time and resources for providers, pharmacies and health plans. One study concludes that non-compliance with prescription medications costs at least $75 billion each year. The electronic transmission of a prescription to a pharmacy increases the likelihood that it will be picked up by the patient. It eliminates the patient’s responsibility of delivering the prescription to the pharmacy, a problem cited by more than one-third of patients who either forgot to drop it off or had difficulty doing so.

  1. The adoption of e-prescribing can significantly reduce prescription drug fraud and abuse. Electronic systems give providers, pharmacies, payers and government agencies the ability to see events in near real-time that may be virtually undetectable with paper prescriptions. Audit trails show exactly which physician or provider prescribed a medication and when, and expert systems can detect unusual prescribing patterns.

9/28/2010

Should i go for vaio laptops or dell or hp ? my budget - 47000

DELL has earned the best reputation for quick ON SITE servicing.......anything gone wrong, the DELL Service Engineer is the very next day at your door step and sets right the Laptop.

However to add, Rs 47000 is too high a budget under s fast changing technologies - any laptop becomes within 3 years technically obsolete or starts giving trouble. With Wi-Max on the horizon and a new generation of Intel Chips, please go in for a Laptop not more than Rs 35000.

9/22/2010

Mobile based CMS

I was just looking for Mobile based content management system (CMS) which can help in building mobile based portals delivering dynamic content on PDAs and mobile phones.

I came across - http://www.wap-2-go.com/. It looks good with all features it has- fully customizable, pre-defined themes, WML and xHTML compatible etc. Moreover it is almost free though it asks for some donation if you wish.

It is currently available as a dedicated Mobile platform for PHP-Nuke (and variants) CMS users. The framework is quickly expanding and will be available as a standalone Wap-2-Go CMS as soon as possible.

But anyways for now, with all its features; it is not bad to try...

9/21/2010

6 Smart retirement investment tips you must know


It is imperative to remember that no one has a lifetime job. At a certain age, all of us have to retire. But the question is what will happen after retirement? For starters, you’ll need some income for covering your basic expenses. Apart from that you’ll also need money for meeting other kinds of expenses such as medical bills, vacations, etc. Therefore, it is essential to make a retirement plan in your youth. Now, one of the major aspects of retirement planning is investments. By making some smart investments you can earn a lot of money. You can save this extra money for your retirement years. Go through this article to know about some smart retirement investment tips that can help you in the long run.

Retirement investment tips
Here are some effective retirement investment tips you should know:

  1. Calculate your required retirement income: Online retirement investment calculators are available nowadays. These calculators can help you know the amount of money you need to lead a decent life after retirement. This will enable you to know how much investment you’re required to make.

  1. Gather knowledge on retirement investments: Gather as much knowledge as possible on retirement investments. Grab every chance to know about retirement investments.

  1. Invest in stocks, bonds and mutual funds: You can invest in stocks, bonds and mutual funds and earn a lot of money. But do make some research before making investments. If you’re investing in stock market, then you should purchase the shares of the blue chip companies. Also, don’t invest too aggressively. Try to invest early in life for you can take greater risk at that point of time.

  1. 401k: One of the best investments for retirement is 401k plan. You should contribute as much money as possible to this plan, particularly when your employers will match your contribution up to a certain extent. Also, 401k plans allow you to decide how your money gets invested. The 401k plan supervisor has several fund options such as stocks, real estate, etc.

  1. Traditional IRA: You can also invest your hard earned money in traditional IRA plan. A traditional IRA account is funded with pre-tax dollars. However, it is imperative to remember that if you withdraw money from the account before you are 591 ½ years, then you’ll be required to pay an early withdrawal penalty.

  1. Roth IRA: You can invest in Roth IRA also. However, you should know that contributions to a Roth IRA plan aren’t tax deductible. This implies that you will not be entitled to get any kind of tax deduction when you’re making a contribution. However, if you withdraw money after you reach 59 ½ years, then you’ll not be liable to pay any kind of tax.
Finally, if you’re planning to invest for retirement, then you can consult a financial advisor. He can tell you effective investment strategies.

9/20/2010

Symmetric vs Asymmetric encryption

Symmetric Encryption
Symmetric encryption is a traditional way of encrypting (also called Private Key Encryption), where the encryption and decryption keys are the same. This method is faster and easier to implement than asymmetric encryption, since the sender and the receiver use the same key to transmit and receive information. In addition, the key sizes are smaller in symmetric encryption compared to asymmetric algorithms. However, the private exchanging of the key between the sender and receiver is challenging. Both parties have to agree and trust on a communication medium such as a phone system to exchange the key. Examples of some common Private Key Encryption algorithms are:

IDEA (International Data Encryption Algorithm)
FEAL (Fast Data Encipherment Algorithm)
DES (Data Encryption Standard)
Triple DES
AES
RC4

Asymmetric Encryption
Asymmetric encryption is a method where the encryption and decryption keys are different. These systems are also called Public Key Encryption Systems, since the encryption key does not have to be a secret. The sender can publish the encryption key and anyone can encrypt messages going to the specific user. However, only the receiver can decrypt the message, since the decryption key cannot be generated with the knowledge of the encryption key. This method is slower and requires more computational power than symmetric encryption. Examples of some common Public Key Encryption algorithms are:

RSA (Rivest-Shamir-Adelman)
Diffie-Hellman

9/18/2010

All about CMS

A content management system (CMS) such as document management system (DMS) is a
computer application used to manage work flow needed to collaboratively create, edit,
review, index, search, publish and archive various kinds of digital media and electronic text
Why Required?
 vCMSs are frequently used for storing, controlling, versioning, and publishing industry-specific documentation such as news articles, operators' manuals, technical manuals, sales guides, and marketing brochures.
vThe content managed may include computer files, image media, audio files, video files, electronic documents, and Web content.
vThe bottom line for these systems is managing content and publishing, with a workflow if required.
Features
 vIdentification of all key users and their content management roles.
vThe ability to assign roles and responsibilities to different content categories or types.
vDefinition of workflow tasks for collaborative creation, often coupled with event messaging so that content managers are alerted to changes in content.
vThe ability to track and manage multiple versions of a single instance of content.
vSeparation of presentation and content.
vCreate standard output templates (usually HTML and XML) that can be automatically applied to new and existing content, allowing the appearance of all content to be changed from one central place.
vWYSIWYG editing tools allowing non-technical individuals to create and edit content.
vCMS software may provide a means of managing the life cycle of a document from initial creation time, through revisions, publication, archive, and document destruction.
Segments
Enterprise: Sitecore, Vignette, Interwoven, Documentum, IBM Web Content Management
Mid-market: Microsoft SharePoint, Ektron, PaperThin, Rhythmyx

Open source: Plone, Joomla, Drupal, Mambo

9/17/2010

MIPs - Post office or Mutual funds

What are MIPs - monthly income plans?
MIPs invest predominantly in debt instruments with a small portion of assets allocated to equities. The equity component provides MIPs with just the edge it needs to outperform conventional debt funds. The equity component usually varies between 5%-30% of assets.
Between post office and mutual funds MIPs-
If regularity of income and safety of capital are your prime concerns and you do not have any other source of income to meet your monthly expenses, then you should invest in a secured avenue that provides stable return. In this case, you may invest in Post Office MIP that is backed by the government. This scheme will enable you to earn a fixed return of 8 per cent per annum.

The mutual fund MIP aims to generate regular returns through investments primarily in debt and money market instruments (minimum of 75 per cent of its total assets). But remember that a fund such as this involves risk and does not come with a guarantee of either assured returns or capital protection.

9/16/2010

Use case writing guidelines

Use Case is a way to summarize the functionality of the system. Thus, Use Cases capture who (actor) does what (interaction) with the system, for what purpose (goal), without dealing with system internals. A complete set of use cases specifies all the different ways to use the system, and therefore defines all behavior required of the system, bounding the scope of the system. Example

1  Guidelines

1.1  EVERY USE CASE MUST HAVE A UNIQUE NAME

A Use Case must have a unique name assosiated with it, which identifies that particular Use Case. The name also includes the Use Case ID, which is a sequence number for that Use Case.

For example: UC396 -Withdraw Funds

1.2  USE CASE TITLES BEGIN WITH A STRONG VERB

A Use Case describes a sequence of actions so it should have a title that reflects this fact, a name that begins with a strong verb.

Use Case titles beginning with weak verbs include words such as “process”, “perform”, and “do” are often problematic. Such names often result in communication difficulties with your project stakeholders, people who are far more likely so say that they withdraw funds from accounts instead of process withdrawal transactions, and hence decreases your ability to understand their requirements. Furthermore, a name such as Process Withdrawal Transaction Request may be an indication that the use case was written with a systems-oriented view, as opposed to a user-oriented view, and therefore may be at risk of not reflecting the actual needs of your project stakeholders.

Examples:  Good Use Case titles:

Withdraw Funds

Register Student in Seminar

Deliver Shipment


Wrong Use Case titles:

Process Withdrawal Transaction

Perform Student Enrollment Request

1.3 NAME USE CASES USING DOMAIN TERMINOLOGY

The name of a Use Case should immediately convey meaning to your project stakeholders. Remember Use Cases provide an overview of your system’s usage requirements and therefore should reflect terminology that is common to your domain.

For example, if people cannot readily identify what the Convey Package Via Vehicular Transportation Use Case does, you might want to change it to Deliver Shipment.

1.4  NAME ACTORS WITH SINGULAR, BUSINESS-RELEVANT NOUNS

An actor is a person, organization, or external system that plays a role in one or more interactions with your system. An actor should have a name that accurately reflects its role within your model. Actor names are usually singular nouns.

Examples: Bank User, Corporate User, Grade Administrator, Customer, and Payment Processor.

1.5  ACTORS MODEL ROLES, NOT POSITIONS

A common mistake is to use the names of positions that people hold instead of the roles that the people fulfill while naming actors. This results in actors with names such as Junior CSR, Lead CSR, and CSR Manager instead of Customer Support.

1.6  DESCRIBE THE GOAL THAT USE CASE IS INTENDED TO ACCOMPLISH

General Description describes the goal that is to be achieved by the Use Case. It should be described briefly and precisely.

Example: For Withdraw Funds, the general description is as following:

This use case allows the actor to withdraw money from the account.

1.7  SPECIFY REVERSIBLE

If you have commited some Use Case and it is not possible to revert back the action performed by it, then specify “Reversible” as No otherwise Yes.

Example: For WithdrawFunds,

Reversible: No.

1.8   STATE ASSUMPTIONS

All the assumptions or pre-conditions must be specified briefly. These needs to be completed before the actor initiates the action specified in the Use Case.

Example: For Withdraw Funds, the pre-condition is as follows:

The Actor has the privilege to perform this operation.

1.9  STATE POST-CONDITIONS EXACTLY

Post-conditions are the actions after exceution of the Use case. Either the Use Case is successfully executed or is failed. So there are two possible post-conditions: Action on Success and Action on Failure. “Action on Success” specifies the system response after the successful execution of the Use Case. “Action on Failure” specifies the system response after the failure of the Use Case. These actions should be described exactly.

Example: For Withdraw Funds, the post-conditions are as follows:

Action on Success: Fund is withdrawn and the account status is updated.

Action on Failure: Fund is not withdrawn and the error is reported to the Actor.

1.10  LIST EACH STEP IN USE CASE

List all the steps under “Sequence of events”, which will be followed to complete the Use Case. A step completes when all its component interactions have completed. Each step has an Actor Input and corresponding System Response. If there are multiple steps then give sequence numbers to them.

1.11  LIST ANY ALTERNATIVE FLOW IN SEQUENCE

List any possible alternative flow for any step in “Sequence of events”. It should be listed under “AlternateFlow” section in the Use Case. It should have a Cause and corresponding System Response.

It must have a proper title, which describes the alternative behaviour. And it should have the same sequence number as that step has for which it is an alternate flow.

1.12  SPECIFY VERSION NUMBER, AUTHOR NAME, MODIFIED DATE, AND COMMENT FOR THE USE CASE

Above mentioned items must be specified in the Use Case. These are useful for keeping track.

1.13  LIST ALL IDENTIFIED ISSUES

Identify all issues or confusions that you have regarding the Use Case and note them in a separate section clearly.

1.14  USE PRESENT TENSE FOR WRITING USE CASES.

Don’t use Future tense in Use Case writing.

9/14/2010

Interview ready notes on java.lang and java.util packages

The java.lang Package.

    * Math class is defined as final class and its constructor is defined as private that is why you cannot extend and you cannot instantiate Math class.
    * Math.random() returns a random number between 0.0 and 1.0.
    * The method Math.ceil(double db) returns a double value the smallest whole number greater than or equals to db.
    * The method Math.floor(double d) returns a double value the largest whole number less than or equal to db.
    * In Java Strings are immutable.
    * You can use either "==" or Object.equals() method to compare two string objects.
    * The "==" is used to compare whether two references are pointing to same object or not ( call hallow comparison ).
    * The Object.equals() method compares two string objects character by character ( called deep comparison ).
    * String objects created with String and StringBuffer class cannot be compared for equality ( returns false ).

The java.util Package.

    * A simple collection places no constraints on type of elements, order of elements , repetition of elements within the collection.
    * The collection interfaces are Collection, List, Set, and Map.
    * The java.util.List interface insists ordering and allows duplicates.
    * The java.util.Set interface eliminates duplicate values and implemented in HashSet and TreeSet classes in collections framework.
    * If you try to add duplicates in a collection ( Set collection ), the Set.add() method  returns false.
    * In Set interface implementations if null is valid entry , it should appear only one time
    * The TreeSet class provides ordered set and uses tree for storage.
    * The TreeMap provides ordered map.
    * The size of the Vector grows or shrinks depends on the number of elements are getting added or removed. It uses internally array for storage.
    * A Stack is subclass of Vector that implements a standard last-in, first-out stack.
    * The Enumeration interface defines the methods by which you can enumerate the elements in a collection of objects.
    * A BitSet is a really a vector of bits and is used if you want to efficiently store a lot of on-off information.

9/13/2010

Who should do ITIL?

I was trying to find the exact answer for this...and searched through many websites. But nowhere I could find the exact answer. After contacting many training centers for ITIL (Information technology infrastructure library) and reading websites, I reached to following conclusion-

People who are involved in level- 1/2 support or tier support whether they are in BPOs, IT infrastructure services or in production support work for java, dot net etc., they can do this certification and can get advantage of this otherwise it is of no use. It means if you are working in core development work for java, then it is of no use for you if you dont have prod support experience.

On other note, if you are doing ITIL then you dont need to do PMP/prince 2; as ITIL itself includes many disciplines from project management (PMP/prince 2).

9/12/2010

Interview ready notes/points - Java Threads

  • A thread is a single sequential flow of control within a process. A single process can thus have multiple concurrently executing threads.
  • To run a thread call the start() method on the instance of the thread class.
  • The thread's start() method registers the thread with "Thread Scheduler".
  • The "Thread Scheduler" resides in Operating System and JVM.
  • The thread's start() method puts the thread in ready state and makes the thread eligible to run.
  • When the thread runs it executes run() method of a thread.
  • A thread can execute it's own run() method or another objects run() method.
  • If you call start() method of a thread , it automatically calls the run() method.
  • If you extend your class to Thread class, you cannot extends to another class.
  • There are two ways to create a thread class one way is by extending Thread class or by implementing Runnable interface.
  • After completion of executing run() method a thread is considered to be a dead thread.
  • You cannot start a dead thread, but variables and methods can be called.
  • The interrupt() method forcibly puts the thread into dead state.
  • If there are many threads are waiting then there is no guaranty that which thread is going to called by the "Thread Scheduler".
  • The yield() method puts currently running thread in to ready state.
  • The sleep() and yield() methods runs only on currently threads.
  • If a sleeping thread receives interrupt() method call the thread immediately moves to ready state otherwise it throws an "InterruptedException".
  • Sometimes it may true that a thread might be waiting for input or operation to be performed before it can continue, this kind of waiting of a thread said to thread become blocked or "Blocking State".
  • A monitor is an object which contains some synchronized code in it.
  • The keyword "synchronized" is used to mark entire method or block of code as synchronized.
  • The java.lang.Object class methods wait(), notify() and notifyAll() will be called from only in "synchronized" code. These methods are used in thread communications.
  • If you call wait() method on a thread it releases CPU, releases objects lock, the thread enters into pool of waiting threads.
  • Calling notify() method the waiting thread moves out of the waiting pool to ready state , but there is no guaranty which thread will be moved out of the pool.
  • Calling notifyAll() moves all waiting threads will be moved out of the waiting pool to ready state.

9/10/2010

7 interview pointers on Java access control

    * The scope of an automatic variable is method scope and the member variable life is class level.
    * Protected features are available to class, subclass, within a package and only for subclasses in a different package.
    * If you don't specify an access modifier, then compiler assigns default access modifier, which is not a keyword.
    * A 'final' variable must be initialized at the point of declaration.
    * If define a class as final then the class cannot be extended (avoiding the inheritance).
    * An abstract classes cannot be instantiated. If you define one method as abstract in a class the class must be defined as abstract.
    * If you define one non default constructor in any given class, then the default constructor will not be provided by the compiler.

Ajax Design Patterns

1.Predictive Fetch.
This may be termed "fetch on demand," where the user, through his or her actions, tells the server exactly what data should be retrieved.
2.Submission Throttling
In Submission Throttling, we buffer the data to be sent to the server on the client and then send the data at predetermined times. The Google suggest feature follows this design pattern.

9/09/2010

JAVA Coding Tips

Tip 1 -    Avoid using a method call as a terminating condition of the loop.
    Example - 
      
       Vector tempVector =methodReturningVector();
       //Wrong
       for(int i=0;i<tempVector.size();++i ) {
          // loop body
       }
The reason this example is incorrect , because it is invoking size() method of Vector class as a terminating condition. If this vector has 100 elements, this method will be called 100 times. Though size() method itself is not a heavy method, but calling any method has a lot of overheads itself, which can degrade the performance of the program.

A better implementation will be -

       Vector tempVector =methodReturningVector();

       //better
       int ctr=tempVector.size();
      
    for(int i=0;i<ctr;++i ){
          // loop body
       }


Tip 2 - Don't use new operator to create a String literals.
Example
//do not do this
String myString = new String("Hello");
Better practice would be
//better code
 String myString ="Hello";

Reason :
If you use the new operator to create a String, a new String object will be created. However, if you use the second approach, in that case, this String literal will be interned i.e. different  String  literals with same value will point to same reference.

In the declaration of a field, setting it explicitly to its default initial value is always redundant, and may even cause the same operation to be performed twice (depending on your compiler).
 
 Example :
     
Declaring and initializing object fields as null, for instance, is simply not necessary in Java.
 
public final class Quark {
  //WITH redundant initialization to default values
  private String fName = null;
  private double fMass = 0;

  public Quark(String aName, double aMass){
    fName = aName;
    fMass = aMass;
  }
}


The correct approach would be -

public final class Quark {
  //WITHOUT redundant initialization to default values
  private String fName ;
  private double fMass ;

  public Quark(String aName, double aMass){
    fName = aName;
    fMass = aMass;
  }
}

If you look at the bytecode (using javap) generated for both of these approaches, you can see that the bytecode generated for first case has many duplicate operations.

Tip 4 -Use Local variables instead of member fields/ instance fields wherever possible.
Reason

Local variables cost less than instance variables. The JVM knows the exact location of local or stack variables at compile time. However, the JVM performs lookups to determine the location of an object’s instance variables. This lookup is very expensive.

Example
// The use of instance variables

int i, j;
public void method1
{
for(i=0; i<10000; i++)
{
j += i;
}
}

// use of local variables
public void method2
{
int temp;
for(int k=0; k<10000; k++)
{
temp += k;
}
j = temp;
}

Method method2() is much faster than method method1() because it uses local variables as a loop counter and to store the temporary result before assigning it to the class instance variable after the loop. The JVM stores temp, a local variable, on the stack and has quick access to it. On the other hand, the JVM stores j, an instance variable, on the heap and requires a lookup on each usage. Thus, every time temp is used, it can be accessed much quicker than j, an instance variable stored on the heap. Similarly, using k as a loop counter instead of i also gives faster performance.


Tip  5 - When using arrays it is always efficient to copy arrays using System.arraycopy() than using a loop.

Reason
Because System.arraycopy() is a native method, it is much faster than using loop for copying arrays specially large arrays.