PSI - Statusing Web Service - Results not as expected - status

I'm trying to update Status information on assignments via Statusing Web Service (PSI). Problem is, that the results are not as expected. I'll try to explain what I'm doing in detail:
Two cases:
1) An assignment for the resource exists on specified tasks. I want to report work actuals (update status).
2) There is no assignment for the resource on specified tasks. I want to create the assignment and report work actuals.
I have one task in my project (Auto scheduled, Fixed work). Resource availability of all resources is set to 100%. They all have the same calendar.
Name: Task 31 - Fixed Work
Duration: 12,5 days?
Start: Thu 14.03.13
Finish: Tue 02.04.13
Resource Names: Resource 1
Work: 100 hrs
First I execute an UpdateStatus with the following ChangeXML
<Changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Proj ID="a8a601ce-f3ab-4c01-97ce-fecdad2359d9">
<Assn ID="d7273a28-c038-486b-b997-cdb2450ceef5" ResID="8a164257-7960-4b76-9506-ccd0efabdb72">
<Change PID="251658250">900000</Change>
</Assn>
</Proj>
</Changes>
Then I call a SubmitStatusForResource
client.SubmitStatusForResource(new Guid("8a164257-7960-4b76-9506-ccd0efabdb72"), null, "auto submit PSIStatusingGateway");
The following entry pops up in approval center (which is as I expected it):
Status Update; Task 31; Task update; Resource 1; 3/20/2012; 15h; 15%;
85h
Update in Project (still looks fine):
Task Name: Task 31 - Fixed Work
Duration: 12,5 days?
Start: Thu 14.03.13
Finish: Tue 02.04.13
Resource Names: Resource 1
Work: 100 hrs
Actual Work: 15 hrs
Remaining Work: 85 hrs
Then second case is executed: First I create a new assignment...
client.CreateNewAssignmentWithWork(
sName: Task 31 - Fixed Work,
projGuid: "a8a601ce-f3ab-4c01-97ce-fecdad2359d9",
taskGuid: "024d7b61-858b-40bb-ade3-009d7d821b3f",
assnGuid: "e3451938-36a5-4df3-87b1-0eb4b25a1dab",
sumTaskGuid: Guid.Empty,
dtStart: 14.03.2013 08:00:00,
dtFinish: 02.04.2013 15:36:00,
actWork: 900000,
fMilestone: false,
fAddToTimesheet: false,
fSubmit: false,
sComment: "auto commit...");
Then I call the UpdateStatus again:
<Changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Proj ID="a8a601ce-f3ab-4c01-97ce-fecdad2359d9">
<Assn ID="e3451938-36a5-4df3-87b1-0eb4b25a1dab" ResID="c59ad8e2-7533-47bd-baa5-f5b03c3c43d6">
<Change PID="251658250">900000</Change>
</Assn>
</Proj>
</Changes>
And finally the SubmitStatusForResource again
client.SubmitStatusForResource(new Guid("c59ad8e2-7533-47bd-baa5-f5b03c3c43d6"), null, "auto submit PSIStatusingGateway");
This creates the following entry in approval center:
Status Update; Task 31 - Fixed Work; New reassignment request;
Resource 2; 3/20/2012; 15h; 100%; 0h
I accept it and update my project:
Name: Task 31 - Fixed Work
Duration: 6,76 days?
Start: Thu 14.03.13
Finish: Mon 25.03.13
Resource Names: Resource 1;Resource 2
Work: 69,05 hrs
Actual Work: 30 hrs
Remaining Work: 39,05 hrs
And I really don't get, why the new work would be 69,05 hours. The results I expected would have been:
Name: Task 31 - Fixed Work
Duration: 6,76 days?
Start: Thu 14.03.13
Finish: Mon 25.03.13
Resource Names: Resource 1;Resource 2
Work: 65 hrs
Actual Work: 30 hrs
Remaining Work: 35 hrs
I've spend quite a bunch of time, trying to find out, how to update the values to get the results that I want. I really would appreciate some help. This makes me want to rip my hair out!
Thanks in advance
PS: Forgot to say that I'm working with MS Project Server 2010 and MS Project Professional 2010

Related

Karate fails to close earlier started Crome processes

In my project I use Karate 0.9.5, Oracle JDK8.
From time to time in our pipeline I see a problem. Karate fails to close earlier started Crome processes. Is there any solution to this problem?
I try to solved by explicitly call close() and quit() it didn't help. After running process was finished I found a couple of active chrome process on the server.
Here's a log:
12:51:45.227 preferred port 9222 not available, will use: 52436
12:51:47.524 request:
1 > GET http://localhost:52436/json
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Host: localhost:52436
1 > User-Agent: Apache-HttpClient/4.5.11 (Java/1.8.0_181)
12:51:47.584 response time in milliseconds: 58,31
1 < 200
1 < Content-Length: 361
1 < Content-Type: application/json; charset=UTF-8
[ {
"description": "",
"devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:52436/devtools/page/4BD6A5C19E01B01D88995CD69367F81F",
"id": "4BD6A5C19E01B01D88995CD69367F81F",
"title": "",
"type": "page",
"url": "about:blank",
"webSocketDebuggerUrl": "ws://localhost:52436/devtools/page/4BD6A5C19E01B01D88995CD69367F81F"
} ]
12:51:47.584 root frame id: 4BD6A5C19E01B01D88995CD69367F81F
12:51:47.632 >> {"method":"Target.activateTarget","params":{"targetId":"4BD6A5C19E01B01D88995CD69367F81F"},"id":1}
12:51:47.638 << {"id":1,"result":{}}
12:51:47.639 >> {"method":"Page.enable","id":2}
12:51:47.883 << {"id":2,"result":{}}
12:51:47.885 >> {"method":"Runtime.enable","id":3}
12:51:47.889 << {"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","auxData":{"isDefault":true,"type":"default","frameId":"4BD6A5C19E01B01D88995CD69367F81F"}}}}
12:51:47.890 << {"id":3,"result":{}}
12:51:47.890 >> {"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":false,"flatten":true},"id":4}
12:51:47.892 << {"id":4,"result":{}}
12:52:02.894 << timed out after milliseconds: 15000 - [id: 4, method: Target.setAutoAttach, params: {autoAttach=true, waitForDebuggerOnStart=false, flatten=true}]
12:52:02.917 driver config / start failed: failed to get reply for: [id: 4, method: Target.setAutoAttach, params: {autoAttach=true, waitForDebuggerOnStart=false, flatten=true}], options: {type=chrome, showDriverLog=true, httpConfig={readTimeout=60000}, headless=true, target=null}
I think the easiest way to solve it is to extend root web driver interface com.intuit.karate.driver.Driver by adding additional method like getPID(). This method must return PID of launched process.
Can you log a bug and also provide some information as to what happened before this, are you using the Docker image etc. It looks like the previous Scenario did not shut down clearly.
But before that do you mind upgrading to 0.9.6.RC3 (just released) and trying that ? There have been a couple of tweaks to the life-cycle especially trying to close Chrome without waiting for a response. Also it may be worth adding a couple of changes a) Target.setAutoAttach without waiting and b) add configure option to not start Chrome if the port is in use

workflow timeout functionality not working in aem

we are trying to implement timeout for a participant step. But it doesn't seem to be working. When i configure the timeout as immediate, we are able to see the timeout behavior , but when we select the actual time like 1 hr. It is not timing out after the specified time interval. Is there any other configuration that we have to do to achieve this?
This is because of a bug in com.adobe.granite.workflow.core.job.WorkflowJobUtils as I see. When I set timeout for a Participant step to 1h there is the message in log
03.10.2018 16:26:10.681 *DEBUG* [0:0:0:0:0:0:0:1 [1538573170619] POST /etc/workflow/instances HTTP/1.1] com.adobe.granite.workflow.core.job.WorkflowJobUtils calling createTimeoutJob for workitem /etc/workflow/instances/server0/2018-10-03/test-model_98/workItems/node1_etc_workflow_instances_server0_2018-10-03_test-model_98
03.10.2018 16:26:10.681 *DEBUG* [0:0:0:0:0:0:0:1 [1538573170619] POST /etc/workflow/instances HTTP/1.1] com.adobe.granite.workflow.core.job.WorkflowJobUtils create timeout event {com.adobe.granite.workflow.console.timeout.job=com.adobe.granite.workflow.job.TimeoutJob#989455c, event.timed.date=Wed Nov 14 08:26:10 MSK 2018, event.timed.id=/etc/workflow/instances/server0/2018-10-03/test-model_98/workItems/node1_etc_workflow_instances_server0_2018-10-03_test-model_98_1538573170632}
"event.timed.date=Wed Nov 14 08:26:10 MSK 2018", when the step is assigned to a participant on October 3 at 4 pm. You can add the logger and check from your side, I'm using AEM 6.3. This is the step configuration:
code from WorkflowJobUtils:
Long timeout = (Long)item.getNode().getMetaDataMap().get("timeoutMillis", Long.class);
Date date = calculateDate(timeout.longValue(), addOffset);
props.put("event.timed.date", date);
LOGGER.debug("create timeout event {} ", props);
jobBuilder.properties(props);
List<String> errors = new ArrayList();
ScheduledJobInfo result = jobBuilder.schedule().at(adjustDate(date)).add(errors);
private static Date calculateDate(long seconds, boolean addOffset) {
Calendar cal = Calendar.getInstance();
long millies = seconds * 1000L;
if (addOffset) {
millies += cal.getTimeInMillis();
}
cal.setTimeInMillis(millies);
return cal.getTime();
}
you see in the calculateDate method they expect seconds, but actually for the "1h" option milliseconds are set, 3 600 000. So they multiply it to 1 000 and get 3 600 000 000 millisecond or 3 600 000 seconds, 1 000 hours or 41.6 days.
you can add a new option for the Timeout dropdown here /libs/cq/workflow/components/model/step/tab_common/items/timeout/items/timeout/options as a workaround.
After I added a new option with value "1" there the timeout handler was called:
03.10.2018 16:38:54.200 *DEBUG* [0:0:0:0:0:0:0:1 [1538573934182] POST /etc/workflow/instances HTTP/1.1] com.adobe.granite.workflow.core.job.WorkflowJobUtils calling createTimeoutJob for workitem /etc/workflow/instances/server0/2018-10-03/test-model_99/workItems/node1_etc_workflow_instances_server0_2018-10-03_test-model_99
03.10.2018 16:38:54.201 *DEBUG* [0:0:0:0:0:0:0:1 [1538573934182] POST /etc/workflow/instances HTTP/1.1] com.adobe.granite.workflow.core.job.WorkflowJobUtils create timeout event {com.adobe.granite.workflow.console.timeout.job=com.adobe.granite.workflow.job.TimeoutJob#267dc5f3, event.timed.date=Wed Oct 03 16:38:55 MSK 2018, event.timed.id=/etc/workflow/instances/server0/2018-10-03/test-model_99/workItems/node1_etc_workflow_instances_server0_2018-10-03_test-model_99_1538573934194}
03.10.2018 16:38:59.335 *INFO* [sling-oak-observation-212] org.apache.sling.event.impl.jobs.queues.JobQueueImpl.Granite Workflow Timeout Queue Starting job queue Granite Workflow Timeout Queue
03.10.2018 16:38:59.336 *INFO* [sling-oak-observation-212] org.apache.sling.event Service [QueueMBean for queue Granite Workflow Timeout Queue,14915, [org.apache.sling.event.jobs.jmx.StatisticsMBean]] ServiceEvent REGISTERED
03.10.2018 16:38:59.435 *DEBUG* [sling-threadpool-7e90cbd1-c78f-4aff-add9-eba2c792e8fe-(apache-sling-job-thread-pool)-22-Granite Workflow Timeout Queue(com/adobe/granite/workflow/timeout/job)] com.adobe.granite.workflow.core.job.TimeoutHandler process timeout job for event JobImpl [properties=org.apache.sling.api.wrappers.ValueMapDecorator#136322bc : {slingevent:application=fa67a921-cc59-4097-953a-a6e69ff5b718, jcr:created=java.util.GregorianCalendar[time=1538573939311,areFieldsSet=true,areAllFieldsSet=true,lenient=false,zone=sun.util.calendar.ZoneInfo[id="GMT+03:00",offset=10800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=9,WEEK_OF_YEAR=40,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=276,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=38,SECOND=59,MILLISECOND=311,ZONE_OFFSET=10800000,DST_OFFSET=0], event.timed.date=Wed Oct 03 16:38:55 MSK 2018, slingevent:created=java.util.GregorianCalendar[time=1538573939203,areFieldsSet=true,areAllFieldsSet=true,lenient=false,zone=sun.util.calendar.ZoneInfo[id="GMT+03:00",offset=10800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=9,WEEK_OF_YEAR=40,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=276,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=38,SECOND=59,MILLISECOND=203,ZONE_OFFSET=10800000,DST_OFFSET=0], event.job.queuename=Granite Workflow Timeout Queue, event.job.queued.time=java.util.GregorianCalendar[time=1538573939203,areFieldsSet=true,areAllFieldsSet=true,lenient=false,zone=sun.util.calendar.ZoneInfo[id="GMT+03:00",offset=10800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=9,WEEK_OF_YEAR=40,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=276,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=38,SECOND=59,MILLISECOND=203,ZONE_OFFSET=10800000,DST_OFFSET=0], jcr:createdBy=sling-event, sling:resourceType=slingevent:Job, slingevent:eventId=2018/10/3/16/38/fa67a921-cc59-4097-953a-a6e69ff5b718_92, event.timed.id=/etc/workflow/instances/server0/2018-10-03/test-model_99/workItems/node1_etc_workflow_instances_server0_2018-10-03_test-model_99_1538573934194, event.job.application=fa67a921-cc59-4097-953a-a6e69ff5b718, event.job.retries=10, com.adobe.granite.workflow.console.timeout.job=com.adobe.granite.workflow.job.TimeoutJob#29a9a2f7, event.job.started.time=java.util.GregorianCalendar[time=1538573939376,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Minsk",offset=10800000,dstSavings=0,useDaylight=false,transitions=69,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=9,WEEK_OF_YEAR=40,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=276,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=38,SECOND=59,MILLISECOND=376,ZONE_OFFSET=10800000,DST_OFFSET=0], jcr:primaryType=slingevent:Job, event.job.retrycount=0, :sling:jobs:asynchandler=org.apache.sling.event.impl.jobs.JobConsumerManager$JobConsumerWrapper$1#8f1e51d, event.job.topic=com/adobe/granite/workflow/timeout/job}, topic=com/adobe/granite/workflow/timeout/job, path=/var/eventing/jobs/assigned/fa67a921-cc59-4097-953a-a6e69ff5b718/com.adobe.granite.workflow.timeout.job/2018/10/3/16/38/fa67a921-cc59-4097-953a-a6e69ff5b718_92, jobId=2018/10/3/16/38/fa67a921-cc59-4097-953a-a6e69ff5b718_92]
03.10.2018 16:38:59.443 *DEBUG* [sling-threadpool-7e90cbd1-c78f-4aff-add9-eba2c792e8fe-(apache-sling-job-thread-pool)-22-Granite Workflow Timeout Queue(com/adobe/granite/workflow/timeout/job)] com.adobe.granite.workflow.core.job.TimeoutHandler process timeout job for work item /etc/workflow/instances/server0/2018-10-03/test-model_99/workItems/node1_etc_workflow_instances_server0_2018-10-03_test-model_99
03.10.2018 16:38:59.701 *INFO* [sling-threadpool-7e90cbd1-c78f-4aff-add9-eba2c792e8fe-(apache-sling-job-thread-pool)-22-Granite Workflow Timeout Queue(com/adobe/granite/workflow/timeout/job)] etc.workflow.scripts.test-timeout-handler$ecma
Test timeout handler /etc/workflow/scripts/test-timeout-handler.ecma is called

Read a file and extract text in R

I have the following data in a file :
Message-ID: <123.juii#jkk>
Date: Wed, 9 Mar 2002 16:12:51 -0800 (CST)
From: jennifer.mcquade#enron.com
To: abc#ron.com, def#ron.com, ghi#ron.com,
gty#ron.com, mkl#ron.com
Subject: Sales details
Please find attached the latest sales information
let me know what you can do.
Thanks,
jLian
I want to extract the contents of the e-mail only. So I tried to extract the lines which don't have ":" character. I am not able to find any other way. But this will result in :
gty#ron.com, mkl#ron.com
Please find attached the latest sales information and
let me know what you can do.
Thanks,
jLian
Where only 2nd line is the message content.
library("stringr")
rawData = file("mail1","r")
while(TRUE){
line = readLines(rawData,n=1)
if(length(line)==0){
break
}
if(!(str_detect(line,":")))
print(line)
}
See if this here works:
data:
mail<-
'Message-ID: <123.juii#jkk>
Date: Wed, 9 Mar 2002 16:12:51 -0800 (CST)
From: jennifer.mcquade#enron.com
To: abc#ron.com, def#ron.com, ghi#ron.com,
gty#ron.com, mkl#ron.com
Subject: Sales details
Please find attached the latest sales information
let me know what you can do.
Thanks,
jLian'
code:
cat(
sub(".*Subject:.*?\n\n","",mail)
)
result:
#Please find attached the latest sales information
#let me know what you can do.
#Thanks,
#jLian
In order to use my solution effectively, read every Mail as a multiline string to list element.
listOfMails <- list(mail, mail, mail) #as many as you have.
fun1<-
function(m) { sub(".*Subject:.*?\n\n","",m) }
onlyContent<-
lapply(listOfMails,fun1)

slurm:all cpus in a node are allocated by a job which just need a subset of cpus

I have every node configured as follow in slurm.conf
NodeName=node1 NodeAddr=xxx.xxx.xxx.xxx State=UNKNOWN Procs=32 Boards=1 SocketsPerBoard=2 CoresPerSocket=8 ThreadsPerCore=2 RealMemory=128000 TmpDisk=65536
when I run the following command
srun -n 2 sleep 60
I found that all the core in a node would be allocated by this job. If another job want to run on this node, it would be bolcked until the previous job finishes.
scontrol show the job information as following
JobId=51 JobName=sleep
UserId=hadoop(1002) GroupId=hadoop(1002) MCS_label=N/A
Priority=4294901703 Nice=0 Account=hadoop QOS=normal
JobState=RUNNING Reason=None Dependency=(null)
Requeue=1 Restarts=0 BatchFlag=0 Reboot=0 ExitCode=0:0
RunTime=00:00:12 TimeLimit=UNLIMITED TimeMin=N/A
SubmitTime=2018-07-16T21:46:56 EligibleTime=2018-07-16T21:46:56
StartTime=2018-07-16T21:46:56 EndTime=Unknown Deadline=N/A
PreemptTime=None SuspendTime=None SecsPreSuspend=0
LastSchedEval=2018-07-16T21:46:56
Partition=TOTAL AllocNode:Sid=node1:25124
ReqNodeList=(null) ExcNodeList=(null)
NodeList=xxx.xxx.xxx
BatchHost=xxx.xxx.xxx
NumNodes=1 NumCPUs=32 NumTasks=2 CPUs/Task=1 ReqB:S:C:T=0:0:*:*
TRES=cpu=32,mem=125G,node=1,billing=32
Socks/Node=* NtasksPerN:B:S:C=0:0:*:* CoreSpec=*
MinCPUsNode=1 MinMemoryNode=125G MinTmpDiskNode=0
Features=(null) DelayBoot=00:00:00
Gres=(null) Reservation=(null)
OverSubscribe=NO Contiguous=0 Licenses=(null) Network=(null)
Command=sleep
WorkDir=/home/hadoop
Power=
Use sacct to get the history jobs , I get the following output
JobID JobName Partition Account AllocCPUS State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
51 sleep TOTAL hadoop 32 COMPLETED 0:0
51.0 sleep hadoop 2 COMPLETED 0:0
show the partition information:
PartitionName=TOTAL
AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL
AllocNodes=ALL Default=YES QoS=N/A
DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO GraceTime=0
Hidden=NO
MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=1 LLN=NO
MaxCPUsPerNode=UNLIMITED
Nodes=xxxxxxx
PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO
OverTimeLimit=NONE PreemptMode=OFF
State=UP TotalCPUs=96 TotalNodes=3 SelectTypeParameters=NONE
DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED
It seems something wrong.
It's the problem casued by SelectType. I let it as the default value which I think is select/linear. As mentioned in Select Plugin Design Guide, select/linear is node-centric .
The select/linear and select/cons_res plugins have similar modes of operation. The obvious difference is that data structures in select/linear are node-centric, while those in select/cons_res contain information at a finer resolution (sockets, cores, threads, or CPUs depending upon the SelectTypeParameters configuration parameter).
I change SelectType to select/cons_res and restart the whole cluster, the problem is solved.

HL7 Data Type Error

I have an ORU R01 version 2.4 message that I'm trying to get through, but for some reason, it keeps giving me a data type error on the receive side. Below is the message:
MSH|^~\&|HMED|DMC|||20110527104101||ORU^R01|M-TEST05|P|2.4|
PID|1|333333333|000009999999||MTEST^MALEPAT5^L^""|""|19900515|M|""|2||||||S|PRO|9999999995|333333333|""||
PV1|1|E|ED^OFF UNIT^OFFUNIT^02|1|||070706^TestDoc^Edward^S^""^""||||||||||||9999999995||||||||||||||||||||DMC|||||20110526231400|20110701014900||||||||
ORC|RE|339999-333333333-1-77777|339999-333333333-1-77777||||||||||
OBR|1|339999-333333333-1-77777|339999-333333333-1-77777|ED HP|||20110527003054|||||||||||||77777^MedVa Chart|77777-RES333333333-339999-1-9999999995|
OBX|1|FT|ED HP||~Depaul Medical Center - Norfolk, VA 23505~~Patient: MALEPAT5 L MEDVATEST DOB: 5/15/1990~~MR #: 333333333 Age/Gender: 21y M~~DOS: 5/26/2011 23:14 Acct #: 9999999995~~Private Phys: Patient denies having a primary ED Phys: Edward S. TestDoc, NP-C~ care physician.~~CHIEF COMPLAINT: Enc. Type: ACUITY:~~Sore throat Initial 4_Level 4~~HISTORY OF PRESENT ILLNESS ~Note~~Medical screening exam initiated: May 26, 2011 00:36~~HPI text: 21 year old male to the emergency room with a c/o sore throat pain~for the past week. Pt denies cough, N\T\V, diarrhea, and fever.~~Approximate time of injury/onset of symptoms 1 week(s) ago~~Medical and surgical history obtained.~~PAST HISTORY ~Past Medical/Surgical History~~ The history is provided by the patient~~ The patient's pertinent past medical history is as follows: Obesity~~ The patient's pertinent past surgical history is as follows: None~~ Patient allergies: No known allergies.~~ Home medications: Ibuprofen PO~~ The medication history was obtained from: verbally from the patient~~At the time of this signature, I have reviewed and agree with documented Past~History, Home Medications, Allergies, Social History and Family History.~~Past Social History~~Patient does not use tobacco.~~Patient does not use alcohol.~~Patient does not use drugs.~~EXAM ~CONSTITUTIONAL: Alert, in no apparent distress; well-developed;~well-nourished.~HEAD: Normocephalic, atraumatic~EYES: PERRL; EOM's intact.~ENTM: Nose: no rhinorrhea; Throat: no erythema or exudate, mucous membranes~moist. The bilateral tonsils are edematous and the uvula is mildly enlarged.~No exudates are noted. the tonsils do not touch.~Neck: No JVD, supple without lymphadenopathy~RESP: Chest clear, equal breath sounds.~CV: S1 and S2 WNL; No murmurs, gallops or rubs.~GI: Normal bowel sounds, abdomen soft and non-tender. No masses or~organomegaly.~GU: No costo-vertebral angle tenderness.~BACK: Non-tender~UPPER EXT: Normal inspection~LOWER EXT: No edema, no calf tenderness. Distal pulses intact.~NEURO: CN intact, reflexes 2/4 and sym, strength 5/5 and sym, sensation~intact.~SKIN: No rashes; Normal for age and stage.~PSYCH: Alert and oriented, normal affect.~~Printed By User N. Interface on 5/27/2011 12:30 AM~~Discharge Summary~~||||||S|
And here are the error messages I'm getting:
Error happened in body during parsing
Error # 1
Segment Id: PV1_PatientVisit
Sequence Number: 1
Field Number: 52
Error Number: 102
Error Description: Data type error
Encoding System: HL7nnnn 
Error # 2
Segment Id: OBR_ObservationRequest
Sequence Number: 1
Field Number: 20
Error Number: 102
Error Description: Data type error
Encoding System: HL7nnnn
I have ensured that my party is set up properly and that Validate Body Segments is unchecked and Allow Trailing delimiters is checked.
This has been resolved. I ended up having to customize the segment and data type schemas in order to resolve the two errors above. The segment schema needed to be altered to add another field at the end of the PV1 segment in order to accept the last field. The OBR20 needed to reference a custom data type that took in two strings in order to process properly

Resources