MMM-Useful-Types DEFINITIONS IMPLICIT TAGS ::= BEGIN END ASN1-Builtin-Types DEFINITIONS IMPLICIT TAGS ::= BEGIN END MMM-BuiltIn-Types DEFINITIONS IMPLICIT TAGS ::= BEGIN OctetString ::= OCTET-STRING BitString ::= BIT-STRING Null ::= NULL NumericId ::= ULong2 Ncid ::= NumericId Cid ::= BasicString(SIZE( 1..30 )) SInteger ::= LInteger( WITH COMPONENTS { integer}) LLong ::= LInteger LInteger ::= CHOICE { integer Long, coded CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({IntegerCode}) PRESENT }), text BasicString } DecimalX ::= BasicString SDecimal ::= LDecimal( WITH COMPONENTS { decimal}) LDecimal ::= CHOICE { decimal DecimalX, coded CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({DecimalCode}) PRESENT }), text BasicString } Range ::= DecimalRange LRange ::= LDecimalRange DecimalRange ::= SET { lower DecimalX, upper DecimalX } IntegerRange ::= SET { lower Long, upper Long } SDecimalRange ::= LDecimalRange( WITH COMPONENTS { range}) SIntegerRange ::= LIntegerRange( WITH COMPONENTS { range}) LDecimalRange ::= CHOICE { range DecimalRange, coded CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({RangeCode}) PRESENT }), decimal DecimalX, text BasicString } LIntegerRange ::= CHOICE { range IntegerRange, coded CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({RangeCode}) PRESENT }), decimal DecimalX, text BasicString } Titer ::= SET { lower DecimalX, upper DecimalX } STiter ::= LTiter( WITH COMPONENTS { titer}) LTiter ::= CHOICE { titer Titer, coded CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({TiterCode}) PRESENT }), text BasicString } XDateTime ::= ULong2 GDateTime ::= XDateTime DateTime ::= GeneralizedTime SDateTime ::= LDateTime( WITH COMPONENTS { dateTime}) LDateTime ::= CHOICE { dateTime DateTime, coded CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({DateTimeCode}) PRESENT }), text BasicString } XCoded ::= SET { ncid Ncid OPTIONAL, text BasicString OPTIONAL, relSFormNumId RelSFormNumId OPTIONAL } RelSFormNumId ::= ULong2 CODED ::= XCoded( WITH COMPONENTS { ncid}) SCoded ::= CODED CODEDWOSFORM ::= XCoded( WITH COMPONENTS { ncid, relSFormNumId OPTIONAL }) CODEDWRSFORM ::= XCoded( WITH COMPONENTS { ncid, relSFormNumId}) LCODED ::= XCoded( WITH COMPONENTS { ncid OPTIONAL , text OPTIONAL }) LCODEDWOSFORM ::= XCoded( WITH COMPONENTS { ncid OPTIONAL , text OPTIONAL , relSFormNumId OPTIONAL }) LCODEDWRSFORM ::= XCoded( WITH COMPONENTS { ncid OPTIONAL , text OPTIONAL , relSFormNumId}) BasicString ::= VisibleString Image ::= YetToBeDesigned Barcode ::= YetToBeDesigned Icon ::= YetToBeDesigned Sound ::= YetToBeDesigned Video ::= YetToBeDesigned YetToBeDesigned ::= Null END EMH DEFINITIONS IMPLICIT TAGS ::= BEGIN Errors ::= SET OF ErMessage ErMessage ::= SET { sType BasicString, iNumber Long, sTitle BasicString OPTIONAL, sUserMessage BasicString OPTIONAL, sSystemMessage BasicString OPTIONAL, iButton Long OPTIONAL, iIcon Long OPTIONAL, iModality Long OPTIONAL, iRouting Long OPTIONAL, sHelpRefer BasicString OPTIONAL, sReporterId BasicString OPTIONAL, sReporterSubId BasicString OPTIONAL, sVersion BasicString OPTIONAL, sImess InsertMessage OPTIONAL, unitNumber INTEGER OPTIONAL, linkItID INTEGER OPTIONAL, transactionId BasicString OPTIONAL, eventId Long OPTIONAL, medRecNumber BasicString OPTIONAL, medRecFacilty ULong2 OPTIONAL, encNumber BasicString OPTIONAL, encFacility ULong2 OPTIONAL, placerRefNum BasicString OPTIONAL, placerSysId ULong2 OPTIONAL, fillerRefNum BasicString OPTIONAL, fillerSysId ULong2 OPTIONAL, lastOneHere BasicString OPTIONAL } InsertMessage ::= SET OF SinsMess SinsMess ::= SET { sMess BasicString, iDex Long } END MMM-Types DEFINITIONS IMPLICIT TAGS ::= BEGIN BER-String ::= OctetString Boolean ::= CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({YesNo}) PRESENT }) }) }) }) ValueX ::= CHOICE { sDecimal SDecimal, sInteger SInteger, sDecimalRange SDecimalRange, sIntegerRange SIntegerRange, sDateTime SDateTime, basicString BasicString, decimal DecimalX, long1 Long, uLong ULong, long2 Long2, uLong2 ULong2, dateTime GDateTime, coded CODED, codedWOSform CODEDWOSFORM, codedWRSform CODEDWRSFORM, multiMedia MultiMedia } NValue ::= ValueX( WITH COMPONENTS { basicString, decimal, long1, uLong, long2, uLong2, dateTime, coded, codedWOSform, codedWRSform, multiMedia}) Attribute ::= SET { value ValueX, negation CODEDWOSFORM( WITH COMPONENTS { ncid (1023) , relSFormNumId OPTIONAL }) OPTIONAL, numericOperator CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({NumericOperator}) PRESENT }) OPTIONAL, uncertainty CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Uncertainty}) PRESENT }) OPTIONAL, machineProbability MachineProbability OPTIONAL, userStatedProbability UserStatedProbability OPTIONAL, modifier CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AttributeModifier}) PRESENT }) OPTIONAL, units CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Units}) PRESENT }) OPTIONAL, stateOfBeingVerb CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({StateOfBeingVerb}) PRESENT }) OPTIONAL, actionVerb CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({ActionVerb}) PRESENT }) OPTIONAL, precision Precision OPTIONAL } Precision ::= BasicString MachineProbability ::= Probability UserStatedProbability ::= Probability Probability ::= DecimalX(0..1) LAttribute ::= CHOICE { att Attribute( WITH COMPONENTS { ..., value ( NValue ) PRESENT }), decimalRange DecimalRangeSet, integerRange IntegerRangeSet, titer TiterSet, doc DocumentSegment, timeIntAtt DateTimeIntervalSet, mCodedAtt MCodedSequence, mCWOSformAtt MCodedWOSformSequence, mCWRSformAtt MCodedWRSformSequence, mLCodedAtt MLCodedSequence, mLCWOSformAtt MLCodedWOSformSequence, mLCWRSformAtt MLCodedWRSformSequence, sound Sound, errCoded CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({LooseTypeErrorCode}) PRESENT }), errText BasicString, multimediaSequence MultimediaSequence, errBinary OctetString } CODEDATTRIBUTE ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { coded}) , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL }) }) MCodedSequence ::= SEQUENCE OF CODEDATTRIBUTE MCODEDATTRIBUTE ::= LAttribute( WITH COMPONENTS { mCodedAtt}) CODEDWOSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform}) , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL }) }) MCodedWOSformSequence ::= SEQUENCE OF CODEDWOSFORMATTRIBUTE MCODEDWOSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { mCWOSformAtt}) CODEDWRSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWRSform}) , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL }) }) MCodedWRSformSequence ::= SEQUENCE OF CODEDWRSFORMATTRIBUTE MCODEDWRSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { mCWRSformAtt}) LCODEDATTRIBUTE ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { coded}) , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL }) }) MLCodedSequence ::= SEQUENCE OF LCODEDATTRIBUTE MLCODEDATTRIBUTE ::= LAttribute( WITH COMPONENTS { errCoded, errText, mLCodedAtt}) LCODEDWOSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform}) , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL }) }) MLCodedWOSformSequence ::= SEQUENCE OF LCODEDWOSFORMATTRIBUTE MLCODEDWOSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { errCoded, errText, mLCWOSformAtt}) LCODEDWRSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWRSform}) , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL }) }) MLCodedWRSformSequence ::= SEQUENCE OF LCODEDWRSFORMATTRIBUTE MLCODEDWRSFORMATTRIBUTE ::= LAttribute( WITH COMPONENTS { errCoded, errText, mLCWRSformAtt}) BasicStringAtt ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { basicString}) }) }) LBasicStringAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { basicString}) }) }) DocumentAtt ::= LAttribute( WITH COMPONENTS { doc}) LDocumentAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, doc}) SoundAtt ::= LAttribute( WITH COMPONENTS { sound}) LSoundAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, sound}) DecimalAtt ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { decimal}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) SDecimalAttribute ::= Attribute( WITH COMPONENTS { value ( WITH COMPONENTS { sDecimal}) , numericOperator OPTIONAL , units OPTIONAL }) LDecimalAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { decimal}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) IntegerAtt ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { long1}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) SIntegerAttribute ::= Attribute( WITH COMPONENTS { value ( WITH COMPONENTS { sInteger}) , numericOperator OPTIONAL , units OPTIONAL }) LIntegerAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { long1}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) ULongAtt ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { uLong}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) LULongAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { uLong}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) Long2Att ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { long2}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) LLong2Att ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { long2}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) ULong2Att ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { uLong2}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) LULong2Att ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { uLong2}) , numericOperator OPTIONAL , units OPTIONAL , precision OPTIONAL }) }) TiterSet ::= SET { lower DecimalAtt, upper DecimalAtt } TiterAtt ::= LAttribute( WITH COMPONENTS { titer}) LTiterAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, titer}) DecimalRangeSet ::= SET { lower DecimalAtt, upper DecimalAtt } DecimalRangeAtt ::= LAttribute( WITH COMPONENTS { decimalRange}) LDecimalRangeAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, decimalRange}) SDecimalRangeAttribute ::= Attribute( WITH COMPONENTS { value ( WITH COMPONENTS { sDecimalRange}) , numericOperator OPTIONAL , units OPTIONAL }) IntegerRangeSet ::= SET { lower IntegerAtt, upper IntegerAtt } IntegerRangeAtt ::= LAttribute( WITH COMPONENTS { integerRange}) LIntegerRangeAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, integerRange}) SIntegerRangeAttribute ::= Attribute( WITH COMPONENTS { value ( WITH COMPONENTS { sIntegerRange}) , numericOperator OPTIONAL , units OPTIONAL }) Time ::= Attribute( WITH COMPONENTS { value ( WITH COMPONENTS { sInteger}) , units ( WITH COMPONENTS { ..., ncid ({TimeUnits}) PRESENT }) }) TimeAtt ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { long1}) , units ( WITH COMPONENTS { ..., ncid ({TimeUnits}) PRESENT }) , numericOperator OPTIONAL , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL , precision OPTIONAL }) }) STimeAttribute ::= Attribute( WITH COMPONENTS { value ( WITH COMPONENTS { sInteger}) , units ( WITH COMPONENTS { ..., ncid ({TimeUnits}) PRESENT }) , numericOperator OPTIONAL }) LTime ::= CHOICE { time Time, timeCode CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({TimeCode}) PRESENT }), text BasicString } LTimeAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { long1}) , numericOperator OPTIONAL , units ( WITH COMPONENTS { ..., ncid ({TimeUnits}) PRESENT }) OPTIONAL , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL , precision OPTIONAL }) }) DateTimeAtt ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { dateTime}) , numericOperator OPTIONAL , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL }) }) LDateTimeAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, att ( WITH COMPONENTS { value ( WITH COMPONENTS { dateTime}) , numericOperator OPTIONAL , negation OPTIONAL , uncertainty OPTIONAL , modifier OPTIONAL , precision OPTIONAL }) }) SDateTimeAttribute ::= Attribute( WITH COMPONENTS { value ( WITH COMPONENTS { sDateTime}) , negation, numericOperator, uncertainty, machineProbability, userStatedProbability, modifier}) DateTimeIntervalSet ::= SET { startTime DateTimeAtt, endTime DateTimeAtt } DateTimeIntervalAtt ::= LAttribute( WITH COMPONENTS { timeIntAtt}) LDateTimeIntervalAtt ::= LAttribute( WITH COMPONENTS { errCoded, errText, timeIntAtt}) TimeInterval ::= LTimeInterval( WITH COMPONENTS { lStartTime ( WITH COMPONENTS { dateTime}) , lEndTime ( WITH COMPONENTS { dateTime}) }) LTimeInterval ::= SET { lStartTime LDateTime, lEndTime LDateTime } StringId ::= ULong2 StringKey ::= SET { stringId StringId, editVersion EditVersion } Version ::= ULong2 EditVersion ::= ULong ObjectPointers ::= SET OF ObjectPointer ObjectPointer ::= CHOICE { intObjPtr InternalObjectPointer, extObjPtr ExternalObjectPointer } ExternalObjectPointer ::= SET { objectClass CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({ObjectClass}) PRESENT }) }) }) }) } InternalObjectPointer ::= SET { stringKey StringKey, linkStrength CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({LinkStrength}) PRESENT }) }) }) }) OPTIONAL, remoteStringType CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({StringType}) PRESENT }) }) }) }) OPTIONAL, localElements ElementPaths OPTIONAL, remoteElements ElementPaths OPTIONAL } ElementPaths ::= SEQUENCE OF ElementPath ElementPath ::= SEQUENCE OF ElementId ElementId ::= CHOICE { elementId Ncid, elementIndex ULong } Versions ::= SET OF Version Cids ::= SET OF Cid Ncids ::= SET OF Ncid Decimals ::= SET OF DecimalX Titers ::= SET OF Titer DecimalRanges ::= SET OF DecimalRange IntegerRanges ::= SET OF IntegerRange DateTimes ::= SET OF DateTime GDateTimes ::= SET OF GDateTime Barcodes ::= SET OF Barcode Images ::= SET OF Image Icons ::= SET OF Icon Sounds ::= SET OF Sound Videos ::= SET OF Video BasicStrings ::= SET OF BasicString StringTexts ::= SET OF StringText RtfTexts ::= SET OF RtfText SgmlTexts ::= SET OF SgmlText HtmlTexts ::= SET OF HtmlText PcTexts ::= SET OF PcText DocumentSegment ::= SET { html HtmlText, plain BasicString OPTIONAL, rtf RtfText OPTIONAL, sgml SgmlText OPTIONAL, pctext PcText OPTIONAL } LocationInfo ::= SET { physicalLocation PhysicalLocation OPTIONAL, terminalId LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({TerminalID}) PRESENT }) OPTIONAL } PhysicalLocation ::= CHOICE { room CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Room}) PRESENT }), bed CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Bed}) PRESENT }), nursingDivision CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({NursingDivision}) PRESENT }), serviceArea CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({ServiceArea}) PRESENT }), buildingFloor CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({BuildingFloor}) PRESENT }), building CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Building}) PRESENT }), facility CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Facility}) PRESENT }) } Representation ::= CHOICE { barcode Barcode, image Image, icon Icon, sound Sound, video Video, basicString BasicString, doc DocumentSegment } Text ::= CHOICE { basicString BasicString, stringText StringText, formatted FormattedText, encodedForm EncodedForm } StringText ::= CHOICE { englishText BasicString, spanishText BasicString } FormattedText ::= CHOICE { sgmlText SgmlText, htmlText HtmlText, rtfText RtfText, pcText PcText } EncodedForm ::= BasicString RtfText ::= BasicString SgmlText ::= BasicString HtmlText ::= BasicString PcText ::= OctetString MultiMediaAtt ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { multiMedia}) }) }) LMultiMediaAtt ::= MultiMediaAttribute MultiMediaAttribute ::= LAttribute( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { multiMedia}) }) , errCoded, errText, errBinary}) MultiMedia ::= SET { mediaType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({MediaType}) PRESENT }) OPTIONAL, mediaSubType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({MediaSubType}) PRESENT }) OPTIONAL, mediaSubTypeVersion BasicString OPTIONAL, compressionScheme CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({CompressionAlgorithm}) PRESENT }) OPTIONAL, compressedLength ULong2 OPTIONAL, uncompressedLength ULong2 OPTIONAL, parameterSet ParameterSet OPTIONAL, referencePointer UniqueReferenceId OPTIONAL, data OctetString OPTIONAL } ParameterSet ::= SET OF Parameter Parameter ::= SET { attribute CODED( WITH COMPONENTS { ncid ({CodedAttribute}) }), value ParameterValue } ParameterValue ::= NValue( WITH COMPONENTS { basicString, decimal, long1, uLong, long2, uLong2, dateTime, codedWOSform}) MultimediaSequence ::= SEQUENCE OF MultiMediaAttribute UniqueReferenceId ::= SET { refNum ReferenceNumber, system CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AssignedBySystem}) PRESENT }) OPTIONAL } ReferenceNumber ::= BasicString END MMM-LabData DEFINITIONS IMPLICIT TAGS ::= BEGIN StandardLabData» ::= SET { labDataHeader» LabDataHeader, results» StdLabObservations } LabDataHeader ::= SET { testName» CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SpecificLabTest}) PRESENT }), specimens» LabSpecimens OPTIONAL, verifiedDateTime» DateTime OPTIONAL, resultReceivedDateTime» DateTime OPTIONAL, fillerOrderNumber» FillerOrderNumber OPTIONAL, placerOrderNumber» PlacerOrderNumber OPTIONAL, testStatus» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({ResultStatus}) PRESENT }) OPTIONAL, resultingTechnicians» L-ResultingTechnicians OPTIONAL, codedComments» CODEDCOMMENTS(WITH COMPONENT ( WITH COMPONENTS { ..., comments ( WITH COMPONENTS { ..., ncid ({LabCodedComments}) PRESENT }) PRESENT } )) OPTIONAL, textComments» TextComments OPTIONAL } L-ResultingTechnicians» ::= SET OF L-ResultingTechnician L-ResultingTechnician» ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({User}) PRESENT }) LabSpecimens» ::= SET OF LabSpecimen LabSpecimen» ::= SET { collectionDateTime» EventDateTime, specimenReceivedDateTime» DateTime OPTIONAL, aggregateSpecDescript» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AggregateSpecDescript}) PRESENT }) OPTIONAL, specimenDescript» SpecimenDescript OPTIONAL, collectors» L-Collectors OPTIONAL, collectionLocation» LocationInfo OPTIONAL, codedComments» CODEDCOMMENTS(WITH COMPONENT ( WITH COMPONENTS { ..., comments ( WITH COMPONENTS { ..., ncid ({LabCodedComments}) PRESENT }) PRESENT } )) OPTIONAL, textComments» TextComments OPTIONAL, setId» SetId OPTIONAL } L-Collectors» ::= SET OF L-Collector L-Collector» ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Collector}) PRESENT }) SpecimenDescript» ::= SET { bodySite» BodySite OPTIONAL, aggregateBodySite» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AggregateBodySite}) PRESENT }) OPTIONAL, specimenType» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SpecimenType}) PRESENT }) OPTIONAL, specimenCollectionMethod» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SpecimenCollectionMethod}) PRESENT }) OPTIONAL, volume» ObservationValue( WITH COMPONENTS { observation ( VObservation ) , units}) OPTIONAL, fuzzyVolume» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({FuzzyVolume}) PRESENT }) OPTIONAL, collectionDevice» DeviceInfo OPTIONAL, pathologicLesion» PathologicLesion OPTIONAL, color» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SpecimenColor}) PRESENT }) OPTIONAL, odor» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SpecimenOdor}) PRESENT }) OPTIONAL, consistency» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SpecimenConsistency}) PRESENT }) OPTIONAL, patientPosition» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({PatientPosition}) PRESENT }) OPTIONAL, prostheticDevice» DeviceInfo OPTIONAL } ObservationValue» ::= SET { observation» Observation, negation» CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Negation}) PRESENT }) OPTIONAL, numericOperator» CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({NumericOperator}) PRESENT }) OPTIONAL, uncertainty» CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Uncertainty}) PRESENT }) OPTIONAL, machineProbability» DecimalX OPTIONAL, userStatedProbability» DecimalX OPTIONAL, fuzzyStatement» CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({FuzzyStatement}) PRESENT }) OPTIONAL, units» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Units}) PRESENT }) OPTIONAL } NObservation ::= Observation( WITH COMPONENTS { ldecimal, linteger, lrange, ltiter, lcoded, text, ltime, ldateTime, null}) VObservation ::= Observation( WITH COMPONENTS { ldecimal, null}) Observation ::= CHOICE { decimal DecimalX, integer Long, range Range, titer Titer, coded CODED, ldecimal LDecimal, linteger LLong, lrange LRange, ltiter LTiter, lcoded LCODEDWOSFORM, text Text, time Time, ltime LTime, dateTime DateTime, ldateTime LDateTime, null Null } StdLabObservations» ::= SET OF StdLabObservation StdLabObservation» ::= SET { observationId» CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({ObservationId}) PRESENT }), observationValue» ObservationValue( WITH COMPONENTS { ..., observation ( NObservation ) PRESENT }), referencesRange» Text OPTIONAL, abnormalFlag» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AbnormalFlag}) PRESENT }) OPTIONAL, resultStatus» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({ResultStatus}) PRESENT }) OPTIONAL, deltaFlag» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({DeltaFlag}) PRESENT }) OPTIONAL, reportingFlag» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({ReportingFlag}) PRESENT }) OPTIONAL, textComments» TextComments OPTIONAL, codedComments» CODEDCOMMENTS(WITH COMPONENT ( WITH COMPONENTS { ..., comments ( WITH COMPONENTS { ..., ncid ({LabCodedComments}) PRESENT }) PRESENT } )) OPTIONAL, setId» SetId OPTIONAL } END MMM-ClinicalTypes DEFINITIONS IMPLICIT TAGS ::= BEGIN COMMENTS ::= SEQUENCE OF CommentGroup CommentGroup ::= SET { comments CommentSet, sourceOfComment LCODEDWOSFORMATTRIBUTE( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({SourceOfComment}) PRESENT }) }) }) PRESENT }) OPTIONAL, setId SetId OPTIONAL } CommentSet ::= SEQUENCE OF CommentItem CommentItem ::= CHOICE { text BasicString, code LCODEDWOSFORMATTRIBUTE, doc LDocumentAtt, sound LSoundAtt } CODEDCOMMENTS ::= SET OF CodedCommentSet CodedCommentSet ::= SET { comments LCODEDWOSFORM, sourceOfComment LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SourceOfComment}) PRESENT }) OPTIONAL, setId SetId OPTIONAL } ClinicalEvent ::= SET { header ClinObsHeader, clinObs ClinicalObservations } ClinicalObservations ::= SEQUENCE OF ClinObsInstance ClinObsInstance ::= SET { id ULong2, value ClinicalObservation, version ConceptVersion OPTIONAL } ClinicalObservation ::= SET { obsId» LCODEDWOSFORMATTRIBUTE, obsValue» LAttribute, refRange» ReferenceRange OPTIONAL, abnFlag» LCODEDWOSFORMATTRIBUTE OPTIONAL, status» LCODEDWOSFORMATTRIBUTE( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({ResultStatus}) PRESENT }) }) }) PRESENT }) OPTIONAL, deltaFlag» LCODEDWOSFORMATTRIBUTE OPTIONAL, reportFlag» LCODEDWOSFORMATTRIBUTE( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({ReportingFlag}) PRESENT }) }) }) PRESENT }) OPTIONAL, comments» COMMENTS OPTIONAL, display» DisplayText OPTIONAL, obsMods» ClinicalObservations OPTIONAL, aggObs» LCODEDWOSFORMATTRIBUTE OPTIONAL, format» LCODEDWOSFORMATTRIBUTE( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({ClinObsFormat}) PRESENT }) }) }) PRESENT }) OPTIONAL, actionsInfo» EventActionsInfo OPTIONAL, setId» SetId OPTIONAL } ClinObsHeader» ::= SET { obsBatId» CODEDWOSFORMATTRIBUTE, fillerOrderNumber» FillerOrderNumber OPTIONAL, placerOrderNumber» PlacerOrderNumber OPTIONAL, testStatus» LCODEDWOSFORMATTRIBUTE OPTIONAL, obsDateTime» DateTimeIntervalAtt OPTIONAL, observedBy» CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({User}) PRESENT }) }) }) }) OPTIONAL, comments» COMMENTS OPTIONAL, type» CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({ClinObsType}) PRESENT }) }) }) }) OPTIONAL, severity» CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({ClinObsSeverity}) PRESENT }) }) }) }) OPTIONAL, severityValue» LIntegerAtt OPTIONAL, productionStatus» CODEDATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { coded ( WITH COMPONENTS { ..., ncid ({ProductionStatus}) PRESENT }) }) }) }) OPTIONAL, alertKey» AlertKey OPTIONAL, alertObject» AlertObject OPTIONAL, chain» CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({StoreChain}) PRESENT }) }) }) }) OPTIONAL, notifications» Notifications OPTIONAL, display» DisplayText OPTIONAL, aggObs» LCODEDWOSFORMATTRIBUTE OPTIONAL, format» LCODEDWOSFORMATTRIBUTE( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({EventFormat}) PRESENT }) }) }) PRESENT }) OPTIONAL, displayOrder» DisplayOrderSet OPTIONAL, accessionNumber AccessionNumber OPTIONAL, clinObs ClinicalObservations OPTIONAL } AccessionNumber ::= UniqueReferenceId SetId ::= INTEGER DisplayOrderSet ::= SET OF DisplayOrderInContext DisplayOrderInContext ::= SET { context CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({DisplayContext}) PRESENT }) }) }) }), order DisplayOrder } DisplayOrder ::= INTEGER AlertKey» ::= SET { transId» AlertTransactionId, seq» AlertSequence } AlertTransactionId ::= INTEGER AlertSequence ::= INTEGER AlertObject» ::= BasicString Notifications» ::= SET OF Notification Notification» ::= SET { desType» CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({DestinationType}) PRESENT }) }) }) }), value» DestinationValue, id» NotificationId, deliverySystem» CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({DeliverySystem}) PRESENT }) }) }) }) OPTIONAL } NotificationId» ::= INTEGER DestinationValue ::= CHOICE { coded» CODEDWOSFORMATTRIBUTE, text» BasicString } DisplayText» ::= HtmlText ReferenceRange» ::= BasicString TextComments» ::= SET OF TextComment TextComment ::= SET { comments StringTexts, sourceOfComment LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({SourceOfComment}) PRESENT }) OPTIONAL, setId SetId OPTIONAL } LocationDescription» ::= CHOICE { bodyLoc BodyLocation, complexBodyLoc ComplexBodyLocation } BodyLocation ::= SET { bodySite BodySite, bodySiteConnector L-BodySiteConnector OPTIONAL, aggregateBodySite L-BodyLocAggregateBodySite OPTIONAL } BodySite ::= SET { bodyAnatomy L-BodyAnatomy, side L-Side, laterality L-Laterality, depth L-BodyDepth, relativeDepth L-BodyRelativeDepth, level L-BodyLevel, relativeLevel L-BodyRelativeLevel, relativeSideOrLaterality L-RelativeSideOrLaterality } L-BodySiteConnector ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({BodySiteConnector}) PRESENT }) L-BodyLocAggregateBodySite ::= L-AggregateBodySite L-AggregateBodySite ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AggregateBodySite}) PRESENT }) L-BodyAnatomy ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({BodyAnatomy}) PRESENT }) L-Side ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Side}) PRESENT }) L-Laterality ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Laterality}) PRESENT }) L-BodyDepth ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({BodyDepth}) PRESENT }) L-BodyRelativeDepth ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({BodyRelativeDepth}) PRESENT }) L-BodyLevel ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({BodyLevel}) PRESENT }) L-BodyRelativeLevel ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({BodyRelativeLevel}) PRESENT }) L-RelativeSideOrLaterality ::= LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({RelativeSideOrLaterality}) PRESENT }) ComplexBodyLocation ::= SET { } PathologicLesion ::= SET { pathologicStructure LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({PathologicStructure}) PRESENT }), lesionModifier LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({LesionModifier}) PRESENT }) OPTIONAL } DeviceInfo ::= SET { device LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Device}) PRESENT }), model Model OPTIONAL, serialNumber BasicString OPTIONAL } Model ::= BasicString PriorityRank ::= INTEGER MedRecNumber ::= BasicString UnitNumber ::= INTEGER RadiologyNumber ::= BasicString HemsEncounterId ::= NumericId SiteEncounterId ::= SET { facility CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Facility}) PRESENT }), siteEncNum SiteEncounterNumber } SiteEncounterNumber ::= BasicString MedicalRecordId ::= SET { facility CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({Facility}) PRESENT }) }) }) }), medRecNumber MedRecNumber } EventDateTime ::= CHOICE { dateTime DateTime, timeInterval TimeInterval } PlacerGroupOrderNumber ::= UniqueReferenceId FillerGroupOrderNumber ::= UniqueReferenceId GroupOrderNumber ::= UniqueReferenceId PlacerOrderNumber ::= UniqueReferenceId FillerOrderNumber ::= UniqueReferenceId DocumentId ::= UniqueReferenceId PKICertificate ::= OctetString RelatedClinicianInfos ::= SET OF RelatedClinicianInfo RelatedClinicianInfo ::= SET { clinicianRole CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({ClinicianRole}) PRESENT }), clinician LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({User}) PRESENT }), setId SetId OPTIONAL } EnterpriseReferenceId ::= BasicString EnteredTime ::= DateTime EffectiveTime ::= DateTime Addresses ::= SET OF Address Address ::= SET { addressType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AddressType}) PRESENT }) OPTIONAL, street1 Street1 OPTIONAL, street2 Street2 OPTIONAL, city LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({City}) PRESENT }) OPTIONAL, county LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({County}) PRESENT }) OPTIONAL, state LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({State}) PRESENT }) OPTIONAL, postCode LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({PostCode}) PRESENT }) OPTIONAL, country LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({Country}) PRESENT }) OPTIONAL, fullAddress FullAddress OPTIONAL, addressAudit AddressAudit OPTIONAL, setId SetId OPTIONAL } Street1 ::= BasicString Street2 ::= BasicString FullAddress ::= BasicString AddressAudit ::= AuditInfo AuditInfo ::= SET { createAuditNum CreateAuditNum OPTIONAL, rowUpdateAuditNum RowUpdateAuditNum OPTIONAL, rowDeleteAuditNum RowDeleteAuditNum OPTIONAL } CreateAuditNum ::= INTEGER RowUpdateAuditNum ::= INTEGER RowDeleteAuditNum ::= INTEGER PatientId ::= SET { unitNumber UnitNumber OPTIONAL, refId EnterpriseReferenceId OPTIONAL, hemsEncId HemsEncounterId OPTIONAL, siteEncId SiteEncounterId OPTIONAL, medRecId MedicalRecordId OPTIONAL } StringHeader ::= SET { version Version, stringType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({StringType}) PRESENT }), stringSubType CODEDWOSFORM, stringKey StringKey, eventDateTime EventDateTime, dataType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({DataType}) PRESENT }) OPTIONAL, compressionScheme CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({CompressionAlgorithm}) PRESENT }) OPTIONAL, eventLocation LocationInfo OPTIONAL, dataEntryModel LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({DataEntryModel}) PRESENT }) OPTIONAL, semanticLinks SemanticLinks OPTIONAL, actionsInfo» EventActionsInfo OPTIONAL } EventActionsInfo» ::= SEQUENCE OF EventActionInfo EventActionInfo ::= SET { clinician» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({User}) PRESENT }) OPTIONAL, actionId» CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({EventActionId}) PRESENT }), enteredBy» LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({User}) PRESENT }) OPTIONAL, enteredTime» EnteredTime OPTIONAL, effectiveTime» EffectiveTime OPTIONAL, location» LocationInfo OPTIONAL, pointOfCare» LocationInfo OPTIONAL, textComments» TextComments OPTIONAL, codedComments» CODEDCOMMENTS(WITH COMPONENT ( WITH COMPONENTS { ..., comments ( WITH COMPONENTS { ..., ncid ({EventActionComment}) PRESENT }) PRESENT } )) OPTIONAL, associatedActions» EventActionsInfo OPTIONAL, elementPaths» ElementPaths OPTIONAL, application LCODEDWOSFORMATTRIBUTE( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({EventActionProgram}) PRESENT }) }) }) PRESENT }) OPTIONAL, reason LCODEDWOSFORMATTRIBUTE( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({EventActionReason}) PRESENT }) }) }) PRESENT }) OPTIONAL, comments COMMENTS(WITH COMPONENT ( WITH COMPONENTS { ..., comments (WITH COMPONENT ( WITH COMPONENTS { ..., code ( WITH COMPONENTS { ..., att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({EventActionInfoComment}) PRESENT }) }) }) PRESENT }) PRESENT } )) PRESENT } )) OPTIONAL, setId SetId OPTIONAL, editVersion» EditVersion, pkiCertificate» PKICertificate OPTIONAL } SemanticLink ::= SET { relationship CODEDWOSFORMATTRIBUTE( WITH COMPONENTS { att ( WITH COMPONENTS { value ( WITH COMPONENTS { codedWOSform ( WITH COMPONENTS { ..., ncid ({SemanticLinkRelationship}) PRESENT }) }) }) }), objectPointer ObjectPointer, linkInfo EventActionsInfo OPTIONAL, setId SetId OPTIONAL } SemanticLinks ::= SET OF SemanticLink PatDatumObject ::= INSTANCE-OF-CONCEPT({PatDatumObjectSet}) Names ::= SET OF Name Name ::= SET { nameIndex NameIndex OPTIONAL, nameType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({NameType}) PRESENT }) OPTIONAL, lastName LastName OPTIONAL, lastName2 LastName2 OPTIONAL, firstName FirstName OPTIONAL, middleName MiddleName OPTIONAL, middleName2 MiddleName2 OPTIONAL, suffix Suffix OPTIONAL, title Title OPTIONAL, degree Degree OPTIONAL, firstNameSoundex FirstNameSoundex OPTIONAL, lastNameSoundex LastNameSoundex OPTIONAL, fullName FullName OPTIONAL, nameAudit NameAudit OPTIONAL, setId SetId OPTIONAL } NameIndex ::= INTEGER LastName ::= BasicString LastName2 ::= BasicString FirstName ::= BasicString MiddleName ::= BasicString MiddleName2 ::= BasicString Suffix ::= BasicString Title ::= BasicString Degree ::= BasicString FirstNameSoundex ::= BasicString LastNameSoundex ::= BasicString FullName ::= BasicString NameAudit ::= AuditInfo Phones ::= SET OF Phone Phone ::= SET { phoneType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({PhoneType}) PRESENT }) OPTIONAL, countryCode CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({CountryCode}) PRESENT }) OPTIONAL, areaCode AreaCode OPTIONAL, localNumber LocalNumber OPTIONAL, extension Extension OPTIONAL, phoneAudit PhoneAudit OPTIONAL, setId SetId OPTIONAL } AreaCode ::= BasicString LocalNumber ::= BasicString Extension ::= BasicString PhoneAudit ::= AuditInfo Ssn ::= BasicString AuditTransactions ::= SET OF AuditTransaction AuditTransaction ::= SET { hemsEncId HemsEncounterId, unitNumber UnitNumber, auditNumber AuditNumber, transactionType CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({TransactionType}) PRESENT }), transactionTime TransactionTime, employee LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AuditEmployee}) PRESENT }), version EditVersion, mmiVersion EditVersion, mmiFacility CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({MmiFacility}) PRESENT }), encFacility CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({EncFacility}) PRESENT }), setId SetId OPTIONAL } AuditNumber ::= INTEGER TransactionTime ::= DateTime QuantityUnits ::= SDecimalAttribute( WITH COMPONENTS { value, units ( WITH COMPONENTS { ..., ncid ({DoseUnits}) PRESENT }) OPTIONAL }) Duration ::= STimeAttribute END MMM-PatDataTrans DEFINITIONS IMPLICIT TAGS ::= BEGIN PatDataTrans ::= SEQUENCE OF Action Action ::= SET { dataRecords PatDataRecords, operation Operation, reason LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({TransActionReason}) PRESENT }) OPTIONAL, errors Errors OPTIONAL } Operation ::= CHOICE { deleteOp Null, updateOp Null, insertOp Null, selectOp QuerySpecObject, createOp Null, logicalDeleteOp Null, partialLogicalDeleteOp Null, selectWithLockOp Null, mmiMerge MmiMerge, evalSessionOp Null, alertInfoOp AlertInfoObject, inflateOp Null, deflateOp Null } QuerySpecObject ::= INSTANCE-OF-CONCEPT({QuerySpecification}) MmiMerge ::= SET { coalesceInstruction CODEDWOSFORM( WITH COMPONENTS { ..., ncid ({CoalesceInstruction}) PRESENT }) OPTIONAL } AlertInfoObject ::= SET { reasons OverrideReasons OPTIONAL } OverrideReasons ::= SET OF OverrideReason OverrideReason ::= SET { reason LCODEDWOSFORM( WITH COMPONENTS { ..., ncid ({AlertOverrideReason}) PRESENT }) } PatDataRecords ::= SET OF PatientData PatientData ::= SET { patId PatientId, patDataSet PatDataSet } PatDataSet ::= SET OF PatData PatData ::= SET { stringHeader StringHeader, patDatumObject PatDatumObject } END