internal

package
v0.0.0-...-3a8cf6d Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2024 License: BSD-3-Clause Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const CHILD_URI = "http://hl7.org/fhir/concept-properties#child"
View Source
const PARENT_URI = "http://hl7.org/fhir/concept-properties#parent"

Variables

This section is empty.

Functions

func LoadCodeSystems

func LoadCodeSystems(db *DB) error

func LoadConcepts

func LoadConcepts(db *DB, file io.Reader) (map[string]*Concept, error)

func LoadProperties

func LoadProperties(db *DB, concepts map[string]*Concept, file io.Reader) error

func LoadRelationships

func LoadRelationships(db *DB, concepts map[string]*Concept, relationshipProperties map[string]string, file io.Reader) error

func LoadUMLS

func LoadUMLS(db *DB) error

func MapProperties

func MapProperties(file io.Reader) map[string]string

Types

type Attribute

type Attribute struct {
	// Unique identifier for concept (if METAUI is a relationship identifier, this will be CUI1 for that relationship).
	CUI string
	// Unique identifier for term (optional - present for atom attributes, but not for relationship attributes).
	LUI string
	// Unique identifier for string (optional - present for atom attributes, but not for relationship attributes).
	SUI string
	// Metathesaurus atom identifier (will have a leading A) or Metathesaurus relationship identifier (will have a leading R) or blank if it is a concept attribute.
	METAUI string
	// The name of the column in MRCONSO.RRF or MRREL.RRF that contains the identifier to which the attribute is attached, i.e. AUI, CODE, CUI, RUI, SCUI, SDUI.
	STYPE string
	// Most useful source asserted identifier (if the source vocabulary contains more than one) or a Metathesaurus-generated source entry identifier (if the source vocabulary has none). Optional - present if METAUI is an AUI.
	CODE string
	// Unique identifier for attribute.
	ATUI string
	// Source asserted attribute identifier (optional - present if it exists).
	SATUI string
	// Attribute name.
	// @see http://www.nlm.nih.gov/research/umls/knowledge_sources/metathesaurus/release/attribute_names.html
	ATN string
	// Source abbreviation.  This uniquely identifies the underlying source vocabulary.
	// @see https://www.nlm.nih.gov/research/umls/sourcereleasedocs/index.html
	SAB string
	// Attribute value described under specific attribute name on the Attributes Names page.
	// @see http://www.nlm.nih.gov/research/umls/knowledge_sources/metathesaurus/release/abbreviations.html
	ATV string
	// Suppressible flag.
	//
	// O = All obsolete content, whether they are obsolesced by the source or by NLM
	// E = Non-obsolete content marked suppressible by an editor
	// Y = Non-obsolete content deemed suppressible during inversion
	// N = None of the above (not suppressible)
	SUPPRESS string
}

Represents a UMLS attribute (coding property). @see https://www.ncbi.nlm.nih.gov/books/NBK9685/table/ch03.T.simple_concept_and_atom_attribute

func ParseAttribute

func ParseAttribute(row []byte) Attribute

type CodeSystem

type CodeSystem struct {
	ResourceType     string               `json:"resourceType"`
	Url              string               `json:"url"`
	Title            string               `json:"title"`
	HierarchyMeaning string               `json:"hierarchyMeaning"`
	Property         []CodeSystemProperty `json:"property"`
	// contains filtered or unexported fields
}

func ParseCodeSystem

func ParseCodeSystem(bytes []byte) *CodeSystem

func (*CodeSystem) GetProperty

func (system *CodeSystem) GetProperty(name string) *CodeSystemProperty

type CodeSystemProperty

type CodeSystemProperty struct {
	Code        string `json:"code"`
	Uri         string `json:"uri"`
	Description string `json:"description"`
	Type        string `json:"type"`
	// contains filtered or unexported fields
}

type Concept

type Concept struct {
	// Unique identifier for concept.
	CUI string `json:"conceptID"`
	// Language of term.
	LAT string `json:"language"`
	// Term status.
	TS string `json:"termStatus"`
	// Unique identifier for term.
	LUI string `json:"lexicalID"`
	// String type.
	STT string `json:"stringType"`
	// Unique identifier for string.
	SUI string `json:"stringID"`
	// Atom status - preferred (Y) or not (N) for this string within this concept.
	ISPREF bool `json:"isPreferred"`
	// Unique identifier for atom - variable length field, 8 or 9 characters.
	AUI string `json:"atomID"`
	// Source asserted atom identifier [optional].
	SAUI *string `json:"sourceAtomID"`
	// Source asserted concept identifier [optional].
	SCUI *string `json:"sourceconceptID"`
	// Source asserted descriptor identifier [optional].
	SDUI *string `json:"sourceDescriptorID"`
	// Abbreviated source name. Maximum field length is 20 alphanumeric characters.
	// Official source names, RSABs, and VSABs are included on the
	// [UMLS Source Vocabulary Documentation page](https://www.nlm.nih.gov/research/umls/sourcereleasedocs/index.html).
	SAB string `json:"sourceNameAbbr"`
	// Abbreviation for term type in source vocabulary, for example PN (Metathesaurus Preferred Name) or CD (Clinical Drug).
	// Possible values are listed on the
	// [Abbreviations Used in Data Elements page](http://www.nlm.nih.gov/research/umls/knowledge_sources/metathesaurus/release/abbreviations.html).
	TTY string `json:"termType"`
	// Most useful source asserted identifier, or a generated source entry identifier (if the source has none).
	CODE string `json:"code"`
	// String value.
	STR string `json:"string"`
	// Source restriction level.
	SRL int `json:"sourceRestrictionLevel"`
	// Suppressible flag. Values = O, E, Y, or N.
	// O: All obsolete content, whether they are obsolesced by the source or by NLM.
	// These will include all atoms having obsolete TTYs, and other atoms becoming obsolete that have not acquired an obsolete TTY
	// (e.g. RxNorm SCDs no longer associated with current drugs, LNC atoms derived from obsolete LNC concepts).
	// E: Non-obsolete content marked suppressible by an editor. These do not have a suppressible SAB/TTY combination.
	// Y: Non-obsolete content deemed suppressible during inversion.
	// These can be determined by a specific SAB/TTY combination explicitly listed in MRRANK.
	// N: None of the above
	SUPPRESS string `json:"suppressible"`
	// Content View Flag. Bit field used to flag rows included in Content View.
	// This field is a varchar field to maximize the number of bits available for use.
	CVF uint64 `json:"contentViewFlag"`
	// contains filtered or unexported fields
}

func ParseConcept

func ParseConcept(row []byte) Concept

type DB

type DB struct {
	// contains filtered or unexported fields
}

func NewDB

func NewDB(path string) (*DB, error)

func (*DB) Batch

func (db *DB) Batch() error

func (*DB) Close

func (db *DB) Close() error

func (*DB) Flush

func (db *DB) Flush() error

func (*DB) Query

func (db *DB) Query(query string, args ...any) ([]Row, error)

type Relationship

type Relationship struct {
	// Unique identifier of first concept.
	CUI1 string
	// Unique identifier of first atom.
	AUI1 string
	// The name of the column in MRCONSO.RRF that contains the identifier used for the first element in the relationship, i.e. AUI, CODE, CUI, SCUI, SDUI.
	STYPE1 string
	// Relationship of second concept or atom to first concept or atom.
	REL string
	// Unique identifier of second concept.
	CUI2 string
	// Unique identifier of second atom.
	AUI2 string
	// The name of the column in MRCONSO.RRF that contains the identifier used for the second element in the relationship, i.e. AUI, CODE, CUI, SCUI, SDUI.
	STYPE2 string
	// Additional (more specific) relationship label (optional).
	RELA string
	// Unique identifier of relationship.
	RUI string
	// Source asserted relationship identifier, if present.
	SRUI string
	// Source abbreviation.  This uniquely identifies the underlying source vocabulary.
	// @see https://www.nlm.nih.gov/research/umls/sourcereleasedocs/index.html
	SAB string
	// Source of relationship labels.
	SL string
	// Relationship group. Used to indicate that a set of relationships should be looked at in conjunction.
	RG string
	// Source asserted directionality flag.
	// 'Y' indicates that this is the direction of the relationship in its source; 'N' indicates that it is not;
	// a blank indicates that it is not important or has not yet been determined.
	DIR string
	// Suppressible flag.
	// O = All obsolete content, whether they are obsolesced by the source or by NLM
	// E = Non-obsolete content marked suppressible by an editor
	// Y = Non-obsolete content deemed suppressible during inversion
	// N = None of the above (not suppressible)
	SUPPRESS string
}

Represents a relationship between two UMLS Concepts. @see https://www.ncbi.nlm.nih.gov/books/NBK9685/table/ch03.T.related_concepts_file_mrrel_rrf

func ParseRelationship

func ParseRelationship(row []byte) Relationship

type Row

type Row map[string]any

func ParseRow

func ParseRow(stmt *sqlite.Stmt) Row

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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