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 MMM-InboxTrans DEFINITIONS IMPLICIT TAGS ::= BEGIN InboxTrans ::= SET { inboxAdmFunctions InboxAdmFunctions, inboxEvtFunctions InboxEvtFunctions } InboxEvtFunctions ::= CHOICE { loadInboxEvents LoadInboxEvents, newInboxEvents LoadInboxEvents, updateInboxStatus UpdateInboxStatus, routeInboxEvents RouteInboxEvents, clearInbox ClearInbox, loadActionRequests LoadActionRequests, saveActionRequests SaveActionRequests, saveInboxEvents SaveInboxEvents } InboxAdmFunctions ::= CHOICE { loadInboxNames LoadInboxNames, loadInboxDefinition LoadInboxDefinition, saveInboxDefinition SaveInboxDefinition, loadInboxDataTypes LoadInboxDataTypes, saveInboxDataTypes SaveInboxDataTypes } LoadActionRequests ::= SET { actionRequestInput ActionRequestInput, actionRequestOutput ActionRequestOutput } SaveActionRequests ::= SET { actionInput ActionRequestInput, saveResult SaveResult } ActionRequestInput ::= SET { events InboxEvents } ActionRequestOutput ::= SET { events InboxEvents } LoadInboxEvents ::= SET { inboxEventInput InboxEventInput, inboxEventOutput InboxEventOutput } SaveInboxEvents ::= SET { inboxSaveInput Inboxes } UpdateInboxStatus ::= SET { updateStatusInput Inboxes } ClearInbox ::= SET { clearInboxInput ClearInboxInput, clearInboxOutput ClearInboxOutput } SaveResult ::= INTEGER UpdateStatusInput ::= SET { inboxes Inboxes } ClearInboxInput ::= SET { inboxes Inboxes } ClearInboxOutput ::= SET { updateResult SaveResult } RouteInboxEvents ::= SET { routeInboxInput RouteInboxInput } RouteInboxInput ::= SET { routeInboxes RouteInboxes } RouteInboxes ::= SET OF RouteInbox RouteInbox ::= SET { targetInboxId ULong, sourceInboxId ULong, eventId ULong2, removeFromSourceFlag BOOLEAN, routingComment BasicString, inboxStatus ULong2 } InboxUpdates ::= SET OF InboxUpdate InboxUpdate ::= SET { inboxId ULong, eventId ULong2, editVersion ULong, inboxStatus Ncid } InboxEventInput ::= SET { userModules UserModules, sortColumns SortColumns OPTIONAL, context InboxContext, inboxes InboxHeaders } UserModules ::= SET OF ModuleAccess ModuleAccess ::= SET { cwModule BasicString } SortColumns ::= SET OF SortColumn SortColumn ::= SET { order INTEGER, columnId INTEGER, direction INTEGER } InboxContext ::= SET { totalFound INTEGER OPTIONAL, totalReturned INTEGER OPTIONAL, searchId INTEGER OPTIONAL, currentPosition INTEGER OPTIONAL, numberOfRecords INTEGER OPTIONAL, maxRecords INTEGER OPTIONAL, nextToReturn INTEGER OPTIONAL, startGMTime GeneralizedTime OPTIONAL, endGMTime GeneralizedTime OPTIONAL, lastSearchGMTime BasicString OPTIONAL, numberNewEvents INTEGER OPTIONAL, clearSearch BOOLEAN OPTIONAL } InboxEventOutput ::= SET { context InboxContext, inboxes Inboxes OPTIONAL } Inboxes ::= SET OF Inbox Inbox ::= SET { header InboxHeader, events InboxEvents OPTIONAL } InboxEvents ::= SET OF InboxEvent InboxEvent ::= SET { eventId ULong2, editVersion ULong, statusSortGroup BasicString, inboxStatus Ncid, proxyFromUser Ncid OPTIONAL, patientName BasicString, unitNumber ULong, facilityNcid Ncid, encounterNumber BasicString OPTIONAL, dataType Ncid, dataSubType Ncid, eventStatus Ncid OPTIONAL, patientDept Ncid OPTIONAL, patientRoom Ncid OPTIONAL, patientBed Ncid OPTIONAL, orderingClinician BasicString OPTIONAL, severityGroup ULong OPTIONAL, eventStartGMTime GeneralizedTime, actionSummaryNcid Ncid, actionCommentNcid Ncid, actions ActionRequests OPTIONAL, subscribers InboxSubscribers OPTIONAL, dataTypeName BasicString OPTIONAL, eventSubType Ncid OPTIONAL, hemsEncounterId ULong2 OPTIONAL } InboxSubscribers ::= SET OF InboxSubscriber InboxSubscriber ::= SET { inboxId ULong, editVersion ULong OPTIONAL, addGMTime BasicString OPTIONAL, inboxStatus Ncid, modifiedUserNcid Ncid OPTIONAL, modifiedGMTime GeneralizedTime OPTIONAL, proxyFromUser Ncid OPTIONAL } ActionRequests ::= SET OF ActionRequest ActionRequest ::= SET { requestInfo RequestInfo, fullfillmentInfo FullfillmentInfo } RequestInfo ::= SET { requestedBy Ncid, requestGMTime GeneralizedTime, requestCode Ncid, requestText BasicString } FullfillmentInfo ::= SET { fullfilledEditVersion ULong, fullfilledBy Ncid, fullfilledGMTime GeneralizedTime, fullfillmentCode Ncid, fullfillmentText BasicString } LoadInboxNames ::= SET { inboxNameInput InboxNameInput, inboxNameOutput InboxNameOutput } InboxNameInput ::= SET { inboxType BasicString, activeFlag BOOLEAN OPTIONAL, templateFlag BOOLEAN OPTIONAL, filterText BasicString OPTIONAL, inboxUserNcid Ncid OPTIONAL } InboxNameOutput ::= SET { pollInterval INTEGER, headers InboxHeaders } InboxHeaders ::= SET OF InboxHeader InboxHeader ::= SET { inboxId ULong, inboxName BasicString OPTIONAL, inboxUserNcid Ncid OPTIONAL, templateFlag BOOLEAN OPTIONAL, templateId ULong OPTIONAL, activeFlag BOOLEAN OPTIONAL, inboxType BasicString OPTIONAL, activatedGMTime GeneralizedTime OPTIONAL, createdByNcid Ncid OPTIONAL, createdGMTime GeneralizedTime OPTIONAL, proxyToUser Ncid OPTIONAL } InboxRules ::= SET OF InboxRule InboxRule ::= SET { opCode ULong, inboxId ULong, roleNcid Ncid, patTypeRuleNcid Ncid, eventTypeNcid Ncid, eventSubGroupDomain Ncid, eventStatusNcid Ncid, severityRule Ncid, activeFlag BOOLEAN, userNcid Ncid OPTIONAL } InboxUsers ::= SET OF InboxUser InboxUser ::= SET { opCode ULong, inboxId ULong, inboxName BasicString, userNcid Ncid, adminFlag BOOLEAN, activeFlag BOOLEAN, activationTime GeneralizedTime, inactivationTime GeneralizedTime } InboxPatients ::= SET OF InboxPatient InboxPatient ::= SET { opCode ULong, inboxId ULong, unitNumber ULong, currentName BasicString } InboxProxys ::= SET OF InboxProxy InboxProxy ::= SET { opCode ULong, inboxId ULong, proxyInboxId ULong, clinicianNcid Ncid, retainCopyFlag BOOLEAN, startGMTime GeneralizedTime, endGMTime GeneralizedTime } InboxLocations ::= SET OF InboxLocation InboxLocation ::= SET { opCode ULong, inboxId ULong, locationNcid Ncid, facilityNcid Ncid, departmentNcid Ncid, roomNcid Ncid, bedNcid Ncid } InboxDefinitions ::= SET OF InboxDefinition InboxDefinition ::= SET { opCode ULong, header InboxHeader, rules InboxRules, users InboxUsers, patients InboxPatients, proxies InboxProxys, locations InboxLocations } LoadInboxDefinition ::= SET { inboxDefinitionInput InboxHeader, inboxDefinitionOutput InboxDefinition } SaveInboxDefinition ::= SET { inboxDefinitionInput InboxDefinition, inboxDefinitionOutput SaveResult } LoadInboxDataTypes ::= SET { inboxDataTypeInput Ncid, inboxDataTypeOutput InboxDataTypes } SaveInboxDataTypes ::= SET { inboxDataTypeInput InboxDataTypeInput, inboxDataTypeOutput SaveResult } InboxDataTypeInput ::= SET { opCode ULong, inboxDataTypes InboxDataTypes } InboxDataTypes ::= SET OF InboxDataType InboxDataType ::= SET { opCode ULong OPTIONAL, enterpriseNcid Ncid, dataTypeName BasicString OPTIONAL, eventTypeNcid Ncid OPTIONAL, eventSubGroupDomain Ncid OPTIONAL, eventTypeQualifier Ncid OPTIONAL, docType BasicString OPTIONAL, cwModule BasicString OPTIONAL, removeESigFlag BOOLEAN OPTIONAL, removeReviewFlag BOOLEAN OPTIONAL, validStatuses InboxStatuses, validSeverities InboxSeverities } InboxStatuses ::= SET OF InboxStatus InboxStatus ::= SET { statusNcid Ncid } InboxSeverities ::= SET OF InboxSeverity InboxSeverity ::= SET { code INTEGER, description BasicString } END