models

package
v0.0.0-...-ea01768 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	InitialPatientPopulation Population = "IPP"
	Denominator                         = "DENOM"
	Numerator                           = "NUMER"
	Exception                           = "DENEXCEP"
	Exclusion                           = "DENEX"
	Outlier                             = "antinumerator"
)

Variables

This section is empty.

Functions

func FindOrCreateQualityReport

func FindOrCreateQualityReport(db *mgo.Database, qr *QualityReport) error

func FindQualityAndPopulateQualityReport

func FindQualityAndPopulateQualityReport(db *mgo.Database, qr *QualityReport) (bool, error)

FindQualityAndPopulateQualityReport will attempt to find a QualityReport in the query_cache based on the measure id, sub id and effective date passed in. If it finds the associated document in the database, it will return true and populate the other fields in the QualityReport that is passed in. Otherwise, it will return false, and the passed in QualityReport will remain unchanged.

Types

type IndividualResult

type IndividualResult struct {
	PatientID                string `bson:"patient_id,omitempty" json:"patientId,omitempty"`
	MedicalRecordID          string `bson:"medical_record_id,omitempty" json:"medicalRecordId,omitempty"`
	First                    string `bson:"first,omitempty" json:"first,omitempty"`
	Last                     string `bson:"last,omitempty" json:"last,omitempty"`
	Gender                   string `bson:"gender,omitempty" json:"gender,omitempty"`
	InitialPatientPopulation int32  `bson:"IPP" json:"initialPatientPopulation"`
	Denominator              int32  `bson:"DENOM,omitempty" json:"denominator"`
	Exception                int32  `bson:"DENEXCEP,omitempty" json:"exception"`
	Exclusion                int32  `bson:"DENEX,omitempty" json:"exclusion"`
	Numerator                int32  `bson:"NUMER,omitempty" json:"numerator"`
	MeasureID                string `bson:"measure_id,omitempty" json:"measureId"`
	SubID                    string `bson:"sub_id,omitempty" json:"subId"`
	EffectiveDate            int32  `bson:"effective_date,omitempty" json:"effectiveDate,omitempty" validate:"nonzero"`
}

func FindAllResultsForPatient

func FindAllResultsForPatient(db *mgo.Database, patientID string) ([]IndividualResult, error)

type Measure

type Measure struct {
	ID                 bson.ObjectId `bson:"_id" json:"id"`
	HQMFID             string        `bson:"hqmf_id,omitempty" json:"hqmfId,omitempty"`
	HQMFSetID          string        `bson:"hqmf_set_id,omitempty" json:"hqmfSetId,omitempty"`
	HQMFVersionNumber  int           `bson:"hqmf_version_number,omitempty" json:"hqmfVersionNumber,omitempty"`
	CMSID              string        `bson:"cms_id,omitempty" json:"cmsId,omitempty"`
	Name               string        `bson:"name,omitempty" json:"name,omitempty"`
	Description        string        `bson:"description,omitempty" json:"description,omitempty"`
	Type               string        `bson:"type,omitempty" json:"type,omitempty"`
	Category           string        `bson:"category,omitempty" json:"category,omitempty"`
	ContinuousVariable bool          `bson:"continuous_variable" json:"continuousVariable"`
	EpisodeOfCare      bool          `bson:"episode_of_care" json:"episodeOfCare"`
	PopulationIDs      PopulationIDs `bson:"population_ids,omitempty" json:"populationIds,omitempty"`
	SubID              string        `bson:"sub_id,omitempty" json:"subId,omitempty"`
	Subtitle           string        `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	ShortSubtitle      string        `bson:"short_subtitle,omitempty" json:"shortSubtitle,omitempty"`
}

type Population

type Population string

func ParsePopulationQuery

func ParsePopulationQuery(queryParam string) (Population, error)

type PopulationIDs

type PopulationIDs struct {
	InitialPatientPopulation string `bson:"IPP,omitempty" json:"initialPatientPopulation,omitempty"`
	Denominator              string `bson:"DENOM,omitempty" json:"denominator,omitempty"`
	Exception                string `bson:"DENEXCEP,omitempty" json:"exception,omitempty"`
	Exclusion                string `bson:"DENEX,omitempty" json:"exclusion,omitempty"`
	Numerator                string `bson:"NUMER,omitempty" json:"numerator,omitempty"`
	MeasurePopulation        string `bson:"MSRPOPL,omitempty" json:"measurePopulation,omitempty"`
	Observation              string `bson:"OBSERV,omitempty" json:"observation,omitempty"`
}

type PopulationQuery

type PopulationQuery struct {
	MeasureID     string     `json:"measureId"`
	SubID         string     `json:"subId"`
	EffectiveDate int32      `json:"effectiveDate"`
	Limit         int        `json:"limit"`
	Offset        int        `json:"offset"`
	Population    Population `json:"population"`
}

func (PopulationQuery) ToQuery

func (p PopulationQuery) ToQuery() bson.M

type PopulationResult

type PopulationResult struct {
	Total           int                `json:"total"`
	PopulationQuery PopulationQuery    `json:"populationQuery"`
	Patients        []IndividualResult `json:"patients"`
}

func FindResultsForMeasurePopulation

func FindResultsForMeasurePopulation(db *mgo.Database, query PopulationQuery) (*PopulationResult, error)

type QualityReport

type QualityReport struct {
	ID              bson.ObjectId       `bson:"_id" json:"id"`
	NPI             string              `bson:"npi,omitempty" json:"npi,omitempty"`
	CalculationTime time.Time           `bson:"calculation_time,omitempty" json:"calculationTime,omitempty"`
	Status          Status              `bson:"status,omitempty" json:"status,omitempty"`
	MeasureID       string              `bson:"measure_id,omitempty" json:"measureId,omitempty" validate:"nonzero"`
	SubID           string              `bson:"sub_id,omitempty" json:"subId,omitempty"`
	EffectiveDate   int32               `bson:"effective_date,omitempty" json:"effectiveDate,omitempty" validate:"nonzero"`
	Result          QualityReportResult `bson:"result" json:"result"`
}

QualityReport is a representation of a calculation of an electronic clinical quality measure

type QualityReportResult

type QualityReportResult struct {
	PopulationIDs            PopulationIDs `bson:"population_ids,omitempty" json:"populationIds,omitempty"`
	InitialPatientPopulation int32         `bson:"IPP" json:"initialPatientPopulation"`
	Denominator              int32         `bson:"DENOM,omitempty" json:"denominator"`
	Exception                int32         `bson:"DENEXCEP,omitempty" json:"exception"`
	Exclusion                int32         `bson:"DENEX,omitempty" json:"exclusion"`
	Numerator                int32         `bson:"NUMER,omitempty" json:"numerator"`
	AntiNumerator            int32         `bson:"antinumerator,omitempty" json:"antinumerator"`
	MeasurePopulation        int32         `bson:"MSRPOPL,omitempty" json:"measurePopulation"`
	Observation              float32       `bson:"OBSERV,omitempty" json:"observation"`
}

type ResultWrapper

type ResultWrapper struct {
	ID               bson.ObjectId    `bson:"_id" json:"id"`
	IndividualResult IndividualResult `bson:"value"`
}

type Status

type Status struct {
	State string   `bson:"state,omitempty" json:"state,omitempty"`
	Log   []string `bson:"log,omitempty" json:"log,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL