1 karl 1.1 // ==================================================================
2 // Title: Exchange Standards 1.2 MOF Specification
3 // Filename: CIM_Support25.MOF
4 // Version: 2.5
5 // Release: 0
6 // Date: 12/19/2000
7 // Description: The Solution Exchange Standard (SES) defines an object model
8 // for the exchange of knowledge. The Service Incident Exchange
9 // Standard (SIS) adds a transaction model to SES.
10 // ===================================================================
11 // Author: DMTF Support Working Group
12 // Editor: John Chmaj, Microsoft Corp. - jchmaj@microsoft.com
13 // Editor: Dave Lawrence, Smart Technology Enablers - dlawrence@enablers.com
14 // 11/17/2000 Version 1.2j
15 // CR562: Changed property names using reserved words
16 // PRS_Resource.Type to ResourceType
17 // PRS_Attachment.Reference to AttachmentReference
18 // PRS_Attachment.Size to AttachmentSize
19 // PRS_Attachment.Object to AttachmentObject
20 // PRS_Statement.Role to StatementRole
21 // PRS_Statement.Operator to StatementOperator
22 karl 1.1 // PRS_Revision.Date to RevisionDate
23 // PRS_Activity.New to NewKeys
24 // PRS_Transaction.State to TransactionState
25 // CR563: Added deprecated qualifier to deprecated properties
26 // PRS_Transaction.TransactionName
27 // PRS_Activity.ParameterList
28 // Removed Description from PRS_Feature and PRS_Resource (already
29 // inherited from PRS_ExchangeElement)
30 // Added MinValue and MaxValue to the following:
31 // PRS_Problem.Likelihood
32 // PRS_Problem.Impact
33 // PRS_Resolution.Confidence
34 // PRS_Statement.Relevance
35 // Broke long lines over two lines
36 // 08/08/2000 Version 1.2i CR525
37 // Added missing Association qualifier to both PRS_ContactOrganization and
38 // PRS_ContactPerson.
39 // 05/02/2000 Version 1.2h
40 // Converted all CIM_Dependency children to use original property names:
41 // Antecedent and Dependent
42 // 03/07/2000 Version 1.2g
43 karl 1.1 // Added Association qualifier to all association classes
44 // Added spaces to end of descriptions where they were missing
45 // Added Notification_Pending state to PRS_Transaction State property
46 // 02/03/2000 Version 1.2f
47 // Added definitions for PRS_SISServices method return values and
48 // CompletionStatus parameters as well as PRS_Transaction CompletionStatus
49 // 01/26/2000 Version 1.2e
50 // Changed PRS_ExchangeElement description
51 // 01/21/2000 Version 1.2d
52 // Fixed spelling error in PRS_Category
53 // 01/20/2000 Version 1.2c
54 // Added ParameterList property back to PRS_Activity for backward
55 // compatibility
56 // Removed methods from PRS_Transaction and edited property descriptions
57 // Corrected data types of some properties to match specification (strings
58 // to uint8)
59 // Added some missing superclass references ( : CIM_Dependency)
60 // 01/17/2000 Version 1.2b
61 // Reformatted MOF and expanded description fields
62 // Incorporated SIS Transactions using CIM over HTTP
63 // Added properties and methods to PRS_Transaction
64 karl 1.1 // Added DirtyFlag to PRS_ExchangeElement
65 // Added PRS_SISService
66 //
67 // ==================================================================
68
69
70 // ==================================================================
71 // Pragmas
72 // ==================================================================
73
74 #pragma locale ("en_US")
75
76
77 // ==================================================================
78 // PRS_ExchangeElement
79 // ==================================================================
80
81 [
82 Abstract,
83 Description (
84 "PRS_ExchangeElement is an abstract base class for all classes "
85 karl 1.1 "in the Solution and Service Incident object model. As an "
86 "abstract class it is never instantiated.\n"
87 "\n"
88 "PRS_ExchangeElement exists to provide a single anchor point "
89 "for associations that may be made to any Solution or Service "
90 "Incident object. For example, Administrative or Attachment "
91 "instances may be associated with any object derived from "
92 "PRS_ExchangeElement. "
93 "To support this generic association capability, the PRS_AdminAssociation "
94 "and PRS_Attached associations both derive from the CIM_Dependency "
95 "association and override the Antecedent property of that class to be a "
96 "PRS_ExchangeElement REF. "
97 )
98 ]
99 class PRS_ExchangeElement : CIM_ManagedElement
100 {
101 [
102 Key,
103 Description (
104 "The PRSUniqueName property is a Globally Unique IDentifier "
105 "(GUID) also known as a Universally Unique IDentifier (UUID). "
106 karl 1.1 "This property allows Solution and Service Incident objects "
107 "to be used by multiple Solutions or Service Incidents without "
108 "duplication. In addition, all Solution or Service Incidents "
109 "containing a unique object are updated when the object is "
110 "updated."
111 )
112 ]
113 string PRSUniqueName;
114
115 [
116 ValueMap {"0", "1", "2", "3"},
117 Values {"Clean", "New", "Modified", "Deleted"},
118 Description(
119 "The DirtyFlag is used by the SISService Start Transaction "
120 "method to determine whether an ExchangeElement has "
121 "been created, modified or deleted since the last Transaction. "
122 "Any object not marked 'Clean' is included in the next "
123 "Transaction.\n"
124 "\n"
125 "It is the responsibility of the entity creating, modifying or "
126 "deleting the object derived from ExchangeElement to set this "
127 karl 1.1 "property appropriately.\n"
128 "\n"
129 "This property value is set to 'Clean' by an invocation of the "
130 "Transaction Complete method with a Status parameter of zero (0)."
131 )
132 ]
133 uint8 DirtyFlag;
134 };
135
136
137 // =================================================================
138 // PRS_Solution
139 // ==================================================================
140
141 [
142 Description (
143 "PRS_Solution is the root class of a set of associated classes "
144 "used to describe a single Solution. If a Solution is associated "
145 "with multiple Problems or Resolutions, all of the Problems "
146 "described are related to all of the Resolutions described. The "
147 "reverse is also true. All of the Resolutions described are "
148 karl 1.1 "related to all of the Problems described in the Solution."
149 "\n"
150 "\n"
151 "PRS_Solution is directly associated to one or more of the "
152 "following classes:\n"
153 "\n"
154 " PRS_Reference\n"
155 " PRS_Problem\n"
156 " PRS_Resolution\n"
157 "\n"
158 )
159 ]
160 class PRS_Solution : PRS_ExchangeElement
161 {
162 [
163 Description ("The Solution title.")
164 ]
165 string Title;
166
167 [
168 Description ("A brief description of the Solution.")
169 karl 1.1 ]
170 string SolutionAbstract;
171
172 [
173 ValueMap {"0", "1", "2", "254", "255"},
174 Values {"Reference", "Diagnostic", "How To", "Other", "Unknown"},
175 Description (
176 "The SolutionType suggests the type of knowledge contained "
177 "in the Solution. Depending on the type, the Solution may or "
178 "may not include particular objects. For example, a "
179 "'Reference' Solution describes non-diagnostic technical or "
180 "general information using PRS_Statement objects. A 'Diagnostic' "
181 "Solution includes one or more PRS_Problem and PRS_Resolution objects. "
182 "A 'How To' Solution describes how to solve a particular Problem "
183 "described by a PRS_Problem in a series of sequential steps within "
184 "a PRS_Resolution."
185 )
186 ]
187 uint8 SolutionType;
188 };
189
190 karl 1.1
191 // ==================================================================
192 // PRS_SolutionElement
193 // ==================================================================
194
195 [
196 Abstract,
197 Description (
198 "PRS_SolutionElement is an abstract base class for non-Category objects "
199 "directly associated with a Solution. This includes:\n"
200 "\n"
201 " PRS_Reference\n"
202 " PRS_Problem\n"
203 " PRS_Resolution\n"
204 "\n"
205 "PRS_SolutionElement provides a common reference for these "
206 "objects to be associated with PRS_Expression objects through "
207 "the SolutionExpression association.\n"
208 "\n"
209 "In addition, all of the derived objects may be retrieved with a "
210 "single query for the common super-class."
211 karl 1.1 )
212 ]
213 class PRS_SolutionElement : PRS_ExchangeElement
214 {
215 };
216
217
218 // ===================================================================
219 // PRS_Reference
220 // ===================================================================
221
222 [
223 Description (
224 "PRS_Reference is a placeholder to support links between "
225 "PRS_Expression objects and a PRS_Solution. It does not "
226 "have any properties. A 'Reference' "
227 "Solution uses PRS_Statement objects to describe general, "
228 "non-diagnostic knowledge and may not include any PRS_Problem "
229 "and PRS_Resolution instances. "
230 )
231 ]
232 karl 1.1 class PRS_Reference : PRS_SolutionElement
233 {
234 };
235
236
237 // ===================================================================
238 // PRS_Problem
239 // ===================================================================
240
241 [
242 Description (
243 "PRS_Problem is the root object of a set of associated objects "
244 "that describe a Problem. One or more Problems may be associated "
245 "with a Solution.\n"
246 "\n"
247 "The Problem is described by PRS_Statement and PRS_Product instances "
248 "indirectly associated to the PRS_Problem through a PRS_Expression."
249 )
250 ]
251 class PRS_Problem : PRS_SolutionElement
252 {
253 karl 1.1 [
254 Description (
255 "The Likelihood describes the potential for the Problem to occur. "
256 "The value of this property shall be an integer value in the range of "
257 "0 to 100, inclusive."
258 ),
259 MinValue(0), MaxValue(100)
260 ]
261 uint16 Likelihood;
262
263 [
264 Description (
265 "The Impact describes the severity of the problem. "
266 "The value of this property shall be an integer value in the range of "
267 "0 to 100, inclusive."
268 ),
269 MinValue(0), MaxValue(100)
270 ]
271 uint16 Impact;
272 };
273
274 karl 1.1
275 // ===================================================================
276 // PRS_Resolution
277 // ===================================================================
278
279 [
280 Description (
281 "PRS_Resolution is the root object of a set of associated objects "
282 "that describe a the resolution to a Problem. One or more Resolutions "
283 "may be associated with a Solution.\n"
284 "\n"
285 "The Resolution is described by PRS_Statement and PRS_Product instances "
286 "indirectly associated to the PRS_Resolution through a PRS_Expression."
287 )
288 ]
289 class PRS_Resolution : PRS_SolutionElement
290 {
291
292 [
293 Description (
294 "The Confidence describes the potential for the Resolution to correct "
295 karl 1.1 "the Problem or Problems associated with the PRS_Solution. "
296 "The value of this property shall be an integer value in the range of "
297 "0 to 100, inclusive."
298 ),
299 MinValue(0), MaxValue(100)
300 ]
301 uint16 Confidence;
302 };
303
304
305 // ===================================================================
306 // PRS_SolutionHasElement
307 // ===================================================================
308
309 [
310 Association,
311 Abstract,
312 Aggregation,
313 Description (
314 "PRS_SolutionHasElement is an abstract base class for associating "
315 "PRS_Solution with objects derived from PRS_SolutionElement. This "
316 karl 1.1 "association class allows all PRS_Reference, PRS_Problem and "
317 "PRS_Resolution objects to be retrieved with a single query."
318 )
319 ]
320 class PRS_SolutionHasElement : CIM_Dependency
321 {
322 [
323 Override ("Antecedent"),
324 Aggregate,
325 Description ("The PRS_Solution root object of the Solution."),
326 Min (1)
327 ]
328 PRS_Solution REF Antecedent;
329
330 [
331 Override ("Dependent"),
332 Description (
333 "The PRS_Reference, PRS_Problem or PRS_Resolution aggregated "
334 "into the Solution by this association."
335 )
336 ]
337 karl 1.1 PRS_SolutionElement REF Dependent;
338 };
339
340
341 // ===================================================================
342 // PRS_SolutionReference
343 // ===================================================================
344
345 [
346 Association,
347 Aggregation,
348 Description ("PRS_SolutionReference aggregates a Reference into a Solution.")
349 ]
350 class PRS_SolutionReference : PRS_SolutionHasElement
351 {
352 [
353 Override ("Dependent"),
354 Description ("The PRS_Reference aggregated into the Solution.")
355 ]
356 PRS_Reference REF Dependent;
357 };
358 karl 1.1
359
360 // ===================================================================
361 // PRS_SolutionProblem
362 // ===================================================================
363
364 [
365 Association,
366 Aggregation,
367 Description ("PRS_SolutionProblem aggregates a Problem into a Solution.")
368 ]
369 class PRS_SolutionProblem : PRS_SolutionHasElement
370 {
371 [
372 Override ("Dependent"),
373 Description ("The PRS_Problem aggregated into the Solution.")
374 ]
375 PRS_Problem REF Dependent;
376 };
377
378
379 karl 1.1 // ===================================================================
380 // PRS_SolutionResolution
381 // ===================================================================
382
383 [
384 Association,
385 Aggregation,
386 Description ("PRS_SolutionResolution aggregates a Resolution into a Solution.")
387 ]
388 class PRS_SolutionResolution : PRS_SolutionHasElement
389 {
390 [
391 Override ("Dependent"),
392 Description ("The PRS_Solution aggregated into the Solution.")
393 ]
394 PRS_Resolution REF Dependent;
395 };
396
397
398 // =================================================================
399 // PRS_Category
400 karl 1.1 // ==================================================================
401
402 [
403 Description (
404 "PRS_Category is used to classify the components of a "
405 "Solution. Hierarchical classifications are created by associating "
406 "PRS_CategoryParentChild with multiple PRS_Category instances."
407 )
408 ]
409 class PRS_Category : PRS_ExchangeElement
410 {
411 [
412 Description (
413 "The specific value for the category. For example, 'HP Laserjet' "
414 "would be a value for a category containing printer names. "
415 )
416 ]
417 string CategoryContents;
418
419 [
420 Description (
421 karl 1.1 "The type of category. Used to give additional semantics to the "
422 "category. For example, a Category of Type 'Printers' would "
423 "qualify the list of category values for a list of printers.\n"
424 "\n"
425 "Note: the relationship of Category Type to Category Value "
426 "expresses no intrinsic hierarchy. If a tree of relationships "
427 "exists to define categories and sub-categories, this should be "
428 "defined using CategoryParentChild associations."
429 )
430 ]
431 string CategoryType;
432 };
433
434
435 // ===================================================================
436 // PRS_SolutionCategory
437 // ===================================================================
438
439 [
440 Association,
441 Description (
442 karl 1.1 "PRS_SolutionCategory associates PRS_Solution with a PRS_Category "
443 "for classification purposes."
444 )
445 ]
446 class PRS_SolutionCategory : CIM_Dependency
447 {
448 [
449 Override ("Antecedent"),
450 Min(1),
451 Description ("The PRS_Solution being classified.")
452 ]
453 PRS_Solution REF Antecedent;
454
455 [
456 Override ("Dependent"),
457 Description (
458 "The specific PRS_Category being used to classify the Solution."
459 )
460 ]
461 PRS_Category REF Dependent;
462 };
463 karl 1.1
464
465 // ===================================================================
466 // PRS_Categorization
467 // ===================================================================
468
469 [
470 Association,
471 Description (
472 "PRS_Categorization associates PRS_Reference, PRS_Problem "
473 "or PRS_Resolution with a PRS_Category for classification purposes. "
474 "For example, a Category named 'Printing Issues' can be defined "
475 "for a Problem using the Categorization association between a "
476 "PRS_Problem and a PRS_Category. "
477 )
478 ]
479 class PRS_Categorization : CIM_Dependency
480 {
481 [
482 Override ("Antecedent"),
483 Description ("The PRS_Category used for classification.")
484 karl 1.1 ]
485 PRS_Category REF Antecedent;
486
487 [
488 Override ("Dependent"),
489 Min(1),
490 Description (
491 "The specific PRS_Reference, PRS_Problem or PRS_Resolution "
492 "classified by this association."
493 )
494 ]
495 PRS_SolutionElement REF Dependent;
496 };
497
498
499 // ===================================================================
500 // PRS_CategoryParentChild
501 // ===================================================================
502
503 [
504 Association,
505 karl 1.1 Description("PRS_CategoryParentChild is used to define classification hierarchies.")
506 ]
507 class PRS_CategoryParentChild : CIM_Dependency
508 {
509 [
510 Override ("Antecedent"),
511 Description ("The parent PRS_Category used for classification.")
512 ]
513 PRS_Category REF Antecedent;
514
515 [
516 Override ("Dependent"),
517 Description (
518 "The child PRS_Category used for classification."
519 )
520 ]
521 PRS_Category REF Dependent;
522 };
523
524
525 // =================================================================
526 karl 1.1 // PRS_ExpressionElement
527 // ==================================================================
528
529 [
530 Abstract,
531 Description (
532 "PRS_ExpressionElement is an abstract base class for PRS_Products "
533 "and PRS_Statements. It provides a common association point for objects "
534 "associated with PRS_Expressions."
535 )
536 ]
537 class PRS_ExpressionElement : PRS_ExchangeElement
538 {
539 };
540
541
542 // =================================================================
543 // PRS_Expression
544 // ==================================================================
545
546 [
547 karl 1.1 Description (
548 "PRS_Expression defines a specific relationship between "
549 "PRS_ExpressionElements associated with PRS_SolutionElements. "
550 )
551 ]
552 class PRS_Expression : PRS_ExpressionElement
553 {
554 [
555 Description (
556 "The operator to be used with the associated PRS_ExpressionElements. "
557 "The 'AND', 'OR' and 'NOT' operators are the only operators "
558 "currently defined. They must be defined as an uppercase string."
559 )
560 ]
561 string Relation;
562 };
563
564
565 // =================================================================
566 // PRS_Product
567 // ==================================================================
568 karl 1.1
569 [
570 Description (
571 "PRS_Product is used to describe a single product to associate with a "
572 "PRS_Expression."
573 )
574 ]
575 class PRS_Product : PRS_ExpressionElement
576 {
577 [
578 Description ("The vendor of the product.")
579 ]
580 string Vendor;
581
582 [
583 Description ("The make and or model of the product.")
584 ]
585 string ProductName;
586
587 [
588 Description ("The version of the product.")
589 karl 1.1 ]
590 string Version;
591
592 [
593 Description (
594 "The order of relevance of this product to an associated "
595 "PRS_SolutionElement. These include PRS_Reference, PRS_Problem "
596 "or PRS_Resolution."
597 )
598 ]
599 string Order;
600 };
601
602
603 // =================================================================
604 // PRS_Statement
605 // ==================================================================
606
607 [
608 Description (
609 "PRS_Statement contains the text describing a problem, any "
610 karl 1.1 "relevant background information, and its resolution. Statements "
611 "are units of text ranging from brief sentences or phrases to "
612 "paragraphs or pages. There is no limit to the number of "
613 "PRS_Statements within a Solution, as long as they support the "
614 "intent and focus of their root class. Root classes include: "
615 "PRS_Reference, PRS_Problem or PRS_Resolution./n"
616 "\n"
617 "PRS_Statements may be grouped together to build compound "
618 "'sentences'. For example,/n "
619 " StatementA = Printer output is blotchy./n "
620 " StatementB = Print jobs per day are less than 50./n "
621 "ExpressionA = StatementA AND StatementB."
622 )
623 ]
624 class PRS_Statement : PRS_ExpressionElement
625 {
626 [
627 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
628 "254", "255"
629 },
630 Values {"Description", "Symptom", "Error_Message", "Objective", "Evidence",
631 karl 1.1 "Cause", "Work_Around", "Fix", "Answer", "Keyword", "Changes", "Title",
632 "Other", "Unknown"
633 },
634 Description (
635 "StatementRole describes how the PRS_Statement relates to the larger "
636 "context. "
637 "For example, is the PRS_Statement describing a Fix or a Symptom? "
638 "'Description' is generic text without a specific diagnostic "
639 "application. "
640 "'Symptom' describes initial observable incident or behavior that "
641 "the user reports. "
642 "'Error_Message' is a specific type of symptom that the user "
643 "reports, describing a specific error condition reported. "
644 "'Objective' is what the user wants to accomplish, often "
645 "expressed as a positive condition. FOr example, how to print "
646 "on a network. "
647 "'Evidence' is information that is collected to diagnose the "
648 "problem after the symptom is reported. "
649 "'Cause' is a description of the underlying facts or factors "
650 "that engender or relate this behavior. "
651 "'Work_around' is information that lets the user work, but does "
652 karl 1.1 "not correct the problem completely. "
653 "'Fix' is information that fixes the problem completely. "
654 "'Answer' is the information given to the user such as steps to "
655 "perform, wording to support their environment and understanding. "
656 "'Keyword' is a specific classification using defined words or "
657 "phrases. "
658 "'Changes' describes a recent change in the environment which "
659 "could affect the problem or resolution. "
660 "'Title is the title applying to associated PRS_Statements. "
661 "Usually associated via an 'and' expression. "
662 )
663 ]
664 uint8 StatementRole;
665
666 [
667 Description ("The descriptive text used for the PRS_Statement.")
668 ]
669 string Text;
670
671 [
672 Description (
673 karl 1.1 "When the PRS_Adminstrative object indicates Level 2 compliance, "
674 "StatementOperator describes the relationship between an associated "
675 "PRS_Feature and the FeatureValue property. This property is "
676 "ignored if there is no PRS_Feature associated with this "
677 "PRS_Statement."
678 )
679 ]
680 string StatementOperator;
681
682 [
683 Description (
684 "When the PRS_Adminstrative object indicates Level 2 compliance, "
685 "FeatureValue is the specific value selected from the associated "
686 "PRS_Feature. This property is ignored if there is no PRS_Feature "
687 "associated with this PRS_Statement."
688 )
689 ]
690 string FeatureValue;
691
692 [
693 Description (
694 karl 1.1 "Order is used to sequence PRS_Statements associated "
695 "with a single PRS_Expression to allow a Consumer to process "
696 "the information in the order desired by the Producer."
697 )
698 ]
699 string Order;
700
701 [
702 Description (
703 "Importance of this Statement. "
704 "The value of this property shall be an integer value in the "
705 "range of 0 to 100, inclusive."
706 )
707 ]
708 uint16 Relevance;
709 };
710
711 // =================================================================
712 // PRS_Feature
713 // ==================================================================
714
715 karl 1.1 [
716 Description (
717 "PRS_Feature is used for structured diagnostic data, including "
718 "specific data values like steps or conditions. For example, "
719 "consider a PRS_Statement with a Text property value of: \n"
720 "\n"
721 " Print jobs per day are less than 50\n"
722 "\n"
723 "This could be described using a PRS_Feature as follows:\n"
724 "\n"
725 " Description: 'Print jobs per day' \n"
726 " Prompt: 'How many print jobs per day?' \n"
727 " ValidValues: '10' '50' '100' \n"
728 " DataType: 'Integer' \n"
729 "\n"
730 "and the associated PRS_Statement would contain:\n"
731 "\n"
732 " Operator: '<' \n"
733 " FeatureValue: '50' \n"
734 )
735 ]
736 karl 1.1 class PRS_Feature : PRS_ExchangeElement
737 {
738 [
739 Description ("Prompt presented through user interface.")
740 ]
741 string Prompt;
742
743 [
744 Description ("Valid values for this PRS_Feature.")
745 ]
746 string ValidValues;
747
748 [
749 ValueMap {"0", "1", "2", "3", "4", "5", "254", "255"},
750 Values {
751 "String", "Integer", "Float", "Date/Time", "Boolean",
752 "Binary", "Other", "Unknown"
753 },
754 Description ("Data Type used for PRS_Statement FeatureValue property")
755 ]
756 uint8 DataType;
757 karl 1.1 };
758
759
760 // =================================================================
761 // PRS_Resource
762 // ==================================================================
763
764 [
765 Description (
766 "Each PRS_Resolution may have an associated cost of implementation. "
767 "This cost may have several components such as time, material "
768 "costs, labor cost, etc. To capture these costs, a PRS_Resouce is "
769 "associated with a PRS_Resolution. For Service Incidents, one or "
770 "more PRS_Resource objects may be associated with an Activity."
771 )
772 ]
773 class PRS_Resource : PRS_ExchangeElement
774 {
775 string ResourceType;
776
777 [
778 karl 1.1 Description ("Number of units of resource used.")
779 ]
780 uint16 Quantity;
781
782 [
783 Description ("Unit of measure for this resource.")
784 ]
785 string Units;
786 };
787
788
789 // ===================================================================
790 // PRS_ExpressionLink
791 // ===================================================================
792
793 [
794 Association,
795 Aggregation,
796 Description (
797 "Associates PRS_Expression with PRS_ExpressionElements "
798 "such as PRS_Expression, PRS_Product, and PRS_Statement."
799 karl 1.1 )
800 ]
801 class PRS_ExpressionLink : CIM_Dependency
802 {
803 [
804 Aggregate,
805 Override ("Antecedent"),
806 Min(1),
807 Description ("The parent PRS_Expression.")
808 ]
809 PRS_Expression REF Antecedent;
810
811 [
812 Override ("Dependent"),
813 Min(1),
814 Description (
815 "The child PRS_ExpressionElement. Either PRS_Expression, "
816 "PRS_Product or PRS_Statement."
817 )
818 ]
819 PRS_ExpressionElement REF Dependent;
820 karl 1.1 };
821
822
823 // ===================================================================
824 // PRS_ProductParentChild
825 // ===================================================================
826
827 [
828 Association,
829 Aggregation,
830 Description (
831 "Products may exist in a hierarchy of relationships with related "
832 "Products. If a Producer deems these hierarchy relationships "
833 "are relevant to the current Problem or Resolution, then the "
834 "position of the Product in a hierarchy can be implied using one "
835 "of two types of relationships: 'is a' and 'has a'. An 'is a' "
836 "relationship implies a classification, such as versioning or typing. "
837 "A 'has a' relationship implies that one product contains another. "
838 "The PRS_ProductParentChild association is used to imply an 'is a' "
839 "hierarchy. Use the ProductComponent association to imply 'has a' "
840 "relationships.")
841 karl 1.1 ]
842 class PRS_ProductParentChild : CIM_Dependency
843 {
844 [
845 Aggregate,
846 Override ("Antecedent"),
847 Description ("The parent PRS_Product.")
848 ]
849 PRS_Product REF Antecedent;
850
851 [
852 Override ("Dependent"),
853 Description ("The child PRS_Product.")
854 ]
855 PRS_Product REF Dependent;
856 };
857
858
859 // ===================================================================
860 // PRS_ProductComponent
861 // ===================================================================
862 karl 1.1
863 [
864 Association,
865 Aggregation,
866 Description (
867 "PRS_ProductComponent is used to describe 'has a' relationships "
868 "between Products and their components parts. See "
869 "PRS_ProductParentChild for 'is a' relationships."
870 )
871 ]
872 class PRS_ProductComponent : CIM_Dependency
873 {
874 [
875 Aggregate,
876 Override ("Antecedent"),
877 Description ("The PRS_Product which contains the component.")
878 ]
879 PRS_Product REF Antecedent;
880
881 [
882 Override ("Dependent"),
883 karl 1.1 Description ("The component PRS_Product.")
884 ]
885 PRS_Product REF Dependent;
886 };
887
888
889 // ===================================================================
890 // PRS_ProductAsset
891 // ===================================================================
892
893 [
894 Association,
895 Description (
896 "PRS_ProductAsset is used to provide specific information about "
897 "a PRS_Product. PRS_ProductAsset associates this information to a "
898 "PRS_Product using one or more Statements associated to a "
899 "PRS_Expression."
900 )
901 ]
902 class PRS_ProductAsset : CIM_Dependency
903 {
904 karl 1.1 [
905 Override ("Antecedent"),
906 Description ("The product.")
907 ]
908 PRS_Product REF Antecedent;
909
910 [
911 Override ("Dependent"),
912 Description ("The expression.")
913 ]
914 PRS_Expression REF Dependent;
915 };
916
917
918 // ===================================================================
919 // PRS_StatementFeature
920 // ===================================================================
921
922 [
923 Association,
924 Description ("Associates PRS_Statement with PRS_Feature.")
925 karl 1.1 ]
926 class PRS_StatementFeature : CIM_Dependency
927 {
928 [
929 Override ("Antecedent"),
930 Description ("The PRS_Statement.")
931 ]
932 PRS_Statement REF Antecedent;
933
934 [
935 Override ("Dependent"),
936 Description ("The PRS_Feature.")
937 ]
938 PRS_Feature REF Dependent;
939 };
940
941
942 // ===================================================================
943 // PRS_FeatureResource
944 // ===================================================================
945
946 karl 1.1 [
947 Association,
948 Description (
949 "Associates PRS_Feature with PRS_Resource. "
950 "Used to track specific labor and costs associated with specific "
951 "tasks defined in Feature objects. "
952 )
953 ]
954 class PRS_FeatureResource : CIM_Dependency
955 {
956 [
957 Override ("Antecedent"),
958 Description ("The PRS_Feature.")
959 ]
960 PRS_Feature REF Antecedent;
961
962 [
963 Override ("Dependent"),
964 Description ("The PRS_Resource.")
965 ]
966 PRS_Resource REF Dependent;
967 karl 1.1 };
968
969
970 // ===================================================================
971 // PRS_ResolutionResource
972 // ===================================================================
973
974 [
975 Association,
976 Description ("Associates PRS_Resolution with PRS_Resource")
977 ]
978 class PRS_ResolutionResource : CIM_Dependency
979 {
980 [
981 Override ("Antecedent"),
982 Description ("The PRS_Resource.")
983 ]
984 PRS_Resource REF Antecedent;
985
986 [
987 Override ("Dependent"),
988 karl 1.1 Description ("The PRS_Resolution.")
989 ]
990 PRS_Resolution REF Dependent;
991 };
992
993
994 // ===================================================================
995 // PRS_Solution Expression
996 // ===================================================================
997
998 [
999 Association,
1000 Aggregation,
1001 Description (
1002 "Associates PRS_SolutionElements (PRS_Reference, PRS_Problem "
1003 "or PRS_Resolution) with PRS_Expression."
1004 )
1005 ]
1006 class PRS_SolutionExpression : CIM_Dependency
1007 {
1008 [
1009 karl 1.1 Aggregate,
1010 Min (1),
1011 Override ("Antecedent"),
1012 Description ("The PRS_SolutionElement.")
1013 ]
1014 PRS_SolutionElement REF Antecedent;
1015
1016 [
1017 Min (1),
1018 Override ("Dependent"),
1019 Description ("The PRS_Expression.")
1020 ]
1021 PRS_Expression REF Dependent;
1022 };
1023
1024
1025 // ===================================================================
1026 // PRS_Administrative
1027 // ===================================================================
1028
1029 [
1030 karl 1.1 Description (
1031 "PRS_Administrative defines administrative information about "
1032 "associated objects. There must be at least one PRS_Administrative "
1033 "instance associated with a PRS_Solution. Administrative "
1034 "information is inherited from a parent object. \n"
1035 "\n"
1036 "If the administrative information among objects within a Solution "
1037 "is not the same, additional PRS_Administrative instances may be "
1038 "associated with other objects within the Solution. All instances under "
1039 "a specific parent inherit their administrative information unless "
1040 "there is an PRS_Administrative instance associated with an instance.\n"
1041 "\n"
1042 "For example, if there is a PRS_Administrative instance associated "
1043 "with a PRS_Problem instance, all of the PRS_Statement and PRS_Product "
1044 "instances within the Problem use the same Administrative information "
1045 "as the PRS_Problem instance."
1046 )
1047 ]
1048 class PRS_Administrative : PRS_ExchangeElement
1049 {
1050 [
1051 karl 1.1 Values {"0", "1", "2"},
1052 Description (
1053 "Level 0 means all information within a Reference, Problem or "
1054 "Resolution is conveyed by a single PRS_Statement.\n"
1055 "\n"
1056 "Level 1 means there may be multiple PRS_Statement instances "
1057 "within a Reference, Problem or Resolution.\n"
1058 "\n"
1059 "Level 2 means that a PRS_Statement may be associated with "
1060 "a PRS_Feature instance within a Reference, Problem or Resolution."
1061 )
1062 ]
1063 uint16 ComplianceLevel;
1064
1065 [
1066 ValueMap {"0", "1", "2", "254", "255"},
1067 Values {"Draft", "Reviewed", "Published", "Other", "Unknown"},
1068 Description (
1069 "Editorial status of the document. "
1070 "If 'Draft', information is complete, but unedited. "
1071 "If 'Reviewed', an editorial review has been completed. "
1072 karl 1.1 "If 'Published', information has been reviewed and approved "
1073 "for distribution."
1074 )
1075 ]
1076 uint8 DocumentStatus;
1077
1078 [
1079 ValueMap {"0", "1", "2", "3", "254", "255"},
1080 Values {"Proprietary", "Internal", "Partner", "Public", "Other", "Unknown"},
1081 Description (
1082 "Intended distribution audience for the associated information. "
1083 "If 'Proprietary', information contains proprietary information "
1084 "and is not to be released externally. "
1085 "If 'Internal', information is for internal use only. "
1086 "If 'Partner', information is only available to contracted "
1087 "partners. "
1088 "If 'Public', information is available to anyone."
1089 )
1090 ]
1091 uint8 Distribution;
1092
1093 karl 1.1 [
1094 Description ("Language used in the associated information.")
1095 ]
1096 string Language;
1097
1098 [
1099 Description ("Copyright for the associated information.")
1100 ]
1101 string Copyright;
1102
1103 [
1104 Description ("Disclaimers about the associated information.")
1105 ]
1106 string Disclaimer;
1107
1108 [
1109 Description ("Usage rights for the associated information.")
1110 ]
1111 string Rights;
1112 };
1113
1114 karl 1.1
1115 // ===================================================================
1116 // PRS_AdminAssociation
1117 // ===================================================================
1118
1119 [
1120 Association,
1121 Description (
1122 "Associates PRS_Administrative with any object derived from "
1123 "PRS_ExchangeElement."
1124 )
1125 ]
1126 class PRS_AdminAssociation : CIM_Dependency
1127 {
1128
1129 [
1130 Min (1),
1131 Override ("Antecedent"),
1132 Description ("The PRS_ExchangeElement.")
1133 ]
1134 PRS_ExchangeElement REF Antecedent;
1135 karl 1.1
1136 [
1137 Override ("Dependent"),
1138 Description ("The PRS_Administrative.")
1139 ]
1140 PRS_Administrative REF Dependent;
1141 };
1142
1143
1144 // ===================================================================
1145 // PRS_Revision
1146 // ===================================================================
1147
1148 [
1149 Description ("PRS_Revision records changes to the content.")
1150 ]
1151 class PRS_Revision : PRS_ExchangeElement
1152 {
1153
1154 [
1155 Description ("The date of this revision.")
1156 karl 1.1 ]
1157 datetime RevisionDate;
1158
1159 [
1160 ValueMap {"0", "1", "2", "254", "255"},
1161 Values {"Create", "Update", "Delete", "Other", "Unknown"},
1162 Description ("The name of the specific revision being made.")
1163 ]
1164 uint8 ActivityName;
1165
1166 [
1167 ValueMap {"0", "1", "2", "254", "255"},
1168 Values {"Technical", "Editorial", "Administrative", "Other", "Unknown"},
1169 Description (
1170 "Type of revision activity. 'Technical' refers to a change "
1171 "in content. 'Editorial' refers to a change in language or style. "
1172 "'Administrative' refers to information about the object."
1173 )
1174 ]
1175 uint8 ActivityType;
1176
1177 karl 1.1 [
1178 ValueMap {"0", "1", "2", "3", "254", "255"},
1179 Values {"Open", "Not Reviewed", "Reviewed", "Approved", "Other", "Unknown"},
1180 Description (
1181 "The current state of technical review. "
1182 "'Open' means created but not necessarily completed or resolved. "
1183 "'Not Reviewed' means contents have to be reviewed for "
1184 "accuracy and consistency with other content. "
1185 "'Reviewed' means review has been completed. "
1186 "'Approved' means formally approval to certify the solution for "
1187 "the specific status the contents have at this time."
1188 )
1189 ]
1190 uint8 TechnicalStatus;
1191
1192 [
1193 ValueMap {"0", "1", "2", "3", "254", "255"},
1194 Values {"In_Progress", "Draft", "Reviewed", "Published", "Other", "Unknown"},
1195 Description (
1196 "The current state of editorial review. "
1197 "'In Progress' means the content is in the process of being developed. "
1198 karl 1.1 "'Draft' means the content is complete but unedited. "
1199 "'Reviewed' means the review has been completed. "
1200 "'Published' means the contents have been released. "
1201 )
1202 ]
1203 uint8 EditorialStatus;
1204
1205 [
1206 Description ("Text description of what was done in this revision.")
1207 ]
1208 string Description;
1209 };
1210
1211
1212 // ===================================================================
1213 // PRS_AdministrativeRevision
1214 // ===================================================================
1215
1216 [
1217 Association,
1218 Aggregation,
1219 karl 1.1 Description ("Associates PRS_Administrative with PRS_Revision.")
1220 ]
1221 class PRS_AdministrativeRevision : CIM_Dependency
1222 {
1223 [
1224 Aggregate,
1225 Override ("Antecedent"),
1226 Description ("The PRS_Administrative."),
1227 Min(1), Max(1)
1228 ]
1229 PRS_Administrative REF Antecedent;
1230
1231 [
1232 Override ("Dependent"),
1233 Description ("The PRS_Revision.")
1234 ]
1235 PRS_Revision REF Dependent;
1236 };
1237
1238
1239 // ===================================================================
1240 karl 1.1 // PRS_Contact
1241 // ===================================================================
1242
1243 [
1244 Description (
1245 "PRS_Contact is used to anchor associations to PRS_Person and "
1246 "PRS_Orgnaization. PRS_Contact is also used to anchor associations "
1247 "to PRS_Revision and PRS_Resolution as well as the "
1248 "PRS_ServiceIncident. "
1249 )
1250 ]
1251 class PRS_Contact : PRS_ExchangeElement
1252 {
1253 };
1254
1255
1256 // ===================================================================
1257 // PRS_ContactItem
1258 // ===================================================================
1259
1260 [
1261 karl 1.1 Abstract,
1262 Description (
1263 "PRS_ContactItem is the abstract root class for PRS_Person and "
1264 "PRS_Organization. It provides a common anchor point for the "
1265 "PRS_ContactContactItem association. "
1266 )
1267 ]
1268 class PRS_ContactItem : PRS_ExchangeElement
1269 {
1270 };
1271
1272
1273 // ===================================================================
1274 // PRS_AdministrativeContact
1275 // ===================================================================
1276
1277 [
1278 Association,
1279 Aggregation,
1280 Description ("Associates PRS_Administrative and PRS_Contact")
1281 ]
1282 karl 1.1 class PRS_AdministrativeContact : CIM_Dependency
1283 {
1284 [
1285 Aggregate,
1286 Override ("Antecedent"),
1287 Description ("The PRS_Administrative."),
1288 Min(1)
1289 ]
1290 PRS_Administrative REF Antecedent;
1291
1292 [
1293 Override ("Dependent"),
1294 Description ("The PRS_Contact."),
1295 Min(1)
1296 ]
1297 PRS_Contact REF Dependent;
1298 };
1299
1300
1301 // ===================================================================
1302 // PRS_RevisionContact
1303 karl 1.1 // ===================================================================
1304
1305 [
1306 Association,
1307 Aggregation,
1308 Description ("Associates PRS_Revision and PRS_Contact")
1309 ]
1310 class PRS_RevisionContact : CIM_Dependency
1311 {
1312 [
1313 Aggregate,
1314 Override ("Antecedent"),
1315 Description ("The PRS_Revision.")
1316 ]
1317 PRS_Revision REF Antecedent;
1318
1319 [
1320 Min(1),
1321 Override ("Dependent"),
1322 Description ("The PRS_Contact.")
1323 ]
1324 karl 1.1 PRS_Contact REF Dependent;
1325 };
1326
1327
1328 // ===================================================================
1329 // PRS_Organization
1330 // ===================================================================
1331
1332
1333 [
1334 Description (
1335 "PRS_Organization describes a PRS_Contact's organization name "
1336 "and business."
1337 )
1338 ]
1339 class PRS_Organization : PRS_ContactItem
1340 {
1341 [
1342 Description ("The name of the organization.")
1343 ]
1344 string Name;
1345 karl 1.1
1346 [
1347 Description ("Description of organization's primary business.")
1348 ]
1349 string Business;
1350 };
1351
1352
1353 // ===================================================================
1354 // PRS_Person
1355 // ===================================================================
1356
1357 [
1358 Description ("Information about a personal contact.")
1359 ]
1360 class PRS_Person : PRS_ContactItem
1361 {
1362 [
1363 Description ("Contact's first name.")
1364 ]
1365 string FirstName;
1366 karl 1.1
1367 [
1368 Description ("Contact's last name.")
1369 ]
1370 string LastName;
1371
1372 [
1373 Description ("How the contact is addressed, i.e. Dr., Mr., Ms., Mrs., etc.")
1374 ]
1375 string Salutation;
1376
1377 [
1378 Description ("Contact's business title.")
1379 ]
1380 string Title;
1381
1382 [ Description (
1383 "Description of the contact. For example, they may have responsibilities "
1384 "not apparent from their title."
1385 )
1386 ]
1387 karl 1.1 string ContactType;
1388
1389 [
1390 ValueMap {"0", "1", "2", "3", "4", "254", "255"},
1391 Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email", "URL", "Other",
1392 "Unknown"},
1393 Description(
1394 "Contact's preferred communication method. See the PRS_Location "
1395 "Type property."
1396 )
1397 ]
1398 uint8 CommunicationMode;
1399 };
1400
1401
1402 // ===================================================================
1403 // PRS_ContactContactItem
1404 // ===================================================================
1405
1406 [
1407 Association,
1408 karl 1.1 Abstract,
1409 Description (
1410 "Abstract root class to associate PRS_Person or PRS_Organization "
1411 "and PRS_Contact."
1412 )
1413 ]
1414 class PRS_ContactContactItem : CIM_Dependency
1415 {
1416
1417 [
1418 Min (1),
1419 Override ("Antecedent"),
1420 Description ("The PRS_Contact.")
1421 ]
1422 PRS_Contact REF Antecedent;
1423
1424 [
1425 Min (1),
1426 Override ("Dependent"),
1427 Description (
1428 "The PRS_ContactItem, either PRS_Person or PRS_Organization. "
1429 karl 1.1 "There is always at least one PRS_ContactItem, however it may be "
1430 "either a PRS_Person or PRS_Organization. For that reason, there "
1431 "is a minimum cardinality of one for this property, but a minimum "
1432 "cardinality of zero in the classes derived from this class."
1433 )
1434 ]
1435 PRS_ContactItem REF Dependent;
1436 };
1437
1438
1439 // ===================================================================
1440 // PRS_ContactOrganization
1441 // ===================================================================
1442
1443 [
1444 Association,
1445 Description ("Associates PRS_Contact and PRS_Organization")
1446 ]
1447 class PRS_ContactOrganization : PRS_ContactContactItem
1448 {
1449 [
1450 karl 1.1 Min(0),
1451 Override ("Dependent"),
1452 Description ("The PRS_Organization.")
1453 ]
1454 PRS_Organization REF Dependent;
1455 };
1456
1457
1458 // ===================================================================
1459 // PRS_ContactPerson
1460 // ===================================================================
1461
1462 [
1463 Association,
1464 Description ("Associates PRS_Contact and PRS_Person")
1465 ]
1466 class PRS_ContactPerson : PRS_ContactContactItem
1467 {
1468 [
1469 Min(0),
1470 Override ("Dependent"),
1471 karl 1.1 Description ("The PRS_Person.")
1472 ]
1473 PRS_Person REF Dependent;
1474 };
1475
1476
1477 // ===================================================================
1478 // PRS_Address
1479 // ===================================================================
1480
1481 [
1482 Description ("Provides address information for PRS_ContactItem")
1483 ]
1484 class PRS_Address : PRS_ExchangeElement
1485 {
1486 [
1487 ValueMap {"0", "1", "2", "3", "254", "255"},
1488 Values {"Primary", "Shipping", "Billing", "Service", "Other", "Unknown"},
1489 Description ("The type of address.")
1490 ]
1491 uint8 AddressType;
1492 karl 1.1
1493 [
1494 Description ("First line of address information.")
1495 ]
1496 string Address1;
1497
1498 [
1499 Description ("Second line of address information.")
1500 ]
1501 string Address2;
1502
1503 [
1504 Description ("Third line of address information.")
1505 ]
1506 string Address3;
1507
1508 [
1509 Description ("Fourth line of address information.")
1510 ]
1511 string Address4;
1512
1513 karl 1.1 [
1514 Description ("The city.")
1515 ]
1516 string City;
1517
1518 [
1519 Description ("The specific region, such as state or province.")
1520 ]
1521 string Region;
1522
1523 [
1524 Description ("The country's postal code for the address")
1525 ]
1526 string PostalCode;
1527
1528 [
1529 Description ("The time zone of the address.")
1530 ]
1531 string TimeZone;
1532
1533 [
1534 karl 1.1 Description ("The country code, based on ISO/IEC 3166.")
1535 ]
1536 string Country;
1537 };
1538
1539
1540 // ===================================================================
1541 // PRS_ContactItemAddress
1542 // ===================================================================
1543
1544 [
1545 Association,
1546 Description ("Associates PRS_ContactItem with PRS_Address.")
1547 ]
1548 class PRS_ContactItemAddress : CIM_Dependency
1549 {
1550
1551 [
1552 Min(1),
1553 Override ("Antecedent"),
1554 Description ("The PRS_ContactItem.")
1555 karl 1.1 ]
1556 PRS_ContactItem REF Antecedent;
1557
1558 [
1559 Override ("Dependent"),
1560 Description ("The PRS_Address.")
1561 ]
1562 PRS_Address REF Dependent;
1563 };
1564
1565
1566 // ===================================================================
1567 // PRS_Location
1568 // ===================================================================
1569
1570 [
1571 Description ("PRS_Location describes the location of a a PRS_Address.")
1572 ]
1573 class PRS_Location : PRS_ExchangeElement
1574 {
1575
1576 karl 1.1 [
1577 ValueMap {"0", "1", "2", "3", "4", "254", "255"},
1578 Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email", "URL", "Other",
1579 "Unknown"},
1580 Description ("The type of location.")
1581 ]
1582 uint8 LocationType;
1583
1584 [
1585 Description ("The specific location.")
1586 ]
1587 string LocationID;
1588 };
1589
1590
1591 // ===================================================================
1592 // PRS_Address Location
1593 // ===================================================================
1594
1595 [
1596 Association,
1597 karl 1.1 Description ("Associates PRS_Address and PRS_Location.")
1598 ]
1599 class PRS_AddressLocation : CIM_Dependency
1600 {
1601 [
1602 Override ("Antecedent"),
1603 Min(1),
1604 Description ("The PRS_Address.")
1605
1606 ]
1607 PRS_Address REF Antecedent;
1608
1609 [
1610 Override ("Dependent"),
1611 Description ("The PRS_Location")
1612 ]
1613 PRS_Location REF Dependent;
1614 };
1615
1616
1617 // ===================================================================
1618 karl 1.1 // PRS_Attachment
1619 // ===================================================================
1620
1621 [
1622 Description (
1623 "PRS_Attachment describes file attachments. A PRS_Attachment may be "
1624 "associated to any object derived from PRS_ExchangeElement. "
1625 "PRS_Attachment is used to attach objects of any type including binary "
1626 "files, ASCII documents, or URLs. "
1627 "Only one object may be attached per PRS_Attachment. \n"
1628 "/n"
1629 "The actual attachment carried by the Attachment object is included "
1630 "in one of two methods: by reference or by value as an embedded object. "
1631 "A by reference method links indirectly to the attachment through the use of "
1632 "a string identifier, e.g. a file name. An embedded object method "
1633 "means the actual binary data is included in PRS_Attachment."
1634 )
1635 ]
1636 class PRS_Attachment : PRS_ExchangeElement
1637 {
1638 [
1639 karl 1.1 Description (
1640 "If the attachment is not embedded, where the attachment "
1641 "is located."
1642 )
1643 ]
1644 string AttachmentReference;
1645
1646 [
1647 Description ("Protocol required to read the attachment (e.g., http).")
1648 ]
1649 string Protocol;
1650
1651 [
1652 Description ("The file format of the attachment.")
1653 ]
1654 string Format;
1655
1656 [
1657 Description ("The size of the attachment in bytes.")
1658 ]
1659 string AttachmentSize;
1660 karl 1.1
1661 [
1662 Description ("The attachment itself, if embedded.")
1663 ]
1664 string AttachmentObject;
1665
1666 [
1667 ValueMap {"0", "1", "2", "254", "255"},
1668 Values {"Instructions", "Background", "Log", "Unknown", "Undefined"},
1669 Description (
1670 "The purpose of the attachment, related to the diagnosis. "
1671 "'Instructions' are compilable code. "
1672 "'Background' are descriptive information. "
1673 "'Log' is information captured in a log file. "
1674 )
1675 ]
1676 uint8 AttachmentType;
1677
1678 [
1679 Description (
1680 "The displayable attachment identifier. Used to define what will "
1681 karl 1.1 "appear as the name of the attachment, as opposed to the specific "
1682 "attachment file name or URL. "
1683 )
1684 ]
1685 string AttachmentName;
1686 };
1687
1688
1689 // ===================================================================
1690 // PRS_Attached
1691 // ===================================================================
1692
1693 [
1694 Association,
1695 Description ("Associates PRS_Attachment with PRS_ExchangeElement.")
1696 ]
1697 class PRS_Attached : CIM_Dependency
1698 {
1699 [
1700 Override ("Antecedent"),
1701 Description ("The PRS_Attachment.")
1702 karl 1.1 ]
1703 PRS_Attachment REF Antecedent;
1704
1705 [
1706 Override ("Dependent"),
1707 Min(1),
1708 Description ("The PRS_ExchangeElement.")
1709 ]
1710 PRS_ExchangeElement REF Dependent;
1711 };
1712
1713
1714 // ===================================================================
1715 // ===================================================================
1716 // Service Incident Exchange information
1717 // ===================================================================
1718 // ===================================================================
1719
1720 // ===================================================================
1721 // ServiceIncident
1722 // ===================================================================
1723 karl 1.1
1724 [
1725 Description (
1726 "PRS_ServiceIncident contains the fundamental information related to "
1727 "a specific incident : its identity, status, priority, etc. "
1728 "The actual incident data, including specific transactions and "
1729 "resolution information, is contained in the objects associated "
1730 "with PRS_ServiceIncident. These include specific Problem, "
1731 "Resolution and Activity related objects accrued through the "
1732 "Transaction workflow."
1733 )
1734 ]
1735 class PRS_ServiceIncident : PRS_ExchangeElement
1736 {
1737
1738 [
1739 Description (
1740 "The unique identifier for this incident assigned by the Requester"
1741 )
1742 ]
1743 string RequesterID;
1744 karl 1.1
1745 [
1746 Description (
1747 "The unique identifier for this incident assigned by the Provider")
1748 ]
1749 string ProviderID;
1750
1751 [
1752 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "254", "255"},
1753 Values {
1754 "Beginning_State", "Not_Entitled", "Entitled",
1755 "Problem_Submitted", "Open_Requester", "Open_Provider",
1756 "Closed_Pending_Confirmation", "Closed", "Other", "Unknown"
1757 },
1758 Description (
1759 "The state of the incident within the Service Incident Exchange "
1760 "Standard transaction model."
1761 )
1762 ]
1763 uint8 CurrentState;
1764
1765 karl 1.1 [
1766 Values {"1", "2", "3", "4", "5"},
1767 Description (
1768 "The severity of the incident as defined by the Requester. "
1769 "One is the most severe and five is the least severe. "
1770 )
1771 ]
1772 uint8 RequesterSeverity;
1773
1774 [
1775 Values {"1", "2", "3", "4", "5"},
1776 Description (
1777 "The priority of the incident as defined by the Requester. "
1778 "One is the highest priority and five is the lowest priority."
1779 )
1780 ]
1781 uint8 ProviderPriority;
1782
1783 [
1784 Description (
1785 "The explicit time the Requester expects a response. "
1786 karl 1.1 )
1787 ]
1788 datetime ResponseTime;
1789
1790 [
1791 Description (
1792 "Status of the incident according to the workflow"
1793 )
1794 ]
1795 string WorkflowStatus;
1796
1797 [
1798 Description (
1799 "Additional general information about the incident"
1800 )
1801 ]
1802 string Comment;
1803
1804 [
1805 ValueMap {"0", "1", "254", "255"},
1806 Values {"Yes", "No", "Other", "Unknown"},
1807 karl 1.1 Description (
1808 "Is the Requester entitled to service or not? "
1809 )
1810 ]
1811 uint8 Entitled;
1812
1813 [
1814 ValueMap {"0", "1", "254", "255"},
1815 Values {"Yes", "No", "Other", "Unknown"},
1816 Description (
1817 "Was the last transaction was accepted or rejected? "
1818 )
1819 ]
1820 uint8 Acknowledge;
1821
1822 [
1823 Description(
1824 "The use of the TransactionName property is deprecated. New Service "
1825 "Incidents should use the LastTransaction property and set this "
1826 "property to NULL. "
1827 ),
1828 karl 1.1
1829 Deprecated {
1830 "PRS_ServiceIncident.LastTransaction"
1831 }
1832 ]
1833 string TransactionName;
1834 [
1835 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "254",
1836 "255"},
1837 Values {
1838 "Service_Request", "Entitlement", "Problem_Submittal",
1839 "Accept_Problem", "Problem_Resolution", "Request_Problem_Information",
1840 "Provide_Problem_Information", "Provide_Admin_Information",
1841 "Query_Incident", "Confirm_Close", "Reject_Resolution", "Request_Closure",
1842 "Other", "Unknown"},
1843 Description(
1844 "The name of the last transaction which was acknowledged."
1845 )
1846 ]
1847 uint8 LastTransaction;
1848
1849 karl 1.1 };
1850
1851
1852 // ===================================================================
1853 // PRS_Service Requester
1854 // ===================================================================
1855
1856 [
1857 Association,
1858 Description (
1859 "PRS_ServiceRequester associates a PRS_Service Incident with "
1860 "a PRS_Contact representing the entity requesting service. "
1861 "Note that the Contact class is used for both Requesters and "
1862 "Providers, the context is determined by which association exists. "
1863 )
1864 ]
1865 class PRS_ServiceRequester : CIM_Dependency
1866 {
1867 [
1868 Override("Antecedent"),
1869 Description ("The PRS_ServiceIncident.")
1870 karl 1.1 ]
1871 PRS_ServiceIncident REF Antecedent;
1872
1873 [
1874 Min (1), Max (1),
1875 Override("Dependent"),
1876 Description ("The PRS_Contact")
1877 ]
1878 PRS_Contact REF Dependent;
1879 };
1880
1881
1882 // ===================================================================
1883 // PRS_ServiceProvider
1884 // ===================================================================
1885
1886 [
1887 Association,
1888 Description (
1889 "Associates PRS_ServiceIncident to PRS_Contact to describe the "
1890 "Service Provider. "
1891 karl 1.1 )
1892 ]
1893 class PRS_ServiceProvider : CIM_Dependency
1894 {
1895
1896 [
1897 Override("Antecedent"),
1898 Description ("The PRS_ServiceIncident.")
1899 ]
1900 PRS_ServiceIncident REF Antecedent;
1901
1902 [
1903 Min (1), Max (1),
1904 Override("Dependent"),
1905 Description ("The PRS_Contact.")
1906 ]
1907 PRS_Contact REF Dependent;
1908 };
1909
1910
1911 // ===================================================================
1912 karl 1.1 // PRS_ServiceProblem
1913 // ===================================================================
1914
1915 [
1916 Association,
1917 Description (
1918 "Associates PRS_ServiceIncident to PRS_Problem to describe the "
1919 "Problem being submitted to the Service Provider."
1920 )
1921 ]
1922 class PRS_ServiceProblem : CIM_Dependency
1923 {
1924 [
1925 Min (1),
1926 Override("Antecedent"),
1927 Description ("The PRS_ServiceIncident.")
1928 ]
1929 PRS_ServiceIncident REF Antecedent;
1930
1931 [
1932 Max (1),
1933 karl 1.1 Override("Dependent"),
1934 Description ("The PRS_Problem.")
1935 ]
1936 PRS_Problem REF Dependent;
1937 };
1938
1939
1940 // ===================================================================
1941 // PRS_ServiceResolutionSolution
1942 // ===================================================================
1943
1944 [
1945 Association,
1946 Aggregation,
1947 Description (
1948 "Associates PRS_ServiceIncident to PRS_Solution to describe the "
1949 "Resolutions proposed by the Service Provider. "
1950 )
1951 ]
1952 class PRS_ServiceResolutionSolution : CIM_Dependency
1953 {
1954 karl 1.1
1955 [
1956 Aggregate,
1957 Override("Antecedent"),
1958 Description ("The PRS_ServiceIncident.")
1959 ]
1960 PRS_ServiceIncident REF Antecedent;
1961
1962 [
1963 Override("Dependent"),
1964 Description (
1965 "The PRS_Solution. PRS_Solution must be associated with at least "
1966 "one Resolution. "
1967 )
1968 ]
1969 PRS_Solution REF Dependent;
1970 };
1971
1972
1973 // ===================================================================
1974 // PRS_Agreement
1975 karl 1.1 // ===================================================================
1976
1977 [
1978 Description (
1979 "The agreement or contract referenced for entitlement to service."
1980 )
1981 ]
1982 class PRS_Agreement : PRS_ExchangeElement
1983 {
1984
1985 [
1986 Description (
1987 "The identifier for the contract between the Request and "
1988 "the Provider. This property is set by the Requester "
1989 "prior to submitting a Service Request. "
1990 )
1991 ]
1992 string ContractID;
1993
1994 [
1995 Description (
1996 karl 1.1 "A brief description of the contract."
1997 )
1998 ]
1999 string AgreementType;
2000 };
2001
2002
2003 // ===================================================================
2004 // PRS_ServiceAgreement
2005 // ===================================================================
2006
2007 [
2008 Association,
2009 Description ("Associates PRS_ServiceIncident to PRS_Agreement. ")
2010 ]
2011 class PRS_ServiceAgreement : CIM_Dependency
2012 {
2013
2014 [
2015 Override("Antecedent"),
2016 Description ("The PRS_ServiceIncident.")
2017 karl 1.1 ]
2018 PRS_ServiceIncident REF Antecedent;
2019
2020 [
2021 Min (1), Max (1),
2022 Override("Dependent"),
2023 Description ("The PRS_Agreement.")
2024 ]
2025 PRS_Agreement REF Dependent;
2026 };
2027
2028
2029 // ===================================================================
2030 // PRS_Activity
2031 // ===================================================================
2032
2033 [
2034 Description (
2035 "Describes the date of each transaction and the objects involved. "
2036 )
2037 ]
2038 karl 1.1 class PRS_Activity : PRS_ExchangeElement
2039 {
2040
2041 [
2042 Description (
2043 "The key fields for the objects in the associated Transaction. "
2044 "The use of this property is deprecated. The PRS_SISService "
2045 "StartSISTransaction method uses the New, Modified and Deleted "
2046 "properties instead of this field. This field is set to NULL "
2047 "by the StartSISTransaction method if the other properties are "
2048 "used. "
2049 ),
2050
2051 Deprecated {
2052 "PRS_Activity.NewKeys",
2053 "PRS_Activity.Deleted",
2054 "PRS_Activity.Modified"
2055 }
2056 ]
2057 string ParameterList;
2058
2059 karl 1.1 [
2060 Description (
2061 "The key fields for the objects added in the associated Transaction. "
2062 "This property is set by the PRS_SISService StartSISTransaction method."
2063 )
2064 ]
2065 string NewKeys;
2066
2067 [
2068 Description (
2069 "The key fields for objects deleted in the associated Transaction. "
2070 "This property is set by the PRS_SISService StartSISTransaction method."
2071 )
2072 ]
2073 string Deleted;
2074
2075 [
2076 Description (
2077 "The key fields for objects modified in the associated Transaction. "
2078 "This property is set by the PRS_SISService StartSISTransaction method."
2079 )
2080 karl 1.1 ]
2081 string Modified;
2082
2083 [
2084 Description (
2085 "The date of the Activity. This property is set by the PRS_SISService "
2086 "StartSISTranasaction method. "
2087 )
2088 ]
2089 datetime LocalDate;
2090
2091 [
2092 Description ("Description of the activity performed. ")
2093 ]
2094 string ActionLog;
2095 };
2096
2097
2098 // ===================================================================
2099 // PRS_Transaction
2100 // ===================================================================
2101 karl 1.1
2102 [
2103 Description (
2104 "PRS_Transaction represents a single transaction of the Service "
2105 "Incident workflow. A PRS_Transaction instance is created by the "
2106 "PRS_SISService StartTransaction method. "
2107 )
2108 ]
2109 class PRS_Transaction : PRS_ExchangeElement
2110 {
2111 [
2112 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "254",
2113 "255"},
2114 Values {
2115 "Service_Request", "Entitlement", "Problem_Submittal",
2116 "Accept_Problem", "Problem_Resolution", "Request_Problem_Information",
2117 "Provide_Problem_Information", "Provide_Admin_Information",
2118 "Query_Incident", "Confirm_Close", "Reject_Resolution", "Request_Closure",
2119 "Other", "Unknown"
2120 },
2121 Description (
2122 karl 1.1 "The specific SIS transaction represented by this PRS_Transaction instance. "
2123 )
2124 ]
2125 uint8 TransactionType;
2126
2127 [
2128 ValueMap {"0", "1", "2", "3"},
2129 Values {"Open", "Working", "Closed", "Notification_Pending"},
2130 Description (
2131 "The current state of this transaction. This value is manipulated "
2132 "by the PRS_SISService:StartSISTransaction and SetSISTransactionComplete "
2133 "method implementations. This property is not intended to be written "
2134 "by management applications."
2135 )
2136 ]
2137 uint8 TransactionState;
2138
2139 [
2140 Description (
2141 "The status of the transaction after it has reached the 'Closed' "
2142 "state. A CompletionStatus of zero (0) means the tranasaction "
2143 karl 1.1 "completed successfully. A non-zero CompletionStatus indicates the "
2144 "transaction did not complete successfully. Non-zero values are "
2145 "implementation-specific. While the transaction is 'Open' or "
2146 "'Working' the CompletionStatus property shall be zero (0). "
2147 "See the description for PRS_SISService "
2148 "for the definition of the contents of this property. "
2149 )
2150 ]
2151 uint32 CompletionStatus;
2152 };
2153
2154
2155 // ===================================================================
2156 // PRS_SISService
2157 // ===================================================================
2158
2159 [
2160 Description (
2161 "The PRS_SISService is used as a class factory for PRS_Transactions."
2162 )
2163 ]
2164 karl 1.1 class PRS_SISService : CIM_Service
2165 {
2166 [
2167 Description (
2168 "When invoked on a local system, this method validates the objects "
2169 "in the local repository are sufficient for the indicated "
2170 "TransactionType. If not, an error is returned and no additional "
2171 "processing is performed. If the repository is successfully "
2172 "validated, this method creates a PRS_Transaction instance for "
2173 "return to the caller.\n"
2174 "\n"
2175 "This method also reviews the repository looking for new, modified "
2176 "or deleted objects. As these objects are located, the keys for "
2177 "these objects are appended to the related strings in the PRS_Activity "
2178 "instance specified by a parameter to this method.\n"
2179 "\n"
2180 "After all the appropriate new, modified or deleted objects have "
2181 "been located, this method invokes the PRS_SISService StartSISTransaction "
2182 "method on the remote system specified by the objects related to the "
2183 "Service Incident associated with the PRS_Activity instance specified "
2184 "as a method parameter. The TransactionType and PRS_Activity REF "
2185 karl 1.1 "is forward to the remote system as method parameters as well as the "
2186 "PRS_Transaction REF for the instance created by this method.\n"
2187 "\n"
2188 "The remote system creates a child namespace using the PRS_Transaction REF "
2189 "for the name. The local system than transfers all of the New, Modified "
2190 "and Deleted objects to namespace on the remote system. Once all objects "
2191 "have been successfully transferred, the PRS_SISService EndSISTransaction "
2192 "method is invoked on the remote system with a Status value of zero to "
2193 "indicate the remote system should attempt to commit the transaction to "
2194 "the remote repository./n"
2195 "/n"
2196 "The remote system passes the results of the remote commit back to the "
2197 "originating system by invoking the PRS_SISService SetSISTransactionComplete "
2198 "method on the system that originated the SIS transaction. The "
2199 "CompletionStatus method parameter indicates whether the remote commit was "
2200 "successful. If the CompletionStatis is zero, the remote commit was "
2201 "successfult. If it was unsuccessful, the objects were not applied to the "
2202 "remote repository and the CompletionStatus is not zero indicating the error. "
2203 "The local invocation of the SetSISTransactionComplete method updates the "
2204 "specified PRS_Transaction's State to Closed and the Status to the valid "
2205 "provided by the remote system as the CompletionStatus method parameter.\n"
2206 karl 1.1 "\n"
2207 "In order to promote extensibility, the uint32 values used for return codes "
2208 "method CompletionStatus parameters are mapped into three "
2209 "significant sections. The first describes the type of value being reported. "
2210 "These include Error versus Notification and Standard versus "
2211 "Vendor-specific.\n"
2212 "\n"
2213 "The second section describes the source of the value. These include Method, "
2214 "Operating System, Repository, or Transport. In addition, this section "
2215 "indicates whether the value was created locally or remotely.\n"
2216 "\n"
2217 "The third section is the specific return value.\n"
2218 "\n"
2219 "If all 32 bits of the return value are reset, the method completed "
2220 "successfully. Any other value indicates an error condition or notification. "
2221 "If D31 is set, the method did not complete successfully. If D31 is reset, "
2222 "but the rest of the return value is non-zero, this is a Notification that "
2223 "the operation did complete successfully, but the source of the value feels "
2224 "there is a condition that caller needs to be aware exists.\n"
2225 "\n"
2226 "If D30 is set, the return value is vendor specific. If D30 is reset, the "
2227 karl 1.1 "return value is defined by the standard.\n"
2228 "\n"
2229 "If D29 is set, the return value was generated by a remote system. If D29 is "
2230 "reset, the return value was generated locally. The bit is always set or "
2231 "reset by the local system. The local system sets the bit if it receives a "
2232 "non-zero return value from a remote method invocation.\n"
2233 "\n"
2234 "Bit D28 is reserved for future and shall be reset on all return values.\n"
2235 "\n"
2236 "When there is an error or notification, D24 through D27 indicate the source "
2237 "of the error. The following sources are currently defined (D24 is the least "
2238 "significant bit below):\n"
2239 "\n"
2240 " 0000 Method\n"
2241 " 0001 Operating System\n"
2242 " 0010 Repository\n"
2243 " 0011 Transport\n"
2244 " All remaining values are reserved.\n"
2245 "\n"
2246 "Bits D16 through D23 are reserved for future use and shall be reset to "
2247 "zero.\n"
2248 karl 1.1 "\n"
2249 "Bits D0 through D15 indicate the specific return value. If zero, all other "
2250 "bits in the return value must be zero, indicating successful completion of "
2251 "the method (or Transaction). "
2252 )
2253 ]
2254 uint32 StartSISTransaction (
2255 [
2256 ValueMap {
2257 "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
2258 "254", "255"
2259 },
2260 Values {
2261 "Service_Request", "Entitlement", "Problem_Submittal",
2262 "Accept_Problem", "Problem_Resolution", "Request_Problem_Information",
2263 "Provide_Problem_Information", "Provide_Admin_Information",
2264 "Query_Incident", "Confirm_Close", "Reject_Resolution", "Request_Closure",
2265 "Other", "Unknown"
2266 },
2267 IN
2268 ]
2269 karl 1.1 uint8 TransactionType,
2270
2271 [IN] PRS_Activity REF ActivityRef,
2272
2273 [IN, OUT] PRS_Transaction REF TransactionRef
2274 );
2275 [
2276 Description(
2277 "The EndSISTransaction method is used to handle committing or aborting "
2278 "a transaction. For commit, the method is invoked by a remote system "
2279 "when all of the objects associated to the transaction have been "
2280 "placed in the child namespace created by StartSISTransaction.\n"
2281 "\n"
2282 "For abort, the method cleans up the child namespace and closes the "
2283 "specified PRS_Transaction, setting the CompletionStatus to the method "
2284 "parameter of the same name. "
2285 )
2286 ]
2287 uint32 EndSISTransaction (
2288 [
2289 IN,
2290 karl 1.1 Description(
2291 "Status indicates whether the transaction is to "
2292 "be committed or aborted. If Status is zero, the transaction is "
2293 "to be committed. If Status is non-zero, it indicates the "
2294 "transaction is to be aborted. If the transaction is being "
2295 "aborted, the Status field is passed back to the originating system "
2296 "as the CompletionStatus parameter for the PRS_SISService "
2297 "SetSISTransactionComplete method. See the description for "
2298 "PRS_SISService "
2299 "for the definition of the contents of this property. "
2300 )
2301 ]
2302 uint32 Status,
2303 [
2304 IN,
2305 Description(
2306 "TransactionRef identifies the PRS_Transaction to commit or abort. "
2307 "If this property is NULL or does not identify an 'Open' transaction, "
2308 "this method returns an error. "
2309 )
2310 ]
2311 karl 1.1 PRS_Transaction REF TransactionRef
2312 );
2313 [
2314 Description(
2315 "SetSISCompletionStatus is used to signal the system that originated an "
2316 "SIS transaction that the remote system has completed processing of the "
2317 "transaction. If the processing was successful, as indicated by the "
2318 "CompletionStatus method parameter, the local system resets the DirtyFlag "
2319 "for all of the objects identified in the PRS_Activity instance associated "
2320 "to the PRS_Transaction specified. "
2321 )
2322 ]
2323 uint32 SetSISCompletionStatus ( [
2324 IN,
2325 Description(
2326 "CompletionStatus is used to set the CompletionStatus field of the "
2327 "specified PRS_Transaction. If zero, the SIS transaction was "
2328 "completed successfully. If non-zero, an error occurred and the "
2329 "objects provided by StartSISTransaction were not submitted to the "
2330 "remote repository. See the description for PRS_SISService "
2331 "for the definition of the contents of this property. "
2332 karl 1.1 )
2333 ]
2334 uint32 CompletionStatus,
2335 [
2336 IN,
2337 Description(
2338 "TransactionRef identifies the PRS_Transaction that has completed. "
2339 "If this property is NULL or does not identify an 'Open' transaction, "
2340 "this method returns an error. "
2341 )
2342 ]
2343 PRS_Transaction REF TransactionRef
2344 );
2345 };
2346
2347
2348 // ===================================================================
2349 // PRS_Service Activity
2350 // ===================================================================
2351
2352 [
2353 karl 1.1 Association,
2354 Aggregation,
2355 Description ("Associates PRS_ServiceIncident to PRS_Activity.")
2356 ]
2357 class PRS_ServiceActivity : CIM_Dependency
2358 {
2359
2360 [
2361 Aggregate,
2362 Min(1), Max (1),
2363 Override("Antecedent"),
2364 Description ("The PRS_ServiceIncident.")
2365 ]
2366 PRS_ServiceIncident REF Antecedent;
2367
2368 [
2369 Override("Dependent"),
2370 Description ("The PRS_Activity.")
2371 ]
2372 PRS_Activity REF Dependent;
2373 };
2374 karl 1.1
2375
2376 // ===================================================================
2377 // PRS_ActivityContact
2378 // ===================================================================
2379
2380 [
2381 Association,
2382 Description ("Associates PRS_Activity with PRS_Contact.")
2383 ]
2384 class PRS_ActivityContact : CIM_Dependency
2385 {
2386
2387 [
2388 Override("Antecedent"),
2389 Description ("The PRS_Activity.")
2390 ]
2391 PRS_Activity REF Antecedent;
2392
2393 [
2394 Max (1),
2395 karl 1.1 Override("Dependent"),
2396 Description ("The PRS_Contact.")
2397 ]
2398 PRS_Contact REF Dependent;
2399 };
2400
2401
2402 // ===================================================================
2403 // PRS_Activity Resource
2404 // ===================================================================
2405
2406 [
2407 Association,
2408 Aggregation,
2409 Description ("Associates PRS_Activity with PRS_Resource")
2410 ]
2411 class PRS_ActivityResource : CIM_Dependency
2412 {
2413
2414 [
2415 Aggregate,
2416 karl 1.1 Min (1), Max (1),
2417 Override("Antecedent"),
2418 Description ("The PRS_Activity.")
2419 ]
2420 PRS_Activity REF Antecedent;
2421
2422 [
2423 Override("Dependent"),
2424 Description ("The PRS_Resource.")
2425 ]
2426 PRS_Resource REF Dependent;
2427 };
2428
2429
2430 // ===================================================================
2431 // Activity Transaction
2432 // ===================================================================
2433
2434 [
2435 Association,
2436 Description ("Associates PRS_Activity with PRS_Transaction.")
2437 karl 1.1 ]
2438 class PRS_ActivityTransaction : CIM_Dependency
2439 {
2440 [
2441 Min (1), Max (1),
2442 Override("Antecedent"),
2443 Description ("The PRS_Activity.")
2444 ]
2445 PRS_Activity REF Antecedent;
2446
2447 [
2448 Min (1), Max (1),
2449 Override("Dependent"),
2450 Description ("The PRS_Transaction.")
2451 ]
2452 PRS_Transaction REF Dependent;
2453 };
2454
2455
2456 // ===================================================================
2457 // end of file
2458 karl 1.1 // ===================================================================
2459
2460
2461
2462
2463
|