function LearningObject (
			Title,
			Href,
			Parameters,
			DataFromLms, 
			MasteryScore, 
			MaxTimeAllowed, 
			TimeLimitAction, 
			Prerequisites, 
			Visible, 
			CompletionThreshold, 
			PersistState, 
			ItemIdentifier, 
			ResourceIdentifier, 
			ExternalIdentifier, 
			DatabaseIdentifier,
			ScormType,
			SequencingData,
			Children){
	this.Title = Title;
	this.Href = Href;
	this.Parameters = Parameters;
	this.DataFromLms = DataFromLms; 
	this.MasteryScore = MasteryScore; 
	this.MaxTimeAllowed = MaxTimeAllowed; 
	this.TimeLimitAction = TimeLimitAction; 
	this.Prerequisites = Prerequisites; 
	this.Visible = Visible; 
	this.CompletionThreshold = CompletionThreshold; 
	this.PersistState = PersistState; 
	this.ItemIdentifier = ItemIdentifier; 
	this.ResourceIdentifier = ResourceIdentifier; 
	this.ExternalIdentifier = ExternalIdentifier; 
	this.DatabaseIdentifier = DatabaseIdentifier;
	this.ScormType = ScormType;
	this.SequencingData = SequencingData;
	this.Children = Children;
}

LearningObject.prototype.GetScaledPassingScore = LearningObject_GetScaledPassingScore;

function LearningObject_GetScaledPassingScore(){
	
	//if there is sequencing data and there is a primary objective
	if (this.SequencingData !== null && this.SequencingData.PrimaryObjective !== null){
		
		//if satisfied by measure is true (and not null...implicit in "==true" affirmation)
		if (this.SequencingData.PrimaryObjective.SatisfiedByMeasure === true){
		
			//if there is a min normalized measure
			if (this.SequencingData.PrimaryObjective.MinNormalizedMeasure !== null){
				
				//return min normalzied measure
				return this.SequencingData.PrimaryObjective.MinNormalizedMeasure;
			}
			else{
				
				//return 1.0
				return 1;
			}
		}
	}
	
	//return unknown
	return null;
}
